From d053d02b63f5b7607b0765436d4d21d0b9e5d5fe Mon Sep 17 00:00:00 2001 From: github-actions-bot Date: Thu, 9 May 2024 19:08:01 +0000 Subject: [PATCH] Updates --- asset-manifest.json | 14 +++++++------- config/preview.js | 7 ++++++- index.html | 2 +- static/js/565.0856c1ff.chunk.js | 2 -- static/js/565.0856c1ff.chunk.js.map | 1 - static/js/565.0cd6df73.chunk.js | 2 ++ static/js/565.0cd6df73.chunk.js.map | 1 + static/js/745.e10b3c15.chunk.js | 3 --- static/js/745.f88f3252.chunk.js | 3 +++ ...CENSE.txt => 745.f88f3252.chunk.js.LICENSE.txt} | 0 ...3c15.chunk.js.map => 745.f88f3252.chunk.js.map} | 2 +- static/js/main.321ceb08.js.map | 1 - static/js/{main.321ceb08.js => main.5eaa645c.js} | 6 +++--- ...js.LICENSE.txt => main.5eaa645c.js.LICENSE.txt} | 0 static/js/main.5eaa645c.js.map | 1 + 15 files changed, 25 insertions(+), 20 deletions(-) delete mode 100644 static/js/565.0856c1ff.chunk.js delete mode 100644 static/js/565.0856c1ff.chunk.js.map create mode 100644 static/js/565.0cd6df73.chunk.js create mode 100644 static/js/565.0cd6df73.chunk.js.map delete mode 100644 static/js/745.e10b3c15.chunk.js create mode 100644 static/js/745.f88f3252.chunk.js rename static/js/{745.e10b3c15.chunk.js.LICENSE.txt => 745.f88f3252.chunk.js.LICENSE.txt} (100%) rename static/js/{745.e10b3c15.chunk.js.map => 745.f88f3252.chunk.js.map} (62%) delete mode 100644 static/js/main.321ceb08.js.map rename static/js/{main.321ceb08.js => main.5eaa645c.js} (99%) rename static/js/{main.321ceb08.js.LICENSE.txt => main.5eaa645c.js.LICENSE.txt} (100%) create mode 100644 static/js/main.5eaa645c.js.map diff --git a/asset-manifest.json b/asset-manifest.json index 5955512e..c14586a1 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -1,13 +1,13 @@ { "files": { "main.css": "https://imagingdatacommons.github.io/slim/static/css/main.e6c13ad2.css", - "main.js": "https://imagingdatacommons.github.io/slim/static/js/main.321ceb08.js", + "main.js": "https://imagingdatacommons.github.io/slim/static/js/main.5eaa645c.js", "static/css/455.b37fdaf9.chunk.css": "https://imagingdatacommons.github.io/slim/static/css/455.b37fdaf9.chunk.css", "static/js/455.46becc8e.chunk.js": "https://imagingdatacommons.github.io/slim/static/js/455.46becc8e.chunk.js", "static/css/267.ca42ab60.chunk.css": "https://imagingdatacommons.github.io/slim/static/css/267.ca42ab60.chunk.css", "static/js/267.9beeab82.chunk.js": "https://imagingdatacommons.github.io/slim/static/js/267.9beeab82.chunk.js", - "static/js/745.e10b3c15.chunk.js": "https://imagingdatacommons.github.io/slim/static/js/745.e10b3c15.chunk.js", - "static/js/565.0856c1ff.chunk.js": "https://imagingdatacommons.github.io/slim/static/js/565.0856c1ff.chunk.js", + "static/js/745.f88f3252.chunk.js": "https://imagingdatacommons.github.io/slim/static/js/745.f88f3252.chunk.js", + "static/js/565.0cd6df73.chunk.js": "https://imagingdatacommons.github.io/slim/static/js/565.0cd6df73.chunk.js", "static/js/dicomMicroscopyViewer.min.js.map": "https://imagingdatacommons.github.io/slim/static/js/dicomMicroscopyViewer.min.js.map", "static/js/dicomMicroscopyViewer.min.js": "https://imagingdatacommons.github.io/slim/static/js/dicomMicroscopyViewer.min.js", "static/js/index.worker.min.worker.js.map": "https://imagingdatacommons.github.io/slim/static/js/index.worker.min.worker.js.map", @@ -15,16 +15,16 @@ "static/js/index.worker.min.worker.js": "https://imagingdatacommons.github.io/slim/static/js/index.worker.min.worker.js", "index.html": "https://imagingdatacommons.github.io/slim/index.html", "main.e6c13ad2.css.map": "https://imagingdatacommons.github.io/slim/static/css/main.e6c13ad2.css.map", - "main.321ceb08.js.map": "https://imagingdatacommons.github.io/slim/static/js/main.321ceb08.js.map", + "main.5eaa645c.js.map": "https://imagingdatacommons.github.io/slim/static/js/main.5eaa645c.js.map", "455.b37fdaf9.chunk.css.map": "https://imagingdatacommons.github.io/slim/static/css/455.b37fdaf9.chunk.css.map", "455.46becc8e.chunk.js.map": "https://imagingdatacommons.github.io/slim/static/js/455.46becc8e.chunk.js.map", "267.ca42ab60.chunk.css.map": "https://imagingdatacommons.github.io/slim/static/css/267.ca42ab60.chunk.css.map", "267.9beeab82.chunk.js.map": "https://imagingdatacommons.github.io/slim/static/js/267.9beeab82.chunk.js.map", - "745.e10b3c15.chunk.js.map": "https://imagingdatacommons.github.io/slim/static/js/745.e10b3c15.chunk.js.map", - "565.0856c1ff.chunk.js.map": "https://imagingdatacommons.github.io/slim/static/js/565.0856c1ff.chunk.js.map" + "745.f88f3252.chunk.js.map": "https://imagingdatacommons.github.io/slim/static/js/745.f88f3252.chunk.js.map", + "565.0cd6df73.chunk.js.map": "https://imagingdatacommons.github.io/slim/static/js/565.0cd6df73.chunk.js.map" }, "entrypoints": [ "static/css/main.e6c13ad2.css", - "static/js/main.321ceb08.js" + "static/js/main.5eaa645c.js" ] } \ No newline at end of file diff --git a/config/preview.js b/config/preview.js index 0ac792bf..86ad1953 100644 --- a/config/preview.js +++ b/config/preview.js @@ -7,6 +7,11 @@ window.config = { write: false } ], + disableWorklist: false, + disableAnnotationTools: false, + enableServerSelection: true, + mode: "light", + preload: true, annotations: [ { finding: { value: '85756007', schemeDesignator: 'SCT', meaning: 'Tissue' }, @@ -19,6 +24,6 @@ window.config = { color: [255, 255, 255, 0.2] } } - }, + } ] } diff --git a/index.html b/index.html index cfd347f5..ae3ab968 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -Slim
\ No newline at end of file +Slim
\ No newline at end of file diff --git a/static/js/565.0856c1ff.chunk.js b/static/js/565.0856c1ff.chunk.js deleted file mode 100644 index d4c7a136..00000000 --- a/static/js/565.0856c1ff.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkslim=self.webpackChunkslim||[]).push([[565],{4565:(e,t,n)=>{n.d(t,{Z:()=>qt});var i=n(5671),a=n(3144),o=n(7326),r=n(136),s=n(7277),l=n(2791),c=n(7689),d=n(1087),u=n(3695),h=n(586),p=n(9135),m=n(4165),v=n(5861),f=n(6014),g=n(6658),S=n(4261),y=n(394),C=n(4970),I=n(184),b=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e="horizontal",t="14px";void 0!==this.props.hasLongValues&&this.props.hasLongValues&&(e="vertical",t="20px");var n=this.props.attributes.map((function(e,n){var i=(0,S.Z)();return(0,I.jsx)(y.Z.Item,{label:e.name,labelStyle:{lineHeight:t},contentStyle:{fontWeight:600,whiteSpace:"pre-line",lineHeight:"14px"},span:1,children:e.value},i)})),i=null;return void 0!==this.props.icon&&(i=(0,I.jsx)(this.props.icon,{})),(0,I.jsxs)(C.Z,{title:this.props.header,extra:i,size:"small",hoverable:this.props.selectable,bordered:void 0!==this.props.header,actions:this.props.methods,children:[(0,I.jsx)(y.Z,{column:1,size:"small",layout:e,bordered:!1,children:n}),this.props.children]})}}]),n}(l.Component);const w=b;const D=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e=[];return null!=this.props.metadata.ClinicalTrialSponsorName&&e.push.apply(e,[{name:"Sponsor Name",value:this.props.metadata.ClinicalTrialSponsorName},{name:"Protocol ID",value:this.props.metadata.ClinicalTrialProtocolID},{name:"Protocol Name",value:this.props.metadata.ClinicalTrialProtocolName},{name:"Site Name",value:this.props.metadata.ClinicalTrialSiteName}]),null!=this.props.metadata.ClinicalTrialTimePointID&&e.push({name:"Time Point ID",value:this.props.metadata.ClinicalTrialTimePointID}),(0,I.jsx)(w,{attributes:e})}}]),n}(l.Component);function x(e){return"object"===typeof e&&null!==e&&void 0!==e&&void 0!==e.Alphabetic?e.Alphabetic.split("^").join(" "):""}function V(e){if(null!==e&&void 0!==e){var t=e.substring(0,4),n=e.substring(4,6),i=e.substring(6,8);return"".concat(t,"-").concat(n,"-").concat(i)}return""}function Z(e){if(null!==e&&void 0!==e){var t=e.substring(0,2),n=e.substring(2,4),i=e.substring(4,6);return"".concat(t,":").concat(n,":").concat(i)}return""}function R(e){return null!==e&&void 0!==e?{F:"Female",M:"Male",O:"Other"}[e]:""}const O=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e=[{name:"ID",value:this.props.metadata.PatientID},{name:"Name",value:x(this.props.metadata.PatientName)},{name:"Gender",value:R(this.props.metadata.PatientSex)},{name:"Birthdate",value:V(this.props.metadata.PatientBirthDate)}];return(0,I.jsx)(w,{attributes:e})}}]),n}(l.Component);const P=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e=[{name:"Accession #",value:this.props.metadata.AccessionNumber},{name:"ID",value:this.props.metadata.StudyID},{name:"Date",value:V(this.props.metadata.StudyDate)},{name:"Time",value:Z(this.props.metadata.StudyTime)}];return(0,I.jsx)(w,{attributes:e})}}]),n}(l.Component);var M,j=n(1413);!function(e){e.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE="1.2.840.10008.5.1.4.1.1.77.1.6",e.COMPREHENSIVE_SR="1.2.840.10008.5.1.4.1.1.88.33",e.COMPREHENSIVE_3D_SR="1.2.840.10008.5.1.4.1.1.88.34",e.SEGMENTATION="1.2.840.10008.5.1.4.1.1.66.4",e.MICROSCOPY_BULK_SIMPLE_ANNOTATION="1.2.840.10008.5.1.4.1.1.91.1",e.PARAMETRIC_MAP="1.2.840.10008.5.1.4.1.1.30",e.ADVANCED_BLENDING_PRESENTATION_STATE="1.2.840.10008.5.1.4.1.1.11.8",e.COLOR_SOFTCOPY_PRESENTATION_STATE="1.2.840.10008.5.1.4.1.1.11.2",e.GRAYSCALE_SOFTCOPY_PRESENTATION_STATE="1.2.840.10008.5.1.4.1.1.11.1",e.PSEUDOCOLOR_SOFTCOPY_PRESENTATION_STATE="1.2.840.10008.5.1.4.1.1.11.3"}(M||(M={}));var E=Symbol("subscriptions"),U=Symbol("lastSubscriptionId"),T=function(){function e(){(0,i.Z)(this,e),this[E]={},this[U]=0}return(0,a.Z)(e,[{key:"subscribe",value:function(e,t){if(void 0===e)throw new Error("Trying to subscribe to an inexistent event");if("function"!==typeof t)throw new Error("The provided callback must be a function");this[E].hasOwnProperty(e)||(this[E][e]={});var n="sub".concat(this[U]++);this[E][e][n]=t}},{key:"unsubscribe",value:function(e,t){var n=this[E][e]||{};for(var i in n)t?n[i]===t&&delete n[i]:delete n[i]}},{key:"publish",value:function(e){if(void 0===e)throw new Error("Trying to publish an inexistent event");for(var t=this[E][e]||{},n=arguments.length,i=new Array(n>1?n-1:0),a=1;a0){var e=this.props.slide.overviewImages[0];null!==this.overviewViewportRef.current&&(this.overviewViewportRef.current.innerHTML="",console.info("instantiate viewer for OVERVIEW image of slide "+'"'.concat(e.ContainerIdentifier,'"')),this.overviewViewer=new g.viewer.OverviewImageViewer({client:this.props.clients[M.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE],metadata:e,resizeFactor:1,errorInterceptor:function(e){return $.onError(W,e)}}),this.overviewViewer.render({container:this.overviewViewportRef.current}))}this.setState({isLoading:!1})}},{key:"render",value:function(){void 0!==this.overviewViewer&&this.overviewViewer.resize();var e=[],t=this.props.slide.description;return null!=t&&""!==t&&e.push({name:"Description",value:t}),this.state.isLoading?(0,I.jsx)(p.fCD,{}):(0,I.jsx)(f.Z.Item,(0,j.Z)((0,j.Z)({style:{height:"100%"}},this.props),{},{children:(0,I.jsx)(w,{header:this.props.slide.containerIdentifier,attributes:e,selectable:!0,children:(0,I.jsx)("div",{style:{height:"100px"},ref:this.overviewViewportRef})})}),this.props.slide.seriesInstanceUIDs[0])}}]),n}(l.Component);const te=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){var e;(0,i.Z)(this,n);for(var a=arguments.length,o=new Array(a),r=0;r0,checkedChildren:(0,I.jsx)(p.dSq,{}),unCheckedChildren:(0,I.jsx)(p.tgn,{})})}),(0,I.jsx)(f.Z,{selectedKeys:(0,ie.Z)(this.props.selectedRoiUIDs.values()),onSelect:this.handleMenuItemSelection,onClick:this.handleMenuItemSelection,children:t})]})}}]),n}(l.Component);var be=n(914),we=n(6272),De=n(3020),xe=n(5594),Ve=n(2414),Ze=["annotationGroup","defaultStyle","isVisible","metadata","onVisibilityChange","onStyleChange"];const Re=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;return(0,i.Z)(this,n),(a=t.call(this,e)).handleVisibilityChange=a.handleVisibilityChange.bind((0,o.Z)(a)),a.handleMeasurementSelection=a.handleMeasurementSelection.bind((0,o.Z)(a)),a.handleOpacityChange=a.handleOpacityChange.bind((0,o.Z)(a)),a.handleColorRChange=a.handleColorRChange.bind((0,o.Z)(a)),a.handleColorGChange=a.handleColorGChange.bind((0,o.Z)(a)),a.handleColorBChange=a.handleColorBChange.bind((0,o.Z)(a)),a.getCurrentColor=a.getCurrentColor.bind((0,o.Z)(a)),a.state={isVisible:a.props.isVisible,currentStyle:{opacity:a.props.defaultStyle.opacity,color:a.props.defaultStyle.color}},a}return(0,a.Z)(n,[{key:"handleVisibilityChange",value:function(e,t){this.props.onVisibilityChange({annotationGroupUID:this.props.annotationGroup.uid,isVisible:e}),this.setState({isVisible:e})}},{key:"handleOpacityChange",value:function(e){null!=e&&(this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{opacity:e}}),this.setState({currentStyle:{opacity:e,color:this.state.currentStyle.color,limitValues:this.state.currentStyle.limitValues}}))}},{key:"handleColorRChange",value:function(e){if(null!=e&&void 0!==this.state.currentStyle.color){var t=[Array.isArray(e)?e[0]:e,this.state.currentStyle.color[1],this.state.currentStyle.color[2]];this.setState((function(e){return{currentStyle:{color:t,opacity:e.currentStyle.opacity,limitValues:e.currentStyle.limitValues}}})),this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{color:t}})}}},{key:"handleColorGChange",value:function(e){if(null!=e&&void 0!==this.state.currentStyle.color){var t=[this.state.currentStyle.color[0],Array.isArray(e)?e[0]:e,this.state.currentStyle.color[2]];this.setState((function(e){return{currentStyle:{color:t,opacity:e.currentStyle.opacity,limitValues:e.currentStyle.limitValues}}})),this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{color:t}})}}},{key:"handleColorBChange",value:function(e){if(null!=e&&void 0!==this.state.currentStyle.color){var t=[this.state.currentStyle.color[0],this.state.currentStyle.color[1],Array.isArray(e)?e[0]:e];this.setState((function(e){return{currentStyle:{color:t,opacity:e.currentStyle.opacity,limitValues:e.currentStyle.limitValues}}})),this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{color:t}})}}},{key:"getCurrentColor",value:function(){var e;return null!=this.state.currentStyle.color?"#"+(16777216+((e=this.state.currentStyle.color)[0]<<16)+(e[1]<<8)+e[2]).toString(16).slice(1):"white"}},{key:"handleLowerLimitChange",value:function(e){null!=e&&void 0!==this.state.currentStyle.limitValues&&(this.setState((function(t){return void 0!==t.currentStyle.limitValues?{currentStyle:{color:t.currentStyle.color,opacity:t.currentStyle.opacity,limitValues:[e,t.currentStyle.limitValues[1]]}}:{currentStyle:{color:t.currentStyle.color,opacity:t.currentStyle.opacity,limitValues:t.currentStyle.limitValues}}})),this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{limitValues:[e,this.state.currentStyle.limitValues[1]]}}))}},{key:"handleUpperLimitChange",value:function(e){null!=e&&void 0!==this.state.currentStyle.limitValues&&(this.setState((function(t){return void 0!==t.currentStyle.limitValues?{currentStyle:{color:t.currentStyle.color,opacity:t.currentStyle.opacity,limitValues:[t.currentStyle.limitValues[0],e]}}:{currentStyle:{color:t.currentStyle.color,opacity:t.currentStyle.opacity,limitValues:t.currentStyle.limitValues}}})),this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{limitValues:[this.state.currentStyle.limitValues[0],e]}}))}},{key:"handleLimitChange",value:function(e){this.setState((function(t){return{currentStyle:{color:t.currentStyle.color,opacity:t.currentStyle.opacity,limitValues:e}}})),this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{limitValues:e}})}},{key:"handleMeasurementSelection",value:function(e,t){var n=this;if(null!=e&&null!=t.children){var i=e.split("-"),a=new fe.sr.coding.CodedConcept({value:i[1],schemeDesignator:i[0],meaning:t.children});this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{measurement:a}}),this.setState((function(e){return{currentStyle:{opacity:e.currentStyle.opacity,measurement:a}}}))}else this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{color:this.props.defaultStyle.color}}),this.setState((function(e){return{currentStyle:{opacity:e.currentStyle.opacity,color:n.props.defaultStyle.color,limitValues:void 0}}}))}},{key:"render",value:function(){var e,t,n,i,a=this,o=this.props.metadata.AnnotationGroupSequence.findIndex((function(e){return e.AnnotationGroupUID===a.props.annotationGroup.uid})),r=this.props.metadata.AnnotationGroupSequence[o],s=[{name:"Property type",value:this.props.annotationGroup.propertyType.CodeMeaning},{name:"Property category",value:this.props.annotationGroup.propertyCategory.CodeMeaning},{name:"Graphic type",value:r.GraphicType},{name:"Annotation coordinate type",value:this.props.metadata.AnnotationCoordinateType}],l=null!==(e=r.MeasurementsSequence)&&void 0!==e?e:[],c=l.map((function(e,t){var n=e.ConceptNameCodeSequence[0];return(0,I.jsx)(ae.Z.Option,{value:"".concat(n.CodingSchemeDesignator,"-").concat(n.CodeValue),dropdownMatchSelectWidth:!1,size:"small",disabled:!a.props.isVisible,children:n.CodeMeaning},t)}));if(c.push((0,I.jsx)(ae.Z.Option,{value:void 0,dropdownMatchSelectWidth:!1,size:"small",disabled:!this.props.isVisible},"-")),null!=this.state.currentStyle.color&&(t=(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(de.Z,{plain:!0,children:"Color"}),(0,I.jsxs)(ce.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(be.Z,{span:5,children:"Red"}),(0,I.jsx)(be.Z,{span:14,children:(0,I.jsx)(we.Z,{range:!1,min:0,max:255,step:1,value:this.state.currentStyle.color[0],onChange:this.handleColorRChange})}),(0,I.jsx)(be.Z,{span:5,children:(0,I.jsx)(he.Z,{min:0,max:255,size:"small",style:{width:"65px"},value:this.state.currentStyle.color[0],onChange:this.handleColorRChange})})]}),(0,I.jsxs)(ce.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(be.Z,{span:5,children:"Green"}),(0,I.jsx)(be.Z,{span:14,children:(0,I.jsx)(we.Z,{range:!1,min:0,max:255,step:1,value:this.state.currentStyle.color[1],onChange:this.handleColorGChange})}),(0,I.jsx)(be.Z,{span:5,children:(0,I.jsx)(he.Z,{min:0,max:255,size:"small",style:{width:"65px"},value:this.state.currentStyle.color[1],onChange:this.handleColorGChange})})]}),(0,I.jsxs)(ce.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(be.Z,{span:5,children:"Blue"}),(0,I.jsx)(be.Z,{span:14,children:(0,I.jsx)(we.Z,{range:!1,min:0,max:255,step:1,value:this.state.currentStyle.color[2],onChange:this.handleColorBChange})}),(0,I.jsx)(be.Z,{span:5,children:(0,I.jsx)(he.Z,{min:0,max:255,size:"small",style:{width:"65px"},value:this.state.currentStyle.color[2],onChange:this.handleColorBChange})})]}),(0,I.jsx)(de.Z,{plain:!0})]})),l.length>0){if(null!=this.state.currentStyle.limitValues){n=(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(de.Z,{plain:!0,children:"Values of interest"}),(0,I.jsxs)(ce.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(be.Z,{span:6,children:(0,I.jsx)(he.Z,{min:0,max:this.state.currentStyle.limitValues[1],size:"small",style:{width:"75px"},value:this.state.currentStyle.limitValues[0],onChange:this.handleLowerLimitChange})}),(0,I.jsx)(be.Z,{span:12,children:(0,I.jsx)(we.Z,{range:!0,min:0,max:1e3,step:1,value:[this.state.currentStyle.limitValues[0],this.state.currentStyle.limitValues[1]],onChange:this.handleLimitChange})}),(0,I.jsx)(be.Z,{span:6,children:(0,I.jsx)(he.Z,{min:this.state.currentStyle.limitValues[0],max:1e3,size:"small",style:{width:"75px"},value:this.state.currentStyle.limitValues[1],onChange:this.handleUpperLimitChange})})]})]})}i=(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(de.Z,{plain:!0,children:"Exploration"}),(0,I.jsxs)(ce.Z,{justify:"start",align:"middle",gutter:[8,8],children:[(0,I.jsx)(be.Z,{span:8,children:"Measurement"}),(0,I.jsx)(be.Z,{span:16,children:(0,I.jsx)(ae.Z,{style:{minWidth:"65px",width:"90%"},onSelect:this.handleMeasurementSelection,defaultValue:void 0,children:c},"annotation-group-measurements")})]})]})}var d=(0,I.jsxs)("div",{children:[t,n,(0,I.jsxs)(ce.Z,{justify:"start",align:"middle",gutter:[8,8],children:[(0,I.jsx)(be.Z,{span:6,children:"Opacity"}),(0,I.jsx)(be.Z,{span:12,children:(0,I.jsx)(we.Z,{range:!1,min:0,max:1,step:.01,value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})}),(0,I.jsx)(be.Z,{span:6,children:(0,I.jsx)(he.Z,{min:0,max:1,size:"small",step:.1,style:{width:"65px"},value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})})]}),i]}),u=this.getCurrentColor(),h=this.state.isVisible&&null==this.state.currentStyle.measurement,m=this.props,v=(m.annotationGroup,m.defaultStyle,m.isVisible,m.metadata,m.onVisibilityChange,m.onStyleChange,(0,Se.Z)(m,Ze));return(0,I.jsx)(f.Z.Item,(0,j.Z)((0,j.Z)({style:{height:"100%",paddingLeft:"3px"}},v),{},{children:(0,I.jsxs)(re.Z,{align:"start",children:[(0,I.jsx)("div",{style:{paddingLeft:"14px"},children:(0,I.jsxs)(re.Z,{direction:"vertical",align:"end",children:[(0,I.jsx)(ge.Z,{size:"small",onChange:this.handleVisibilityChange,checked:this.props.isVisible,checkedChildren:(0,I.jsx)(p.dSq,{}),unCheckedChildren:(0,I.jsx)(p.tgn,{})}),(0,I.jsx)(De.Z,{placement:"left",content:d,overlayStyle:{width:"350px"},title:"Display Settings",children:(0,I.jsx)(le.Z,{type:"primary",shape:"circle",icon:(0,I.jsx)(Ve.Z,{})})})]})}),(0,I.jsx)(xe.Z,{offset:[-20,20],count:" ",style:{borderStyle:"solid",borderWidth:"1px",borderColor:"gray",visibility:h?"visible":"hidden",backgroundImage:"linear-gradient(to bottom, ".concat(u,", ").concat(u)},children:(0,I.jsx)(w,{header:this.props.annotationGroup.label,attributes:s,selectable:!0,hasLongValues:!0})})]})}),this.props.annotationGroup.uid)}}]),n}(l.Component);const Oe=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e=this,t=this.props.annotationGroups.map((function(t,n){var i=t.uid;return(0,I.jsx)(Re,{annotationGroup:t,metadata:e.props.metadata[i],isVisible:e.props.visibleAnnotationGroupUIDs.has(i),defaultStyle:e.props.defaultAnnotationGroupStyles[i],onVisibilityChange:e.props.onAnnotationGroupVisibilityChange,onStyleChange:e.props.onAnnotationGroupStyleChange},t.uid)}));return(0,I.jsx)(f.Z,{selectable:!1,children:t})}}]),n}(l.Component);const Pe=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;return(0,i.Z)(this,n),(a=t.call(this,e)).handleClick=a.handleClick.bind((0,o.Z)(a)),a}return(0,a.Z)(n,[{key:"handleClick",value:function(e){void 0!==this.props.onClick&&this.props.onClick(e)}},{key:"render",value:function(){var e,t,n,i=this.props.icon;return void 0===i?null:(null!=this.props.label&&(t=(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(de.Z,{type:"vertical"}),this.props.label]})),n=null!==(e=this.props.isSelected)&&void 0!==e&&e?(0,I.jsx)(le.Z,{onClick:this.handleClick,icon:(0,I.jsx)(i,{}),type:"primary",style:{lineHeight:"1.0"},children:t}):(0,I.jsx)(le.Z,{onClick:this.handleClick,icon:(0,I.jsx)(i,{}),type:"default",style:{lineHeight:"1.0"},children:t}),void 0!==this.props.tooltip?(0,I.jsx)(se.Z,{title:this.props.tooltip,children:n}):n)}}]),n}(l.Component);const Me=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){if(void 0===this.props.metadata)return null;var e=[{name:"Manufacturer",value:this.props.metadata.Manufacturer},{name:"Model Name",value:this.props.metadata.ManufacturerModelName},{name:"Device Serial Number",value:this.props.metadata.DeviceSerialNumber},{name:"Software Versions",value:this.props.metadata.SoftwareVersions}];return null!=this.props.metadata.InstitutionName&&e.push({name:"Institution Name",value:this.props.metadata.InstitutionName}),(0,I.jsx)(w,{attributes:e,hasLongValues:!0})}}]),n}(l.Component);var je=function(e){var t=e.content,n=e.name,i=[];return t.forEach((function(e){(function(e,t){var n=e.ConceptNameCodeSequence[0];return n.CodeValue===t.CodeValue&&n.CodingSchemeDesignator===t.CodingSchemeDesignator})(e,n)&&i.push(e)})),i},Ee=function(e,t){return e.ValueType===t},Ue=function(e){var t=je({content:e.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"126010",schemeDesignator:"DCM",meaning:"Imaging Measurements"})});1!==t.length&&$.onError(H,new q(N,'Content item "Imaging Measurements" not found.Content of Comprehensive 3D SR document is not structured based on TID 1500 "Measurement Report".'));var n=t[0],i=je({content:n.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"125007",schemeDesignator:"DCM",meaning:"Measurement Group"})}),a=[];return i.forEach((function(e){var t,n=[],i=e,o=je({content:i.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"112040",schemeDesignator:"DCM",meaning:"Tracking Unique Identifier"})});0===o.length&&$.onError(H,new q(N,'Content item "Tracking Unique Identifier" not found. Content of Comprehensive 3D SR document is not structured based on TID 1500 "Measurement Report" -> TID 1410 "Planar ROI Measurements and Qualitative Evaluations".'));var r=o[0];if(0===(o=je({content:i.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"121071",schemeDesignator:"DCM",meaning:"Finding"})})).length&&$.onError(H,new q(N,'Content item "Finding" not found. Content of Comprehensive 3D SR document is not structured based on TID 1500 "Measurement Report" -> TID 1410 "Planar ROI Measurements and Qualitative Evaluations".')),0!==(o=je({content:i.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"111001",schemeDesignator:"DCM",meaning:"Algorithm Name"})})).length){var s=o[0];n.push(s),t="Device"}else t="Person";if(0!==(o=je({content:i.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"111003",schemeDesignator:"DCM",meaning:"Algorithm Version"})})).length){var l=o[0];n.push(l)}0===(o=je({content:i.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"111030",schemeDesignator:"DCM",meaning:"Image Region"})})).length&&$.onError(H,new q(N,'Content item "Image Region" not found. Content of Comprehensive 3D SR document is not structured based on TID 1500 "Measurement Report" -> TID 1410 "Planar ROI Measurements and Qualitative Evaluations".'));var c,d=o[0];if("POINT"===d.GraphicType)c=new g.scoord3d.Point({frameOfReferenceUID:d.ReferencedFrameOfReferenceUID,coordinates:d.GraphicData});else{for(var u=[],h=0;h TID 1410 "Planar ROI Measurements and Qualitative Evaluations".'))}n.push.apply(n,(0,ie.Z)(function(e){var t=e.content,n=[];return t.forEach((function(e){if(Ee(e,fe.sr.valueTypes.ValueTypes.CODE)){var t=e;n.push(t)}})),n}({content:i.ContentSequence})));var p=function(e){var t=e.content,n=[];return t.forEach((function(e){if(Ee(e,fe.sr.valueTypes.ValueTypes.NUM)){var t=e;n.push(t)}})),n}({content:i.ContentSequence}),m=new g.roi.ROI({scoord3d:c,uid:(0,S.Z)(),properties:{trackingUID:r.UID,observerType:t,evaluations:n,measurements:p}});a.push(m)})),a},Te=(0,a.Z)((function e(t){(0,i.Z)(this,e),this.PersonObserverName=void 0,this.PersonObserverLoginName=void 0,this.DeviceObserverUID=void 0,this.DeviceObserverName=void 0,this.SpecimenUID=void 0,this.SpecimenIdentifier=void 0,this.ContainerIdentifier=void 0,this.ROIs=[];var n=je({content:t.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"121039",schemeDesignator:"DCM",meaning:"Specimen UID"})});0===n.length&&$.onError(H,new q(N,'Content item "Specimen UID" not found. Content of Comprehensive 3D SR document is not structured based on TID 1500 "Measurement Report" -> TID 1001 "Observation Context" -> TID 1006 "Subject Context" -> TID 1009 "Subject Context, Specimen".'));var a=n[0];this.SpecimenUID=a.UID,0===(n=je({content:t.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"121041",schemeDesignator:"DCM",meaning:"Specimen Identifier"})})).length&&$.onError(H,new q(N,'Content item "Specimen Identifier" not found. Content of Comprehensive 3D SR document is not structured based on TID 1500 "Measurement Report" -> TID 1001 "Observation Context" -> TID 1006 "Subject Context" -> TID 1009 "Subject Context, Specimen".'));var o=n[0];this.SpecimenIdentifier=o.TextValue,0===(n=je({content:t.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"111700",schemeDesignator:"DCM",meaning:"Specimen Container Identifier"})})).length&&$.onError(H,new q(N,'Content item "Specimen Container Identifier" not found. Content of Comprehensive 3D SR document is not structured based on TID 1500 "Measurement Report" -> TID 1001 "Observation Context" -> TID 1006 "Subject Context" -> TID 1009 "Subject Context, Specimen".'));var r=n[0];if(this.ContainerIdentifier=r.TextValue,0!==(n=je({content:t.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"121008",schemeDesignator:"DCM",meaning:"Person Observer Name"})})).length){var s=n[0];this.PersonObserverName=s.PersonName}if(0!==(n=je({content:t.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"128774",schemeDesignator:"DCM",meaning:"Person Observer's Login Name"})})).length){var l=n[0];this.PersonObserverLoginName=l.TextValue}if((n=je({content:t.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"121012",schemeDesignator:"DCM",meaning:"Device Observer UID"})})).length>0){var c=n[0];this.DeviceObserverUID=c.UID}if(0!==(n=je({content:t.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"121013",schemeDesignator:"DCM",meaning:"Device Observer Name"})})).length){var d=n[0];this.DeviceObserverName=d.TextValue}this.ROIs=Ue(t)}));const Ae=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e=new Te(this.props.dataset),t=[{name:"ID",value:e.ContainerIdentifier}],n=[{name:"ID",value:e.SpecimenIdentifier}],i=[{name:"Name",value:e.PersonObserverName}],a=e.ROIs.map((function(e,t){var n="Region ".concat(t+1),i=[];return e.evaluations.forEach((function(e){e.ValueType===fe.sr.valueTypes.ValueTypes.CODE?i.push({name:e.ConceptNameCodeSequence[0].CodeMeaning,value:e.ConceptCodeSequence[0].CodeMeaning}):e.ValueType===fe.sr.valueTypes.ValueTypes.TEXT&&i.push({name:e.ConceptNameCodeSequence[0].CodeMeaning,value:e.TextValue})})),(0,I.jsx)(w,{header:n,attributes:i},e.uid)}));return(0,I.jsxs)("div",{children:[(0,I.jsx)(de.Z,{orientation:"left",children:"Patient"}),(0,I.jsx)(O,{metadata:this.props.dataset}),(0,I.jsx)(de.Z,{orientation:"left",children:"Case"}),(0,I.jsx)(P,{metadata:this.props.dataset}),(0,I.jsx)(de.Z,{orientation:"left",children:"Slide"}),(0,I.jsx)(w,{attributes:t}),(0,I.jsx)(de.Z,{orientation:"left",children:"Specimen"}),(0,I.jsx)(w,{attributes:n}),(0,I.jsx)(de.Z,{orientation:"left",children:"Observer"}),(0,I.jsx)(w,{attributes:i}),(0,I.jsx)(de.Z,{orientation:"left",children:"Annotations"}),a]})}}]),n}(l.Component);var ke=n(2126);const Le=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e,t=null;return void 0!==this.props.groups&&(t=this.props.groups.map((function(e,t){return(0,I.jsx)(w,{header:e.name,attributes:e.attributes},t)}))),e=void 0!==this.props.type?"".concat(this.props.type,": ").concat(this.props.identifier):this.props.identifier,(0,I.jsxs)(ke.ZP.Item,{children:[(0,I.jsx)(w,{header:e,attributes:this.props.attributes,hasLongValues:this.props.hasLongValues,children:t}),this.props.children]},this.props.uid)}}]),n}(l.Component);new fe.sr.coding.CodedConcept({value:"17636008",schemeDesignator:"SCT",meaning:"Specimen collection"}),new fe.sr.coding.CodedConcept({value:"433465004",schemeDesignator:"SCT",meaning:"Sampling of tissue specimen"}),new fe.sr.coding.CodedConcept({value:"127790008",schemeDesignator:"SCT",meaning:"Specimen staining"}),new fe.sr.coding.CodedConcept({value:"9265001",schemeDesignator:"SCT",meaning:"Specimen processing"});var _e={FIXATIVE:new fe.sr.coding.CodedConcept({value:"430864009",schemeDesignator:"SCT",meaning:"Tissue fixative"}),EMBEDDING_MEDIUM:new fe.sr.coding.CodedConcept({value:"430863003",schemeDesignator:"SCT",meaning:"Embedding medium"})},Ne=(0,j.Z)({SPECIMEN_IDENTIFIER:new fe.sr.coding.CodedConcept({value:"121041",schemeDesignator:"DCM",meaning:"Specimen identifier"}),PARENT_SPECIMEN_IDENTIFIER:new fe.sr.coding.CodedConcept({value:"111705",schemeDesignator:"DCM",meaning:"Parent specimen identifier"}),PROCESSING_TYPE:new fe.sr.coding.CodedConcept({value:"111701",schemeDesignator:"DCM",meaning:"Processing type"}),DATETIME_OF_PROCESSING:new fe.sr.coding.CodedConcept({value:"111702",schemeDesignator:"DCM",meaning:"Datetime of processing"}),PROCESSING_STEP_DESCRIPTION:new fe.sr.coding.CodedConcept({value:"111703",schemeDesignator:"DCM",meaning:"Processing step description"}),COLLECTION_METHOD:new fe.sr.coding.CodedConcept({value:"17636008",schemeDesignator:"SCT",meaning:"Specimen collection"}),SAMPLING_METHOD:new fe.sr.coding.CodedConcept({value:"111704",schemeDesignator:"DCM",meaning:"Sampling method"}),STAIN:new fe.sr.coding.CodedConcept({value:"424361007",schemeDesignator:"SCT",meaning:"Using substance"})},_e);const Ge=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e,t=this;if(void 0===this.props.metadata)return null;var n=this.props.metadata.SpecimenDescriptionSequence[this.props.index],i=[];if(void 0!==n.SpecimenShortDescription&&i.push({name:"Description",value:n.SpecimenShortDescription}),void 0!==n.PrimaryAnatomicStructureSequence&&n.PrimaryAnatomicStructureSequence.length>0){var a=n.PrimaryAnatomicStructureSequence;i.push({name:"Anatomical structure",value:a.map((function(e){return e.CodeMeaning})).join(", ")})}(null!==(e=n.SpecimenPreparationSequence)&&void 0!==e?e:[]).forEach((function(e,n){e.SpecimenPreparationStepContentItemSequence.forEach((function(e,n){var a=new fe.sr.coding.CodedConcept({value:e.ConceptNameCodeSequence[0].CodeValue,schemeDesignator:e.ConceptNameCodeSequence[0].CodingSchemeDesignator,meaning:e.ConceptNameCodeSequence[0].CodeMeaning});if(e.ValueType===fe.sr.valueTypes.ValueTypes.CODE){var o=new fe.sr.coding.CodedConcept({value:e.ConceptCodeSequence[0].CodeValue,schemeDesignator:e.ConceptCodeSequence[0].CodingSchemeDesignator,meaning:e.ConceptCodeSequence[0].CodeMeaning});a.equals(Ne.PROCESSING_TYPE)||(a.equals(Ne.COLLECTION_METHOD)?i.push({name:"Collection method",value:o.CodeMeaning}):a.equals(Ne.FIXATIVE)?i.push({name:"Tissue fixative",value:o.CodeMeaning}):a.equals(Ne.EMBEDDING_MEDIUM)?i.push({name:"Tissue embedding medium",value:o.CodeMeaning}):a.equals(Ne.STAIN)&&t.props.showstain&&i.push({name:"Tissue stain",value:o.CodeMeaning}))}else e.ValueType===fe.sr.valueTypes.ValueTypes.TEXT&&(a.equals(Ne.STAIN)&&t.props.showstain?i.push({name:"Tissue stain",value:e.TextValue}):a.equals(Ne.PARENT_SPECIMEN_IDENTIFIER)&&i.push({name:"Parent specimen",value:e.TextValue}))}))}));var o=n.SpecimenUID,r=n.SpecimenIdentifier;return(0,I.jsx)(Le,{uid:o,identifier:r,attributes:i,hasLongValues:!0},o)}}]),n}(l.Component);const qe=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e,t=this;if(void 0===this.props.metadata)return null;var n=(null!==(e=this.props.metadata.SpecimenDescriptionSequence)&&void 0!==e?e:[]).map((function(e,n){return(0,I.jsx)(Ge,{index:n,metadata:t.props.metadata,showstain:t.props.showstain},e.SpecimenUID)}));return(0,I.jsx)(ke.ZP,{style:{overflowY:"auto"},children:n})}}]),n}(l.Component);var Fe=n(681),ze=n(2622),Be=n(4215),We=n(8272),Ye=["defaultStyle","isRemovable","isVisible","metadata","onVisibilityChange","onStyleChange","onRemoval","opticalPath"];const He=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;return(0,i.Z)(this,n),(a=t.call(this,e)).handleVisibilityChange=a.handleVisibilityChange.bind((0,o.Z)(a)),a.handleOpacityChange=a.handleOpacityChange.bind((0,o.Z)(a)),a.handleLimitChange=a.handleLimitChange.bind((0,o.Z)(a)),a.handleLowerLimitChange=a.handleLowerLimitChange.bind((0,o.Z)(a)),a.handleUpperLimitChange=a.handleUpperLimitChange.bind((0,o.Z)(a)),a.handleColorRChange=a.handleColorRChange.bind((0,o.Z)(a)),a.handleColorGChange=a.handleColorGChange.bind((0,o.Z)(a)),a.handleColorBChange=a.handleColorBChange.bind((0,o.Z)(a)),a.handleRemoval=a.handleRemoval.bind((0,o.Z)(a)),a.getCurrentColors=a.getCurrentColors.bind((0,o.Z)(a)),a.state={isVisible:a.props.isVisible,currentStyle:{opacity:a.props.defaultStyle.opacity,color:a.props.defaultStyle.color,paletteColorLookupTable:a.props.defaultStyle.paletteColorLookupTable,limitValues:a.props.defaultStyle.limitValues}},a}return(0,a.Z)(n,[{key:"componentDidUpdate",value:function(e,t){this.props.defaultStyle!==e.defaultStyle&&this.setState({currentStyle:this.props.defaultStyle})}},{key:"handleVisibilityChange",value:function(e,t){var n=this.props.opticalPath.identifier;this.setState({isVisible:e}),this.props.onVisibilityChange({opticalPathIdentifier:n,isVisible:e})}},{key:"handleOpacityChange",value:function(e){if(null!=e){var t=this.props.opticalPath.identifier;this.props.onStyleChange({opticalPathIdentifier:t,styleOptions:{opacity:e}}),this.setState((function(t){return{currentStyle:{color:t.currentStyle.color,paletteColorLookupTable:t.currentStyle.paletteColorLookupTable,opacity:e,limitValues:t.currentStyle.limitValues}}}))}}},{key:"handleColorRChange",value:function(e){var t=this.props.opticalPath.identifier;if(null!=e&&void 0!==this.state.currentStyle.color){var n=[Array.isArray(e)?e[0]:e,this.state.currentStyle.color[1],this.state.currentStyle.color[2]];this.setState((function(e){return{currentStyle:{color:n,paletteColorLookupTable:e.currentStyle.paletteColorLookupTable,opacity:e.currentStyle.opacity,limitValues:e.currentStyle.limitValues}}})),this.props.onStyleChange({opticalPathIdentifier:t,styleOptions:{color:n}})}}},{key:"handleColorGChange",value:function(e){var t=this.props.opticalPath.identifier;if(null!=e&&void 0!==this.state.currentStyle.color){var n=[this.state.currentStyle.color[0],Array.isArray(e)?e[0]:e,this.state.currentStyle.color[2]];this.setState((function(e){return{currentStyle:{color:n,paletteColorLookupTable:e.currentStyle.paletteColorLookupTable,opacity:e.currentStyle.opacity,limitValues:e.currentStyle.limitValues}}})),this.props.onStyleChange({opticalPathIdentifier:t,styleOptions:{color:n}})}}},{key:"handleColorBChange",value:function(e){var t=this.props.opticalPath.identifier;if(null!=e&&void 0!==this.state.currentStyle.color){var n=[this.state.currentStyle.color[0],this.state.currentStyle.color[1],Array.isArray(e)?e[0]:e];this.setState((function(e){return{currentStyle:{color:n,paletteColorLookupTable:e.currentStyle.paletteColorLookupTable,opacity:e.currentStyle.opacity,limitValues:e.currentStyle.limitValues}}})),this.props.onStyleChange({opticalPathIdentifier:t,styleOptions:{color:n}})}}},{key:"getCurrentColors",value:function(){var e=function(e){return"#"+(16777216+(e[0]<<16)+(e[1]<<8)+e[2]).toString(16).slice(1)};return null!=this.props.defaultStyle.paletteColorLookupTable?this.props.defaultStyle.paletteColorLookupTable.data.map((function(t){return e(t)})):null!=this.state.currentStyle.color?["#000000",e(this.state.currentStyle.color)]:["white","white"]}},{key:"handleLowerLimitChange",value:function(e){var t=this.props.opticalPath.identifier;null!=e&&void 0!==this.state.currentStyle.limitValues&&(this.setState((function(t){return void 0!==t.currentStyle.limitValues?{currentStyle:{color:t.currentStyle.color,paletteColorLookupTable:t.currentStyle.paletteColorLookupTable,opacity:t.currentStyle.opacity,limitValues:[e,t.currentStyle.limitValues[1]]}}:{currentStyle:{color:t.currentStyle.color,paletteColorLookupTable:t.currentStyle.paletteColorLookupTable,opacity:t.currentStyle.opacity,limitValues:t.currentStyle.limitValues}}})),this.props.onStyleChange({opticalPathIdentifier:t,styleOptions:{limitValues:[e,this.state.currentStyle.limitValues[1]]}}))}},{key:"handleUpperLimitChange",value:function(e){var t=this.props.opticalPath.identifier;null!=e&&void 0!==this.state.currentStyle.limitValues&&(this.setState((function(t){return void 0!==t.currentStyle.limitValues?{currentStyle:{color:t.currentStyle.color,paletteColorLookupTable:t.currentStyle.paletteColorLookupTable,opacity:t.currentStyle.opacity,limitValues:[t.currentStyle.limitValues[0],e]}}:{currentStyle:{color:t.currentStyle.color,paletteColorLookupTable:t.currentStyle.paletteColorLookupTable,opacity:t.currentStyle.opacity,limitValues:t.currentStyle.limitValues}}})),this.props.onStyleChange({opticalPathIdentifier:t,styleOptions:{limitValues:[this.state.currentStyle.limitValues[0],e]}}))}},{key:"handleLimitChange",value:function(e){var t=this.props.opticalPath.identifier;this.setState((function(t){return{currentStyle:{color:t.currentStyle.color,paletteColorLookupTable:t.currentStyle.paletteColorLookupTable,opacity:t.currentStyle.opacity,limitValues:e}}})),this.props.onStyleChange({opticalPathIdentifier:t,styleOptions:{limitValues:e}})}},{key:"handleRemoval",value:function(){var e=this.props.opticalPath.identifier;this.props.onRemoval(e)}},{key:"render",value:function(){var e,t=this.props.opticalPath.identifier,n=this.props.opticalPath.description,i=[];void 0!==this.props.opticalPath.illuminationWaveLength&&i.push({name:"Illumination wavelength",value:"".concat(this.props.opticalPath.illuminationWaveLength," nm")}),void 0!==this.props.opticalPath.illuminationColor&&i.push({name:"Illumination color",value:this.props.opticalPath.illuminationColor.CodeMeaning});var a=null!==(e=this.props.metadata[0].SpecimenDescriptionSequence)&&void 0!==e?e:[];try{a.forEach((function(e){var t;(null!==(t=e.SpecimenPreparationSequence)&&void 0!==t?t:[]).forEach((function(e,t){e.SpecimenPreparationStepContentItemSequence.forEach((function(e,t){var n=new fe.sr.coding.CodedConcept({value:e.ConceptNameCodeSequence[0].CodeValue,schemeDesignator:e.ConceptNameCodeSequence[0].CodingSchemeDesignator,meaning:e.ConceptNameCodeSequence[0].CodeMeaning});if(e.ValueType===fe.sr.valueTypes.ValueTypes.CODE){var a=new fe.sr.coding.CodedConcept({value:e.ConceptCodeSequence[0].CodeValue,schemeDesignator:e.ConceptCodeSequence[0].CodingSchemeDesignator,meaning:e.ConceptCodeSequence[0].CodeMeaning});n.equals(Ne.PROCESSING_TYPE)||n.equals(Ne.STAIN)&&i.push({name:"Tissue stain",value:a.CodeMeaning})}else e.ValueType===fe.sr.valueTypes.ValueTypes.TEXT&&(n.equals(Ne.PROCESSING_TYPE)||n.equals(Ne.STAIN)&&i.push({name:"Tissue stain",value:e.TextValue}))}))}))}))}catch(v){$.onError(Y,new q(N,v.message))}var o,r,s=Math.pow(2,this.props.metadata[0].BitsAllocated)-1,l=null!=n?"".concat(t,": ").concat(n):t;if(this.props.opticalPath.isMonochromatic){var c,d;c=null!=this.state.currentStyle.color?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(de.Z,{plain:!0,children:"Color"}),(0,I.jsxs)(ce.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(be.Z,{span:5,children:"Red"}),(0,I.jsx)(be.Z,{span:14,children:(0,I.jsx)(we.Z,{range:!1,min:0,max:255,step:1,value:this.state.currentStyle.color[0],onChange:this.handleColorRChange})}),(0,I.jsx)(be.Z,{span:5,children:(0,I.jsx)(he.Z,{min:0,max:255,size:"small",style:{width:"65px"},value:this.state.currentStyle.color[0],onChange:this.handleColorRChange})})]}),(0,I.jsxs)(ce.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(be.Z,{span:5,children:"Green"}),(0,I.jsx)(be.Z,{span:14,children:(0,I.jsx)(we.Z,{range:!1,min:0,max:255,step:1,value:this.state.currentStyle.color[1],onChange:this.handleColorGChange})}),(0,I.jsx)(be.Z,{span:5,children:(0,I.jsx)(he.Z,{min:0,max:255,size:"small",style:{width:"65px"},value:this.state.currentStyle.color[1],onChange:this.handleColorGChange})})]}),(0,I.jsxs)(ce.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(be.Z,{span:5,children:"Blue"}),(0,I.jsx)(be.Z,{span:14,children:(0,I.jsx)(we.Z,{range:!1,min:0,max:255,step:1,value:this.state.currentStyle.color[2],onChange:this.handleColorBChange})}),(0,I.jsx)(be.Z,{span:5,children:(0,I.jsx)(he.Z,{min:0,max:255,size:"small",style:{width:"65px"},value:this.state.currentStyle.color[2],onChange:this.handleColorBChange})})]})]}):(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(de.Z,{plain:!0,children:"Color"}),"Custom pseudo-coloring is disabled because pixels are colorized via a provided palette color lookup table."]}),null!=this.state.currentStyle.limitValues&&(d=(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(de.Z,{plain:!0,children:"Values of interest"}),(0,I.jsxs)(ce.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(be.Z,{span:6,children:(0,I.jsx)(he.Z,{min:0,max:this.state.currentStyle.limitValues[1],size:"small",style:{width:"75px"},value:this.state.currentStyle.limitValues[0],onChange:this.handleLowerLimitChange})}),(0,I.jsx)(be.Z,{span:12,children:(0,I.jsx)(we.Z,{range:!0,min:0,max:s,step:1,value:[this.state.currentStyle.limitValues[0],this.state.currentStyle.limitValues[1]],onChange:this.handleLimitChange})}),(0,I.jsx)(be.Z,{span:6,children:(0,I.jsx)(he.Z,{min:this.state.currentStyle.limitValues[0],max:s,size:"small",style:{width:"75px"},value:this.state.currentStyle.limitValues[1],onChange:this.handleUpperLimitChange})})]})]})),o=(0,I.jsxs)("div",{children:[d,c,(0,I.jsx)(de.Z,{plain:!0}),(0,I.jsxs)(ce.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(be.Z,{span:6,children:"Opacity"}),(0,I.jsx)(be.Z,{span:12,children:(0,I.jsx)(we.Z,{range:!1,min:0,max:1,step:.01,value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})}),(0,I.jsx)(be.Z,{span:6,children:(0,I.jsx)(he.Z,{min:0,max:1,size:"small",step:.1,style:{width:"65px"},value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})})]})]});var u=this.getCurrentColors();r=(0,I.jsx)(xe.Z,{offset:[-20,20],count:" ",style:{borderStyle:"solid",borderWidth:"1px",borderColor:"gray",visibility:this.state.isVisible?"visible":"hidden",backgroundImage:"linear-gradient(to right, ".concat(u.toString(),")")},children:(0,I.jsx)(w,{header:l,attributes:i,selectable:!0,hasLongValues:!0})})}else o=(0,I.jsx)("div",{children:(0,I.jsxs)(ce.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(be.Z,{span:6,children:"Opacity"}),(0,I.jsx)(be.Z,{span:12,children:(0,I.jsx)(we.Z,{range:!1,min:0,max:1,step:.01,value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})}),(0,I.jsx)(be.Z,{span:6,children:(0,I.jsx)(he.Z,{min:0,max:1,size:"small",step:.1,style:{width:"60px"},value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})})]})}),r=(0,I.jsx)(w,{header:l,attributes:i,selectable:!0,hasLongValues:!0});var h=[];this.props.isRemovable&&h.push((0,I.jsx)(se.Z,{title:"Remove Optical Path",children:(0,I.jsx)(le.Z,{type:"default",shape:"circle",icon:(0,I.jsx)(ze.Z,{}),onClick:this.handleRemoval})}));var p=this.props,m=(p.defaultStyle,p.isRemovable,p.isVisible,p.metadata,p.onVisibilityChange,p.onStyleChange,p.onRemoval,p.opticalPath,(0,Se.Z)(p,Ye));return(0,I.jsx)(f.Z.Item,(0,j.Z)((0,j.Z)({style:{height:"100%",paddingLeft:"3px"}},m),{},{children:(0,I.jsxs)(re.Z,{align:"start",children:[(0,I.jsx)("div",{style:{paddingLeft:"14px"},children:(0,I.jsxs)(re.Z,{direction:"vertical",align:"end",children:[(0,I.jsx)(ge.Z,{size:"small",checked:this.state.isVisible,onChange:this.handleVisibilityChange,checkedChildren:(0,I.jsx)(Be.Z,{}),unCheckedChildren:(0,I.jsx)(We.Z,{})}),(0,I.jsx)(De.Z,{placement:"left",content:o,overlayStyle:{width:"350px"},title:"Display Settings",children:(0,I.jsx)(le.Z,{type:"primary",shape:"circle",icon:(0,I.jsx)(Ve.Z,{})})}),h]})}),r]})}),this.props.opticalPath.identifier)}}]),n}(l.Component);var Xe=ae.Z.Option;const Ke=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;return(0,i.Z)(this,n),(a=t.call(this,e)).state={selectedOpticalPathIdentifier:void 0},a.handleItemAddition=a.handleItemAddition.bind((0,o.Z)(a)),a.handleItemRemoval=a.handleItemRemoval.bind((0,o.Z)(a)),a.handleItemSelectionChange=a.handleItemSelectionChange.bind((0,o.Z)(a)),a}return(0,a.Z)(n,[{key:"handleItemRemoval",value:function(e){this.props.onOpticalPathActivityChange({opticalPathIdentifier:e,isActive:!1})}},{key:"handleItemSelectionChange",value:function(e){this.setState({selectedOpticalPathIdentifier:e})}},{key:"handleItemAddition",value:function(){var e=this.state.selectedOpticalPathIdentifier;void 0!==e&&(this.props.onOpticalPathActivityChange({opticalPathIdentifier:e,isActive:!0}),this.setState({selectedOpticalPathIdentifier:void 0}))}},{key:"render",value:function(){var e=this;if(void 0===this.props.metadata)return null;var t,n=this.props.opticalPaths.length>1,i=[],a=[];return this.props.opticalPaths.forEach((function(t){var o=t.identifier,r=e.props.metadata[o],s=r[0].SeriesInstanceUID;r[0].OpticalPathSequence.forEach((function(o){var l,c=o.OpticalPathIdentifier,d=o.OpticalPathDescription;t.identifier===c&&(e.props.activeOpticalPathIdentifiers.has(c)?i.push((0,I.jsx)(He,{opticalPath:t,metadata:r,isVisible:e.props.visibleOpticalPathIdentifiers.has(c),defaultStyle:e.props.defaultOpticalPathStyles[c],onVisibilityChange:e.props.onOpticalPathVisibilityChange,onStyleChange:e.props.onOpticalPathStyleChange,onRemoval:e.handleItemRemoval,isRemovable:n},"".concat(s,"-").concat(c))):(l=""!==d?"".concat(c," - ").concat(d):"".concat(c),a.push((0,I.jsx)(Xe,{value:c,children:l},c))))}))})),n&&(t=(0,I.jsxs)(re.Z,{align:"center",size:20,style:{padding:"14px"},children:[(0,I.jsx)(ae.Z,{defaultValue:"",style:{width:200},onChange:this.handleItemSelectionChange,value:this.state.selectedOpticalPathIdentifier,allowClear:!0,children:a}),(0,I.jsx)(se.Z,{title:"Add",children:(0,I.jsx)(le.Z,{icon:(0,I.jsx)(Fe.Z,{}),type:"primary",onClick:this.handleItemAddition})})]})),(0,I.jsxs)(f.Z,{selectable:!1,children:[i,t]})}}]),n}(l.Component);var Qe=["defaultStyle","isVisible","mapping","metadata","onVisibilityChange","onStyleChange"];const Je=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;return(0,i.Z)(this,n),(a=t.call(this,e)).handleVisibilityChange=a.handleVisibilityChange.bind((0,o.Z)(a)),a.handleOpacityChange=a.handleOpacityChange.bind((0,o.Z)(a)),a.state={isVisible:a.props.isVisible,currentStyle:{opacity:a.props.defaultStyle.opacity}},a}return(0,a.Z)(n,[{key:"handleVisibilityChange",value:function(e,t){this.props.onVisibilityChange({mappingUID:this.props.mapping.uid,isVisible:e}),this.setState({isVisible:e})}},{key:"handleOpacityChange",value:function(e){null!=e&&(this.props.onStyleChange({mappingUID:this.props.mapping.uid,styleOptions:{opacity:e}}),this.setState((function(t){return{currentStyle:{opacity:e}}})))}},{key:"render",value:function(){var e=[{name:"Description",value:this.props.mapping.description}],t=(0,I.jsx)("div",{children:(0,I.jsxs)(ce.Z,{justify:"center",align:"middle",children:[(0,I.jsx)(be.Z,{span:6,children:"Opacity"}),(0,I.jsx)(be.Z,{span:12,children:(0,I.jsx)(we.Z,{range:!1,min:0,max:1,step:.01,value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})}),(0,I.jsx)(be.Z,{span:6,children:(0,I.jsx)(he.Z,{min:0,max:1,size:"small",step:.1,style:{width:"65px"},value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})})]})}),n=this.props,i=(n.defaultStyle,n.isVisible,n.mapping,n.metadata,n.onVisibilityChange,n.onStyleChange,(0,Se.Z)(n,Qe));return(0,I.jsx)(f.Z.Item,(0,j.Z)((0,j.Z)({style:{height:"100%",paddingLeft:"3px"}},i),{},{children:(0,I.jsxs)(re.Z,{align:"start",children:[(0,I.jsx)("div",{style:{paddingLeft:"14px"},children:(0,I.jsx)(re.Z,{direction:"vertical",align:"end",size:100,children:(0,I.jsxs)(re.Z,{direction:"vertical",align:"end",children:[(0,I.jsx)(ge.Z,{size:"small",onChange:this.handleVisibilityChange,checked:this.props.isVisible,checkedChildren:(0,I.jsx)(p.dSq,{}),unCheckedChildren:(0,I.jsx)(p.tgn,{})}),(0,I.jsx)(De.Z,{placement:"left",content:t,overlayStyle:{width:"350px"},title:"Display Settings",children:(0,I.jsx)(le.Z,{type:"primary",shape:"circle",icon:(0,I.jsx)(Ve.Z,{})})})]})})}),(0,I.jsx)(w,{header:this.props.mapping.label,attributes:e,selectable:!0,hasLongValues:!0})]})}),this.props.mapping.uid)}}]),n}(l.Component);const $e=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e=this,t=this.props.mappings.map((function(t,n){var i=t.uid;return(0,I.jsx)(Je,{mapping:t,metadata:e.props.metadata[i],isVisible:e.props.visibleMappingUIDs.has(i),defaultStyle:e.props.defaultMappingStyles[i],onVisibilityChange:e.props.onMappingVisibilityChange,onStyleChange:e.props.onMappingStyleChange},t.uid)}));return(0,I.jsx)(f.Z,{selectable:!1,children:t})}}]),n}(l.Component);var et=["defaultStyle","isVisible","segment","metadata","onVisibilityChange","onStyleChange"];const tt=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;return(0,i.Z)(this,n),(a=t.call(this,e)).handleVisibilityChange=a.handleVisibilityChange.bind((0,o.Z)(a)),a.handleOpacityChange=a.handleOpacityChange.bind((0,o.Z)(a)),a.state={isVisible:a.props.isVisible,currentStyle:{opacity:a.props.defaultStyle.opacity}},a}return(0,a.Z)(n,[{key:"handleVisibilityChange",value:function(e,t){this.props.onVisibilityChange({segmentUID:this.props.segment.uid,isVisible:e}),this.setState({isVisible:e})}},{key:"handleOpacityChange",value:function(e){null!=e&&(this.props.onStyleChange({segmentUID:this.props.segment.uid,styleOptions:{opacity:e}}),this.setState({currentStyle:{opacity:e}}))}},{key:"render",value:function(){var e=[{name:"Property Type",value:this.props.segment.propertyType.CodeMeaning},{name:"Property Category",value:this.props.segment.propertyCategory.CodeMeaning},{name:"Algorithm Name",value:this.props.segment.algorithmName}],t=(0,I.jsx)("div",{children:(0,I.jsxs)(ce.Z,{justify:"center",align:"middle",children:[(0,I.jsx)(be.Z,{span:6,children:"Opacity"}),(0,I.jsx)(be.Z,{span:12,children:(0,I.jsx)(we.Z,{range:!1,min:0,max:1,step:.01,value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})}),(0,I.jsx)(be.Z,{span:6,children:(0,I.jsx)(he.Z,{min:0,max:1,size:"small",step:.1,style:{width:"65px"},value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})})]})}),n=this.props,i=(n.defaultStyle,n.isVisible,n.segment,n.metadata,n.onVisibilityChange,n.onStyleChange,(0,Se.Z)(n,et));return(0,I.jsx)(f.Z.Item,(0,j.Z)((0,j.Z)({style:{height:"100%",paddingLeft:"3px"}},i),{},{children:(0,I.jsxs)(re.Z,{align:"start",children:[(0,I.jsx)("div",{style:{paddingLeft:"14px"},children:(0,I.jsxs)(re.Z,{direction:"vertical",align:"end",children:[(0,I.jsx)(ge.Z,{size:"small",onChange:this.handleVisibilityChange,checked:this.props.isVisible,checkedChildren:(0,I.jsx)(p.dSq,{}),unCheckedChildren:(0,I.jsx)(p.tgn,{})}),(0,I.jsx)(De.Z,{placement:"left",content:t,overlayStyle:{width:"350px"},title:"Display Settings",children:(0,I.jsx)(le.Z,{type:"primary",shape:"circle",icon:(0,I.jsx)(Ve.Z,{})})})]})}),(0,I.jsx)(w,{header:this.props.segment.label,attributes:e,selectable:!0,hasLongValues:!0})]})}),this.props.segment.uid)}}]),n}(l.Component);const nt=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e=this,t=this.props.segments.map((function(t,n){var i=t.uid;return(0,I.jsx)(tt,{segment:t,metadata:e.props.metadata[i],isVisible:e.props.visibleSegmentUIDs.has(i),defaultStyle:e.props.defaultSegmentStyles[i],onVisibilityChange:e.props.onSegmentVisibilityChange,onStyleChange:e.props.onSegmentStyleChange},t.uid)}));return(0,I.jsx)(f.Z,{selectable:!1,children:t})}}]),n}(l.Component);function it(e){return function(t){var n=(0,c.TH)(),i=(0,c.s0)(),a=(0,c.UO)();return(0,I.jsx)(e,(0,j.Z)((0,j.Z)({},t),{},{location:n,navigate:i,params:a}))}}var at=[255,234,0],ot=[255,234,0,.2],rt=function(e){var t=e.CodingSchemeDesignator,n=e.CodeValue;return"".concat(t,"-").concat(n)},st=function(e){var t=je({content:e.evaluations,name:new fe.sr.coding.CodedConcept({value:"121071",meaning:"Finding",schemeDesignator:"DCM"})});if(0!==t.length){var n=t[0].ConceptCodeSequence[0];return rt(n)}console.warn("no finding found for ROI ".concat(e.uid))},lt=function(e){var t=e.clients,n=e.slide,i=e.preload;console.info("instantiate viewer for VOLUME images of slide "+'"'.concat(n.volumeImages[0].ContainerIdentifier,'"'));try{var a,o=new g.viewer.VolumeImageViewer({clientMapping:t,metadata:n.volumeImages,controls:["overview","position"],preload:i,errorInterceptor:function(e){return $.onError(W,e)}});return o.activateSelectInteraction({}),n.labelImages.length>0&&(console.info("instantiate viewer for LABEL image of slide "+'"'.concat(n.labelImages[0].ContainerIdentifier,'"')),a=new g.viewer.LabelImageViewer({client:t[M.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE],metadata:n.labelImages[0],resizeFactor:1,orientation:"vertical",errorInterceptor:function(e){return $.onError(W,e)}})),{volumeViewer:o,labelViewer:a}}catch(r){throw $.onError(H,new q(G,"Failed to instantiate viewer")),r}};const ct=it(function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;(0,i.Z)(this,n),(a=t.call(this,e)).findingOptions=[],a.evaluationOptions={},a.measurements=[],a.geometryTypeOptions={},a.volumeViewportRef=void 0,a.labelViewportRef=void 0,a.volumeViewer=void 0,a.labelViewer=void 0,a.defaultRoiStyle={stroke:{color:at,width:2},fill:{color:ot},image:{circle:{fill:{color:at},radius:5}}},a.roiStyles={},a.selectionColor=[140,184,198],a.selectedRoiStyle={stroke:{color:[].concat((0,ie.Z)(a.selectionColor),[1]),width:3},fill:{color:[].concat((0,ie.Z)(a.selectionColor),[.2])},image:{circle:{radius:5,fill:{color:[].concat((0,ie.Z)(a.selectionColor),[1])}}}},a.loadPresentationStates=function(){console.info("search for Presentation State instances");var e=a.props.clients[M.ADVANCED_BLENDING_PRESENTATION_STATE];e.searchForInstances({studyInstanceUID:a.props.studyInstanceUID,queryParams:{Modality:"PR"}}).then((function(t){null==t&&(t=[]),t.forEach((function(t,n){var i=g.metadata.formatMetadata(t).dataset;console.info('retrieve PR instance "'.concat(i.SOPInstanceUID,'"')),e.retrieveInstance({studyInstanceUID:a.props.studyInstanceUID,seriesInstanceUID:i.SeriesInstanceUID,sopInstanceUID:i.SOPInstanceUID}).then((function(e){var t=fe.aT.DicomMessage.readFile(e),o=g.metadata.formatMetadata(t.dict).dataset;if(a.props.slide.areVolumeImagesMonochrome){var r=o,s=!1;r.AdvancedBlendingSequence.forEach((function(e){s=a.props.slide.seriesInstanceUIDs.includes(e.SeriesInstanceUID)})),s&&(console.info("include Advanced Blending Presentation State instance "+'"'.concat(r.SOPInstanceUID,'"')),(0===n&&null==a.props.selectedPresentationStateUID||r.SOPInstanceUID===a.props.selectedPresentationStateUID)&&a.setPresentationState(r),a.setState((function(e){var t={};return e.presentationStates.forEach((function(e){t[e.SOPInstanceUID]=e})),t[r.SOPInstanceUID]=r,{presentationStates:Object.values(t)}})))}else console.info('ignore presentation state "'.concat(i.SOPInstanceUID,'", ')+"application of presentation states for color images has not (yet) been implemented")})).catch((function(e){$.onError(H,new q(G,"Presentation State could not be loaded")),console.error("failed to load presentation state "+'of SOP instance "'.concat(i.SOPInstanceUID,'" ')+'of series "'.concat(i.SeriesInstanceUID,'" ')+'of study "'.concat(a.props.studyInstanceUID,'": '),e)}))}))})).catch((function(e){console.error(e),$.onError(H,new q(G,"Presentation State could not be loaded"))}))},a.setPresentationState=function(e){var t=a.volumeViewer.getAllOpticalPaths();console.info('apply Presentation State instance "'.concat(e.SOPInstanceUID,'"'));var n={};t.forEach((function(t){var i=t.identifier;a.volumeViewer.hideOpticalPath(i),a.volumeViewer.deactivateOpticalPath(i);var o=a.volumeViewer.getOpticalPathDefaultStyle(i);a.volumeViewer.setOpticalPathStyle(i,o),e.AdvancedBlendingSequence.forEach((function(e){var a=e.ReferencedInstanceSequence;void 0===a&&(a=e.ReferencedImageSequence),void 0!==a&&a.forEach((function(a){if(t.sopInstanceUIDs.includes(a.ReferencedSOPInstanceUID)){var o,r;if(null!=e.PaletteColorLookupTableSequence){var s=e.PaletteColorLookupTableSequence[0];o=new g.color.PaletteColorLookupTable({uid:null!=s.PaletteColorLookupTableUID?s.PaletteColorLookupTableUID:"",redDescriptor:s.RedPaletteColorLookupTableDescriptor,greenDescriptor:s.GreenPaletteColorLookupTableDescriptor,blueDescriptor:s.BluePaletteColorLookupTableDescriptor,redData:null!=s.RedPaletteColorLookupTableData?new Uint16Array(s.RedPaletteColorLookupTableData):void 0,greenData:null!=s.GreenPaletteColorLookupTableData?new Uint16Array(s.GreenPaletteColorLookupTableData):void 0,blueData:null!=s.BluePaletteColorLookupTableData?new Uint16Array(s.BluePaletteColorLookupTableData):void 0,redSegmentedData:null!=s.SegmentedRedPaletteColorLookupTableData?new Uint16Array(s.SegmentedRedPaletteColorLookupTableData):void 0,greenSegmentedData:null!=s.SegmentedGreenPaletteColorLookupTableData?new Uint16Array(s.SegmentedGreenPaletteColorLookupTableData):void 0,blueSegmentedData:null!=s.SegmentedBluePaletteColorLookupTableData?new Uint16Array(s.SegmentedBluePaletteColorLookupTableData):void 0})}if(null!=e.SoftcopyVOILUTSequence){var l=e.SoftcopyVOILUTSequence[0],c=l.WindowCenter,d=l.WindowWidth;r=[c-.5*d,c+.5*d]}n[i]={opacity:1,paletteColorLookupTable:o,limitValues:r}}}))}))}));var i=new Set;Object.keys(n).forEach((function(e){var t=n[e];null!=t?(a.volumeViewer.setOpticalPathStyle(e,t),a.volumeViewer.activateOpticalPath(e),a.volumeViewer.showOpticalPath(e),i.add(e)):(a.volumeViewer.hideOpticalPath(e),a.volumeViewer.deactivateOpticalPath(e))}));var o=new URLSearchParams(a.props.location.search);o.set("state",e.SOPInstanceUID),a.props.navigate({pathname:a.props.location.pathname,search:o.toString()},{replace:!0}),a.setState((function(t){return{activeOpticalPathIdentifiers:i,visibleOpticalPathIdentifiers:i,selectedPresentationStateUID:e.SOPInstanceUID}}))},a.getRoiStyle=function(e){return null==e?a.defaultRoiStyle:void 0!==a.roiStyles[e]?a.roiStyles[e]:a.defaultRoiStyle},a.addAnnotations=function(){console.info("search for Comprehensive 3D SR instances");var e=a.props.clients[M.COMPREHENSIVE_3D_SR];e.searchForInstances({studyInstanceUID:a.props.studyInstanceUID,queryParams:{Modality:"SR"}}).then((function(t){null==t&&(t=[]),t.forEach((function(t){var n=g.metadata.formatMetadata(t).dataset;n.SOPClassUID===M.COMPREHENSIVE_3D_SR&&(console.info('retrieve SR instance "'.concat(n.SOPInstanceUID,'"')),e.retrieveInstance({studyInstanceUID:a.props.studyInstanceUID,seriesInstanceUID:n.SeriesInstanceUID,sopInstanceUID:n.SOPInstanceUID}).then((function(e){var t=fe.aT.DicomMessage.readFile(e),n=g.metadata.formatMetadata(t.dict).dataset;(function(e){var t=e.ContentTemplateSequence;return t.length>0&&"1500"===t[0].TemplateIdentifier})(n)?!function(e){var t=je({content:e.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"121024",schemeDesignator:"DCM",meaning:"Subject Class"})});if(0===t.length)return!1;var n=t[0].ConceptCodeSequence[0],i=new fe.sr.coding.CodedConcept({value:n.CodeValue,meaning:n.CodeMeaning,schemeDesignator:n.CodingSchemeDesignator}),a=new fe.sr.coding.CodedConcept({value:"121027",meaning:"Specimen",schemeDesignator:"DCM"});return!!i.equals(a)}(n)?console.debug('ignore SR document "'.concat(n.SOPInstanceUID,'" ')+"because it does not describe a specimen subject"):!function(e){var t=je({content:e.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"126010",schemeDesignator:"DCM",meaning:"Imaging Measurements"})});if(0===t.length)return!1;var n=t[0],i=je({content:n.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"125007",schemeDesignator:"DCM",meaning:"Measurement Group"})}),a=!1;return i.forEach((function(e){var t=je({content:e.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"111030",schemeDesignator:"DCM",meaning:"Image Region"})});t.length>0&&t[0].ValueType===fe.sr.valueTypes.ValueTypes.SCOORD3D&&(a=!0)})),a}(n)?console.debug('ignore SR document "'.concat(n.SOPInstanceUID,'" ')+"because it does not contain any suitable ROI annotations"):new Te(n).ROIs.forEach((function(e){console.info('add ROI "'.concat(e.uid,'"'));var t=e.scoord3d,i=a.props.slide.volumeImages[0];if(t.frameOfReferenceUID===i.FrameOfReferenceUID){var o=a.volumeViewer.getAllROIs().some((function(t){return function(e,t){if(e.scoord3d.graphicType!==t.scoord3d.graphicType)return!1;if(e.scoord3d.frameOfReferenceUID!==t.scoord3d.frameOfReferenceUID)return!1;if(e.scoord3d.graphicData.length!==t.scoord3d.graphicData.length)return!1;for(var n=0;n0){try{a.volumeViewer.addSegments(t)}catch(n){$.onError(H,new q(G,"Segmentations cannot be displayed")),console.error("failed to add segments: ",n)}a.forceUpdate()}})).catch((function(e){console.error(e),$.onError(H,new q(G,"Retrieval of metadata of Segmentation instances failed."))}))}))})).catch((function(e){console.error(e),$.onError(H,new q(G,"Search for Segmentation instances failed."))}))},a.addParametricMaps=function(){console.info("search for Parametric Map instances");var e=a.props.clients[M.PARAMETRIC_MAP];e.searchForSeries({studyInstanceUID:a.props.studyInstanceUID,queryParams:{Modality:"OT"}}).then((function(t){null==t&&(t=[]),t.forEach((function(t){var n=g.metadata.formatMetadata(t).dataset;e.retrieveSeriesMetadata({studyInstanceUID:a.props.studyInstanceUID,seriesInstanceUID:n.SeriesInstanceUID}).then((function(e){var t=[];if(e.forEach((function(e){var n=new g.metadata.ParametricMap({metadata:e}),i=a.props.slide.volumeImages[0];n.FrameOfReferenceUID===i.FrameOfReferenceUID&&n.ContainerIdentifier===i.ContainerIdentifier?t.push(n):console.warn('skip Parametric Map instance "'.concat(n.SOPInstanceUID,'"'))})),t.length>0){try{a.volumeViewer.addParameterMappings(t)}catch(n){$.onError(H,new q(G,"Parametric Map cannot be displayed")),console.error("failed to add mappings: ",n)}a.forceUpdate()}})).catch((function(e){console.error(e),$.onError(H,new q(G,"Retrieval of metadata of Parametric Map instances failed."))}))}))})).catch((function(e){console.error(e),$.onError(H,new q(G,"Search for Parametric Map instances failed."))}))},a.populateViewports=function(){console.info("populate viewports..."),a.setState({isLoading:!0,presentationStates:[]}),null!=a.volumeViewportRef.current&&a.volumeViewer.render({container:a.volumeViewportRef.current}),null!=a.labelViewportRef.current&&null!=a.labelViewer&&a.labelViewer.render({container:a.labelViewportRef.current}),a.setState({isLoading:!1}),a.setDefaultPresentationState(),a.loadPresentationStates(),a.addAnnotations(),a.addAnnotationGroups(),a.addSegmentations(),a.addParametricMaps()},a.onRoiModified=function(e){a.setState((function(e){return{visibleRoiUIDs:new Set(e.visibleRoiUIDs)}}))},a.onWindowResize=function(e){console.info("resize viewports"),a.volumeViewer.resize(),null!=a.labelViewer&&a.labelViewer.resize()},a.onRoiDrawn=function(e){var t=e.detail.payload,n=a.state.selectedFinding,i=a.state.selectedEvaluations;if(void 0!==t&&void 0!==n){console.debug('add ROI "'.concat(t.uid,'"'));var o=new fe.sr.valueTypes.CodeContentItem({name:new fe.sr.coding.CodedConcept({value:"121071",meaning:"Finding",schemeDesignator:"DCM"}),value:n,relationshipType:"CONTAINS"});t.addEvaluation(o),i.forEach((function(e){var n=new fe.sr.valueTypes.CodeContentItem({name:e.name,value:e.value,relationshipType:"CONTAINS"});t.addEvaluation(n)}));var r=rt(n),s=a.getRoiStyle(r);a.volumeViewer.addROI(t,s),a.setState((function(e){var n=e.visibleRoiUIDs;return n.add(t.uid),{visibleRoiUIDs:n}}))}else console.debug('could not add ROI "'.concat(t.uid,'"'))},a.onRoiDoubleClicked=function(e){null!=e.detail.payload?a.setState({isSelectedRoiModalVisible:!0}):a.setState({isSelectedRoiModalVisible:!1})},a.onRoiSelected=function(e){var t=e.detail.payload;if(null!=t){console.debug('selected ROI "'.concat(t.uid,'"')),a.volumeViewer.setROIStyle(t.uid,a.selectedRoiStyle);var n=st(t);a.volumeViewer.getAllROIs().forEach((function(e){e.uid!==t.uid&&a.volumeViewer.setROIStyle(e.uid,a.getRoiStyle(n))})),a.setState({selectedRoiUIDs:new Set([t.uid]),selectedRoi:t})}else a.setState({selectedRoiUIDs:new Set,selectedRoi:void 0})},a.onLoadingStarted=function(e){a.setState({isLoading:!0})},a.onLoadingEnded=function(e){a.setState({isLoading:!1})},a.onFrameLoadingStarted=function(e){var t=e.detail.payload,n="".concat(t.sopInstanceUID,"-").concat(t.frameNumber);a.setState((function(e){return e.loadingFrames.add(n),e}))},a.onFrameLoadingError=function(e){console.error("Failed to load frame")},a.onLoadingError=function(e){console.error("Failed to load data"),$.onError(H,new q(G,e.detail.payload&&e.detail.payload.message?e.detail.payload.message:"Failed to load data"))},a.onFrameLoadingEnded=function(e){var t=e.detail.payload,n="".concat(t.sopInstanceUID,"-").concat(t.frameNumber);if(a.setState((function(e){e.loadingFrames.delete(n);var t=!1;return e.loadingFrames.size>0&&(t=!0),{isLoading:t,loadingFrames:e.loadingFrames}})),t.sopClassUID===M.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE&&a.props.slide.areVolumeImagesMonochrome){var i=t.channelIdentifier;if(!(i in a.state.pixelDataStatistics)&&null!=t.pixelArray){for(var o=Math.pow(2,16),r=Math.ceil(t.pixelArray.length/o),s=0,l=[],c=[],d=0;d=n&&t<=i)return void this.setState({selectedXCoordinate:t,isSelectedXCoordinateValid:!0})}this.setState({selectedXCoordinate:void 0,isSelectedXCoordinateValid:!1})}},{key:"handleYCoordinateSelection",value:function(e){if(null!=e){var t=Number(e),n=this.state.validYCoordinateRange[0],i=this.state.validYCoordinateRange[1];if(t>=n&&t<=i)return void this.setState({selectedYCoordinate:t,isSelectedYCoordinateValid:!0})}this.setState({selectedYCoordinate:void 0,isSelectedYCoordinateValid:!1})}},{key:"handleMagnificationSelection",value:function(e){null!=e&&e>0&&e<=40?this.setState({selectedMagnification:Number(e),isSelectedMagnificationValid:!0}):this.setState({selectedMagnification:void 0,isSelectedMagnificationValid:!1})}},{key:"handleSlidePositionSelection",value:function(){if(this.state.isSelectedXCoordinateValid&&this.state.isSelectedYCoordinateValid&&this.state.isSelectedMagnificationValid&&null!=this.state.selectedXCoordinate&&null!=this.state.selectedYCoordinate&&null!=this.state.selectedMagnification){console.info("select slide position "+"(".concat(this.state.selectedXCoordinate,", ")+"".concat(this.state.selectedYCoordinate,") ")+"at ".concat(this.state.selectedMagnification,"x magnification"));for(var e=.01/this.state.selectedMagnification,t=[],n=0;n1&&$.onError(H,new q(G,"More than one specimen has been described for the slide"));var a,o=i.SpecimenDescriptionSequence[0];console.debug("create Observation Context"),void 0!==this.props.user?a=new fe.sr.templates.PersonObserverIdentifyingAttributes({name:this.props.user.name,loginName:this.props.user.email}):(console.warn("no user information available"),a=new fe.sr.templates.PersonObserverIdentifyingAttributes({name:"ANONYMOUS"}));var r=new fe.sr.templates.ObservationContext({observerPersonContext:new fe.sr.templates.ObserverContext({observerType:new fe.sr.coding.CodedConcept({value:"121006",schemeDesignator:"DCM",meaning:"Person"}),observerIdentifyingAttributes:a}),observerDeviceContext:new fe.sr.templates.ObserverContext({observerType:new fe.sr.coding.CodedConcept({value:"121007",schemeDesignator:"DCM",meaning:"Device"}),observerIdentifyingAttributes:new fe.sr.templates.DeviceObserverIdentifyingAttributes({uid:this.props.app.uid,manufacturerName:"MGH Computational Pathology",modelName:this.props.app.name})}),subjectContext:new fe.sr.templates.SubjectContext({subjectClass:new fe.sr.coding.CodedConcept({value:"121027",schemeDesignator:"DCM",meaning:"Specimen"}),subjectClassSpecificContext:new fe.sr.templates.SubjectContextSpecimen({uid:o.SpecimenUID,identifier:o.SpecimenIdentifier,containerIdentifier:i.ContainerIdentifier})})});console.debug("encode Imaging Measurements");for(var s=[],l=0;l0?(this.state.selectedRoiUIDs.forEach((function(t){void 0!==t?(console.info('remove ROI "'.concat(t,'"')),e.volumeViewer.removeROI(t),u.ZP.info("Annotation was removed")):u.ZP.warning("No annotation was selected for removal")})),this.setState({selectedRoiUIDs:new Set,isRoiTranslationActive:!1,isRoiDrawingActive:!1,isRoiModificationActive:!1})):(this.state.visibleRoiUIDs.forEach((function(t){console.info('remove ROI "'.concat(t,'"')),e.volumeViewer.removeROI(t)})),this.setState({visibleRoiUIDs:new Set,isRoiTranslationActive:!1,isRoiDrawingActive:!1,isRoiModificationActive:!1})),this.volumeViewer.activateSelectInteraction({})}},{key:"handleRoiVisibilityChange",value:function(){var e=this;console.info("toggle visibility of ROIs"),this.volumeViewer.areROIsVisible?(this.volumeViewer.deactivateDrawInteraction(),this.volumeViewer.deactivateSnapInteraction(),this.volumeViewer.deactivateTranslateInteraction(),this.volumeViewer.deactivateSelectInteraction(),this.volumeViewer.deactivateModifyInteraction(),this.volumeViewer.hideROIs(),this.setState({areRoisHidden:!0,isRoiDrawingActive:!1,isRoiModificationActive:!1,isRoiTranslationActive:!1})):(this.volumeViewer.showROIs(),this.volumeViewer.activateSelectInteraction({}),this.state.selectedRoiUIDs.forEach((function(t){void 0!==t&&e.volumeViewer.setROIStyle(t,e.selectedRoiStyle)})),this.setState({areRoisHidden:!1}))}},{key:"render",value:function(){var e=this,t=[],n=[],i=[],a=[];t.push.apply(t,(0,ie.Z)(this.volumeViewer.getAllROIs())),n.push.apply(n,(0,ie.Z)(this.volumeViewer.getAllSegments())),i.push.apply(i,(0,ie.Z)(this.volumeViewer.getAllParameterMappings())),a.push.apply(a,(0,ie.Z)(this.volumeViewer.getAllAnnotationGroups()));var o,r,s=["specimens","optical-paths","annotations","presentation-states"],c=this.state.generatedReport;void 0!==c&&(o=(0,I.jsx)(Ae,{dataset:c})),t.length>0&&(r=(0,I.jsx)(Ie,{rois:t,selectedRoiUIDs:this.state.selectedRoiUIDs,visibleRoiUIDs:this.state.visibleRoiUIDs,onSelection:this.handleAnnotationSelection,onVisibilityChange:this.handleAnnotationVisibilityChange}));var d=this.findingOptions.map((function(e){return(0,I.jsx)(ae.Z.Option,{value:e.CodeValue,children:e.CodeMeaning},e.CodeValue)})),u={point:(0,I.jsx)(ae.Z.Option,{value:"point",children:"Point"},"point"),circle:(0,I.jsx)(ae.Z.Option,{value:"circle",children:"Circle"},"circle"),box:(0,I.jsx)(ae.Z.Option,{value:"box",children:"Box"},"box"),polygon:(0,I.jsx)(ae.Z.Option,{value:"polygon",children:"Polygon"},"polygon"),line:(0,I.jsx)(ae.Z.Option,{value:"line",children:"Line"},"line"),freehandpolygon:(0,I.jsx)(ae.Z.Option,{value:"freehandpolygon",children:"Polygon (freehand)"},"freehandpolygon"),freehandline:(0,I.jsx)(ae.Z.Option,{value:"freehandline",children:"Line (freehand)"},"freehandline")},m=[(0,I.jsx)(ae.Z,{style:{minWidth:130},onSelect:this.handleAnnotationFindingSelection,defaultActiveFirstOption:!0,children:d},"annotation-finding")],v=this.state.selectedFinding;if(void 0!==v){var g=rt(v);this.evaluationOptions[g].forEach((function(t){var n=t.values.map((function(e){return(0,I.jsx)(ae.Z.Option,{value:e.CodeValue,label:t.name,children:e.CodeMeaning},e.CodeValue)}));m.push((0,I.jsxs)(I.Fragment,{children:[t.name.CodeMeaning,(0,I.jsx)(ae.Z,{style:{minWidth:130},onSelect:e.handleAnnotationEvaluationSelection,allowClear:!0,onClear:e.handleAnnotationEvaluationClearance,defaultActiveFirstOption:!1,children:n})]}))}));var S=this.geometryTypeOptions[g].map((function(e){return u[e]}));m.push((0,I.jsxs)(I.Fragment,{children:["ROI geometry type",(0,I.jsx)(ae.Z,{style:{minWidth:130},onSelect:this.handleAnnotationGeometryTypeSelection,children:S},"annotation-geometry-type")]})),m.push((0,I.jsx)(oe.Z,{onChange:this.handleAnnotationMeasurementActivation,children:"measure"},"annotation-measurement"))}var C=(0,I.jsx)(f.Z.SubMenu,{title:"Specimens",children:(0,I.jsx)(qe,{metadata:this.props.slide.volumeImages[0],showstain:!1})},"specimens"),b=(0,I.jsx)(f.Z.SubMenu,{title:"Equipment",children:(0,I.jsx)(Me,{metadata:this.props.slide.volumeImages[0]})},"equipment"),w=this.volumeViewer.getAllOpticalPaths();w.sort((function(e,t){return 1===e.identifier.localeCompare(t.identifier)?1:1===t.identifier.localeCompare(e.identifier)?-1:0}));var D={},x={};w.forEach((function(t){var n=t.identifier,i=e.volumeViewer.getOpticalPathMetadata(n);x[n]=i;var a=(0,j.Z)({},e.volumeViewer.getOpticalPathStyle(n));D[n]=a}));var V,Z,R,O,P,M=(0,I.jsx)(f.Z.SubMenu,{title:"Optical Paths",children:(0,I.jsx)(Ke,{metadata:x,opticalPaths:w,defaultOpticalPathStyles:D,visibleOpticalPathIdentifiers:this.state.visibleOpticalPathIdentifiers,activeOpticalPathIdentifiers:this.state.activeOpticalPathIdentifiers,onOpticalPathVisibilityChange:this.handleOpticalPathVisibilityChange,onOpticalPathStyleChange:this.handleOpticalPathStyleChange,onOpticalPathActivityChange:this.handleOpticalPathActivityChange,selectedPresentationStateUID:this.state.selectedPresentationStateUID})},"optical-paths");if(this.state.presentationStates.length>0){var E=[];this.state.presentationStates.forEach((function(e){E.push((0,I.jsx)(ae.Z.Option,{value:e.SOPInstanceUID,dropdownMatchSelectWidth:!1,size:"small",children:e.ContentDescription},e.SOPInstanceUID))})),E.push((0,I.jsx)(ae.Z.Option,{value:null,dropdownMatchSelectWidth:!1,size:"small"},"default-presentation-state")),V=(0,I.jsx)(f.Z.SubMenu,{title:"Presentation States",children:(0,I.jsxs)(re.Z,{align:"center",size:20,style:{padding:"14px"},children:[(0,I.jsx)(ae.Z,{style:{minWidth:200,maxWidth:200},onSelect:this.handlePresentationStateSelection,value:this.state.selectedPresentationStateUID,children:E},"presentation-states"),(0,I.jsx)(se.Z,{title:"Reset",children:(0,I.jsx)(le.Z,{icon:(0,I.jsx)(pe.Z,{}),type:"primary",onClick:this.handlePresentationStateReset})})]})},"presentation-states")}if(n.length>0){var U={},T={},A=this.volumeViewer.getAllSegments();A.forEach((function(t){U[t.uid]=e.volumeViewer.getSegmentStyle(t.uid),T[t.uid]=e.volumeViewer.getSegmentMetadata(t.uid)})),Z=(0,I.jsx)(f.Z.SubMenu,{title:"Segmentations",children:(0,I.jsx)(nt,{segments:A,metadata:T,defaultSegmentStyles:U,visibleSegmentUIDs:this.state.visibleSegmentUIDs,onSegmentVisibilityChange:this.handleSegmentVisibilityChange,onSegmentStyleChange:this.handleSegmentStyleChange})},"segmentations"),s.push("segmentations")}if(i.length>0){var k={},L={};i.forEach((function(t){k[t.uid]=e.volumeViewer.getParameterMappingStyle(t.uid),L[t.uid]=e.volumeViewer.getParameterMappingMetadata(t.uid)})),R=(0,I.jsx)(f.Z.SubMenu,{title:"Parametric Maps",children:(0,I.jsx)($e,{mappings:i,metadata:L,defaultMappingStyles:k,visibleMappingUIDs:this.state.visibleMappingUIDs,onMappingVisibilityChange:this.handleMappingVisibilityChange,onMappingStyleChange:this.handleMappingStyleChange})},"parmetric-maps"),s.push("parametric-maps")}if(a.length>0){var _={},N={},G=this.volumeViewer.getAllAnnotationGroups();G.forEach((function(t){_[t.uid]=e.volumeViewer.getAnnotationGroupStyle(t.uid),N[t.uid]=e.volumeViewer.getAnnotationGroupMetadata(t.uid)})),O=(0,I.jsx)(f.Z.SubMenu,{title:"Annotation Groups",children:(0,I.jsx)(Oe,{annotationGroups:G,metadata:N,defaultAnnotationGroupStyles:_,visibleAnnotationGroupUIDs:this.state.visibleAnnotationGroupUIDs,onAnnotationGroupVisibilityChange:this.handleAnnotationGroupVisibilityChange,onAnnotationGroupStyleChange:this.handleAnnotationGroupStyleChange})},"annotation-groups"),s.push("annotationGroups")}var q="0px",F=[(0,I.jsx)(Pe,{tooltip:"Draw ROI [Alt+D]",icon:p.vuA,onClick:this.handleRoiDrawing,isSelected:this.state.isRoiDrawingActive},"draw-roi-button"),(0,I.jsx)(Pe,{tooltip:"Modify ROIs [Alt+M]",icon:p.eAi,onClick:this.handleRoiModification,isSelected:this.state.isRoiModificationActive},"modify-roi-button"),(0,I.jsx)(Pe,{tooltip:"Translate ROIs [Alt+T]",icon:p.Jd7,onClick:this.handleRoiTranslation,isSelected:this.state.isRoiTranslationActive},"translate-roi-button"),(0,I.jsx)(Pe,{tooltip:"Remove selected ROI [Alt+R]",onClick:this.handleRoiRemoval,icon:p.Xm5},"remove-roi-button"),(0,I.jsx)(Pe,{tooltip:"Show/Hide ROIs [Alt+V]",icon:this.state.areRoisHidden?p.dSq:p.tgn,onClick:this.handleRoiVisibilityChange,isSelected:this.state.areRoisHidden},"toggle-roi-visibility-button"),(0,I.jsx)(Pe,{tooltip:"Save ROIs [Alt+S]",icon:p.TvB,onClick:this.handleReportGeneration},"generate-report-button")],z=[(0,I.jsx)(Pe,{tooltip:"Go to [Alt+G]",icon:p.Xe,onClick:this.handleGoTo},"go-to-slide-position-button")];this.props.enableAnnotationTools&&(P=(0,I.jsxs)(ce.Z,{justify:"start",children:[F.map((function(e,t){return(0,I.jsx)(l.Fragment,{children:e},t)})),z.map((function(e,t){return(0,I.jsx)(l.Fragment,{children:e},t)}))]}),q="50px");var B,W="default";if(this.state.isLoading&&(W="progress"),null!=this.state.selectedRoi){var Y=[{name:"UID",value:this.state.selectedRoi.uid}],H=[{name:"Graphic type",value:this.state.selectedRoi.scoord3d.graphicType}],X=[];this.state.selectedRoi.evaluations.forEach((function(e){if("CODE"===e.ValueType){var t=e;X.push({name:t.ConceptNameCodeSequence[0].CodeMeaning,value:t.ConceptCodeSequence[0].CodeMeaning})}else{var n=e;X.push({name:n.ConceptNameCodeSequence[0].CodeMeaning,value:n.TextValue})}}));var K={};this.state.selectedRoi.measurements.forEach((function(e){var t="default";if(null!=e.ContentSequence){var n=je({content:e.ContentSequence,name:new fe.sr.coding.CodedConcept({value:"121112",meaning:"Source of Measurement",schemeDesignator:"DCM"})});n.length>0&&(t=n[0].ReferencedSOPSequence[0].ReferencedOpticalPathIdentifier)}t in K||(K[t]=[]);var i=e.MeasuredValueSequence[0];K[t].push({name:e.ConceptNameCodeSequence[0].CodeMeaning,value:i.NumericValue.toString(),unit:i.MeasurementUnitsCodeSequence[0].CodeMeaning})}));var Q=function(e){return e.map((function(e){var t;return t=null!=e.unit?"".concat(e.value," [").concat(e.unit,"]"):e.value,(0,I.jsx)(y.Z.Item,{label:e.name,children:t},e.name)}))},J=Q(Y),$=Q(H),ee=Q(X),te=[];for(var ne in K){var ge=Q(K[ne]);"default"===ne?te.push(ge):te.push((0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(de.Z,{orientation:"left",orientationMargin:0,dashed:!0,plain:!0,children:ne}),ge]}))}B=(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(y.Z,{layout:"horizontal",column:1,children:J}),(0,I.jsx)(de.Z,{orientation:"left",orientationMargin:0,children:"Spatial coordinates"}),(0,I.jsx)(y.Z,{layout:"horizontal",column:1,children:$}),(0,I.jsx)(de.Z,{orientation:"left",orientationMargin:0,children:"Evaluations"}),(0,I.jsx)(y.Z,{layout:"horizontal",column:1,children:ee}),(0,I.jsx)(de.Z,{orientation:"left",orientationMargin:0,children:"Measurements"}),(0,I.jsx)(y.Z,{layout:"horizontal",column:1,children:te})]})}return(0,I.jsxs)(h.Z,{style:{height:"100%"},hasSider:!0,children:[(0,I.jsxs)(h.Z.Content,{style:{height:"100%"},children:[P,(0,I.jsx)("div",{style:{height:"calc(100% - ".concat(q,")"),overflow:"hidden",cursor:W},ref:this.volumeViewportRef}),(0,I.jsx)(ue.Z,{visible:this.state.isAnnotationModalVisible,title:"Configure annotations",onOk:this.handleAnnotationConfigurationCompletion,onCancel:this.handleAnnotationConfigurationCancellation,okText:"Select",children:(0,I.jsx)(re.Z,{align:"start",direction:"vertical",children:m})}),(0,I.jsx)(ue.Z,{visible:this.state.isSelectedRoiModalVisible,title:"Selected ROI",onCancel:this.handleRoiSelectionCancellation,maskClosable:!0,footer:null,children:(0,I.jsx)(re.Z,{align:"start",direction:"vertical",children:B})}),(0,I.jsx)(ue.Z,{visible:this.state.isGoToModalVisible,title:"Go to slide position",onOk:this.handleSlidePositionSelection,onCancel:this.handleSlidePositionSelectionCancellation,okText:"Select",children:(0,I.jsxs)(re.Z,{align:"start",direction:"vertical",children:[(0,I.jsx)(he.Z,{placeholder:"["+"".concat(this.state.validXCoordinateRange[0])+", "+"".concat(this.state.validXCoordinateRange[1])+"]",prefix:"X Coordinate [mm]",onChange:this.handleXCoordinateSelection,onPressEnter:this.handleXCoordinateSelection,controls:!1,addonAfter:this.state.isSelectedXCoordinateValid?(0,I.jsx)(me.Z,{style:{color:"rgba(0,0,0,.45)"}}):(0,I.jsx)(ve.Z,{style:{color:"rgba(0,0,0,.45)"}})}),(0,I.jsx)(he.Z,{placeholder:"["+"".concat(this.state.validYCoordinateRange[0])+", "+"".concat(this.state.validYCoordinateRange[1])+"]",prefix:"Y Coordinate [mm]",onChange:this.handleYCoordinateSelection,onPressEnter:this.handleYCoordinateSelection,controls:!1,addonAfter:this.state.isSelectedYCoordinateValid?(0,I.jsx)(me.Z,{style:{color:"rgba(0,0,0,.45)"}}):(0,I.jsx)(ve.Z,{style:{color:"rgba(0,0,0,.45)"}})}),(0,I.jsx)(he.Z,{placeholder:"[0 - 40]",prefix:"Magnification",onChange:this.handleMagnificationSelection,onPressEnter:this.handleMagnificationSelection,controls:!1,addonAfter:this.state.isSelectedMagnificationValid?(0,I.jsx)(me.Z,{style:{color:"rgba(0,0,0,.45)"}}):(0,I.jsx)(ve.Z,{style:{color:"rgba(0,0,0,.45)"}})})]})}),(0,I.jsx)(ue.Z,{visible:this.state.isReportModalVisible,title:"Verify and save report",onOk:this.handleReportVerification,onCancel:this.handleReportCancellation,okText:"Save",children:o})]}),(0,I.jsx)(h.Z.Sider,{width:300,reverseArrow:!0,style:{borderLeft:"solid",borderLeftWidth:.25,overflow:"hidden",background:"none"},children:(0,I.jsxs)(f.Z,{mode:"inline",defaultOpenKeys:s,style:{height:"100%"},inlineIndent:14,forceSubMenuRender:!0,onOpenChange:function(){setTimeout((function(){null!=e.labelViewer&&e.labelViewer.resize()}),100)},children:[(0,I.jsx)(f.Z.SubMenu,{title:"Slide label",children:(0,I.jsx)(f.Z.Item,{style:{height:"100%"},children:(0,I.jsx)("div",{style:{height:"220px"},ref:this.labelViewportRef})},"image")},"label"),C,b,M,V,(0,I.jsx)(f.Z.SubMenu,{title:"Annotations",children:r},"annotations"),O,Z,R]})})]})}}]),n}(l.Component));var dt;!function(e){e.VOLUME="VOLUME",e.LABEL="LABEL",e.OVERVIEW="OVERVIEW",e.THUMBNAIL="THUMBNAIL"}(dt||(dt={}));var ut=function(e,t){return e.ImageType[2]===t},ht=function(e,t){return null!=e.AcquisitionUID&&e.AcquisitionUID===t.AcquisitionUID},pt=(0,a.Z)((function e(t){var n=this;(0,i.Z)(this,e),this.description=void 0,this.acquisitionUID=void 0,this.frameOfReferenceUID=void 0,this.containerIdentifier=void 0,this.seriesInstanceUIDs=void 0,this.opticalPathIdentifiers=void 0,this.pyramidUIDs=[],this.areVolumeImagesMonochrome=void 0,this.volumeImages=void 0,this.labelImages=void 0,this.overviewImages=void 0,0===t.images.length&&$.onError(H,new q(N,'Value of option "images" have been non-zero length.'));var a=new Set([]),o=new Set([]),r=new Set([]),s=new Set([]),l={VOLUME:new Set([]),LABEL:new Set([]),OVERVIEW:new Set([])},c={VOLUME:{}},d=[],u=[],h=[];if(t.images.forEach((function(e){if(s.add(e.ContainerIdentifier),a.add(e.SeriesInstanceUID),e.OpticalPathSequence.forEach((function(e){r.add(e.OpticalPathIdentifier)})),null!=e.AcquisitionUID&&o.add(e.AcquisitionUID),ut(e,dt.VOLUME)||ut(e,dt.THUMBNAIL)){if(l.VOLUME.add(e.FrameOfReferenceUID),null!=e.PyramidUID)for(var t in r)c.VOLUME[t].add(e.PyramidUID);d.push(e)}else ut(e,dt.LABEL)?(l.LABEL.add(e.FrameOfReferenceUID),u.push(e)):ut(e,dt.OVERVIEW)&&(l.OVERVIEW.add(e.FrameOfReferenceUID),h.push(e))})),0===d.length)$.onError(H,new q(N,"At least one VOLUME image must be provided for a slide."));else{o.size>1&&$.onError(H,new q(N,"All VOLUME images of a slide must have the same number of Samples per Pixel."));var p=new Set([]);d.forEach((function(e){p.add(e.SamplesPerPixel)})),p.size>1&&$.onError(H,new q(N,"All VOLUME images of a slide must have the same number of Samples per Pixel.")),d.filter((function(e){return"RESAMPLED"!==e.ImageType[3]})).length>r.size&&console.warn("the set of VOLUME images of a slide must contain only a single image that has not been resampled per optical path")}this.volumeImages=d,this.labelImages=u,this.overviewImages=h,this.seriesInstanceUIDs=(0,ie.Z)(a),this.opticalPathIdentifiers=(0,ie.Z)(r),1!==s.size&&$.onError(H,new q(N,"All images of a slide must have the same Container Identifier.")),this.containerIdentifier=(0,ie.Z)(s)[0],1!==l.VOLUME.size&&$.onError(H,new q(N,"All VOLUME images of a slide must have the same Frame of Reference UID.")),this.frameOfReferenceUID=(0,ie.Z)(l.VOLUME)[0];var m=!1;Object.keys(c.VOLUME).length>0&&(m=!0),this.opticalPathIdentifiers.forEach((function(e){null!=c.VOLUME[e]?c.VOLUME[e].size>1?$.onError(H,new q(N,'All VOLUME images for optical path "'.concat(e,'"')+"must be part of the same multi-resolution pyramid.")):1===c.VOLUME[e].size?n.pyramidUIDs.push((0,ie.Z)(c.VOLUME[e])[0]):$.onError(H,new q(N,'The VOLUME images for optical path "'.concat(e,'" ')+"lack the Pyramid UID, while the images for other optical paths contain it.")):m&&$.onError(H,new q(N,'The VOLUME images for optical path "'.concat(e,'" ')+"lack the Pyramid UID, while the images for other optical paths contain it."))})),o.size>1?$.onError(H,new q(N,"All VOLUME images of a slide must be part of the same acquisition and have the same Acquisition UID.")):1===o.size?this.acquisitionUID=(0,ie.Z)(o)[0]:this.acquisitionUID=null,this.areVolumeImagesMonochrome=1===this.volumeImages[0].SamplesPerPixel&&"MONOCHROME2"===this.volumeImages[0].PhotometricInterpretation,this.description=void 0!==t.description?t.description:""})),mt=function(e){var t=[];e.forEach((function(e){if(e.length>0){var n=e.filter((function(e){return ut(e,dt.VOLUME)||ut(e,dt.THUMBNAIL)}));if(n.length>0){var i,a=n[0],o=n.filter((function(e){return a.SamplesPerPixel===e.SamplesPerPixel})),r=t.findIndex((function(e){return function(e,t){if(e.frameOfReferenceUID===t.FrameOfReferenceUID&&e.containerIdentifier===t.ContainerIdentifier&&e.acquisitionUID===t.AcquisitionUID)return!0;return!1}(e,a)})),s=e.filter((function(e){return ut(e,dt.LABEL)}));i=s.length>1?s.filter((function(e){return ht(e,a)})):s;var l,c=e.filter((function(e){return ut(e,dt.OVERVIEW)}));if(l=c.length>1?c.filter((function(e){return ht(e,a)})):c,-1===r){var d={acquisitionUID:a.AcquisitionUID,frameOfReferenceUID:a.FrameOfReferenceUID,containerIdentifier:a.ContainerIdentifier,volumeImages:o,labelImages:i,overviewImages:l};t.push(d)}else{var u,h,p,m=t[r];(u=m.volumeImages).push.apply(u,(0,ie.Z)(o)),(h=m.labelImages).push.apply(h,(0,ie.Z)(i)),(p=m.overviewImages).push.apply(p,(0,ie.Z)(l))}}}}));var n=t.map((function(e){return new pt({images:[].concat((0,ie.Z)(e.volumeImages),(0,ie.Z)(e.labelImages),(0,ie.Z)(e.overviewImages))})}));return n=n.sort((function(e,t){var n=e.volumeImages[0],i=t.volumeImages[0];return null!=n.ContainerIdentifier&&null!=i.ContainerIdentifier?Number(n.ContainerIdentifier)-Number(i.ContainerIdentifier):0}))};function vt(e){var t,n=e.clients,i=e.slides,a=e.user,o=e.app,r=e.preload,s=e.enableAnnotationTools,l=e.annotations,d=(0,c.UO)(),u=d.studyInstanceUID,h=d.seriesInstanceUID,p=(0,c.TH)(),m=i.find((function(e){return e.seriesInstanceUIDs.find((function(e){return e===h}))})),v=new URLSearchParams(p.search);v.has("access_token")||null===(t=v.get("state"))&&(t=void 0);var f=null;return null!=m&&(f=(0,I.jsx)(ct,{clients:n,studyInstanceUID:u,seriesInstanceUID:h,selectedPresentationStateUID:t,slide:m,preload:r,annotations:l,enableAnnotationTools:s,app:o,user:a})),f}const ft=it(function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;return(0,i.Z)(this,n),(a=t.call(this,e)).state={slides:[],isLoading:!0},a.handleSeriesSelection=a.handleSeriesSelection.bind((0,o.Z)(a)),a}return(0,a.Z)(n,[{key:"componentDidMount",value:function(){var e=this;this.fetchImageMetadata().then((function(t){e.setState({slides:mt(t),isLoading:!1})})).catch((function(t){console.error(t),$.onError(H,new q(N,"Image metadata could not be retrieved or decoded.")),e.setState({isLoading:!1})}))}},{key:"fetchImageMetadata",value:function(){var e=(0,v.Z)((0,m.Z)().mark((function e(){var t,n,i,a,o=this;return(0,m.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=[],n=this.props.studyInstanceUID,console.info('search for series of study "'.concat(n,'"...')),i=this.props.clients[M.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE],e.next=6,i.searchForSeries({queryParams:{Modality:"SM",StudyInstanceUID:n}});case 6:return a=e.sent,e.next=9,Promise.all(a.map(function(){var e=(0,v.Z)((0,m.Z)().mark((function e(n){var a,r,s,l,c;return(0,m.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=g.metadata.formatMetadata(n),r=a.dataset,s=r,console.info('retrieve metadata of series "'.concat(s.SeriesInstanceUID,'"')),e.next=5,i.retrieveSeriesMetadata({studyInstanceUID:o.props.studyInstanceUID,seriesInstanceUID:s.SeriesInstanceUID});case 5:l=e.sent,c=[],l.forEach((function(e,t){if(null!=e["00080016"]){var n=e["00080016"].Value;if(null!=n)if(n[0]===M.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE){var i=new g.metadata.VLWholeSlideMicroscopyImage({metadata:e});c.push(i)}}})),c.length>0&&t.push(c);case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 9:return e.abrupt("return",t);case 10:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"handleSeriesSelection",value:function(e){var t=e.seriesInstanceUID;console.info('switch to series "'.concat(t,'"'));var n="/studies/".concat(this.props.studyInstanceUID)+"/series/".concat(t);this.props.location.pathname.includes("/series/")&&null!=this.props.location.search&&(n+=this.props.location.search),this.props.navigate(n,{replace:!0})}},{key:"render",value:function(){if(this.state.isLoading)return null;if(0===this.state.slides.length)return null;var e=this.state.slides[0].volumeImages;if(0===e.length)return null;var t,n,i=e[0];this.props.location.pathname.includes("series/")?t=this.props.location.pathname.split("/")[4]:t=e[0].SeriesInstanceUID;return null!=i.ClinicalTrialSponsorName&&(n=(0,I.jsx)(f.Z.SubMenu,{title:"Clinical Trial",children:(0,I.jsx)(D,{metadata:i})},"clinical-trial")),(0,I.jsxs)(h.Z,{style:{height:"100%"},hasSider:!0,children:[(0,I.jsx)(h.Z.Sider,{width:300,style:{height:"100%",borderRight:"solid",borderRightWidth:.25,overflow:"hidden",background:"none"},children:(0,I.jsxs)(f.Z,{mode:"inline",defaultOpenKeys:["patient","study","clinical-trial","slides"],style:{height:"100%"},inlineIndent:14,children:[(0,I.jsx)(f.Z.SubMenu,{title:"Patient",children:(0,I.jsx)(O,{metadata:i})},"patient"),(0,I.jsx)(f.Z.SubMenu,{title:"Study",children:(0,I.jsx)(P,{metadata:i})},"study"),n,(0,I.jsx)(f.Z.SubMenu,{title:"Slides",children:(0,I.jsx)(te,{clients:this.props.clients,metadata:this.state.slides,selectedSeriesInstanceUID:t,onSeriesSelection:this.handleSeriesSelection})},"slides")]})}),(0,I.jsx)(c.Z5,{children:(0,I.jsx)(c.AW,{path:"/series/:seriesInstanceUID",element:(0,I.jsx)(vt,{clients:this.props.clients,slides:this.state.slides,preload:this.props.preload,annotations:this.props.annotations,enableAnnotationTools:this.props.enableAnnotationTools,app:this.props.app,user:this.props.user})})})]})}}]),n}(l.Component));var gt=n(63),St=n(7382),yt=n(2996),Ct=n(9529),It=n(127),bt=n(4541),wt=n(161),Dt=n(9761);const xt=it(function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;(0,i.Z)(this,n),(a=t.call(this,e)).handleInfoButtonClick=function(){var e=(0,Dt.qY)(),t={browser:{},os:{}};null!=e&&(t.browser={name:null!=e.name?e.name:void 0,version:null!=e.version?e.version:void 0},t.os={name:null!=e.os?e.os:void 0}),ue.Z.info({title:"About",width:600,content:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(y.Z,{title:"Application",column:1,children:[(0,I.jsx)(y.Z.Item,{label:"Name",children:a.props.app.name}),(0,I.jsx)(y.Z.Item,{label:"Version",children:a.props.app.version}),(0,I.jsx)(y.Z.Item,{label:"Homepage",children:a.props.app.homepage})]}),(0,I.jsxs)(y.Z,{title:"Browser",column:1,children:[(0,I.jsx)(y.Z.Item,{label:"Name",children:t.browser.name}),(0,I.jsx)(y.Z.Item,{label:"Version",children:t.browser.version})]}),(0,I.jsx)(y.Z,{title:"Operating System",column:1,children:(0,I.jsx)(y.Z.Item,{label:"Name",children:t.os.name})})]}),onOk:function(){}})},a.handleDebugButtonClick=function(){var e={Authentication:[],Communication:[],EncodingDecoding:[],Visualization:[]},t=a.state.errorObj.length;if(t>0)for(var n=0;n0&&(i=!1)}catch(o){}t.setState({selectedServerUrl:n,isServerSelectionDisabled:i})},onPressEnter:l,addonAfter:this.state.isServerSelectionDisabled?(0,I.jsx)(ve.Z,{style:{color:"rgba(0,0,0,.45)"}}):(0,I.jsx)(me.Z,{style:{color:"rgba(0,0,0,.45)"}})})})]})}}]),n}(l.Component));var Vt=n(7063);const Zt=function(e){var t=e.title,n=e.message;return(0,I.jsx)("div",{style:{height:"100vh",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,I.jsx)(Vt.ZP,{title:t,subTitle:n})})};var Rt=n(6019),Ot=n(1730);const Pt=it(function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;return(0,i.Z)(this,n),(a=t.call(this,e)).defaultPageSize=20,a.handleSearch=function(e,t,n){t()},a.handleReset=function(e){e()},a.getColumnSearchProps=function(e){return{filterDropdown:function(t){var n=t.setSelectedKeys,i=t.selectedKeys,o=t.confirm,r=t.clearFilters;return(0,I.jsxs)("div",{style:{padding:8},children:[(0,I.jsx)(yt.Z,{placeholder:"Search",value:i[0],onChange:function(e){return n(void 0!==e.target.value?[e.target.value]:[])},onPressEnter:function(){return a.handleSearch(i,o,e)},style:{width:188,marginBottom:8,display:"block"}}),(0,I.jsxs)(re.Z,{children:[(0,I.jsx)(le.Z,{type:"primary",onClick:function(){return a.handleSearch(i,o,e)},icon:(0,I.jsx)(Ot.Z,{}),size:"small",style:{width:90},children:"Search"}),(0,I.jsx)(le.Z,{onClick:function(){return a.handleReset(r)},size:"small",style:{width:90},children:"Reset"})]})]})},filterIcon:function(e){return(0,I.jsx)(Ot.Z,{style:{color:e?"#1890ff":void 0}})}}},a.fetchData=a.fetchData.bind((0,o.Z)(a)),a.handleClick=a.handleClick.bind((0,o.Z)(a)),a.handleChange=a.handleChange.bind((0,o.Z)(a)),a.state={studies:[],isLoading:!1,numStudies:0,pageSize:a.defaultPageSize},a}return(0,a.Z)(n,[{key:"searchForStudies",value:function(){var e=this,t={queryParams:{ModalitiesInStudy:"SM"}};this.props.clients[M.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE].searchForStudies(t).then((function(t){e.setState({numStudies:t.length,studies:t.slice(0,e.state.pageSize).map((function(e){return g.metadata.formatMetadata(e).dataset}))})})).catch((function(e){console.error(e),$.onError(B,new q(_,"An error occured. Search for studies failed."))}))}},{key:"componentDidMount",value:function(){this.searchForStudies()}},{key:"componentDidUpdate",value:function(e){this.props.clients!==e.clients&&this.searchForStudies()}},{key:"handleClick",value:function(e,t){this.props.navigate("/studies/".concat(t.StudyInstanceUID))}},{key:"fetchData",value:function(e){var t=this,n=e.offset,i=e.limit,a=e.searchCriteria,o={ModalitiesInStudy:"SM",offset:n,limit:i};if(void 0!==a){for(var r in a){var s=a[r];o[r]="PersonName"===r?"*".concat(s,"*"):s}o.fuzzymatching="true"}var l={queryParams:o};this.props.clients[M.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE].searchForStudies(l).then((function(e){t.setState({studies:e.map((function(e){return g.metadata.formatMetadata(e).dataset}))})})).catch((function(e){console.error(e),$.onError(B,new q(_,"Request to search for studies failed."))}))}},{key:"handleChange",value:function(e,t){this.setState({isLoading:!0});var n=e.current;void 0===n&&(n=1);var i=e.pageSize;void 0===i&&(i=this.state.pageSize);var a=i*(n-1),o=i;console.debug("search for studies of page #".concat(n,"..."));var r={};for(var s in t)null!==t[s]&&(r[s]=t[s][0].toString());this.fetchData({offset:a,limit:o,searchCriteria:r}),this.setState({isLoading:!1,pageSize:i})}},{key:"render",value:function(){var e=this,t=[(0,j.Z)({title:"Accession Number",dataIndex:"AccessionNumber"},this.getColumnSearchProps("AccessionNumber")),(0,j.Z)({title:"Study ID",dataIndex:"StudyID"},this.getColumnSearchProps("StudyID")),{title:"Study Date",dataIndex:"StudyDate",render:function(e){return V(e)}},{title:"Study Time",dataIndex:"StudyTime",render:function(e){return Z(e)}},(0,j.Z)({title:"Patient ID",dataIndex:"PatientID"},this.getColumnSearchProps("PatientID")),(0,j.Z)({title:"Patient's Name",dataIndex:"PatientName",render:function(e){return x(e)}},this.getColumnSearchProps("PatientName")),{title:"Patient's Sex",dataIndex:"PatientSex",render:function(e){return R(e)}},{title:"Patient's Birthdate",dataIndex:"PatientBirthDate",render:function(e){return V(e)}},{title:"Referring Physician's Name",dataIndex:"ReferringPhysicianName",render:function(e){return x(e)}},{title:"Modalities in Study",dataIndex:"ModalitiesInStudy",render:function(e){return void 0===e?"":String(e)}}],n={defaultPageSize:this.defaultPageSize,pageSize:this.state.pageSize,hideOnSinglePage:!0,showSizeChanger:!0,showQuickJumper:!0,showTotal:function(e,t){return"".concat(t[0],"-").concat(t[1]," of ").concat(e," studies")},total:this.state.numStudies};return(0,I.jsx)(Rt.Z,{style:{cursor:"pointer"},columns:t,rowKey:function(e){return e.StudyInstanceUID},dataSource:this.state.studies,pagination:n,onRow:function(t){return{onClick:function(n){return e.handleClick(n,t)}}},onChange:this.handleChange,size:"small",loading:this.state.isLoading})}}]),n}(l.Component));var Mt=n(5685),jt=function(e,t){var n=t;return n.endsWith("/")||(n+="/"),new URL(e,n).toString()},Et=function(e){var t,n,i,a,o,r=new URLSearchParams(e.search),s=new URLSearchParams(e.hash.replace("#","?"));return Boolean(null!==(t=null!==(n=null!==(i=null!==(a=null!==(o=r.get("code"))&&void 0!==o?o:r.get("id_token"))&&void 0!==a?a:r.get("session_state"))&&void 0!==i?i:s.get("code"))&&void 0!==n?n:s.get("id_token"))&&void 0!==t?t:s.get("session_state"))},Ut=function(e){var t;if(null!==e&&(t=e.profile),void 0!==t){if(void 0!==t.name&&void 0!==t.email)return{name:t.name,email:t.email};$.onError(X,new q(L,'Failed to obtain user "name" and "email".'))}else $.onError(X,new q(L,"Failed to obtain user profile."));return{name:void 0,email:void 0}},Tt=(0,a.Z)((function e(t,n){var a=this;(0,i.Z)(this,e),this._oidc=void 0,this.signIn=function(){var e=(0,v.Z)((0,m.Z)().mark((function e(t){var n,i,o,r;return(0,m.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.onSignIn,i=function(e){var t=Ut(e),i="".concat(e.token_type," ").concat(e.access_token);null!=n?(console.info("handling sign-in using provided callback function"),n({user:t,authorization:i})):console.warn("no callback function was provided to handle sign-in")},!Et(window.location)){e.next=10;break}return console.info("obtaining authorization"),e.next=6,a._oidc.signinCallback();case 6:null!=(o=e.sent)&&(console.info("obtained user data: ",o),i(o)),e.next=21;break;case 10:return e.next=12,a._oidc.getUser();case 12:if(null!==(r=e.sent)&&!r.expired){e.next=19;break}return console.info("authenticating user"),e.next=17,a._oidc.signinRedirect();case 17:e.next=21;break;case 19:console.info("user has already been authenticated"),i(r);case 21:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),this.signOut=(0,v.Z)((0,m.Z)().mark((function e(){return(0,m.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("signing out user and revoking authorization"),e.next=3,a._oidc.signoutRedirect();case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)}))),this.getAuthorization=(0,v.Z)((0,m.Z)().mark((function e(){return(0,m.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a._oidc.getUser().then((function(e){if(null!==e)return e.access_token;$.onError(X,new q(L,"Failed to obtain user profile."))}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),this.getUser=(0,v.Z)((0,m.Z)().mark((function e(){return(0,m.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a._oidc.getUser().then((function(e){return null===e&&$.onError(X,new q(L,"Failed to obtain user information.")),Ut(e)}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));var o="code";void 0!==n.grantType&&"implicit"===n.grantType&&(o="id_token token"),this._oidc=new Mt.UserManager({authority:n.authority,client_id:n.clientId,redirect_uri:t,scope:n.scope,response_type:o,loadUserInfo:!0,automaticSilentRenew:!0,revokeAccessTokenOnSignout:!0,post_logout_redirect_uri:"".concat(t,"/logout")}),null!=n.endSessionEndpoint&&this._oidc.metadataService.getMetadata().then((function(e){null!=n.endSessionEndpoint&&(e.end_session_endpoint=n.endSessionEndpoint,a._oidc=new Mt.UserManager({authority:n.authority,client_id:n.clientId,redirect_uri:t,scope:n.scope,response_type:o,loadUserInfo:!0,automaticSilentRenew:!0,revokeAccessTokenOnSignout:!0,post_logout_redirect_uri:"".concat(t,"/logout"),metadata:e}))})).catch((function(e){console.error("failed to get metadata from authorization server: ",e)}))})),At=n(7659),kt=n(9158);const Lt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{retries:5,factor:3,minTimeout:1e3,maxTimeout:6e4,randomize:!0,retryableStatusCodes:[429,500]},t=e;null!=e.retries&&(t.retries=e.retries),null!=e.factor&&(t.factor=e.factor),null!=e.minTimeout&&(t.minTimeout=e.minTimeout),null!=e.maxTimeout&&(t.maxTimeout=e.maxTimeout),null!=e.randomize&&(t.randomize=e.randomize),null!=e.retryableStatusCodes&&(t.retryableStatusCodes=e.retryableStatusCodes);var n=function(e,n){var i=n.url,a=n.method;var o=e.send;return e.send=function(){var n=kt.operation(t);n.attempt((function(o){var r=e.onreadystatechange;e.onreadystatechange=function(){if(null!=r){for(var a=arguments.length,o=new Array(a),s=0;s1&&(console.warn("Requesting ".concat(i,"... (attempt: ").concat(o,")")),e.open(a,i,!0))}));for(var r=arguments.length,s=new Array(r),l=0;l1&&$.onError(H,new q(_,"Only one store is supported for now."))}return(0,a.Z)(e,[{key:"baseURL",get:function(){return this.stores[0].client.baseURL}},{key:"headers",get:function(){return this.stores[0].client.headers}}]),e}();function Nt(e){var t,n,i=e.clients,a=e.user,o=e.app,r=e.config,s=(0,c.UO)().studyInstanceUID,l=!(null!==(t=r.disableAnnotationTools)&&void 0!==t&&t),d=null!==(n=r.preload)&&void 0!==n&&n;return(0,I.jsx)(ft,{clients:i,user:a,annotations:r.annotations,preload:d,app:o,enableAnnotationTools:l,studyInstanceUID:s})}function Gt(e){var t=e.baseUri,n=e.settings,i=e.onError,a={default:0},o={};for(var r in n.forEach((function(e){null!=e.storageClasses?e.storageClasses.forEach((function(t){Object.values(M).includes(t)?t in a?a[t]+=1:a[t]=1:console.warn('unknown storage class "'.concat(t,'" specified ')+'for configured server "'.concat(e.id,'"'))})):(a.default+=1,o.default=new _t({baseUri:t,settings:[e],onError:i}))})),a.default>1&&$.onError(H,new q(_,"Only one default server can be configured without specification of storage classes.")),a)"default"!==r&&a[r]>1&&$.onError(H,new q(_,"Only one configured server can specify a given storage class. "+'Storage class "'.concat(r,'" is specified by more than one ')+"of the configured servers."));return Object.keys(a).length>1&&n.forEach((function(e){var n=new _t({baseUri:t,settings:[e],onError:i});null!=e.storageClasses&&e.storageClasses.forEach((function(e){o[e]=n}))})),Object.values(M).forEach((function(e){e in o||(o[e]=o.default)})),o}const qt=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;(0,i.Z)(this,n),(a=t.call(this,e)).auth=void 0,a.handleDICOMwebError=function(e,t){401===e.status?a.signIn():403===e.status&&$.onError(B,new q(_,"User is not authorized to access DICOMweb resources."));var n=function(){$.onError(B,new q(_,"An unexpected server error occured."))};void 0!==t.errorMessages?t.errorMessages.forEach((function(t){e.status===t.status?a.setState({error:{status:e.status,message:t.message}}):500===e.status&&n()})):500===e.status&&n()},a.handleSignIn=function(e){var t=e.user,n=e.authorization;for(var i in a.state.clients){a.state.clients[i].updateHeaders({Authorization:n})}var o=window.localStorage.getItem("slim_path"),r=window.localStorage.getItem("slim_search");if(null!=o&&o!==window.location.pathname){var s=o;null!=r&&(s+=r),window.location.href=s}window.localStorage.removeItem("slim_path"),window.localStorage.removeItem("slim_search"),a.setState({user:t})},console.info("instatiate app"),console.info('app is located at "'.concat(e.config.path,'"'));var r=window.location,s=r.protocol,l=r.host,c="".concat(s,"//").concat(l),d=jt(e.config.path,c),h=e.config.oidc;return void 0!==h&&(console.info("app uses the following OIDC configuration: ",e.config.oidc),a.auth=new Tt(d,h)),0===e.config.servers.length&&$.onError(H,new q(_,"One server needs to be configured.")),console.info("app uses the following DICOMweb server configuration: ",e.config.servers),a.handleServerSelection=a.handleServerSelection.bind((0,o.Z)(a)),u.ZP.config({duration:5}),a.addGcpSecondaryAnnotationServer(e.config),a.state={clients:Gt({baseUri:c,settings:e.config.servers,onError:a.handleDICOMwebError}),isLoading:!0,wasAuthSuccessful:!1},a}return(0,a.Z)(n,[{key:"addGcpSecondaryAnnotationServer",value:function(e){var t="gcp_secondary_annotation_server",n=new URLSearchParams(window.location.search).get("gcp");void 0===e.servers.find((function(e){return e.id===t}))&&"string"===typeof n&&e.servers.push({id:t,write:!0,url:n,storageClasses:[M.COMPREHENSIVE_SR,M.COMPREHENSIVE_3D_SR,M.SEGMENTATION,M.MICROSCOPY_BULK_SIMPLE_ANNOTATION,M.PARAMETRIC_MAP,M.ADVANCED_BLENDING_PRESENTATION_STATE,M.COLOR_SOFTCOPY_PRESENTATION_STATE,M.GRAYSCALE_SOFTCOPY_PRESENTATION_STATE,M.PSEUDOCOLOR_SOFTCOPY_PRESENTATION_STATE]})}},{key:"handleServerSelection",value:function(e){var t=e.url;console.info("select DICOMweb server: ",t);var n=new _t({baseUri:"",settings:[{id:"tmp",url:t,read:!0,write:!1}],onError:this.handleDICOMwebError});n.updateHeaders(this.state.clients.default.headers),this.setState((function(e){var t={};for(var i in e.clients)t[i]=n;return{clients:t}}))}},{key:"signIn",value:function(){var e=this;void 0!==this.auth?(console.info("try to sign in user"),this.auth.signIn({onSignIn:this.handleSignIn}).then((function(){console.info("sign-in was successful"),e.setState({isLoading:!1,wasAuthSuccessful:!0})})).catch((function(t){console.error(t),$.onError(X,new q(L,"Could not sign-in user.")),e.setState({isLoading:!1,redirectTo:void 0,wasAuthSuccessful:!1})}))):this.setState({isLoading:!1,redirectTo:void 0,wasAuthSuccessful:!0})}},{key:"componentDidMount",value:function(){null==window.localStorage.getItem("slim_path")&&(window.localStorage.setItem("slim_path",window.location.pathname),window.localStorage.setItem("slim_search",window.location.search)),this.signIn()}},{key:"render",value:function(){var e,t,n,i=this,a={name:this.props.name,version:this.props.version,homepage:this.props.homepage,uid:"1.2.826.0.1.3680043.9.7433.1.5",organization:this.props.config.organization},o=!(null!==(e=this.props.config.disableWorklist)&&void 0!==e&&e),r=null!==(t=this.props.config.enableServerSelection)&&void 0!==t&&t;n=o?(0,I.jsx)(Pt,{clients:this.state.clients}):(0,I.jsx)("div",{children:"Worklist has been disabled."});var s,l=!1;null!=this.props.config.oidc&&null!=this.props.config.oidc.endSessionEndpoint?(s=function(){null!=i.auth&&i.auth.signOut()},l=!0):(s=function(){},l=!1);var u={height:"100vh"},m={height:"100%"};return void 0!==this.state.redirectTo?(0,I.jsx)(d.VK,{basename:this.props.config.path,children:(0,I.jsx)(c.Fg,{to:this.state.redirectTo,replace:!0})}):this.state.isLoading?(0,I.jsx)(d.VK,{basename:this.props.config.path,children:(0,I.jsxs)(h.Z,{style:u,children:[(0,I.jsx)(xt,{app:a,user:this.state.user,showWorklistButton:!1,onServerSelection:this.handleServerSelection,showServerSelectionButton:!1}),(0,I.jsx)(h.Z.Content,{style:m,children:(0,I.jsx)(p.fCD,{})})]})}):this.state.wasAuthSuccessful?null!=this.state.error?(0,I.jsx)(Zt,{type:"error",message:this.state.error.message}):(0,I.jsx)(d.VK,{basename:this.props.config.path,children:(0,I.jsxs)(c.Z5,{children:[(0,I.jsx)(c.AW,{path:"/",element:(0,I.jsxs)(h.Z,{style:u,children:[(0,I.jsx)(xt,{app:a,user:this.state.user,showWorklistButton:!1,onServerSelection:this.handleServerSelection,onUserLogout:l?s:void 0,showServerSelectionButton:r}),(0,I.jsx)(h.Z.Content,{style:m,children:n})]})}),(0,I.jsx)(c.AW,{path:"/studies/:studyInstanceUID/*",element:(0,I.jsxs)(h.Z,{style:u,children:[(0,I.jsx)(xt,{app:a,user:this.state.user,showWorklistButton:o,onServerSelection:this.handleServerSelection,onUserLogout:l?s:void 0,showServerSelectionButton:r}),(0,I.jsx)(h.Z.Content,{style:m,children:(0,I.jsx)(Nt,{clients:this.state.clients,user:this.state.user,config:this.props.config,app:a})})]})}),(0,I.jsx)(c.AW,{path:"/logout",element:(0,I.jsxs)(h.Z,{style:u,children:[(0,I.jsx)(xt,{app:a,user:this.state.user,showWorklistButton:!1,onServerSelection:this.handleServerSelection,onUserLogout:l?s:void 0,showServerSelectionButton:r}),"Logged out"]})})]})}):(0,I.jsx)(Zt,{type:"error",message:"Sign-in failed."})}}]),n}(l.Component)}}]); -//# sourceMappingURL=565.0856c1ff.chunk.js.map \ No newline at end of file diff --git a/static/js/565.0856c1ff.chunk.js.map b/static/js/565.0856c1ff.chunk.js.map deleted file mode 100644 index fa7236ab..00000000 --- a/static/js/565.0856c1ff.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/565.0856c1ff.chunk.js","mappings":"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","sources":["components/Description.tsx","components/ClinicalTrial.tsx","utils/values.ts","components/Patient.tsx","components/Study.tsx","data/uids.tsx","utils/PubSub.js","utils/CustomError.js","services/NotificationMiddleware.js","components/SlideItem.tsx","components/SlideList.tsx","components/AnnotationItem.tsx","components/AnnotationList.tsx","components/AnnotationGroupItem.tsx","components/AnnotationGroupList.tsx","components/Button.tsx","components/Equipment.tsx","utils/sr.tsx","components/Report.tsx","components/Item.tsx","data/specimens.tsx","components/SpecimenItem.tsx","components/SpecimenList.tsx","components/OpticalPathItem.tsx","components/OpticalPathList.tsx","components/MappingItem.tsx","components/MappingList.tsx","components/SegmentItem.tsx","components/SegmentList.tsx","utils/router.tsx","components/SlideViewer.tsx","data/slides.tsx","components/CaseViewer.tsx","components/Header.tsx","components/InfoPage.tsx","components/Worklist.tsx","utils/url.tsx","auth/OidcManager.tsx","utils/xhrRetryHook.ts","DicomWebManager.ts","App.tsx"],"sourcesContent":["import React from 'react'\nimport { v4 as generateUUID } from 'uuid'\nimport { Card, Descriptions } from 'antd'\n\nexport interface Attribute {\n name: string\n value: any\n}\n\nexport interface AttributeGroup {\n name: string\n attributes: Attribute[]\n}\n\ninterface DescriptionProps {\n header?: string\n icon?: any\n attributes: Attribute[]\n selectable?: boolean\n hasLongValues?: boolean\n methods?: React.ReactNode[]\n children?: React.ReactNode\n}\n\n/**\n * React component for a description consisting of a header containing a\n * header and a body containing a list of name-value pairs.\n */\nclass Description extends React.Component {\n render (): React.ReactNode {\n let layout: 'horizontal' | 'vertical' = 'horizontal'\n let labelLineHeight = '14px'\n const contentLineHeight = '14px'\n if (this.props.hasLongValues !== undefined && this.props.hasLongValues) {\n layout = 'vertical'\n labelLineHeight = '20px'\n }\n const items = this.props.attributes.map((item: Attribute, index: number) => {\n const uid = generateUUID()\n return (\n \n {item.value}\n \n )\n })\n let icon = null\n if (this.props.icon !== undefined) {\n icon = \n }\n return (\n \n \n {items}\n \n {this.props.children}\n \n )\n }\n}\n\nexport default Description\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\n\nimport Description from './Description'\n\ninterface ClinicalTrialProps {\n metadata: dmv.metadata.SOPClass\n}\n\n/**\n * React component representing a DICOM ClinicalTrial Information Entity that displays\n * common study-level attributes of contained DICOM Slide Microscopy images.\n */\nclass ClinicalTrial extends React.Component {\n render (): React.ReactNode {\n const attributes = []\n if (this.props.metadata.ClinicalTrialSponsorName != null) {\n // Attributes of Clinical Trial Subject module\n attributes.push(\n ...[\n {\n name: 'Sponsor Name',\n value: this.props.metadata.ClinicalTrialSponsorName\n },\n {\n name: 'Protocol ID',\n value: this.props.metadata.ClinicalTrialProtocolID\n },\n {\n name: 'Protocol Name',\n value: this.props.metadata.ClinicalTrialProtocolName\n },\n {\n name: 'Site Name',\n value: this.props.metadata.ClinicalTrialSiteName\n }\n ]\n )\n }\n if (this.props.metadata.ClinicalTrialTimePointID != null) {\n // Attributes of Clinical Trial Study module\n attributes.push(\n {\n name: 'Time Point ID',\n value: this.props.metadata.ClinicalTrialTimePointID\n }\n )\n }\n // Attributes of Clinical Trial Subject module\n return \n }\n}\n\nexport default ClinicalTrial\n","import * as dmv from 'dicom-microscopy-viewer'\n\nfunction parseName (value: dmv.metadata.PersonName|null|undefined): string {\n if (typeof value === 'object' && value !== null && value !== undefined) {\n if (value.Alphabetic !== undefined) {\n return value.Alphabetic.split('^').join(' ')\n }\n return ''\n }\n return ''\n}\n\nfunction parseDate (value: string|null|undefined): string {\n if (value !== null && value !== undefined) {\n const year = value.substring(0, 4)\n const month = value.substring(4, 6)\n const day = value.substring(6, 8)\n return `${year}-${month}-${day}`\n }\n return ''\n}\n\nfunction parseTime (value: string|null|undefined): string {\n if (value !== null && value !== undefined) {\n const hours = value.substring(0, 2)\n const minutes = value.substring(2, 4)\n const seconds = value.substring(4, 6)\n return `${hours}:${minutes}:${seconds}`\n }\n return ''\n}\n\nfunction parseDateTime (value: string|null|undefined): string {\n if (value !== null && value !== undefined) {\n const year = value.substring(0, 4)\n const month = value.substring(4, 6)\n const day = value.substring(6, 8)\n const hours = value.substring(8, 10)\n const minutes = value.substring(10, 12)\n const seconds = value.substring(12, 14)\n return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`\n }\n return ''\n}\n\nfunction parseSex (value: string|null|undefined): string {\n const lut: { [key: string]: string } = {\n F: 'Female',\n M: 'Male',\n O: 'Other'\n }\n if (value !== null && value !== undefined) {\n return lut[value]\n }\n return ''\n}\n\nexport { parseDate, parseDateTime, parseName, parseSex, parseTime }\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\n\nimport Description from './Description'\nimport { parseName, parseSex, parseDate } from '../utils/values'\n\ninterface PatientProps {\n metadata: dmv.metadata.Study|dmv.metadata.SOPClass\n}\n\n/**\n * React component representing a DICOM Patient Information Entity that\n * displays common study-level, patient-related attributes of contained\n * DICOM Slide Microscopy images.\n */\nclass Patient extends React.Component {\n render (): React.ReactNode {\n const attributes = [\n {\n name: 'ID',\n value: this.props.metadata.PatientID\n },\n {\n name: 'Name',\n value: parseName(this.props.metadata.PatientName)\n },\n {\n name: 'Gender',\n value: parseSex(this.props.metadata.PatientSex)\n },\n {\n name: 'Birthdate',\n value: parseDate(this.props.metadata.PatientBirthDate)\n }\n ]\n return (\n \n )\n }\n}\n\nexport default Patient\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\n\nimport Description from './Description'\nimport { parseDate, parseTime } from '../utils/values'\n\ninterface StudyProps {\n metadata: dmv.metadata.Study|dmv.metadata.SOPClass\n}\n\n/**\n * React component representing a DICOM Study Information Entity that displays\n * common study-level attributes of contained DICOM Slide Microscopy images.\n */\nclass Study extends React.Component {\n render (): React.ReactNode {\n const attributes = [\n {\n name: 'Accession #',\n value: this.props.metadata.AccessionNumber\n },\n {\n name: 'ID',\n value: this.props.metadata.StudyID\n },\n {\n name: 'Date',\n value: parseDate(this.props.metadata.StudyDate)\n },\n {\n name: 'Time',\n value: parseTime(this.props.metadata.StudyTime)\n }\n ]\n return \n }\n}\n\nexport default Study\n","export enum StorageClasses {\n VL_WHOLE_SLIDE_MICROSCOPY_IMAGE = '1.2.840.10008.5.1.4.1.1.77.1.6',\n COMPREHENSIVE_SR = '1.2.840.10008.5.1.4.1.1.88.33',\n COMPREHENSIVE_3D_SR = '1.2.840.10008.5.1.4.1.1.88.34',\n SEGMENTATION = '1.2.840.10008.5.1.4.1.1.66.4',\n MICROSCOPY_BULK_SIMPLE_ANNOTATION = '1.2.840.10008.5.1.4.1.1.91.1',\n PARAMETRIC_MAP = '1.2.840.10008.5.1.4.1.1.30',\n ADVANCED_BLENDING_PRESENTATION_STATE = '1.2.840.10008.5.1.4.1.1.11.8',\n COLOR_SOFTCOPY_PRESENTATION_STATE = '1.2.840.10008.5.1.4.1.1.11.2',\n GRAYSCALE_SOFTCOPY_PRESENTATION_STATE = '1.2.840.10008.5.1.4.1.1.11.1',\n PSEUDOCOLOR_SOFTCOPY_PRESENTATION_STATE = '1.2.840.10008.5.1.4.1.1.11.3'\n}\n","// Use symbols to prevent exposing private attributes\nconst _subscriptions = Symbol('subscriptions')\nconst _lastSubscriptionId = Symbol('lastSubscriptionId')\n\n/**\n * Class to enable implementation of publish/subscribe pattern\n * @class\n * @classdesc Enables publishing/subscribing\n */\nexport default class PubSub {\n constructor () {\n this[_subscriptions] = {}\n this[_lastSubscriptionId] = 0\n }\n\n /**\n * Adds a subscription callback to the provided event name\n * @param {string} eventName Event name that will trigger the callback\n * @param {Function} callback Function to be executed when event is published\n * @returns {void}\n */\n subscribe (eventName, callback) {\n if (eventName === undefined) {\n throw new Error('Trying to subscribe to an inexistent event')\n }\n\n if (typeof callback !== 'function') {\n throw new Error('The provided callback must be a function')\n }\n\n if (!this[_subscriptions].hasOwnProperty(eventName)) {\n this[_subscriptions][eventName] = {}\n }\n\n const subscriptionId = `sub${this[_lastSubscriptionId]++}`\n this[_subscriptions][eventName][subscriptionId] = callback\n }\n\n /**\n * Removes a subscription callback for the provided event name\n * @param {string} eventName Event name for the registerd callback\n * @param {Function} [callback] Function to have its subscription removed\n * @returns {void}\n */\n unsubscribe (eventName, callback) {\n const callbacks = this[_subscriptions][eventName] || {}\n for (const subscriptionId in callbacks) {\n if (!callback) {\n delete callbacks[subscriptionId]\n } else if (callbacks[subscriptionId] === callback) {\n delete callbacks[subscriptionId]\n }\n }\n }\n\n /**\n * Trigger all registered subscription callbacks for a specific event name\n * @param {String} eventName Event name to trigger subscriptions from\n * @param {any} [payload] Payload that will be passed to the callback fuction\n * @returns {void}\n */\n publish (eventName, ...payload) {\n if (eventName === undefined) {\n throw new Error('Trying to publish an inexistent event')\n }\n\n const callbacks = this[_subscriptions][eventName] || {}\n for (const subscriptionId in callbacks) {\n callbacks[subscriptionId](...payload)\n }\n }\n\n /**\n * Cleares all subscriptions for current instance\n * @returns {void}\n */\n unsubscribeFromAll () {\n for (const eventName in this[_subscriptions]) {\n const callbacks = this[_subscriptions][eventName]\n for (const subscriptionId in callbacks) {\n delete callbacks[subscriptionId]\n }\n }\n }\n}\n","const errorTypes = {\n AUTHENTICATION: 'Authentication',\n COMMUNICATION: 'Communication',\n ENCODINGANDDECODING: 'EncodingDecoding',\n VISUALIZATION: 'Visualization'\n}\n\nclass CustomError extends Error {\n constructor (type, message) {\n super()\n this.message = message\n this.stack = new Error().stack\n this.type = type\n }\n}\n\nexport { errorTypes, CustomError }\n","import PubSub from '../utils/PubSub'\nimport { notification } from 'antd'\nimport { CustomError, errorTypes } from '../utils/CustomError'\n\nexport const NotificationMiddlewareEvents = {\n OnError: 'onError',\n OnWarning: 'onWarning'\n}\n\nexport const NotificationMiddlewareContext = {\n DICOMWEB: 'dicomweb-client',\n DMV: 'dicom-microscopy-viewer',\n DCMJS: 'dcmjs',\n SLIM: 'slim',\n AUTH: 'authentication'\n}\n\nconst NotificationType = {\n TOAST: 'toast',\n CONSOLE: 'console'\n}\n\n/* Sources of Error:\n 1. 'dicomweb-client': Error while requesting/fetching data, tagged as 'Communication'\n 2. 'slim' and 'dicom-microscopy-viewer' library: Error related to dicom data encoding/decoding,\n could directly/indirectly impact image-related visualization, tagged as 'Visualization' or\n 'Encoding/Decoding' accordingly\n 3. 'dcmjs' library: Data parsing error, tagged as 'DICOMError'\n 4. 'authentication': Error during user authentication, tagged as 'Authentication'\n */\nconst NotificationSourceDefinition = {\n sources: [\n {\n category: errorTypes.AUTHENTICATION,\n notificationType: NotificationType.TOAST\n },\n {\n category: errorTypes.COMMUNICATION,\n notificationType: NotificationType.TOAST\n },\n {\n category: errorTypes.VISUALIZATION,\n notificationType: NotificationType.TOAST\n },\n {\n category: errorTypes.ENCODINGANDDECODING,\n notificationType: NotificationType.CONSOLE\n },\n {\n category: 'Warning',\n notificationType: NotificationType.TOAST\n }\n ]\n}\n\nclass NotificationMiddleware extends PubSub {\n constructor() {\n super()\n\n const outerContext = (args) => {\n this.publish(NotificationMiddlewareEvents.OnWarning, Array.from(args).join(' '))\n }\n\n (function () {\n var warn = console.warn;\n console.warn = function () {\n if (!JSON.stringify(arguments).includes('request')) {\n outerContext(arguments)\n }\n warn.apply(this, Array.prototype.slice.call(arguments))\n }\n }())\n }\n\n /**\n * Error handling middleware function\n *\n * @param source - source of error - dicomweb-client, dmv, dcmjs or slim itself\n * @param error - error object\n */\n onError (source, error) {\n const errorCategory = error.type\n const sourceConfig = NotificationSourceDefinition.sources.find(\n s => s.category === errorCategory\n )\n const { notificationType } = sourceConfig\n\n this.publish(NotificationMiddlewareEvents.OnError, {\n source,\n error\n })\n\n let notificationMsg\n if (error instanceof CustomError) {\n notificationMsg = error.message\n } else {\n notificationMsg = String(error)\n }\n\n switch (notificationType) {\n case NotificationType.TOAST:\n console.error(`A ${errorCategory} error occurred: `, error)\n return notification.error({\n message: `${errorCategory} error`,\n description: notificationMsg,\n duration: 3\n })\n\n case NotificationType.CONSOLE:\n console.error(`A ${errorCategory} error occurred: `, error)\n break\n\n default:\n }\n }\n}\n\nexport default new NotificationMiddleware()\n","import React from 'react'\nimport { FaSpinner } from 'react-icons/fa'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport { Menu } from 'antd'\n\nimport DicomWebManager from '../DicomWebManager'\nimport Description from './Description'\nimport { Slide } from '../data/slides'\nimport { StorageClasses } from '../data/uids'\nimport NotificationMiddleware, {\n NotificationMiddlewareContext\n} from '../services/NotificationMiddleware'\nimport { CustomError } from '../utils/CustomError'\n\ninterface SlideItemProps {\n clients: { [key: string]: DicomWebManager }\n slide: Slide\n}\n\ninterface SlideItemState {\n isLoading: boolean\n}\n\n/**\n * React component representing a DICOM Series Information Entity that displays\n * common series-level attributes of contained DICOM Slide Microscopy images\n * as well as the OVERVIEW image (if available).\n * When selected a Slide Viewer instance is created for the display of the\n * contained images.\n */\nclass SlideItem extends React.Component {\n state = { isLoading: false }\n\n private readonly overviewViewportRef = React.createRef()\n\n private overviewViewer?: dmv.viewer.OverviewImageViewer\n\n constructor (props: SlideItemProps) {\n super(props)\n this.overviewViewer = undefined\n }\n\n componentDidMount (): void {\n this.setState({ isLoading: true })\n if (this.props.slide.overviewImages.length > 0) {\n const metadata = this.props.slide.overviewImages[0]\n if (this.overviewViewportRef.current !== null) {\n this.overviewViewportRef.current.innerHTML = ''\n console.info(\n 'instantiate viewer for OVERVIEW image of slide ' +\n `\"${metadata.ContainerIdentifier}\"`\n )\n this.overviewViewer = new dmv.viewer.OverviewImageViewer({\n client: this.props.clients[\n StorageClasses.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE\n ],\n metadata: metadata,\n resizeFactor: 1,\n errorInterceptor: (error: CustomError) =>\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.DMV,\n error\n )\n })\n this.overviewViewer.render({\n container: this.overviewViewportRef.current\n })\n }\n }\n\n this.setState({ isLoading: false })\n }\n\n render (): React.ReactNode {\n if (this.overviewViewer !== undefined) {\n this.overviewViewer.resize()\n }\n const attributes = []\n const description = this.props.slide.description\n if (description != null && description !== '') {\n attributes.push({\n name: 'Description',\n value: description\n })\n }\n if (this.state.isLoading) {\n return ()\n }\n\n /* Properties need to be propagated down to Menu.Item:\n * https://github.com/react-component/menu/issues/142\n */\n return (\n \n \n
\n \n \n )\n }\n}\n\nexport default SlideItem\n","import React from 'react'\nimport { Menu } from 'antd'\n\nimport DicomWebManager from '../DicomWebManager'\nimport SlideItem from './SlideItem'\nimport { Slide } from '../data/slides'\n\ninterface SlideListProps {\n metadata: Slide[]\n clients: { [key: string]: DicomWebManager }\n selectedSeriesInstanceUID: string\n onSeriesSelection: (\n { seriesInstanceUID }: { seriesInstanceUID: string }\n ) => void\n}\n\ninterface SlideListState {\n selectedSeriesInstanceUID: string\n}\n\n/**\n * React component representing a list of DICOM Series Information Entities.\n */\nclass SlideList extends React.Component {\n state = {\n selectedSeriesInstanceUID: this.props.selectedSeriesInstanceUID\n }\n\n componentDidMount (): void {\n this.props.onSeriesSelection({\n seriesInstanceUID: this.state.selectedSeriesInstanceUID\n })\n }\n\n render (): React.ReactNode {\n const slideList = this.props.metadata\n const slideItemList = []\n for (let i = 0; i < slideList.length; ++i) {\n const slide = slideList[i]\n const slideItem = (\n \n )\n\n slideItemList.push(slideItem)\n }\n\n const handleMenuItemSelection = ({ key, keyPath, domEvent, selectedKeys }: {\n key: React.ReactText\n keyPath: React.ReactText[]\n domEvent: React.MouseEvent | React.KeyboardEvent\n selectedKeys?: React.ReactText[]\n }): void => {\n console.info(`select slide \"${key}\"`)\n this.setState({ selectedSeriesInstanceUID: key.toString() })\n this.props.onSeriesSelection({ seriesInstanceUID: key.toString() })\n }\n\n let selectedKeys\n if (this.state.selectedSeriesInstanceUID !== undefined &&\n this.state.selectedSeriesInstanceUID !== null) {\n selectedKeys = [this.state.selectedSeriesInstanceUID]\n }\n\n return (\n \n {slideItemList}\n \n )\n }\n}\n\nexport default SlideList\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport * as dcmjs from 'dcmjs'\nimport { Menu, Space, Switch } from 'antd'\nimport { FaEye, FaEyeSlash } from 'react-icons/fa'\n\nimport Description from './Description'\n\ninterface AnnotationItemProps {\n roi: dmv.roi.ROI\n index: number\n isVisible: boolean\n onVisibilityChange: ({ roiUID, isVisible }: {\n roiUID: string\n isVisible: boolean\n }) => void\n}\n\n/**\n * React component representing a Region of Interest (ROI) annotation.\n */\nclass AnnotationItem extends React.Component {\n constructor (props: AnnotationItemProps) {\n super(props)\n this.handleVisibilityChange = this.handleVisibilityChange.bind(this)\n }\n\n handleVisibilityChange (\n checked: boolean,\n event: React.MouseEvent\n ): void {\n this.props.onVisibilityChange({\n roiUID: this.props.roi.uid,\n isVisible: checked\n })\n }\n\n render (): React.ReactNode {\n const identifier = `ROI ${this.props.index + 1}`\n const attributes: Array<{ name: string, value: string }> = []\n /**\n * This hack is required for Menu.Item to work properly:\n * https://github.com/react-component/menu/issues/142\n */\n const { isVisible, onVisibilityChange, ...otherProps } = this.props\n this.props.roi.evaluations.forEach((\n item: (\n dcmjs.sr.valueTypes.TextContentItem |\n dcmjs.sr.valueTypes.CodeContentItem\n )\n ) => {\n const nameValue = item.ConceptNameCodeSequence[0].CodeValue\n const nameMeaning = item.ConceptNameCodeSequence[0].CodeMeaning\n const name = `${nameMeaning}`\n if (item.ValueType === dcmjs.sr.valueTypes.ValueTypes.CODE) {\n const codeContentItem = item as dcmjs.sr.valueTypes.CodeContentItem\n const valueMeaning = codeContentItem.ConceptCodeSequence[0].CodeMeaning\n // For consistency with Segment and Annotation Group\n if (nameValue === '276214006') {\n attributes.push({\n name: 'Property category',\n value: `${valueMeaning}`\n })\n } else if (nameValue === '121071') {\n attributes.push({\n name: 'Property type',\n value: `${valueMeaning}`\n })\n } else if (nameValue === '111001') {\n attributes.push({\n name: 'Algorithm Name',\n value: `${valueMeaning}`\n })\n } else {\n attributes.push({\n name: name,\n value: `${valueMeaning}`\n })\n }\n } else if (item.ValueType === dcmjs.sr.valueTypes.ValueTypes.TEXT) {\n const textContentItem = item as dcmjs.sr.valueTypes.TextContentItem\n attributes.push({\n name: name,\n value: textContentItem.TextValue\n })\n }\n })\n this.props.roi.measurements.forEach(item => {\n const nameMeaning = item.ConceptNameCodeSequence[0].CodeMeaning\n const name = `${nameMeaning}`\n const seq = item.MeasuredValueSequence[0]\n const value = seq.NumericValue.toPrecision(6)\n const unit = seq.MeasurementUnitsCodeSequence[0].CodeValue\n attributes.push({\n name: name,\n value: `${value} ${unit}`\n })\n })\n return (\n \n
\n }\n unCheckedChildren={}\n />\n
\n \n \n \n
\n )\n }\n}\n\nexport default AnnotationItem\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport { Menu, Switch } from 'antd'\nimport { FaEye, FaEyeSlash } from 'react-icons/fa'\n\nimport AnnotationItem from './AnnotationItem'\n\ninterface AnnotationListProps {\n rois: dmv.roi.ROI[]\n selectedRoiUIDs: Set\n visibleRoiUIDs: Set\n onVisibilityChange: ({ roiUID, isVisible }: {\n roiUID: string\n isVisible: boolean\n }) => void\n onSelection: ({ roiUID }: { roiUID: string }) => void\n}\n\n/**\n * React component representing a list of Region of Interest (ROI)\n * annotations.\n */\nclass AnnotationList extends React.Component {\n constructor (props: AnnotationListProps) {\n super(props)\n this.handleMenuItemSelection = this.handleMenuItemSelection.bind(this)\n this.handleVisibilityChange = this.handleVisibilityChange.bind(this)\n }\n\n handleVisibilityChange (\n checked: boolean,\n event: React.MouseEvent\n ): void {\n if (checked) {\n this.props.rois.forEach(roi => {\n this.props.onVisibilityChange({ roiUID: roi.uid, isVisible: checked })\n })\n } else {\n this.props.visibleRoiUIDs.forEach(roiUID => {\n this.props.onVisibilityChange({ roiUID, isVisible: checked })\n })\n }\n }\n\n handleMenuItemSelection (object: any): void {\n this.props.onSelection({ roiUID: object.key })\n }\n\n render (): React.ReactNode {\n const items = this.props.rois.map((roi, index) => (\n \n ))\n\n return (\n <>\n
\n 0}\n checkedChildren={}\n unCheckedChildren={}\n />\n
\n \n {items}\n \n \n )\n }\n}\n\nexport default AnnotationList\n","import React from 'react'\nimport {\n Badge,\n Button,\n Col,\n Divider,\n InputNumber,\n Menu,\n Popover,\n Row,\n Select,\n Slider,\n Space,\n Switch\n} from 'antd'\nimport { SettingOutlined } from '@ant-design/icons'\nimport { FaEye, FaEyeSlash } from 'react-icons/fa'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport * as dcmjs from 'dcmjs'\n\nimport Description from './Description'\n\ninterface AnnotationGroupItemProps {\n annotationGroup: dmv.annotation.AnnotationGroup\n isVisible: boolean\n metadata: dmv.metadata.MicroscopyBulkSimpleAnnotations\n defaultStyle: {\n opacity: number\n color: number[]\n }\n onVisibilityChange: ({ annotationGroupUID, isVisible }: {\n annotationGroupUID: string\n isVisible: boolean\n }) => void\n onStyleChange: ({ annotationGroupUID, styleOptions }: {\n annotationGroupUID: string\n styleOptions: {\n opacity?: number\n color?: number[]\n limitValues?: number[]\n measurement?: dcmjs.sr.coding.CodedConcept\n }\n }) => void\n}\n\ninterface AnnotationGroupItemState {\n isVisible: boolean\n currentStyle: {\n opacity: number\n color?: number[]\n limitValues?: number[]\n measurement?: dcmjs.sr.coding.CodedConcept\n }\n}\n\n/**\n * React component representing an Annotation Group.\n */\nclass AnnotationGroupItem extends React.Component {\n constructor (props: AnnotationGroupItemProps) {\n super(props)\n this.handleVisibilityChange = this.handleVisibilityChange.bind(this)\n this.handleMeasurementSelection = this.handleMeasurementSelection.bind(this)\n this.handleOpacityChange = this.handleOpacityChange.bind(this)\n this.handleColorRChange = this.handleColorRChange.bind(this)\n this.handleColorGChange = this.handleColorGChange.bind(this)\n this.handleColorBChange = this.handleColorBChange.bind(this)\n this.getCurrentColor = this.getCurrentColor.bind(this)\n this.state = {\n isVisible: this.props.isVisible,\n currentStyle: {\n opacity: this.props.defaultStyle.opacity,\n color: this.props.defaultStyle.color\n }\n }\n }\n\n handleVisibilityChange (\n checked: boolean,\n event: React.MouseEvent\n ): void {\n this.props.onVisibilityChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n isVisible: checked\n })\n this.setState({ isVisible: checked })\n }\n\n handleOpacityChange (value: number | null): void {\n if (value != null) {\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: {\n opacity: value\n }\n })\n this.setState({\n currentStyle: {\n opacity: value,\n color: this.state.currentStyle.color,\n limitValues: this.state.currentStyle.limitValues\n }\n })\n }\n }\n\n handleColorRChange (\n value: number | number[] | null\n ): void {\n if (value != null && this.state.currentStyle.color !== undefined) {\n const color = [\n Array.isArray(value) ? value[0] : value,\n this.state.currentStyle.color[1],\n this.state.currentStyle.color[2]\n ]\n this.setState(state => ({\n currentStyle: {\n color: color,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }))\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: { color: color }\n })\n }\n }\n\n handleColorGChange (\n value: number | number[] | null\n ): void {\n if (value != null && this.state.currentStyle.color !== undefined) {\n const color = [\n this.state.currentStyle.color[0],\n Array.isArray(value) ? value[0] : value,\n this.state.currentStyle.color[2]\n ]\n this.setState(state => ({\n currentStyle: {\n color: color,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }))\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: { color: color }\n })\n }\n }\n\n handleColorBChange (\n value: number | number[] | null\n ): void {\n if (value != null && this.state.currentStyle.color !== undefined) {\n const color = [\n this.state.currentStyle.color[0],\n this.state.currentStyle.color[1],\n Array.isArray(value) ? value[0] : value\n ]\n this.setState(state => ({\n currentStyle: {\n color: color,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }))\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: { color: color }\n })\n }\n }\n\n getCurrentColor (): string {\n const rgb2hex = (values: number[]): string => {\n const r = values[0]\n const g = values[1]\n const b = values[2]\n return '#' + (0x1000000 + (r << 16) + (g << 8) + b).toString(16).slice(1)\n }\n\n if (this.state.currentStyle.color != null) {\n return rgb2hex(this.state.currentStyle.color)\n } else {\n return 'white'\n }\n }\n\n handleLowerLimitChange (\n value: number | null\n ): void {\n if (value != null && this.state.currentStyle.limitValues !== undefined) {\n this.setState(state => {\n if (state.currentStyle.limitValues !== undefined) {\n return {\n currentStyle: {\n color: state.currentStyle.color,\n opacity: state.currentStyle.opacity,\n limitValues: [value, state.currentStyle.limitValues[1]]\n }\n }\n } else {\n return {\n currentStyle: {\n color: state.currentStyle.color,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }\n }\n })\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: {\n limitValues: [\n value,\n this.state.currentStyle.limitValues[1]\n ]\n }\n })\n }\n }\n\n handleUpperLimitChange (\n value: number | null\n ): void {\n if (value != null && this.state.currentStyle.limitValues !== undefined) {\n this.setState(state => {\n if (state.currentStyle.limitValues !== undefined) {\n return {\n currentStyle: {\n color: state.currentStyle.color,\n opacity: state.currentStyle.opacity,\n limitValues: [state.currentStyle.limitValues[0], value]\n }\n }\n } else {\n return {\n currentStyle: {\n color: state.currentStyle.color,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }\n }\n })\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: {\n limitValues: [\n this.state.currentStyle.limitValues[0],\n value\n ]\n }\n })\n }\n }\n\n handleLimitChange (\n values: number[]\n ): void {\n this.setState(state => ({\n currentStyle: {\n color: state.currentStyle.color,\n opacity: state.currentStyle.opacity,\n limitValues: values\n }\n }))\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: { limitValues: values }\n })\n }\n\n handleMeasurementSelection (value?: string, option?: any): void {\n if (value != null && option.children != null) {\n const codeComponents = value.split('-')\n const measurement = new dcmjs.sr.coding.CodedConcept({\n value: codeComponents[1],\n schemeDesignator: codeComponents[0],\n meaning: option.children\n })\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: { measurement }\n })\n this.setState(state => ({\n currentStyle: {\n opacity: state.currentStyle.opacity,\n measurement\n }\n }))\n } else {\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: {\n color: this.props.defaultStyle.color\n }\n })\n this.setState(state => ({\n currentStyle: {\n opacity: state.currentStyle.opacity,\n color: this.props.defaultStyle.color,\n limitValues: undefined\n }\n }))\n }\n }\n\n render (): React.ReactNode {\n const index = this.props.metadata.AnnotationGroupSequence.findIndex(\n item => (item.AnnotationGroupUID === this.props.annotationGroup.uid)\n )\n const item = this.props.metadata.AnnotationGroupSequence[index]\n const attributes: Array<{ name: string, value: string }> = [\n {\n name: 'Property type',\n value: this.props.annotationGroup.propertyType.CodeMeaning\n },\n {\n name: 'Property category',\n value: this.props.annotationGroup.propertyCategory.CodeMeaning\n },\n // {\n // name: 'Algorithm Name',\n // value: this.props.annotationGroup.algorithmName\n // },\n {\n name: 'Graphic type',\n value: item.GraphicType\n },\n {\n name: 'Annotation coordinate type',\n value: this.props.metadata.AnnotationCoordinateType\n }\n ]\n\n const measurementsSequence = item.MeasurementsSequence ?? []\n const measurementOptions = measurementsSequence.map((measurementItem, i) => {\n const name = measurementItem.ConceptNameCodeSequence[0]\n return (\n \n {name.CodeMeaning}\n \n )\n })\n measurementOptions.push(\n \n {}\n \n )\n\n let colorSettings\n if (this.state.currentStyle.color != null) {\n colorSettings = (\n <>\n \n Color\n \n \n \n Red\n \n \n \n \n \n \n \n \n\n \n \n Green\n \n \n \n \n \n \n \n \n\n \n \n Blue\n \n \n \n \n \n \n \n \n \n \n )\n }\n\n let windowSettings\n let explorationSettings\n if (measurementsSequence.length > 0) {\n if (this.state.currentStyle.limitValues != null) {\n // TODO: need to get default min/max values from viewer first\n const minValue = 0\n const maxValue = 1000\n windowSettings = (\n <>\n \n Values of interest\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n explorationSettings = (\n <>\n \n Exploration\n \n \n \n Measurement\n \n \n \n {measurementOptions}\n \n \n \n \n )\n }\n\n const settings = (\n
\n {colorSettings}\n {windowSettings}\n \n \n Opacity\n \n \n \n \n \n \n \n \n {explorationSettings}\n
\n )\n\n const color = this.getCurrentColor()\n const isBadgeVisible = (\n this.state.isVisible && this.state.currentStyle.measurement == null\n )\n const {\n annotationGroup,\n defaultStyle,\n isVisible,\n metadata,\n onVisibilityChange,\n onStyleChange,\n ...otherProps\n } = this.props\n return (\n \n \n
\n \n }\n unCheckedChildren={}\n />\n \n }\n />\n \n \n
\n \n \n \n
\n \n )\n }\n}\n\nexport default AnnotationGroupItem\n","import React from 'react'\nimport { Menu } from 'antd'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport * as dcmjs from 'dcmjs'\n\nimport AnnotationGroupItem from './AnnotationGroupItem'\n\ninterface AnnotationGroupListProps {\n annotationGroups: dmv.annotation.AnnotationGroup[]\n visibleAnnotationGroupUIDs: Set\n metadata: {\n [annotationGroupUID: string]: dmv.metadata.MicroscopyBulkSimpleAnnotations\n }\n defaultAnnotationGroupStyles: {\n [annotationGroupUID: string]: {\n opacity: number\n color: number[]\n }\n }\n onAnnotationGroupVisibilityChange: ({ annotationGroupUID, isVisible }: {\n annotationGroupUID: string\n isVisible: boolean\n }) => void\n onAnnotationGroupStyleChange: ({ annotationGroupUID, styleOptions }: {\n annotationGroupUID: string\n styleOptions: {\n opacity?: number\n color?: number[]\n measurement?: dcmjs.sr.coding.CodedConcept\n }\n }) => void\n}\n\n/**\n * React component representing a list of Annotation Groups.\n */\nclass AnnotationGroupList extends React.Component {\n render (): React.ReactNode {\n const items = this.props.annotationGroups.map((annotationGroup, index) => {\n const uid = annotationGroup.uid\n return (\n \n )\n })\n\n return (\n \n {items}\n \n )\n }\n}\n\nexport default AnnotationGroupList\n","import React from 'react'\nimport { Button as Btn, Divider, Tooltip } from 'antd'\n\ninterface ButtonProps {\n icon: any\n tooltip?: string\n label?: string\n onClick?: (options: any) => void\n isSelected?: boolean\n}\n\n/**\n * React component for a button.\n */\nclass Button extends React.Component {\n constructor (props: ButtonProps) {\n super(props)\n this.handleClick = this.handleClick.bind(this)\n }\n\n handleClick (event: React.SyntheticEvent): void {\n if (this.props.onClick !== undefined) {\n this.props.onClick(event)\n }\n }\n\n render (): React.ReactNode {\n const Icon = this.props.icon\n if (Icon === undefined) {\n return null\n }\n\n let text\n if (this.props.label != null) {\n text = (\n <>\n \n {this.props.label}\n \n )\n }\n\n let button\n if (this.props.isSelected ?? false) {\n button = (\n }\n type='primary'\n style={{ lineHeight: '1.0' }}\n >\n {text}\n \n )\n } else {\n button = (\n }\n type='default'\n style={{ lineHeight: '1.0' }}\n >\n {text}\n \n )\n }\n\n if (this.props.tooltip !== undefined) {\n return (\n \n {button}\n \n )\n } else {\n return button\n }\n }\n}\n\nexport default Button\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\n\nimport Description from './Description'\n\ninterface EquipmentProps {\n metadata?: dmv.metadata.VLWholeSlideMicroscopyImage\n}\n\n/**\n * React component representing a list of DICOM Equipment Entities.\n */\nclass Equipment extends React.Component {\n render (): React.ReactNode {\n if (this.props.metadata === undefined) {\n return null\n }\n const attributes = [\n {\n name: 'Manufacturer',\n value: this.props.metadata.Manufacturer\n },\n {\n name: 'Model Name',\n value: this.props.metadata.ManufacturerModelName\n },\n {\n name: 'Device Serial Number',\n value: this.props.metadata.DeviceSerialNumber\n },\n {\n name: 'Software Versions',\n value: this.props.metadata.SoftwareVersions\n }\n ]\n if (this.props.metadata.InstitutionName != null) {\n attributes.push({\n name: 'Institution Name',\n value: this.props.metadata.InstitutionName\n })\n }\n return \n }\n}\n\nexport default Equipment\n","import * as dcmjs from 'dcmjs'\n\n/**\n * Check whether a DICOM SR content item has a given name.\n *\n * @param item - Content item\n * @param name - Coded name that should be compared\n * @returns Whether the content item has the given name\n */\nconst hasName = (\n item: dcmjs.sr.valueTypes.ContentItem,\n name: dcmjs.sr.coding.CodedConcept\n): boolean => {\n const concept = item.ConceptNameCodeSequence[0]\n return (\n concept.CodeValue === name.CodeValue &&\n concept.CodingSchemeDesignator === name.CodingSchemeDesignator\n )\n}\n\n/**\n * Check whether a DICOM SR content item has a given value type.\n *\n * @param item - Content item\n * @param valueType - Value Type\n * @returns Whether the content item has the given value type\n */\nconst hasValueType = (\n item: dcmjs.sr.valueTypes.ContentItem,\n valueType: dcmjs.sr.valueTypes.ValueTypes\n): boolean => {\n console.log(item.ValueType, valueType)\n return item.ValueType === valueType\n}\n\n/**\n * Find content items in a DICOM SR document given their name.\n *\n * Only finds content items at the root level, but not any nested content items.\n *\n * @param content - Document content, i.e., sequence of content items\n * @param name - Coded name that should be compared\n * @returns Matched content items\n */\nexport const findContentItemsByName = (\n { content, name }: {\n content: dcmjs.sr.valueTypes.ContentItem[]\n name: dcmjs.sr.coding.CodedConcept\n }\n): dcmjs.sr.valueTypes.ContentItem[] => {\n const items: dcmjs.sr.valueTypes.ContentItem[] = []\n content.forEach(i => {\n if (hasName(i, name)) {\n items.push(i)\n }\n })\n return items\n}\n\n/**\n * Find content items in a DICOM SR document given their value type.\n *\n * Only finds content items at the root level, but not any nested content items.\n *\n * @param content - Document content, i.e., sequence of content items\n * @param valueType - Value Type\n * @returns Matched content items\n */\nexport const findContentItemsByValueType = (\n { content, valueType }: {\n content: dcmjs.sr.valueTypes.ContentItem[]\n valueType: dcmjs.sr.valueTypes.ValueTypes\n }\n): dcmjs.sr.valueTypes.ContentItem[] => {\n const items: dcmjs.sr.valueTypes.ContentItem[] = []\n content.forEach(i => {\n if (hasValueType(i, valueType)) {\n items.push(i)\n }\n })\n return items\n}\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport * as dcmjs from 'dcmjs'\nimport { Divider } from 'antd'\nimport { v4 as generateUUID } from 'uuid'\n\nimport Description from './Description'\nimport Patient from './Patient'\nimport Study from './Study'\nimport { findContentItemsByName } from '../utils/sr'\nimport { CustomError, errorTypes } from '../utils/CustomError'\nimport NotificationMiddleware, {\n NotificationMiddlewareContext\n} from '../services/NotificationMiddleware'\n\nexport const hasValueType = (\n item: dcmjs.sr.valueTypes.ContentItem,\n valueType: string\n): boolean => {\n return item.ValueType === valueType\n}\n\nconst findMeasurementItems = (\n { content }: { content: dcmjs.sr.valueTypes.ContentItem[] }\n): dcmjs.sr.valueTypes.NumContentItem[] => {\n const items: dcmjs.sr.valueTypes.NumContentItem[] = []\n content.forEach(i => {\n if (hasValueType(i, dcmjs.sr.valueTypes.ValueTypes.NUM)) {\n const measurement = i as dcmjs.sr.valueTypes.NumContentItem\n items.push(measurement)\n }\n })\n return items\n}\n\nconst findEvaluationItems = (\n { content }: { content: dcmjs.sr.valueTypes.ContentItem[] }\n): dcmjs.sr.valueTypes.CodeContentItem[] => {\n const items: dcmjs.sr.valueTypes.CodeContentItem[] = []\n content.forEach(i => {\n if (hasValueType(i, dcmjs.sr.valueTypes.ValueTypes.CODE)) {\n const evaluation = i as dcmjs.sr.valueTypes.CodeContentItem\n items.push(evaluation)\n }\n })\n return items\n}\n\nconst getROIs = (report: dmv.metadata.Comprehensive3DSR): dmv.roi.ROI[] => {\n // TID 1500 Measurement Report\n const matches = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '126010',\n schemeDesignator: 'DCM',\n meaning: 'Imaging Measurements'\n })\n })\n if (matches.length !== 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Content item \"Imaging Measurements\" not found.' +\n 'Content of Comprehensive 3D SR document is not structured based on ' +\n 'TID 1500 \"Measurement Report\".'\n )\n )\n }\n const measurementsItem = matches[0] as dcmjs.sr.valueTypes.ContainerContentItem\n // TID 1410 Planar ROI Measurements and Qualitative Evaluations\n const measurementGroupItems = findContentItemsByName({\n content: measurementsItem.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '125007',\n schemeDesignator: 'DCM',\n meaning: 'Measurement Group'\n })\n })\n\n const rois: dmv.roi.ROI[] = []\n measurementGroupItems.forEach((item) => {\n const evaluations = []\n let observerType: string\n const group = item as dcmjs.sr.valueTypes.ContainerContentItem\n let items = findContentItemsByName({\n content: group.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '112040',\n schemeDesignator: 'DCM',\n meaning: 'Tracking Unique Identifier'\n })\n })\n if (items.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Content item \"Tracking Unique Identifier\" not found. ' +\n 'Content of Comprehensive 3D SR document is not structured ' +\n 'based on TID 1500 \"Measurement Report\" -> ' +\n 'TID 1410 \"Planar ROI Measurements and Qualitative Evaluations\".'\n )\n )\n }\n const trackingUIDItem = items[0] as dcmjs.sr.valueTypes.UIDRefContentItem\n\n items = findContentItemsByName({\n content: group.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121071',\n schemeDesignator: 'DCM',\n meaning: 'Finding'\n })\n })\n if (items.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Content item \"Finding\" not found. ' +\n 'Content of Comprehensive 3D SR document is not structured ' +\n 'based on TID 1500 \"Measurement Report\" -> ' +\n 'TID 1410 \"Planar ROI Measurements and Qualitative Evaluations\".'\n )\n )\n }\n\n items = findContentItemsByName({\n content: group.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '111001',\n schemeDesignator: 'DCM',\n meaning: 'Algorithm Name'\n })\n })\n if (items.length !== 0) {\n const algorithmNameItem = items[0] as dcmjs.sr.valueTypes.CodeContentItem\n evaluations.push(algorithmNameItem)\n observerType = 'Device'\n } else {\n observerType = 'Person'\n }\n\n items = findContentItemsByName({\n content: group.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '111003',\n schemeDesignator: 'DCM',\n meaning: 'Algorithm Version'\n })\n })\n if (items.length !== 0) {\n const algorithmVersionItem = items[0] as dcmjs.sr.valueTypes.CodeContentItem\n evaluations.push(algorithmVersionItem)\n }\n\n items = findContentItemsByName({\n content: group.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '111030',\n schemeDesignator: 'DCM',\n meaning: 'Image Region'\n })\n })\n if (items.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Content item \"Image Region\" not found. ' +\n 'Content of Comprehensive 3D SR document is not structured ' +\n 'based on TID 1500 \"Measurement Report\" -> ' +\n 'TID 1410 \"Planar ROI Measurements and Qualitative Evaluations\".'\n )\n )\n }\n const regionItem = items[0] as dcmjs.sr.valueTypes.Scoord3DContentItem\n let scoord3d: any\n if (regionItem.GraphicType === 'POINT') {\n scoord3d = new dmv.scoord3d.Point({\n frameOfReferenceUID: regionItem.ReferencedFrameOfReferenceUID,\n coordinates: regionItem.GraphicData\n })\n } else {\n const coordinates: number[][] = []\n for (let i = 0; i < regionItem.GraphicData.length; i += 3) {\n coordinates.push(regionItem.GraphicData.slice(i, i + 3))\n }\n if (regionItem.GraphicType === 'POLYGON') {\n scoord3d = new dmv.scoord3d.Polygon({\n frameOfReferenceUID: regionItem.ReferencedFrameOfReferenceUID,\n coordinates: coordinates\n })\n } else if (regionItem.GraphicType === 'MULTIPOINT') {\n scoord3d = new dmv.scoord3d.MultiPoint({\n frameOfReferenceUID: regionItem.ReferencedFrameOfReferenceUID,\n coordinates: coordinates\n })\n } else if (regionItem.GraphicType === 'POLYLINE') {\n scoord3d = new dmv.scoord3d.Polyline({\n frameOfReferenceUID: regionItem.ReferencedFrameOfReferenceUID,\n coordinates: coordinates\n })\n } else if (regionItem.GraphicType === 'ELLIPSE') {\n scoord3d = new dmv.scoord3d.Ellipse({\n frameOfReferenceUID: regionItem.ReferencedFrameOfReferenceUID,\n coordinates: coordinates\n })\n } else if (regionItem.GraphicType === 'ELLIPSOID') {\n scoord3d = new dmv.scoord3d.Ellipsoid({\n frameOfReferenceUID: regionItem.ReferencedFrameOfReferenceUID,\n coordinates: coordinates\n })\n } else {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Content item \"Image Region\" has unknown graphic type ' +\n `\"${regionItem.GraphicType}\". ` +\n 'Content of Comprehensive 3D SR document is not structured ' +\n 'based on TID 1500 \"Measurement Report\" -> ' +\n 'TID 1410 \"Planar ROI Measurements and Qualitative Evaluations\".'\n )\n )\n }\n }\n\n evaluations.push(\n ...findEvaluationItems({ content: group.ContentSequence })\n )\n const measurements = findMeasurementItems({\n content: group.ContentSequence\n })\n\n const roi = new dmv.roi.ROI({\n scoord3d: scoord3d,\n uid: generateUUID(),\n properties: {\n trackingUID: trackingUIDItem.UID,\n observerType: observerType,\n evaluations: evaluations,\n measurements: measurements\n }\n })\n rois.push(roi)\n })\n return rois\n}\n\nclass MeasurementReport {\n public PersonObserverName?: string\n\n public PersonObserverLoginName?: string\n\n public DeviceObserverUID?: string\n\n public DeviceObserverName?: string\n\n public SpecimenUID: string\n\n public SpecimenIdentifier: string\n\n public ContainerIdentifier: string\n\n public ROIs: dmv.roi.ROI[] = []\n\n constructor (report: dmv.metadata.Comprehensive3DSR) {\n let items = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121039',\n schemeDesignator: 'DCM',\n meaning: 'Specimen UID'\n })\n })\n if (items.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Content item \"Specimen UID\" not found. ' +\n 'Content of Comprehensive 3D SR document is not structured based on ' +\n 'TID 1500 \"Measurement Report\" -> TID 1001 \"Observation Context\" -> ' +\n 'TID 1006 \"Subject Context\" -> TID 1009 \"Subject Context, Specimen\".'\n )\n )\n }\n const specimenUIDItem = (\n items[0] as unknown as dcmjs.sr.valueTypes.UIDRefContentItem\n )\n this.SpecimenUID = specimenUIDItem.UID\n\n items = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121041',\n schemeDesignator: 'DCM',\n meaning: 'Specimen Identifier'\n })\n })\n if (items.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Content item \"Specimen Identifier\" not found. ' +\n 'Content of Comprehensive 3D SR document is not structured based on ' +\n 'TID 1500 \"Measurement Report\" -> TID 1001 \"Observation Context\" -> ' +\n 'TID 1006 \"Subject Context\" -> TID 1009 \"Subject Context, Specimen\".'\n )\n )\n }\n const specimenIdItem = (\n items[0] as unknown as dcmjs.sr.valueTypes.TextContentItem\n )\n this.SpecimenIdentifier = specimenIdItem.TextValue\n\n items = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '111700',\n schemeDesignator: 'DCM',\n meaning: 'Specimen Container Identifier'\n })\n })\n if (items.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Content item \"Specimen Container Identifier\" not found. ' +\n 'Content of Comprehensive 3D SR document is not structured based on ' +\n 'TID 1500 \"Measurement Report\" -> TID 1001 \"Observation Context\" -> ' +\n 'TID 1006 \"Subject Context\" -> TID 1009 \"Subject Context, Specimen\".'\n )\n )\n }\n const containerIdItem = (\n items[0] as unknown as dcmjs.sr.valueTypes.TextContentItem\n )\n this.ContainerIdentifier = containerIdItem.TextValue\n\n items = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121008',\n schemeDesignator: 'DCM',\n meaning: 'Person Observer Name'\n })\n })\n if (items.length !== 0) {\n const personNameItem = (\n items[0] as unknown as dcmjs.sr.valueTypes.PNameContentItem\n )\n this.PersonObserverName = personNameItem.PersonName\n }\n\n items = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '128774',\n schemeDesignator: 'DCM',\n meaning: \"Person Observer's Login Name\"\n })\n })\n if (items.length !== 0) {\n const personLoginNameItem = (\n items[0] as unknown as dcmjs.sr.valueTypes.TextContentItem\n )\n this.PersonObserverLoginName = personLoginNameItem.TextValue\n }\n\n items = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121012',\n schemeDesignator: 'DCM',\n meaning: 'Device Observer UID'\n })\n })\n if (items.length > 0) {\n const deviceUIDItem = (\n items[0] as unknown as dcmjs.sr.valueTypes.UIDRefContentItem\n )\n this.DeviceObserverUID = deviceUIDItem.UID\n }\n\n items = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121013',\n schemeDesignator: 'DCM',\n meaning: 'Device Observer Name'\n })\n })\n if (items.length !== 0) {\n const deviceNameItem = (\n items[0] as unknown as dcmjs.sr.valueTypes.TextContentItem\n )\n this.DeviceObserverName = deviceNameItem.TextValue\n }\n\n this.ROIs = getROIs(report)\n }\n}\n\ninterface ReportProps {\n dataset: dmv.metadata.Comprehensive3DSR\n}\n\n/**\n * React component representing a DICOM SR document that displays the\n * document content (a selected subset of content items).\n */\nclass Report extends React.Component {\n render (): React.ReactNode {\n const report = new MeasurementReport(this.props.dataset)\n const containerAttrs = [\n {\n name: 'ID',\n value: report.ContainerIdentifier\n }\n ]\n const specimenAttrs = [\n {\n name: 'ID',\n value: report.SpecimenIdentifier\n }\n ]\n const observerAttrs = [\n {\n name: 'Name',\n value: report.PersonObserverName\n }\n ]\n const annotations = report.ROIs.map(\n (roi, index): React.ReactNode => {\n const id = `Region ${index + 1}`\n const attrs: Array<{ name: string, value: string }> = []\n roi.evaluations.forEach((\n item: (\n dcmjs.sr.valueTypes.CodeContentItem |\n dcmjs.sr.valueTypes.TextContentItem\n )\n ) => {\n if (item.ValueType === dcmjs.sr.valueTypes.ValueTypes.CODE) {\n item = item as dcmjs.sr.valueTypes.CodeContentItem\n attrs.push({\n name: item.ConceptNameCodeSequence[0].CodeMeaning,\n value: item.ConceptCodeSequence[0].CodeMeaning\n })\n } else if (item.ValueType === dcmjs.sr.valueTypes.ValueTypes.TEXT) {\n item = item as dcmjs.sr.valueTypes.TextContentItem\n attrs.push({\n name: item.ConceptNameCodeSequence[0].CodeMeaning,\n value: item.TextValue\n })\n }\n })\n return \n }\n )\n\n return (\n
\n Patient\n \n Case\n \n Slide\n \n Specimen\n \n Observer\n \n Annotations\n {annotations}\n
\n )\n }\n}\n\nexport default Report\nexport { MeasurementReport }\n","import React from 'react'\nimport { List } from 'antd'\n\nimport Description, { Attribute, AttributeGroup } from './Description'\n\ninterface ItemProps {\n uid: string\n identifier: string\n attributes: Attribute[]\n groups?: AttributeGroup[]\n children?: React.ReactElement[]\n type?: string\n hasLongValues?: boolean\n}\n\n/**\n * React component for a list item that consists of a header element\n * containing an identifier and a body element containing a description list\n * of attributes rendered as name-value pairs.\n */\nclass Item extends React.Component {\n render (): React.ReactNode {\n let groups = null\n if (this.props.groups !== undefined) {\n groups = this.props.groups.map((item, index: number) => (\n \n ))\n }\n let title\n if (this.props.type !== undefined) {\n title = `${this.props.type}: ${this.props.identifier}`\n } else {\n title = this.props.identifier\n }\n return (\n \n \n {groups}\n
\n {this.props.children}\n \n )\n }\n}\n\nexport default Item\n","import * as dcmjs from 'dcmjs'\n\nexport const SpecimenPreparationTypes: {\n [key: string]: dcmjs.sr.coding.CodedConcept\n} = {\n COLLECTION: new dcmjs.sr.coding.CodedConcept({\n value: '17636008',\n schemeDesignator: 'SCT',\n meaning: 'Specimen collection'\n }),\n SAMPLING: new dcmjs.sr.coding.CodedConcept({\n value: '433465004',\n schemeDesignator: 'SCT',\n meaning: 'Sampling of tissue specimen'\n }),\n STAINING: new dcmjs.sr.coding.CodedConcept({\n value: '127790008',\n schemeDesignator: 'SCT',\n meaning: 'Specimen staining'\n }),\n PROCESSING: new dcmjs.sr.coding.CodedConcept({\n value: '9265001',\n schemeDesignator: 'SCT',\n meaning: 'Specimen processing'\n })\n}\n\nexport const SpecimenPreparationAdditives: {\n [key: string]: dcmjs.sr.coding.CodedConcept\n} = {\n FIXATIVE: new dcmjs.sr.coding.CodedConcept({\n value: '430864009',\n schemeDesignator: 'SCT',\n meaning: 'Tissue fixative'\n }),\n EMBEDDING_MEDIUM: new dcmjs.sr.coding.CodedConcept({\n value: '430863003',\n schemeDesignator: 'SCT',\n meaning: 'Embedding medium'\n })\n}\n\nexport const SpecimenPreparationStepItems: {\n [key: string]: dcmjs.sr.coding.CodedConcept\n} = {\n SPECIMEN_IDENTIFIER: new dcmjs.sr.coding.CodedConcept({\n value: '121041',\n schemeDesignator: 'DCM',\n meaning: 'Specimen identifier'\n }),\n PARENT_SPECIMEN_IDENTIFIER: new dcmjs.sr.coding.CodedConcept({\n value: '111705',\n schemeDesignator: 'DCM',\n meaning: 'Parent specimen identifier'\n }),\n PROCESSING_TYPE: new dcmjs.sr.coding.CodedConcept({\n value: '111701',\n schemeDesignator: 'DCM',\n meaning: 'Processing type'\n }),\n DATETIME_OF_PROCESSING: new dcmjs.sr.coding.CodedConcept({\n value: '111702',\n schemeDesignator: 'DCM',\n meaning: 'Datetime of processing'\n }),\n PROCESSING_STEP_DESCRIPTION: new dcmjs.sr.coding.CodedConcept({\n value: '111703',\n schemeDesignator: 'DCM',\n meaning: 'Processing step description'\n }),\n COLLECTION_METHOD: new dcmjs.sr.coding.CodedConcept({\n value: '17636008',\n schemeDesignator: 'SCT',\n meaning: 'Specimen collection'\n }),\n SAMPLING_METHOD: new dcmjs.sr.coding.CodedConcept({\n value: '111704',\n schemeDesignator: 'DCM',\n meaning: 'Sampling method'\n }),\n STAIN: new dcmjs.sr.coding.CodedConcept({\n value: '424361007',\n schemeDesignator: 'SCT',\n meaning: 'Using substance'\n }),\n ...SpecimenPreparationAdditives\n}\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport * as dcmjs from 'dcmjs'\n\nimport Item from './Item'\nimport { Attribute } from './Description'\nimport { SpecimenPreparationStepItems } from '../data/specimens'\n\ninterface SpecimenItemProps {\n index: number\n metadata?: dmv.metadata.VLWholeSlideMicroscopyImage\n showstain: boolean\n}\n\n/**\n * React component representing a DICOM Specimen Information Entity and\n * displays specimen-related attributes of a DICOM Slide Microscopy image.\n */\nclass SpecimenItem extends React.Component {\n render (): React.ReactNode {\n if (this.props.metadata === undefined) {\n return null\n }\n const specimenDescription = this.props.metadata.SpecimenDescriptionSequence[\n this.props.index\n ]\n const attributes: Attribute[] = []\n if (specimenDescription.SpecimenShortDescription !== undefined) {\n attributes.push({\n name: 'Description',\n value: specimenDescription.SpecimenShortDescription\n })\n }\n if (specimenDescription.PrimaryAnatomicStructureSequence !== undefined) {\n if (specimenDescription.PrimaryAnatomicStructureSequence.length > 0) {\n const structures = specimenDescription.PrimaryAnatomicStructureSequence\n attributes.push({\n name: 'Anatomical structure',\n value: structures.map(item => item.CodeMeaning).join(', ')\n })\n }\n }\n\n // TID 8001 \"Specimen Preparation\"\n const preparationSteps: dmv.metadata.SpecimenPreparation[] = (\n specimenDescription.SpecimenPreparationSequence ?? []\n )\n preparationSteps.forEach(\n (step: dmv.metadata.SpecimenPreparation, index: number): void => {\n step.SpecimenPreparationStepContentItemSequence.forEach((\n item: (\n dcmjs.sr.valueTypes.CodeContentItem |\n dcmjs.sr.valueTypes.TextContentItem |\n dcmjs.sr.valueTypes.UIDRefContentItem |\n dcmjs.sr.valueTypes.PNameContentItem |\n dcmjs.sr.valueTypes.DateTimeContentItem\n ),\n index: number\n ) => {\n const name = new dcmjs.sr.coding.CodedConcept({\n value: item.ConceptNameCodeSequence[0].CodeValue,\n schemeDesignator:\n item.ConceptNameCodeSequence[0].CodingSchemeDesignator,\n meaning: item.ConceptNameCodeSequence[0].CodeMeaning\n })\n if (item.ValueType === dcmjs.sr.valueTypes.ValueTypes.CODE) {\n item = item as dcmjs.sr.valueTypes.CodeContentItem\n const value = new dcmjs.sr.coding.CodedConcept({\n value: item.ConceptCodeSequence[0].CodeValue,\n schemeDesignator:\n item.ConceptCodeSequence[0].CodingSchemeDesignator,\n meaning: item.ConceptCodeSequence[0].CodeMeaning\n })\n if (!name.equals(SpecimenPreparationStepItems.PROCESSING_TYPE)) {\n if (\n name.equals(SpecimenPreparationStepItems.COLLECTION_METHOD)\n ) {\n attributes.push({\n name: 'Collection method',\n value: value.CodeMeaning\n })\n } else if (\n name.equals(SpecimenPreparationStepItems.FIXATIVE)\n ) {\n attributes.push({\n name: 'Tissue fixative',\n value: value.CodeMeaning\n })\n } else if (\n name.equals(SpecimenPreparationStepItems.EMBEDDING_MEDIUM)\n ) {\n attributes.push({\n name: 'Tissue embedding medium',\n value: value.CodeMeaning\n })\n } else if (\n name.equals(SpecimenPreparationStepItems.STAIN) &&\n this.props.showstain\n ) {\n attributes.push({\n name: 'Tissue stain',\n value: value.CodeMeaning\n })\n }\n }\n } else if (item.ValueType === dcmjs.sr.valueTypes.ValueTypes.TEXT) {\n item = item as dcmjs.sr.valueTypes.TextContentItem\n if (\n name.equals(SpecimenPreparationStepItems.STAIN) &&\n this.props.showstain\n ) {\n attributes.push({\n name: 'Tissue stain',\n value: item.TextValue\n })\n } else if (\n name.equals(SpecimenPreparationStepItems.PARENT_SPECIMEN_IDENTIFIER)\n ) {\n attributes.push({\n name: 'Parent specimen',\n value: item.TextValue\n })\n }\n }\n })\n }\n )\n const uid = specimenDescription.SpecimenUID\n const identifier = specimenDescription.SpecimenIdentifier\n return (\n \n )\n }\n}\n\nexport default SpecimenItem\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport { List } from 'antd'\n\nimport SpecimenItem from './SpecimenItem'\n\ninterface SpecimenListProps {\n metadata?: dmv.metadata.VLWholeSlideMicroscopyImage\n showstain: boolean\n}\n\n/**\n * React component representing a list of DICOM Specimen Information Entities.\n */\nclass SpecimenList extends React.Component {\n render (): React.ReactNode {\n if (this.props.metadata === undefined) {\n return null\n }\n /*\n * Specimen Description Sequence is a type 1 attribute. However, it is\n * nevertheless missing in some data sets. This is a violation of the\n * standard, but it may be better to facilitate display of the data.\n */\n const descriptions = this.props.metadata.SpecimenDescriptionSequence ?? []\n const items = descriptions.map(\n (item: dmv.metadata.SpecimenDescription, index: number) => {\n return (\n \n )\n }\n )\n return (\n \n {items}\n \n )\n }\n}\n\nexport default SpecimenList\n","import React from 'react'\nimport {\n Badge,\n Button,\n Col,\n Divider,\n InputNumber,\n Menu,\n Popover,\n Row,\n Slider,\n Space,\n Switch,\n Tooltip\n} from 'antd'\nimport {\n DeleteOutlined,\n EyeOutlined,\n EyeInvisibleOutlined,\n SettingOutlined\n} from '@ant-design/icons'\nimport Description from './Description'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport * as dcmjs from 'dcmjs'\n\nimport { SpecimenPreparationStepItems } from '../data/specimens'\nimport NotificationMiddleware, {\n NotificationMiddlewareContext\n} from '../services/NotificationMiddleware'\nimport { CustomError, errorTypes } from '../utils/CustomError'\n\ninterface OpticalPathItemProps {\n opticalPath: dmv.opticalPath.OpticalPath\n metadata: dmv.metadata.VLWholeSlideMicroscopyImage[]\n isVisible: boolean\n isRemovable: boolean\n defaultStyle: {\n opacity: number\n color?: number[]\n paletteColorLookupTable?: dmv.color.PaletteColorLookupTable\n limitValues?: number[]\n }\n onVisibilityChange: ({ opticalPathIdentifier, isVisible }: {\n opticalPathIdentifier: string\n isVisible: boolean\n }) => void\n onStyleChange: ({ opticalPathIdentifier, styleOptions }: {\n opticalPathIdentifier: string\n styleOptions: {\n opacity?: number\n color?: number[]\n paletteColorLookupTable?: dmv.color.PaletteColorLookupTable\n limitValues?: number[]\n }\n }) => void\n onRemoval: (opticalPathIdentifier: string) => void\n}\n\ninterface OpticalPathItemState {\n isVisible: boolean\n currentStyle: {\n opacity: number\n color?: number[]\n paletteColorLookupTable?: dmv.color.PaletteColorLookupTable\n limitValues?: number[]\n }\n}\n\n/**\n * React component representing an optical path of a\n * multi-channel acquistion with control of visualization parameters.\n */\nclass OpticalPathItem extends React.Component {\n constructor (props: OpticalPathItemProps) {\n super(props)\n this.handleVisibilityChange = this.handleVisibilityChange.bind(this)\n this.handleOpacityChange = this.handleOpacityChange.bind(this)\n this.handleLimitChange = this.handleLimitChange.bind(this)\n this.handleLowerLimitChange = this.handleLowerLimitChange.bind(this)\n this.handleUpperLimitChange = this.handleUpperLimitChange.bind(this)\n this.handleColorRChange = this.handleColorRChange.bind(this)\n this.handleColorGChange = this.handleColorGChange.bind(this)\n this.handleColorBChange = this.handleColorBChange.bind(this)\n this.handleRemoval = this.handleRemoval.bind(this)\n this.getCurrentColors = this.getCurrentColors.bind(this)\n this.state = {\n isVisible: this.props.isVisible,\n currentStyle: {\n opacity: this.props.defaultStyle.opacity,\n color: this.props.defaultStyle.color,\n paletteColorLookupTable: this.props.defaultStyle.paletteColorLookupTable,\n limitValues: this.props.defaultStyle.limitValues\n }\n }\n }\n\n componentDidUpdate (\n previousProps: OpticalPathItemProps,\n previousState: OpticalPathItemState\n ): void {\n if (this.props.defaultStyle !== previousProps.defaultStyle) {\n this.setState({\n currentStyle: this.props.defaultStyle\n })\n }\n }\n\n handleVisibilityChange (\n checked: boolean,\n event: React.MouseEvent\n ): void {\n const identifier = this.props.opticalPath.identifier\n this.setState({\n isVisible: checked\n })\n this.props.onVisibilityChange({\n opticalPathIdentifier: identifier,\n isVisible: checked\n })\n }\n\n handleOpacityChange (\n value: number | null\n ): void {\n if (value != null) {\n const identifier = this.props.opticalPath.identifier\n this.props.onStyleChange({\n opticalPathIdentifier: identifier,\n styleOptions: { opacity: value }\n })\n this.setState(state => ({\n currentStyle: {\n color: state.currentStyle.color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: value,\n limitValues: state.currentStyle.limitValues\n }\n }))\n }\n }\n\n handleColorRChange (\n value: number | number[] | null\n ): void {\n const identifier = this.props.opticalPath.identifier\n if (value != null && this.state.currentStyle.color !== undefined) {\n const color = [\n Array.isArray(value) ? value[0] : value,\n this.state.currentStyle.color[1],\n this.state.currentStyle.color[2]\n ]\n this.setState(state => ({\n currentStyle: {\n color: color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }))\n this.props.onStyleChange({\n opticalPathIdentifier: identifier,\n styleOptions: { color: color }\n })\n }\n }\n\n handleColorGChange (\n value: number | number[] | null\n ): void {\n const identifier = this.props.opticalPath.identifier\n if (value != null && this.state.currentStyle.color !== undefined) {\n const color = [\n this.state.currentStyle.color[0],\n Array.isArray(value) ? value[0] : value,\n this.state.currentStyle.color[2]\n ]\n this.setState(state => ({\n currentStyle: {\n color: color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }))\n this.props.onStyleChange({\n opticalPathIdentifier: identifier,\n styleOptions: { color: color }\n })\n }\n }\n\n handleColorBChange (\n value: number | number[] | null\n ): void {\n const identifier = this.props.opticalPath.identifier\n if (value != null && this.state.currentStyle.color !== undefined) {\n const color = [\n this.state.currentStyle.color[0],\n this.state.currentStyle.color[1],\n Array.isArray(value) ? value[0] : value\n ]\n this.setState(state => ({\n currentStyle: {\n color: color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }))\n this.props.onStyleChange({\n opticalPathIdentifier: identifier,\n styleOptions: { color: color }\n })\n }\n }\n\n getCurrentColors (): string[] {\n const rgb2hex = (values: number[]): string => {\n const r = values[0]\n const g = values[1]\n const b = values[2]\n return '#' + (0x1000000 + (r << 16) + (g << 8) + b).toString(16).slice(1)\n }\n\n if (this.props.defaultStyle.paletteColorLookupTable != null) {\n const colormap = this.props.defaultStyle.paletteColorLookupTable.data\n return colormap.map(values => rgb2hex(values))\n } else if (this.state.currentStyle.color != null) {\n return [\n '#000000',\n rgb2hex(this.state.currentStyle.color)\n ]\n } else {\n return ['white', 'white']\n }\n }\n\n handleLowerLimitChange (\n value: number | null\n ): void {\n const identifier = this.props.opticalPath.identifier\n if (value != null && this.state.currentStyle.limitValues !== undefined) {\n this.setState(state => {\n if (state.currentStyle.limitValues !== undefined) {\n return {\n currentStyle: {\n color: state.currentStyle.color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: state.currentStyle.opacity,\n limitValues: [value, state.currentStyle.limitValues[1]]\n }\n }\n } else {\n return {\n currentStyle: {\n color: state.currentStyle.color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }\n }\n })\n this.props.onStyleChange({\n opticalPathIdentifier: identifier,\n styleOptions: {\n limitValues: [\n value,\n this.state.currentStyle.limitValues[1]\n ]\n }\n })\n }\n }\n\n handleUpperLimitChange (\n value: number | null\n ): void {\n const identifier = this.props.opticalPath.identifier\n if (value != null && this.state.currentStyle.limitValues !== undefined) {\n this.setState(state => {\n if (state.currentStyle.limitValues !== undefined) {\n return {\n currentStyle: {\n color: state.currentStyle.color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: state.currentStyle.opacity,\n limitValues: [state.currentStyle.limitValues[0], value]\n }\n }\n } else {\n return {\n currentStyle: {\n color: state.currentStyle.color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }\n }\n })\n this.props.onStyleChange({\n opticalPathIdentifier: identifier,\n styleOptions: {\n limitValues: [\n this.state.currentStyle.limitValues[0],\n value\n ]\n }\n })\n }\n }\n\n handleLimitChange (\n values: number[]\n ): void {\n const identifier = this.props.opticalPath.identifier\n this.setState(state => ({\n currentStyle: {\n color: state.currentStyle.color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: state.currentStyle.opacity,\n limitValues: values\n }\n }))\n this.props.onStyleChange({\n opticalPathIdentifier: identifier,\n styleOptions: { limitValues: values }\n })\n }\n\n handleRemoval (): void {\n const identifier = this.props.opticalPath.identifier\n this.props.onRemoval(identifier)\n }\n\n render (): React.ReactNode {\n const identifier = this.props.opticalPath.identifier\n const description = this.props.opticalPath.description\n const attributes: Array<{ name: string, value: string }> = []\n if (this.props.opticalPath.illuminationWaveLength !== undefined) {\n attributes.push(\n {\n name: 'Illumination wavelength',\n value: `${this.props.opticalPath.illuminationWaveLength} nm`\n }\n )\n }\n if (this.props.opticalPath.illuminationColor !== undefined) {\n attributes.push(\n {\n name: 'Illumination color',\n value: this.props.opticalPath.illuminationColor.CodeMeaning\n }\n )\n }\n\n // TID 8001 \"Specimen Preparation\"\n const specimenDescriptions: dmv.metadata.SpecimenDescription[] = (\n this.props.metadata[0].SpecimenDescriptionSequence ?? []\n )\n try {\n specimenDescriptions.forEach(description => {\n const specimenPreparationSteps: dmv.metadata.SpecimenPreparation[] =\n description.SpecimenPreparationSequence ?? []\n specimenPreparationSteps.forEach(\n (step: dmv.metadata.SpecimenPreparation, index: number): void => {\n step.SpecimenPreparationStepContentItemSequence.forEach((\n item: (\n dcmjs.sr.valueTypes.CodeContentItem |\n dcmjs.sr.valueTypes.TextContentItem |\n dcmjs.sr.valueTypes.UIDRefContentItem |\n dcmjs.sr.valueTypes.PNameContentItem |\n dcmjs.sr.valueTypes.DateTimeContentItem\n ),\n index: number\n ) => {\n const name = new dcmjs.sr.coding.CodedConcept({\n value: item.ConceptNameCodeSequence[0].CodeValue,\n schemeDesignator:\n item.ConceptNameCodeSequence[0].CodingSchemeDesignator,\n meaning: item.ConceptNameCodeSequence[0].CodeMeaning\n })\n if (item.ValueType === dcmjs.sr.valueTypes.ValueTypes.CODE) {\n item = item as dcmjs.sr.valueTypes.CodeContentItem\n const value = new dcmjs.sr.coding.CodedConcept({\n value: item.ConceptCodeSequence[0].CodeValue,\n schemeDesignator:\n item.ConceptCodeSequence[0].CodingSchemeDesignator,\n meaning: item.ConceptCodeSequence[0].CodeMeaning\n })\n if (!name.equals(SpecimenPreparationStepItems.PROCESSING_TYPE)) {\n if (name.equals(SpecimenPreparationStepItems.STAIN)) {\n attributes.push({\n name: 'Tissue stain',\n value: value.CodeMeaning\n })\n }\n }\n } else if (item.ValueType === dcmjs.sr.valueTypes.ValueTypes.TEXT) {\n item = item as dcmjs.sr.valueTypes.TextContentItem\n if (!name.equals(SpecimenPreparationStepItems.PROCESSING_TYPE)) {\n if (name.equals(SpecimenPreparationStepItems.STAIN)) {\n attributes.push({\n name: 'Tissue stain',\n value: item.TextValue\n })\n }\n }\n }\n })\n }\n )\n })\n } catch (error: any) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.DCMJS,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n error.message\n )\n )\n }\n\n const maxValue = Math.pow(2, this.props.metadata[0].BitsAllocated) - 1\n\n const title = (\n description != null ? `${identifier}: ${description}` : identifier\n )\n let settings\n let item\n if (this.props.opticalPath.isMonochromatic) {\n // monochrome images that can be pseudo-colored\n let colorSettings\n if (this.state.currentStyle.color != null) {\n colorSettings = (\n <>\n \n Color\n \n \n \n Red\n \n \n \n \n \n \n \n \n\n \n \n Green\n \n \n \n \n \n \n \n \n\n \n \n Blue\n \n \n \n \n \n \n \n \n \n )\n } else {\n colorSettings = (\n <>\n \n Color\n \n Custom pseudo-coloring is disabled because pixels are colorized via\n a provided palette color lookup table.\n \n )\n }\n\n let windowSettings\n if (this.state.currentStyle.limitValues != null) {\n windowSettings = (\n <>\n \n Values of interest\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n settings = (\n
\n {windowSettings}\n {colorSettings}\n \n \n \n Opacity\n \n \n \n \n \n \n \n \n
\n )\n const colors = this.getCurrentColors()\n item = (\n \n \n \n )\n } else {\n // color images\n settings = (\n
\n \n \n Opacity\n \n \n \n \n \n \n \n \n
\n )\n item = (\n \n )\n }\n\n const buttons = []\n if (this.props.isRemovable) {\n buttons.push(\n \n }\n onClick={this.handleRemoval}\n />\n \n )\n }\n\n const {\n defaultStyle,\n isRemovable,\n isVisible,\n metadata,\n onVisibilityChange,\n onStyleChange,\n onRemoval,\n opticalPath,\n ...otherProps\n } = this.props\n return (\n \n \n
\n \n }\n unCheckedChildren={}\n />\n \n }\n />\n \n {buttons}\n \n
\n {item}\n
\n \n )\n }\n}\n\nexport default OpticalPathItem\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport { Button as Btn, Menu, Select, Space, Tooltip } from 'antd'\nimport { AppstoreAddOutlined } from '@ant-design/icons'\n\nimport OpticalPathItem from './OpticalPathItem'\n\nconst { Option } = Select\n\ninterface OpticalPathListProps {\n opticalPaths: dmv.opticalPath.OpticalPath[]\n metadata: {\n [opticalPathIdentifier: string]: dmv.metadata.VLWholeSlideMicroscopyImage[]\n }\n visibleOpticalPathIdentifiers: Set\n activeOpticalPathIdentifiers: Set\n defaultOpticalPathStyles: {\n [opticalPathIdentifier: string]: {\n opacity: number\n color?: number[]\n limitValues?: number[]\n paletteColorLookupTable?: dmv.color.PaletteColorLookupTable\n }\n }\n onOpticalPathVisibilityChange: ({ opticalPathIdentifier, isVisible }: {\n opticalPathIdentifier: string\n isVisible: boolean\n }) => void\n onOpticalPathStyleChange: ({ opticalPathIdentifier, styleOptions }: {\n opticalPathIdentifier: string\n styleOptions: {\n opacity?: number\n color?: number[]\n limitValues?: number[]\n }\n }) => void\n onOpticalPathActivityChange: ({ opticalPathIdentifier, isActive }: {\n opticalPathIdentifier: string\n isActive: boolean\n }) => void\n selectedPresentationStateUID?: string\n}\n\ninterface OpticalPathListState {\n selectedOpticalPathIdentifier?: string\n}\n\n/**\n * React component representing a list of optical paths.\n */\nclass OpticalPathList extends React.Component {\n state = {\n selectedOpticalPathIdentifier: undefined\n }\n\n constructor (props: OpticalPathListProps) {\n super(props)\n this.handleItemAddition = this.handleItemAddition.bind(this)\n this.handleItemRemoval = this.handleItemRemoval.bind(this)\n this.handleItemSelectionChange = this.handleItemSelectionChange.bind(this)\n }\n\n /**\n * Handler that gets called when an optical path should be removed.\n */\n handleItemRemoval (opticalPathIdentifier: string): void {\n this.props.onOpticalPathActivityChange({\n opticalPathIdentifier,\n isActive: false\n })\n }\n\n /**\n * Handler that gets called when the selection of an optical path should change.\n */\n handleItemSelectionChange (\n value: string\n ): void {\n this.setState({ selectedOpticalPathIdentifier: value })\n }\n\n /**\n * Handler that gets called when an optical path should be added.\n */\n handleItemAddition (): void {\n const identifier = this.state.selectedOpticalPathIdentifier\n if (identifier !== undefined) {\n this.props.onOpticalPathActivityChange({\n opticalPathIdentifier: identifier,\n isActive: true\n })\n this.setState({ selectedOpticalPathIdentifier: undefined })\n }\n }\n\n render (): React.ReactNode {\n if (this.props.metadata === undefined) {\n return null\n }\n\n const isSelectable = this.props.opticalPaths.length > 1\n const opticalPathItems: React.ReactNode[] = []\n const optionItems: React.ReactNode[] = []\n this.props.opticalPaths.forEach(opticalPath => {\n const opticalPathIdentifier = opticalPath.identifier\n const images = this.props.metadata[opticalPathIdentifier]\n const seriesInstanceUID = images[0].SeriesInstanceUID\n images[0].OpticalPathSequence.forEach(opticalPathItem => {\n const id = opticalPathItem.OpticalPathIdentifier\n const description = opticalPathItem.OpticalPathDescription\n if (opticalPath.identifier === id) {\n if (this.props.activeOpticalPathIdentifiers.has(id)) {\n opticalPathItems.push(\n \n )\n } else {\n let title\n if (description !== '') {\n title = `${id} - ${description}`\n } else {\n title = `${id}`\n }\n optionItems.push(\n \n )\n }\n }\n })\n })\n\n let opticalPathSelector\n if (isSelectable) {\n opticalPathSelector = (\n \n \n {optionItems}\n \n \n }\n type='primary'\n onClick={this.handleItemAddition}\n />\n \n \n )\n }\n\n return (\n \n {opticalPathItems}\n {opticalPathSelector}\n \n )\n }\n}\n\nexport default OpticalPathList\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport {\n Button,\n Col,\n InputNumber,\n Menu,\n Popover,\n Row,\n Slider,\n Space,\n Switch\n} from 'antd'\nimport { SettingOutlined } from '@ant-design/icons'\nimport { FaEye, FaEyeSlash } from 'react-icons/fa'\n\nimport Description from './Description'\n\ninterface MappingItemProps {\n mapping: dmv.mapping.ParameterMapping\n metadata: dmv.metadata.ParametricMap[]\n isVisible: boolean\n defaultStyle: {\n opacity: number\n }\n onVisibilityChange: ({ mappingUID, isVisible }: {\n mappingUID: string\n isVisible: boolean\n }) => void\n onStyleChange: ({ mappingUID, styleOptions }: {\n mappingUID: string\n styleOptions: {\n opacity?: number\n }\n }) => void\n}\n\ninterface MappingItemState {\n isVisible: boolean\n currentStyle: {\n opacity: number\n }\n}\n\n/**\n * React component representing a Real World Value Mapping.\n */\nclass MappingItem extends React.Component {\n constructor (props: MappingItemProps) {\n super(props)\n this.handleVisibilityChange = this.handleVisibilityChange.bind(this)\n this.handleOpacityChange = this.handleOpacityChange.bind(this)\n this.state = {\n isVisible: this.props.isVisible,\n currentStyle: {\n opacity: this.props.defaultStyle.opacity\n }\n }\n }\n\n handleVisibilityChange (\n checked: boolean,\n event: React.MouseEvent\n ): void {\n this.props.onVisibilityChange({\n mappingUID: this.props.mapping.uid,\n isVisible: checked\n })\n this.setState({ isVisible: checked })\n }\n\n handleOpacityChange (value: number | null): void {\n if (value != null) {\n this.props.onStyleChange({\n mappingUID: this.props.mapping.uid,\n styleOptions: {\n opacity: value\n }\n })\n this.setState(state => ({\n currentStyle: {\n opacity: value\n }\n }))\n }\n }\n\n render (): React.ReactNode {\n const attributes: Array<{ name: string, value: string }> = [\n {\n name: 'Description',\n value: this.props.mapping.description\n }\n ]\n\n const settings = (\n
\n \n \n Opacity\n \n \n \n \n \n \n \n \n
\n )\n\n /**\n * This hack is required for Menu.Item to work properly:\n * https://github.com/react-component/menu/issues/142\n */\n const {\n defaultStyle,\n isVisible,\n mapping,\n metadata,\n onVisibilityChange,\n onStyleChange,\n ...otherProps\n } = this.props\n return (\n \n \n
\n \n \n }\n unCheckedChildren={}\n />\n \n }\n />\n \n \n \n
\n \n
\n \n )\n }\n}\n\nexport default MappingItem\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport { Menu } from 'antd'\n\nimport MappingItem from './MappingItem'\n\ninterface MappingListProps {\n mappings: dmv.mapping.ParameterMapping[]\n metadata: {\n [mappingUID: string]: dmv.metadata.ParametricMap[]\n }\n visibleMappingUIDs: Set\n defaultMappingStyles: {\n [mappingUID: string]: { opacity: number }\n }\n onMappingVisibilityChange: ({ mappingUID, isVisible }: {\n mappingUID: string\n isVisible: boolean\n }) => void\n onMappingStyleChange: ({ mappingUID, styleOptions }: {\n mappingUID: string\n styleOptions: {\n opacity?: number\n }\n }) => void\n}\n\n/**\n * React component representing a list of Real World Value Mappings.\n */\nclass MappingList extends React.Component {\n render (): React.ReactNode {\n const items = this.props.mappings.map((mapping, index) => {\n const uid = mapping.uid\n return (\n \n )\n })\n\n return (\n \n {items}\n \n )\n }\n}\n\nexport default MappingList\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport {\n Button,\n Col,\n InputNumber,\n Menu,\n Popover,\n Row,\n Slider,\n Space,\n Switch\n} from 'antd'\nimport { SettingOutlined } from '@ant-design/icons'\nimport { FaEye, FaEyeSlash } from 'react-icons/fa'\n\nimport Description from './Description'\n\ninterface SegmentItemProps {\n segment: dmv.segment.Segment\n isVisible: boolean\n metadata: dmv.metadata.Segmentation[]\n defaultStyle: {\n opacity: number\n }\n onVisibilityChange: ({ segmentUID, isVisible }: {\n segmentUID: string\n isVisible: boolean\n }) => void\n onStyleChange: ({ segmentUID, styleOptions }: {\n segmentUID: string\n styleOptions: {\n opacity: number\n }\n }) => void\n}\n\ninterface SegmentItemState {\n isVisible: boolean\n currentStyle: {\n opacity: number\n }\n}\n\n/**\n * React component representing a Segment.\n */\nclass SegmentItem extends React.Component {\n constructor (props: SegmentItemProps) {\n super(props)\n this.handleVisibilityChange = this.handleVisibilityChange.bind(this)\n this.handleOpacityChange = this.handleOpacityChange.bind(this)\n this.state = {\n isVisible: this.props.isVisible,\n currentStyle: { opacity: this.props.defaultStyle.opacity }\n }\n }\n\n handleVisibilityChange (\n checked: boolean,\n event: React.MouseEvent\n ): void {\n this.props.onVisibilityChange({\n segmentUID: this.props.segment.uid,\n isVisible: checked\n })\n this.setState({ isVisible: checked })\n }\n\n handleOpacityChange (value: number | null): void {\n if (value != null) {\n this.props.onStyleChange({\n segmentUID: this.props.segment.uid,\n styleOptions: {\n opacity: value\n }\n })\n this.setState({ currentStyle: { opacity: value } })\n }\n }\n\n render (): React.ReactNode {\n const attributes: Array<{ name: string, value: string }> = [\n {\n name: 'Property Type',\n value: this.props.segment.propertyType.CodeMeaning\n },\n {\n name: 'Property Category',\n value: this.props.segment.propertyCategory.CodeMeaning\n },\n {\n name: 'Algorithm Name',\n value: this.props.segment.algorithmName\n }\n ]\n\n const settings = (\n
\n \n \n Opacity\n \n \n \n \n \n \n \n \n
\n )\n\n /**\n * This hack is required for Menu.Item to work properly:\n * https://github.com/react-component/menu/issues/142\n */\n const {\n defaultStyle,\n isVisible,\n segment,\n metadata,\n onVisibilityChange,\n onStyleChange,\n ...otherProps\n } = this.props\n return (\n \n \n
\n \n }\n unCheckedChildren={}\n />\n \n }\n />\n \n \n
\n \n
\n \n )\n }\n}\n\nexport default SegmentItem\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport { Menu } from 'antd'\n\nimport SegmentItem from './SegmentItem'\n\ninterface SegmentListProps {\n segments: dmv.segment.Segment[]\n visibleSegmentUIDs: Set\n metadata: {\n [segmentUID: string]: dmv.metadata.Segmentation[]\n }\n defaultSegmentStyles: {\n [segmentUID: string]: {\n opacity: number\n }\n }\n onSegmentVisibilityChange: ({ segmentUID, isVisible }: {\n segmentUID: string\n isVisible: boolean\n }) => void\n onSegmentStyleChange: ({ segmentUID, styleOptions }: {\n segmentUID: string\n styleOptions: {\n opacity: number\n }\n }) => void\n}\n\n/**\n * React component representing a list of Segments.\n */\nclass SegmentList extends React.Component {\n render (): React.ReactNode {\n const items = this.props.segments.map((segment, index) => {\n const uid = segment.uid\n return (\n \n )\n })\n\n return (\n \n {items}\n \n )\n }\n}\n\nexport default SegmentList\n","import React from 'react'\nimport {\n NavigateFunction,\n Params,\n useLocation,\n useNavigate,\n useParams,\n Location\n} from 'react-router-dom'\n\nexport interface RouteComponentProps {\n location: Location\n navigate: NavigateFunction\n params: Params\n}\n\nexport function withRouter (Component: React.ComponentType): Function {\n function ComponentWithRouterProp (props: any): JSX.Element {\n const location = useLocation()\n const navigate = useNavigate()\n const params = useParams()\n return (\n \n )\n }\n return ComponentWithRouterProp\n}\n","import React from 'react'\nimport {\n FaCrosshairs,\n FaDrawPolygon,\n FaEye,\n FaEyeSlash,\n FaHandPaper,\n FaHandPointer,\n FaTrash,\n FaSave\n} from 'react-icons/fa'\nimport {\n Button as Btn,\n Checkbox,\n Descriptions,\n Divider,\n InputNumber,\n message,\n Menu,\n Modal,\n Layout,\n Row,\n Select,\n Space,\n Tooltip\n} from 'antd'\nimport { UndoOutlined, CheckOutlined, StopOutlined } from '@ant-design/icons'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport * as dcmjs from 'dcmjs'\nimport * as dwc from 'dicomweb-client'\n\nimport DicomWebManager from '../DicomWebManager'\nimport AnnotationList from './AnnotationList'\nimport AnnotationGroupList from './AnnotationGroupList'\nimport Button from './Button'\nimport Equipment from './Equipment'\nimport Report, { MeasurementReport } from './Report'\nimport SpecimenList from './SpecimenList'\nimport OpticalPathList from './OpticalPathList'\nimport MappingList from './MappingList'\nimport SegmentList from './SegmentList'\nimport { AnnotationSettings } from '../AppConfig'\nimport { Slide } from '../data/slides'\nimport { StorageClasses } from '../data/uids'\nimport { findContentItemsByName } from '../utils/sr'\nimport { RouteComponentProps, withRouter } from '../utils/router'\nimport { CustomError, errorTypes } from '../utils/CustomError'\nimport NotificationMiddleware, {\n NotificationMiddlewareContext\n} from '../services/NotificationMiddleware'\n\nconst DEFAULT_ROI_STROKE_COLOR: number[] = [255, 234, 0] // [0, 126, 163]\nconst DEFAULT_ROI_FILL_COLOR: number[] = [255, 234, 0, 0.2] // [0, 126, 163, 0.2]\nconst DEFAULT_ROI_STROKE_WIDTH: number = 2\nconst DEFAULT_ROI_RADIUS: number = 5\n\nconst _buildKey = (concept: {\n CodeValue: string\n CodeMeaning: string\n CodingSchemeDesignator: string\n CodingSchemeVersion?: string\n}): string => {\n const codingScheme = concept.CodingSchemeDesignator\n const codeValue = concept.CodeValue\n return `${codingScheme}-${codeValue}`\n}\n\nconst _getRoiKey = (roi: dmv.roi.ROI): string | undefined => {\n const matches = findContentItemsByName({\n content: roi.evaluations,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121071',\n meaning: 'Finding',\n schemeDesignator: 'DCM'\n })\n })\n if (matches.length === 0) {\n console.warn(`no finding found for ROI ${roi.uid}`)\n return\n }\n const finding = matches[0] as dcmjs.sr.valueTypes.CodeContentItem\n const findingName = finding.ConceptCodeSequence[0]\n return _buildKey(findingName)\n}\n\nconst _areROIsEqual = (a: dmv.roi.ROI, b: dmv.roi.ROI): boolean => {\n if (a.scoord3d.graphicType !== b.scoord3d.graphicType) {\n return false\n }\n if (a.scoord3d.frameOfReferenceUID !== b.scoord3d.frameOfReferenceUID) {\n return false\n }\n if (a.scoord3d.graphicData.length !== b.scoord3d.graphicData.length) {\n return false\n }\n\n const decimals = 6\n for (let i = 0; i < a.scoord3d.graphicData.length; ++i) {\n if (a.scoord3d.graphicType === 'POINT') {\n const s1 = a.scoord3d as dmv.scoord3d.Point\n const s2 = b.scoord3d as dmv.scoord3d.Point\n const c1 = s1.graphicData[i].toPrecision(decimals)\n const c2 = s2.graphicData[i].toPrecision(decimals)\n if (c1 !== c2) {\n return false\n }\n } else {\n const s1 = a.scoord3d as dmv.scoord3d.Polygon\n const s2 = b.scoord3d as dmv.scoord3d.Polygon\n for (let j = 0; j < s1.graphicData[i].length; ++j) {\n const c1 = s1.graphicData[i][j].toPrecision(decimals)\n const c2 = s2.graphicData[i][j].toPrecision(decimals)\n if (c1 !== c2) {\n return false\n }\n }\n }\n }\n return true\n}\n\nconst _formatRoiStyle = (style: {\n stroke?: {\n color?: number[]\n width?: number\n }\n fill?: {\n color?: number[]\n }\n radius?: number\n}): dmv.viewer.ROIStyleOptions => {\n const stroke = {\n color: DEFAULT_ROI_STROKE_COLOR,\n width: DEFAULT_ROI_STROKE_WIDTH\n }\n if (style.stroke != null) {\n if (style.stroke.color != null) {\n stroke.color = style.stroke.color\n }\n if (style.stroke.width != null) {\n stroke.width = style.stroke.width\n }\n }\n const fill = {\n color: DEFAULT_ROI_FILL_COLOR\n }\n if (style.fill != null) {\n if (style.fill.color != null) {\n fill.color = style.fill.color\n }\n }\n return {\n stroke,\n fill,\n image: {\n circle: {\n radius: style.radius != null\n ? style.radius\n : Math.max(5 - stroke.width, 1),\n stroke,\n fill\n }\n }\n }\n}\n\nconst _constructViewers = ({ clients, slide, preload }: {\n clients: { [key: string]: dwc.api.DICOMwebClient }\n slide: Slide\n preload?: boolean\n}): {\n volumeViewer: dmv.viewer.VolumeImageViewer\n labelViewer?: dmv.viewer.LabelImageViewer\n} => {\n console.info(\n 'instantiate viewer for VOLUME images of slide ' +\n `\"${slide.volumeImages[0].ContainerIdentifier}\"`\n )\n try {\n const volumeViewer = new dmv.viewer.VolumeImageViewer({\n clientMapping: clients,\n metadata: slide.volumeImages,\n controls: ['overview', 'position'],\n preload: preload,\n errorInterceptor: (error: CustomError) =>\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.DMV, error\n )\n })\n volumeViewer.activateSelectInteraction({})\n\n let labelViewer\n if (slide.labelImages.length > 0) {\n console.info(\n 'instantiate viewer for LABEL image of slide ' +\n `\"${slide.labelImages[0].ContainerIdentifier}\"`\n )\n labelViewer = new dmv.viewer.LabelImageViewer({\n client: clients[StorageClasses.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE],\n metadata: slide.labelImages[0],\n resizeFactor: 1,\n orientation: 'vertical',\n errorInterceptor: (error: CustomError) =>\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.DMV,\n error\n )\n })\n }\n\n return { volumeViewer, labelViewer }\n } catch (error) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Failed to instantiate viewer'\n )\n )\n throw error\n }\n}\n\n/*\n * Check whether the report is structured according to template\n * TID 1500 \"MeasurementReport\".\n */\nconst _implementsTID1500 = (\n report: dmv.metadata.Comprehensive3DSR\n): boolean => {\n const templateSeq = report.ContentTemplateSequence\n if (templateSeq.length > 0) {\n const tid = templateSeq[0].TemplateIdentifier\n if (tid === '1500') {\n return true\n }\n }\n return false\n}\n\n/*\n * Check whether the subject described in the report is a specimen as compared\n * to a patient, fetus, or device.\n */\nconst _describesSpecimenSubject = (\n report: dmv.metadata.Comprehensive3DSR\n): boolean => {\n const items = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121024',\n schemeDesignator: 'DCM',\n meaning: 'Subject Class'\n })\n })\n if (items.length === 0) {\n return false\n }\n const subjectClassItem = items[0] as dcmjs.sr.valueTypes.CodeContentItem\n const subjectClassValue = subjectClassItem.ConceptCodeSequence[0]\n const retrievedConcept = new dcmjs.sr.coding.CodedConcept({\n value: subjectClassValue.CodeValue,\n meaning: subjectClassValue.CodeMeaning,\n schemeDesignator: subjectClassValue.CodingSchemeDesignator\n })\n const expectedConcept = new dcmjs.sr.coding.CodedConcept({\n value: '121027',\n meaning: 'Specimen',\n schemeDesignator: 'DCM'\n })\n if (retrievedConcept.equals(expectedConcept)) {\n return true\n }\n return false\n}\n\n/*\n * Check whether the report contains appropriate graphic ROI annotations.\n */\nconst _containsROIAnnotations = (\n report: dmv.metadata.Comprehensive3DSR\n): boolean => {\n const measurements = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '126010',\n schemeDesignator: 'DCM',\n meaning: 'Imaging Measurements'\n })\n })\n if (measurements.length === 0) {\n return false\n }\n const container = measurements[0] as dcmjs.sr.valueTypes.ContainerContentItem\n const measurementGroups = findContentItemsByName({\n content: container.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '125007',\n schemeDesignator: 'DCM',\n meaning: 'Measurement Group'\n })\n })\n\n let foundRegion = false\n measurementGroups.forEach((group) => {\n const container = group as dcmjs.sr.valueTypes.ContainerContentItem\n const regions = findContentItemsByName({\n content: container.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '111030',\n schemeDesignator: 'DCM',\n meaning: 'Image Region'\n })\n })\n if (regions.length > 0) {\n if (regions[0].ValueType === dcmjs.sr.valueTypes.ValueTypes.SCOORD3D) {\n foundRegion = true\n }\n }\n })\n\n return foundRegion\n}\n\ninterface EvaluationOptions {\n name: dcmjs.sr.coding.CodedConcept\n values: dcmjs.sr.coding.CodedConcept[]\n}\n\ninterface Evaluation {\n name: dcmjs.sr.coding.CodedConcept\n value: dcmjs.sr.coding.CodedConcept\n}\n\ninterface Measurement {\n name: dcmjs.sr.coding.CodedConcept\n value?: number\n unit: dcmjs.sr.coding.CodedConcept\n}\n\ninterface SlideViewerProps extends RouteComponentProps {\n slide: Slide\n clients: { [key: string]: DicomWebManager }\n studyInstanceUID: string\n seriesInstanceUID: string\n app: {\n name: string\n version: string\n uid: string\n organization?: string\n }\n preload?: boolean\n annotations: AnnotationSettings[]\n enableAnnotationTools: boolean\n user?: {\n name: string\n email: string\n }\n selectedPresentationStateUID?: string\n}\n\ninterface SlideViewerState {\n visibleRoiUIDs: Set\n visibleSegmentUIDs: Set\n visibleMappingUIDs: Set\n visibleAnnotationGroupUIDs: Set\n visibleOpticalPathIdentifiers: Set\n activeOpticalPathIdentifiers: Set\n presentationStates: dmv.metadata.AdvancedBlendingPresentationState[]\n selectedPresentationStateUID?: string\n selectedFinding?: dcmjs.sr.coding.CodedConcept\n selectedEvaluations: Evaluation[]\n selectedGeometryType?: string\n selectedMarkup?: string\n selectedRoi?: dmv.roi.ROI\n selectedRoiUIDs: Set\n generatedReport?: dmv.metadata.Comprehensive3DSR\n isLoading: boolean\n isAnnotationModalVisible: boolean\n isSelectedRoiModalVisible: boolean\n isReportModalVisible: boolean\n isRoiDrawingActive: boolean\n isRoiModificationActive: boolean\n isRoiTranslationActive: boolean\n isGoToModalVisible: boolean\n isSelectedMagnificationValid: boolean\n isSelectedXCoordinateValid: boolean\n isSelectedYCoordinateValid: boolean\n selectedXCoordinate?: number\n validXCoordinateRange: number[]\n selectedYCoordinate?: number\n validYCoordinateRange: number[]\n selectedMagnification?: number\n areRoisHidden: boolean\n pixelDataStatistics: {\n [opticalPathIdentifier: string]: {\n min: number\n max: number\n numFramesSampled: number\n }\n }\n loadingFrames: Set\n}\n\n/**\n * React component for interactive viewing of an individual digital slide,\n * which corresponds to one DICOM Series of DICOM Slide Microscopy images and\n * potentially one or more associated DICOM Series of DICOM SR documents.\n */\nclass SlideViewer extends React.Component {\n private readonly findingOptions: dcmjs.sr.coding.CodedConcept[] = []\n\n private readonly evaluationOptions: { [key: string]: EvaluationOptions[] } = {}\n\n private readonly measurements: Measurement[] = []\n\n private readonly geometryTypeOptions: { [key: string]: string[] } = {}\n\n private readonly volumeViewportRef: React.RefObject\n\n private readonly labelViewportRef: React.RefObject\n\n private volumeViewer: dmv.viewer.VolumeImageViewer\n\n private labelViewer?: dmv.viewer.LabelImageViewer\n\n private readonly defaultRoiStyle: dmv.viewer.ROIStyleOptions = {\n stroke: {\n color: DEFAULT_ROI_STROKE_COLOR,\n width: DEFAULT_ROI_STROKE_WIDTH\n },\n fill: {\n color: DEFAULT_ROI_FILL_COLOR\n },\n image: {\n circle: {\n fill: {\n color: DEFAULT_ROI_STROKE_COLOR\n },\n radius: DEFAULT_ROI_RADIUS\n }\n }\n }\n\n private roiStyles: {[key: string]: dmv.viewer.ROIStyleOptions} = {}\n\n private readonly selectionColor: number[] = [140, 184, 198]\n\n private readonly selectedRoiStyle: dmv.viewer.ROIStyleOptions = {\n stroke: { color: [...this.selectionColor, 1], width: 3 },\n fill: { color: [...this.selectionColor, 0.2] },\n image: {\n circle: {\n radius: 5,\n fill: { color: [...this.selectionColor, 1] }\n }\n }\n }\n\n constructor (props: SlideViewerProps) {\n super(props)\n console.info(\n `view slide \"${this.props.slide.containerIdentifier}\": `,\n this.props.slide\n )\n const geometryTypeOptions = [\n 'point',\n 'circle',\n 'box',\n 'polygon',\n 'line',\n 'freehandpolygon',\n 'freehandline'\n ]\n props.annotations.forEach((annotation: AnnotationSettings) => {\n const finding = new dcmjs.sr.coding.CodedConcept(annotation.finding)\n this.findingOptions.push(finding)\n const key = _buildKey(finding)\n if (annotation.geometryTypes !== undefined) {\n this.geometryTypeOptions[key] = annotation.geometryTypes\n } else {\n this.geometryTypeOptions[key] = geometryTypeOptions\n }\n this.evaluationOptions[key] = []\n if (annotation.evaluations !== undefined) {\n annotation.evaluations.forEach(evaluation => {\n this.evaluationOptions[key].push({\n name: new dcmjs.sr.coding.CodedConcept(evaluation.name),\n values: evaluation.values.map(value => {\n return new dcmjs.sr.coding.CodedConcept(value)\n })\n })\n })\n }\n if (annotation.measurements !== undefined) {\n annotation.measurements.forEach(measurement => {\n this.measurements.push({\n name: new dcmjs.sr.coding.CodedConcept(measurement.name),\n value: undefined,\n unit: new dcmjs.sr.coding.CodedConcept(measurement.unit)\n })\n })\n }\n if (annotation.style != null) {\n this.roiStyles[key] = _formatRoiStyle(annotation.style)\n } else {\n this.roiStyles[key] = this.defaultRoiStyle\n }\n })\n\n this.componentSetup = this.componentSetup.bind(this)\n this.componentCleanup = this.componentCleanup.bind(this)\n\n this.onWindowResize = this.onWindowResize.bind(this)\n this.handleRoiDrawing = this.handleRoiDrawing.bind(this)\n this.handleRoiTranslation = this.handleRoiTranslation.bind(this)\n this.handleRoiModification = this.handleRoiModification.bind(this)\n this.handleRoiVisibilityChange = this.handleRoiVisibilityChange.bind(this)\n this.handleRoiRemoval = this.handleRoiRemoval.bind(this)\n this.handleRoiSelectionCancellation = this.handleRoiSelectionCancellation.bind(this)\n this.handleAnnotationConfigurationCancellation = this.handleAnnotationConfigurationCancellation.bind(this)\n this.handleAnnotationGeometryTypeSelection = this.handleAnnotationGeometryTypeSelection.bind(this)\n this.handleAnnotationMeasurementActivation = this.handleAnnotationMeasurementActivation.bind(this)\n this.handleAnnotationFindingSelection = this.handleAnnotationFindingSelection.bind(this)\n this.handleAnnotationEvaluationSelection = this.handleAnnotationEvaluationSelection.bind(this)\n this.handleAnnotationEvaluationClearance = this.handleAnnotationEvaluationClearance.bind(this)\n this.handleAnnotationConfigurationCompletion = this.handleAnnotationConfigurationCompletion.bind(this)\n this.handleAnnotationSelection = this.handleAnnotationSelection.bind(this)\n this.handleAnnotationVisibilityChange = this.handleAnnotationVisibilityChange.bind(this)\n this.handleAnnotationGroupVisibilityChange = this.handleAnnotationGroupVisibilityChange.bind(this)\n this.handleAnnotationGroupStyleChange = this.handleAnnotationGroupStyleChange.bind(this)\n this.handleGoTo = this.handleGoTo.bind(this)\n this.handleXCoordinateSelection = this.handleXCoordinateSelection.bind(this)\n this.handleYCoordinateSelection = this.handleYCoordinateSelection.bind(this)\n this.handleMagnificationSelection = this.handleMagnificationSelection.bind(this)\n this.handleSlidePositionSelection = this.handleSlidePositionSelection.bind(this)\n this.handleSlidePositionSelectionCancellation = this.handleSlidePositionSelectionCancellation.bind(this)\n this.handleReportGeneration = this.handleReportGeneration.bind(this)\n this.handleReportVerification = this.handleReportVerification.bind(this)\n this.handleReportCancellation = this.handleReportCancellation.bind(this)\n this.handleSegmentVisibilityChange = this.handleSegmentVisibilityChange.bind(this)\n this.handleSegmentStyleChange = this.handleSegmentStyleChange.bind(this)\n this.handleMappingVisibilityChange = this.handleMappingVisibilityChange.bind(this)\n this.handleMappingStyleChange = this.handleMappingStyleChange.bind(this)\n this.handleOpticalPathVisibilityChange = this.handleOpticalPathVisibilityChange.bind(this)\n this.handleOpticalPathStyleChange = this.handleOpticalPathStyleChange.bind(this)\n this.handleOpticalPathActivityChange = this.handleOpticalPathActivityChange.bind(this)\n this.handlePresentationStateSelection = this.handlePresentationStateSelection.bind(this)\n this.handlePresentationStateReset = this.handlePresentationStateReset.bind(this)\n\n const { volumeViewer, labelViewer } = _constructViewers({\n clients: this.props.clients,\n slide: this.props.slide,\n preload: this.props.preload\n })\n this.volumeViewer = volumeViewer\n this.labelViewer = labelViewer\n this.volumeViewportRef = React.createRef()\n this.labelViewportRef = React.createRef()\n\n /**\n * Deactivate all optical paths. Visibility will be set later, potentially\n * using based on available presentation state instances.\n */\n this.volumeViewer.getAllOpticalPaths().forEach(opticalPath => {\n this.volumeViewer.deactivateOpticalPath(opticalPath.identifier)\n })\n\n const [offset, size] = this.volumeViewer.boundingBox\n\n this.state = {\n selectedRoiUIDs: new Set(),\n visibleRoiUIDs: new Set(),\n visibleSegmentUIDs: new Set(),\n visibleMappingUIDs: new Set(),\n visibleAnnotationGroupUIDs: new Set(),\n visibleOpticalPathIdentifiers: new Set(),\n activeOpticalPathIdentifiers: new Set(),\n presentationStates: [],\n selectedFinding: undefined,\n selectedEvaluations: [],\n generatedReport: undefined,\n isLoading: false,\n isAnnotationModalVisible: false,\n isSelectedRoiModalVisible: false,\n isSelectedMagnificationValid: false,\n isReportModalVisible: false,\n isRoiDrawingActive: false,\n isRoiTranslationActive: false,\n isRoiModificationActive: false,\n isGoToModalVisible: false,\n isSelectedXCoordinateValid: false,\n isSelectedYCoordinateValid: false,\n selectedXCoordinate: undefined,\n validXCoordinateRange: [offset[0], offset[0] + size[0]],\n selectedYCoordinate: undefined,\n validYCoordinateRange: [offset[1], offset[1] + size[1]],\n selectedMagnification: undefined,\n areRoisHidden: false,\n pixelDataStatistics: {},\n selectedPresentationStateUID: this.props.selectedPresentationStateUID,\n loadingFrames: new Set()\n }\n }\n\n componentDidUpdate (\n previousProps: SlideViewerProps,\n previousState: SlideViewerState\n ): void {\n /** Fetch data and update the viewports if the route has changed (\n * i.e., if another series has been selected) or if the client has changed.\n */\n if (\n this.props.location.pathname !== previousProps.location.pathname ||\n this.props.studyInstanceUID !== previousProps.studyInstanceUID ||\n this.props.seriesInstanceUID !== previousProps.seriesInstanceUID ||\n this.props.slide !== previousProps.slide ||\n this.props.clients !== previousProps.clients\n ) {\n if (this.volumeViewportRef.current != null) {\n this.volumeViewportRef.current.innerHTML = ''\n }\n this.volumeViewer.cleanup()\n if (this.labelViewer != null) {\n if (this.labelViewportRef.current != null) {\n this.labelViewportRef.current.innerHTML = ''\n }\n this.labelViewer.cleanup()\n }\n const { volumeViewer, labelViewer } = _constructViewers({\n clients: this.props.clients,\n slide: this.props.slide,\n preload: this.props.preload\n })\n this.volumeViewer = volumeViewer\n this.labelViewer = labelViewer\n\n const activeOpticalPathIdentifiers: Set = new Set()\n const visibleOpticalPathIdentifiers: Set = new Set()\n this.volumeViewer.getAllOpticalPaths().forEach(opticalPath => {\n const identifier = opticalPath.identifier\n if (this.volumeViewer.isOpticalPathVisible(identifier)) {\n visibleOpticalPathIdentifiers.add(identifier)\n }\n if (this.volumeViewer.isOpticalPathActive(identifier)) {\n activeOpticalPathIdentifiers.add(identifier)\n }\n })\n\n const [offset, size] = this.volumeViewer.boundingBox\n\n this.setState({\n visibleRoiUIDs: new Set(),\n visibleSegmentUIDs: new Set(),\n visibleMappingUIDs: new Set(),\n visibleAnnotationGroupUIDs: new Set(),\n visibleOpticalPathIdentifiers,\n activeOpticalPathIdentifiers,\n presentationStates: [],\n loadingFrames: new Set(),\n validXCoordinateRange: [offset[0], offset[0] + size[0]],\n validYCoordinateRange: [offset[1], offset[1] + size[1]]\n })\n this.populateViewports()\n }\n }\n\n /**\n * Retrieve Presentation State instances that reference the any images of\n * the currently selected series.\n */\n loadPresentationStates = (): void => {\n console.info('search for Presentation State instances')\n const client = this.props.clients[\n StorageClasses.ADVANCED_BLENDING_PRESENTATION_STATE\n ]\n client.searchForInstances({\n studyInstanceUID: this.props.studyInstanceUID,\n queryParams: {\n Modality: 'PR'\n }\n }).then((matchedInstances): void => {\n if (matchedInstances == null) {\n matchedInstances = []\n }\n matchedInstances.forEach((rawInstance, index) => {\n const { dataset } = dmv.metadata.formatMetadata(rawInstance)\n const instance = dataset as dmv.metadata.Instance\n console.info(`retrieve PR instance \"${instance.SOPInstanceUID}\"`)\n client.retrieveInstance({\n studyInstanceUID: this.props.studyInstanceUID,\n seriesInstanceUID: instance.SeriesInstanceUID,\n sopInstanceUID: instance.SOPInstanceUID\n }).then((retrievedInstance): void => {\n const data = dcmjs.data.DicomMessage.readFile(retrievedInstance)\n const { dataset } = dmv.metadata.formatMetadata(data.dict)\n if (this.props.slide.areVolumeImagesMonochrome) {\n const presentationState = (\n dataset as\n unknown as\n dmv.metadata.AdvancedBlendingPresentationState\n )\n let doesMatch = false\n presentationState.AdvancedBlendingSequence.forEach(blendingItem => {\n doesMatch = this.props.slide.seriesInstanceUIDs.includes(\n blendingItem.SeriesInstanceUID\n )\n }\n )\n if (doesMatch) {\n console.info(\n 'include Advanced Blending Presentation State instance ' +\n `\"${presentationState.SOPInstanceUID}\"`\n )\n if (\n index === 0 &&\n this.props.selectedPresentationStateUID == null\n ) {\n this.setPresentationState(presentationState)\n } else {\n if (\n presentationState.SOPInstanceUID ===\n this.props.selectedPresentationStateUID\n ) {\n this.setPresentationState(presentationState)\n }\n }\n this.setState(state => {\n const mapping: {\n [sopInstanceUID: string]:\n dmv.metadata.AdvancedBlendingPresentationState\n } = {}\n state.presentationStates.forEach(instance => {\n mapping[instance.SOPInstanceUID] = instance\n })\n mapping[presentationState.SOPInstanceUID] = presentationState\n return { presentationStates: Object.values(mapping) }\n })\n }\n } else {\n console.info(\n `ignore presentation state \"${instance.SOPInstanceUID}\", ` +\n 'application of presentation states for color images ' +\n 'has not (yet) been implemented'\n )\n }\n }).catch((error) => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Presentation State could not be loaded'\n )\n )\n console.error(\n 'failed to load presentation state ' +\n `of SOP instance \"${instance.SOPInstanceUID}\" ` +\n `of series \"${instance.SeriesInstanceUID}\" ` +\n `of study \"${this.props.studyInstanceUID}\": `,\n error\n )\n })\n })\n }).catch((error) => {\n console.error(error)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Presentation State could not be loaded'\n )\n )\n })\n }\n\n /**\n * Set presentation state as specified by a DICOM Presentation State instance.\n */\n setPresentationState = (\n presentationState: dmv.metadata.AdvancedBlendingPresentationState\n ): void => {\n const opticalPaths = this.volumeViewer.getAllOpticalPaths()\n console.info(\n `apply Presentation State instance \"${presentationState.SOPInstanceUID}\"`\n )\n const opticalPathStyles: {\n [opticalPathIdentifier: string]: {\n opacity: number\n paletteColorLookupTable?: dmv.color.PaletteColorLookupTable\n limitValues?: number[]\n } | null\n } = {}\n opticalPaths.forEach(opticalPath => {\n // First, deactivate and hide all optical paths and reset style\n const identifier = opticalPath.identifier\n this.volumeViewer.hideOpticalPath(identifier)\n this.volumeViewer.deactivateOpticalPath(identifier)\n const style = this.volumeViewer.getOpticalPathDefaultStyle(identifier)\n this.volumeViewer.setOpticalPathStyle(identifier, style)\n\n presentationState.AdvancedBlendingSequence.forEach(blendingItem => {\n /**\n * Referenced Instance Sequence should be used instead of Referenced\n * Image Sequence, but that's easy to mix up and we have encountered\n * implementations that get it wrong.\n */\n let refInstanceItems = blendingItem.ReferencedInstanceSequence\n if (refInstanceItems === undefined) {\n refInstanceItems = blendingItem.ReferencedImageSequence\n }\n if (refInstanceItems === undefined) {\n return\n }\n refInstanceItems.forEach(imageItem => {\n const isReferenced = opticalPath.sopInstanceUIDs.includes(\n imageItem.ReferencedSOPInstanceUID\n ) as boolean\n if (isReferenced) {\n let paletteColorLUT\n if (blendingItem.PaletteColorLookupTableSequence != null) {\n const cpLUTItem = blendingItem.PaletteColorLookupTableSequence[0]\n paletteColorLUT = new dmv.color.PaletteColorLookupTable({\n uid: (\n cpLUTItem.PaletteColorLookupTableUID != null\n ? cpLUTItem.PaletteColorLookupTableUID\n : ''\n ),\n redDescriptor:\n cpLUTItem.RedPaletteColorLookupTableDescriptor,\n greenDescriptor:\n cpLUTItem.GreenPaletteColorLookupTableDescriptor,\n blueDescriptor:\n cpLUTItem.BluePaletteColorLookupTableDescriptor,\n redData: (\n (cpLUTItem.RedPaletteColorLookupTableData != null)\n ? new Uint16Array(\n cpLUTItem.RedPaletteColorLookupTableData\n )\n : undefined\n ),\n greenData: (\n (cpLUTItem.GreenPaletteColorLookupTableData != null)\n ? new Uint16Array(\n cpLUTItem.GreenPaletteColorLookupTableData\n )\n : undefined\n ),\n blueData: (\n (cpLUTItem.BluePaletteColorLookupTableData != null)\n ? new Uint16Array(\n cpLUTItem.BluePaletteColorLookupTableData\n )\n : undefined\n ),\n redSegmentedData: (\n (cpLUTItem.SegmentedRedPaletteColorLookupTableData != null)\n ? new Uint16Array(\n cpLUTItem.SegmentedRedPaletteColorLookupTableData\n )\n : undefined\n ),\n greenSegmentedData: (\n (cpLUTItem.SegmentedGreenPaletteColorLookupTableData != null)\n ? new Uint16Array(\n cpLUTItem.SegmentedGreenPaletteColorLookupTableData\n )\n : undefined\n ),\n blueSegmentedData: (\n (cpLUTItem.SegmentedBluePaletteColorLookupTableData != null)\n ? new Uint16Array(\n cpLUTItem.SegmentedBluePaletteColorLookupTableData\n )\n : undefined\n )\n })\n }\n\n let limitValues\n if (blendingItem.SoftcopyVOILUTSequence != null) {\n const voiLUTItem = blendingItem.SoftcopyVOILUTSequence[0]\n const windowCenter = voiLUTItem.WindowCenter\n const windowWidth = voiLUTItem.WindowWidth\n limitValues = [\n windowCenter - windowWidth * 0.5,\n windowCenter + windowWidth * 0.5\n ]\n }\n\n opticalPathStyles[identifier] = {\n opacity: 1,\n paletteColorLookupTable: paletteColorLUT,\n limitValues: limitValues\n }\n }\n })\n })\n })\n\n const selectedOpticalPathIdentifiers: Set = new Set()\n Object.keys(opticalPathStyles).forEach(identifier => {\n const styleOptions = opticalPathStyles[identifier]\n if (styleOptions != null) {\n this.volumeViewer.setOpticalPathStyle(identifier, styleOptions)\n this.volumeViewer.activateOpticalPath(identifier)\n this.volumeViewer.showOpticalPath(identifier)\n selectedOpticalPathIdentifiers.add(identifier)\n } else {\n this.volumeViewer.hideOpticalPath(identifier)\n this.volumeViewer.deactivateOpticalPath(identifier)\n }\n })\n const searchParams = new URLSearchParams(this.props.location.search)\n searchParams.set('state', presentationState.SOPInstanceUID)\n this.props.navigate(\n {\n pathname: this.props.location.pathname,\n search: searchParams.toString()\n },\n { replace: true }\n )\n this.setState(state => ({\n activeOpticalPathIdentifiers: selectedOpticalPathIdentifiers,\n visibleOpticalPathIdentifiers: selectedOpticalPathIdentifiers,\n selectedPresentationStateUID: presentationState.SOPInstanceUID\n }))\n }\n\n getRoiStyle = (key?: string): dmv.viewer.ROIStyleOptions => {\n if (key == null) {\n return this.defaultRoiStyle\n }\n if (this.roiStyles[key] !== undefined) {\n return this.roiStyles[key]\n }\n return this.defaultRoiStyle\n }\n\n /**\n * Retrieve Structured Report instances that contain regions of interests\n * with 3D spatial coordinates defined in the same frame of reference as the\n * currently selected series and add them to the VOLUME image viewer.\n */\n addAnnotations = (): void => {\n console.info('search for Comprehensive 3D SR instances')\n const client = this.props.clients[StorageClasses.COMPREHENSIVE_3D_SR]\n client.searchForInstances({\n studyInstanceUID: this.props.studyInstanceUID,\n queryParams: {\n Modality: 'SR'\n }\n }).then((matchedInstances): void => {\n if (matchedInstances == null) {\n matchedInstances = []\n }\n matchedInstances.forEach(i => {\n const { dataset } = dmv.metadata.formatMetadata(i)\n const instance = dataset as dmv.metadata.Instance\n if (instance.SOPClassUID === StorageClasses.COMPREHENSIVE_3D_SR) {\n console.info(`retrieve SR instance \"${instance.SOPInstanceUID}\"`)\n client.retrieveInstance({\n studyInstanceUID: this.props.studyInstanceUID,\n seriesInstanceUID: instance.SeriesInstanceUID,\n sopInstanceUID: instance.SOPInstanceUID\n }).then((retrievedInstance): void => {\n const data = dcmjs.data.DicomMessage.readFile(retrievedInstance)\n const { dataset } = dmv.metadata.formatMetadata(data.dict)\n const report = dataset as unknown as dmv.metadata.Comprehensive3DSR\n /*\n * Perform a couple of checks to ensure the document content of the\n * report fullfils the requirements of the application.\n */\n if (!_implementsTID1500(report)) {\n console.debug(\n `ignore SR document \"${report.SOPInstanceUID}\" ` +\n 'because it is not structured according to template ' +\n 'TID 1500 \"MeasurementReport\"'\n )\n return\n }\n if (!_describesSpecimenSubject(report)) {\n console.debug(\n `ignore SR document \"${report.SOPInstanceUID}\" ` +\n 'because it does not describe a specimen subject'\n )\n return\n }\n if (!_containsROIAnnotations(report)) {\n console.debug(\n `ignore SR document \"${report.SOPInstanceUID}\" ` +\n 'because it does not contain any suitable ROI annotations'\n )\n return\n }\n\n const content = new MeasurementReport(report)\n content.ROIs.forEach(roi => {\n console.info(`add ROI \"${roi.uid}\"`)\n const scoord3d = roi.scoord3d\n const image = this.props.slide.volumeImages[0]\n if (scoord3d.frameOfReferenceUID === image.FrameOfReferenceUID) {\n /*\n * ROIs may get assigned new UIDs upon re-rendering of the\n * page and we need to ensure that we don't add them twice.\n * The same ROI may be stored in multiple SR documents and\n * we don't want them to show up twice.\n * TODO: We should probably either \"merge\" measurements and\n * quantitative evaluations or pick the ROI from the \"best\"\n * available report (COMPLETE and VERIFIED).\n */\n const doesROIExist = this.volumeViewer.getAllROIs().some(\n (otherROI: dmv.roi.ROI): boolean => {\n return _areROIsEqual(otherROI, roi)\n }\n )\n if (!doesROIExist) {\n try {\n // Add ROI without style such that it won't be visible.\n this.volumeViewer.addROI(roi, {})\n } catch {\n console.error(`could not add ROI \"${roi.uid}\"`)\n }\n } else {\n console.debug(`skip already existing ROI \"${roi.uid}\"`)\n }\n } else {\n console.debug(\n `skip ROI \"${roi.uid}\" ` +\n `of SR document \"${report.SOPInstanceUID}\"` +\n 'because it is defined in another frame of reference'\n )\n }\n })\n }).catch((error) => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Annotations could not be loaded'\n )\n )\n console.error(\n 'failed to load ROIs ' +\n `of SOP instance \"${instance.SOPInstanceUID}\" ` +\n `of series \"${instance.SeriesInstanceUID}\" ` +\n `of study \"${this.props.studyInstanceUID}\": `,\n error\n )\n })\n /*\n * React is not aware of the fact that ROIs have been added via the\n * viewer (the viewport is a ref object) and won't show the\n * annotations in the user interface unless an update is forced.\n */\n this.forceUpdate()\n }\n })\n }).catch((error) => {\n console.error(error)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Annotations could not be loaded'\n )\n )\n })\n }\n\n /**\n * Retrieve Microscopy Bulk Simple Annotations instances that contain\n * annotation groups defined in the same frame of reference as the currently\n * selected series and add them to the VOLUME image viewer.\n */\n addAnnotationGroups = (): void => {\n console.info('search for Microscopy Bulk Simple Annotations instances')\n const client = this.props.clients[\n StorageClasses.MICROSCOPY_BULK_SIMPLE_ANNOTATION\n ]\n client.searchForSeries({\n studyInstanceUID: this.props.studyInstanceUID,\n queryParams: {\n Modality: 'ANN'\n }\n }).then((matchedSeries): void => {\n if (matchedSeries == null) {\n matchedSeries = []\n }\n matchedSeries.forEach(s => {\n const { dataset } = dmv.metadata.formatMetadata(s)\n const series = dataset as dmv.metadata.Series\n client.retrieveSeriesMetadata({\n studyInstanceUID: this.props.studyInstanceUID,\n seriesInstanceUID: series.SeriesInstanceUID\n }).then((retrievedMetadata): void => {\n let annotations: dmv.metadata.MicroscopyBulkSimpleAnnotations[]\n annotations = retrievedMetadata.map(metadata => {\n return new dmv.metadata.MicroscopyBulkSimpleAnnotations({\n metadata\n })\n })\n // annotations = annotations.filter(ann => {\n // const refImage = this.props.slide.volumeImages[0]\n // return (\n // ann.FrameOfReferenceUID === refImage.FrameOfReferenceUID &&\n // ann.ContainerIdentifier === refImage.ContainerIdentifier\n // )\n // })\n annotations.forEach(ann => {\n try {\n this.volumeViewer.addAnnotationGroups(ann)\n } catch (error: any) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Microscopy Bulk Simple Annotations cannot be displayed.'\n )\n )\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n console.error('failed to add annotation groups:', error)\n }\n ann.AnnotationGroupSequence.forEach(item => {\n const annotationGroupUID = item.AnnotationGroupUID\n const finding = item.AnnotationPropertyTypeCodeSequence[0]\n const key = _buildKey(finding)\n const style = this.roiStyles[key]\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n if (style != null && style.fill != null) {\n this.volumeViewer.setAnnotationGroupStyle(\n annotationGroupUID,\n { color: style.fill.color }\n )\n }\n })\n })\n /*\n * React is not aware of the fact that annotation groups have been\n * added via the viewer (the underlying HTML viewport element is a\n * ref object) and won't show the annotation groups in the user\n * interface unless an update is forced.\n */\n this.forceUpdate()\n }).catch((error) => {\n console.error(error)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Retrieval of metadata of Microscopy Bulk Simple Annotations ' +\n 'instances failed.'\n )\n )\n })\n })\n }).catch((error) => {\n console.error(error)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Search for Microscopy Bulk Simple Annotations instances failed.'\n )\n )\n })\n }\n\n /**\n * Retrieve Segmentation instances that contain segments defined in the same\n * frame of reference as the currently selected series and add them to the\n * VOLUME image viewer.\n */\n addSegmentations = (): void => {\n console.info('search for Segmentation instances')\n const client = this.props.clients[StorageClasses.SEGMENTATION]\n client.searchForSeries({\n studyInstanceUID: this.props.studyInstanceUID,\n queryParams: {\n Modality: 'SEG'\n }\n }).then((matchedSeries): void => {\n if (matchedSeries == null) {\n matchedSeries = []\n }\n matchedSeries.forEach((s, i) => {\n const { dataset } = dmv.metadata.formatMetadata(s)\n const series = dataset as dmv.metadata.Series\n client.retrieveSeriesMetadata({\n studyInstanceUID: this.props.studyInstanceUID,\n seriesInstanceUID: series.SeriesInstanceUID\n }).then((retrievedMetadata): void => {\n const segmentations: dmv.metadata.Segmentation[] = []\n retrievedMetadata.forEach(metadata => {\n const seg = new dmv.metadata.Segmentation({ metadata })\n const refImage = this.props.slide.volumeImages[0]\n if (\n seg.FrameOfReferenceUID === refImage.FrameOfReferenceUID &&\n seg.ContainerIdentifier === refImage.ContainerIdentifier\n ) {\n segmentations.push(seg)\n }\n })\n if (segmentations.length > 0) {\n try {\n this.volumeViewer.addSegments(segmentations)\n } catch (error: any) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Segmentations cannot be displayed'\n )\n )\n console.error('failed to add segments: ', error)\n }\n /*\n * React is not aware of the fact that segments have been added via\n * the viewer (the underlying HTML viewport element is a ref object)\n * and won't show the segments in the user interface unless an update\n * is forced.\n */\n this.forceUpdate()\n }\n }).catch((error) => {\n console.error(error)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Retrieval of metadata of Segmentation instances failed.'\n )\n )\n })\n })\n }).catch((error) => {\n console.error(error)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Search for Segmentation instances failed.'\n )\n )\n })\n }\n\n /**\n * Retrieve Parametric Map instances that contain mappings defined in the same\n * frame of reference as the currently selected series and add them to the\n * VOLUME image viewer.\n */\n addParametricMaps = (): void => {\n console.info('search for Parametric Map instances')\n const client = this.props.clients[StorageClasses.PARAMETRIC_MAP]\n client.searchForSeries({\n studyInstanceUID: this.props.studyInstanceUID,\n queryParams: {\n Modality: 'OT'\n }\n }).then((matchedSeries): void => {\n if (matchedSeries == null) {\n matchedSeries = []\n }\n matchedSeries.forEach(s => {\n const { dataset } = dmv.metadata.formatMetadata(s)\n const series = dataset as dmv.metadata.Series\n client.retrieveSeriesMetadata({\n studyInstanceUID: this.props.studyInstanceUID,\n seriesInstanceUID: series.SeriesInstanceUID\n }).then((retrievedMetadata): void => {\n const parametricMaps: dmv.metadata.ParametricMap[] = []\n retrievedMetadata.forEach(metadata => {\n const pm = new dmv.metadata.ParametricMap({ metadata })\n const refImage = this.props.slide.volumeImages[0]\n if (\n pm.FrameOfReferenceUID === refImage.FrameOfReferenceUID &&\n pm.ContainerIdentifier === refImage.ContainerIdentifier\n ) {\n parametricMaps.push(pm)\n } else {\n console.warn(\n `skip Parametric Map instance \"${pm.SOPInstanceUID}\"`\n )\n }\n })\n if (parametricMaps.length > 0) {\n try {\n this.volumeViewer.addParameterMappings(parametricMaps)\n } catch (error: any) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Parametric Map cannot be displayed'\n )\n )\n console.error('failed to add mappings: ', error)\n }\n /*\n * React is not aware of the fact that mappings have been added via\n * the viewer (the underlying HTML viewport element is a ref object)\n * and won't show the mappings in the user interface unless an update\n * is forced.\n */\n this.forceUpdate()\n }\n }).catch((error) => {\n console.error(error)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Retrieval of metadata of Parametric Map instances failed.'\n )\n )\n })\n })\n }).catch((error) => {\n console.error(error)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Search for Parametric Map instances failed.'\n )\n )\n })\n }\n\n /**\n * Populate viewports of the VOLUME and LABEL image viewers.\n */\n populateViewports = (): void => {\n console.info('populate viewports...')\n this.setState({\n isLoading: true,\n presentationStates: []\n })\n\n if (this.volumeViewportRef.current != null) {\n this.volumeViewer.render({ container: this.volumeViewportRef.current })\n }\n if (\n this.labelViewportRef.current != null &&\n this.labelViewer != null\n ) {\n this.labelViewer.render({ container: this.labelViewportRef.current })\n }\n\n // State update will also ensure that the component is re-rendered.\n this.setState({ isLoading: false })\n\n this.setDefaultPresentationState()\n this.loadPresentationStates()\n\n this.addAnnotations()\n this.addAnnotationGroups()\n this.addSegmentations()\n this.addParametricMaps()\n }\n\n onRoiModified = (event: CustomEventInit): void => {\n // Update state to trigger rendering\n this.setState(state => ({\n visibleRoiUIDs: new Set(state.visibleRoiUIDs)\n }))\n }\n\n onWindowResize = (event: Event): void => {\n console.info('resize viewports')\n this.volumeViewer.resize()\n if (this.labelViewer != null) {\n this.labelViewer.resize()\n }\n }\n\n onRoiDrawn = (event: CustomEventInit): void => {\n const roi = event.detail.payload as dmv.roi.ROI\n const selectedFinding = this.state.selectedFinding\n const selectedEvaluations = this.state.selectedEvaluations\n if (roi !== undefined && selectedFinding !== undefined) {\n console.debug(`add ROI \"${roi.uid}\"`)\n const findingItem = new dcmjs.sr.valueTypes.CodeContentItem({\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121071',\n meaning: 'Finding',\n schemeDesignator: 'DCM'\n }),\n value: selectedFinding,\n relationshipType: 'CONTAINS'\n })\n roi.addEvaluation(findingItem)\n selectedEvaluations.forEach((evaluation: Evaluation) => {\n const item = new dcmjs.sr.valueTypes.CodeContentItem({\n name: evaluation.name,\n value: evaluation.value,\n relationshipType: 'CONTAINS'\n })\n roi.addEvaluation(item)\n })\n const key = _buildKey(selectedFinding)\n const style = this.getRoiStyle(key)\n this.volumeViewer.addROI(roi, style)\n this.setState(state => {\n const visibleRoiUIDs = state.visibleRoiUIDs\n visibleRoiUIDs.add(roi.uid)\n return { visibleRoiUIDs }\n })\n } else {\n console.debug(`could not add ROI \"${roi.uid}\"`)\n }\n }\n\n onRoiDoubleClicked = (event: CustomEventInit): void => {\n const selectedRoi = event.detail.payload as dmv.roi.ROI\n if (selectedRoi != null) {\n this.setState({\n isSelectedRoiModalVisible: true\n })\n } else {\n this.setState({\n isSelectedRoiModalVisible: false\n })\n }\n }\n\n onRoiSelected = (event: CustomEventInit): void => {\n const selectedRoi = event.detail.payload as dmv.roi.ROI\n if (selectedRoi != null) {\n console.debug(`selected ROI \"${selectedRoi.uid}\"`)\n this.volumeViewer.setROIStyle(selectedRoi.uid, this.selectedRoiStyle)\n const key = _getRoiKey(selectedRoi)\n this.volumeViewer.getAllROIs().forEach((roi) => {\n if (roi.uid !== selectedRoi.uid) {\n this.volumeViewer.setROIStyle(roi.uid, this.getRoiStyle(key))\n }\n })\n this.setState({\n selectedRoiUIDs: new Set([selectedRoi.uid]),\n selectedRoi: selectedRoi\n })\n } else {\n this.setState({\n selectedRoiUIDs: new Set(),\n selectedRoi: undefined\n })\n }\n }\n\n handleRoiSelectionCancellation (): void {\n this.setState({\n isSelectedRoiModalVisible: false\n })\n }\n\n onLoadingStarted = (event: CustomEventInit): void => {\n this.setState({ isLoading: true })\n }\n\n onLoadingEnded = (event: CustomEventInit): void => {\n this.setState({ isLoading: false })\n }\n\n onFrameLoadingStarted = (event: CustomEventInit): void => {\n const frameInfo: {\n studyInstanceUID: string\n seriesInstanceUID: string\n sopInstanceUID: string\n sopClassUID: string\n frameNumber: string\n channelIdentifier: string\n } = event.detail.payload\n const key: string = `${frameInfo.sopInstanceUID}-${frameInfo.frameNumber}`\n this.setState(state => {\n state.loadingFrames.add(key)\n return state\n })\n }\n\n onFrameLoadingError = (event: CustomEventInit): void => { \n console.error('Failed to load frame')\n }\n\n onLoadingError = (event: CustomEventInit): void => { \n console.error('Failed to load data')\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n event.detail.payload && event.detail.payload.message ? event.detail.payload.message : 'Failed to load data'\n )\n )\n }\n\n onFrameLoadingEnded = (event: CustomEventInit): void => {\n const frameInfo: {\n studyInstanceUID: string\n seriesInstanceUID: string\n sopInstanceUID: string\n sopClassUID: string\n frameNumber: string\n channelIdentifier: string\n pixelArray: Uint8Array|Uint16Array|Float32Array|null\n } = event.detail.payload\n const key = `${frameInfo.sopInstanceUID}-${frameInfo.frameNumber}`\n this.setState(state => {\n state.loadingFrames.delete(key)\n let isLoading: boolean = false\n if (state.loadingFrames.size > 0) {\n isLoading = true\n }\n return {\n isLoading,\n loadingFrames: state.loadingFrames\n }\n })\n if (\n frameInfo.sopClassUID === StorageClasses.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE &&\n this.props.slide.areVolumeImagesMonochrome\n ) {\n const opticalPathIdentifier = frameInfo.channelIdentifier\n if (\n !(opticalPathIdentifier in this.state.pixelDataStatistics) &&\n frameInfo.pixelArray != null\n ) {\n /*\n * There are limits on the number of arguments Math.min and Math.max\n * functions can accept. Therefore, we compute values in smaller chunks.\n */\n const size = 2 ** 16\n const chunks = Math.ceil(frameInfo.pixelArray.length / size)\n let offset = 0\n const minValues: number[] = []\n const maxValues: number[] = []\n for (let i = 0; i < chunks; i++) {\n offset = i * size\n const pixels = frameInfo.pixelArray.slice(offset, offset + size)\n minValues.push(Math.min(...pixels))\n maxValues.push(Math.max(...pixels))\n }\n const min = Math.min(...minValues)\n const max = Math.max(...maxValues)\n this.setState(state => {\n const stats = state.pixelDataStatistics\n if (stats[opticalPathIdentifier] != null) {\n stats[opticalPathIdentifier] = {\n min: Math.min(stats[opticalPathIdentifier].min, min),\n max: Math.max(stats[opticalPathIdentifier].max, max),\n numFramesSampled: stats[opticalPathIdentifier].numFramesSampled + 1\n }\n } else {\n stats[opticalPathIdentifier] = {\n min: min,\n max: max,\n numFramesSampled: 1\n }\n }\n if (state.selectedPresentationStateUID == null) {\n const style = {\n ...this.volumeViewer.getOpticalPathStyle(opticalPathIdentifier)\n }\n style.limitValues = [\n stats[opticalPathIdentifier].min,\n stats[opticalPathIdentifier].max\n ]\n this.volumeViewer.setOpticalPathStyle(opticalPathIdentifier, style)\n }\n return state\n })\n }\n }\n }\n\n onRoiRemoved = (event: CustomEventInit): void => {\n const roi = event.detail.payload as dmv.roi.ROI\n console.debug(`removed ROI \"${roi.uid}\"`)\n }\n\n componentCleanup (): void {\n document.body.removeEventListener(\n 'dicommicroscopyviewer_roi_drawn',\n this.onRoiDrawn\n )\n document.body.removeEventListener(\n 'dicommicroscopyviewer_roi_selected',\n this.onRoiSelected\n )\n document.body.removeEventListener(\n 'dicommicroscopyviewer_roi_double_clicked',\n this.onRoiDoubleClicked\n )\n document.body.removeEventListener(\n 'dicommicroscopyviewer_roi_removed',\n this.onRoiRemoved\n )\n document.body.removeEventListener(\n 'dicommicroscopyviewer_roi_modified',\n this.onRoiModified\n )\n document.body.removeEventListener(\n 'dicommicroscopyviewer_loading_started',\n this.onLoadingStarted\n )\n document.body.removeEventListener(\n 'dicommicroscopyviewer_loading_ended',\n this.onLoadingEnded\n )\n document.body.removeEventListener(\n 'dicommicroscopyviewer_frame_loading_started',\n this.onFrameLoadingStarted\n )\n document.body.removeEventListener(\n 'dicommicroscopyviewer_frame_loading_ended',\n this.onFrameLoadingEnded\n )\n document.body.removeEventListener(\n 'keyup',\n this.onKeyUp\n )\n window.removeEventListener('resize', this.onWindowResize)\n\n this.volumeViewer.cleanup()\n if (this.labelViewer != null) {\n this.labelViewer.cleanup()\n }\n /*\n * FIXME: React appears to not clean the content of referenced\n * HTMLDivElement objects when the page is reloaded. As a consequence,\n * optical paths and other display items cannot be toggled or updated after\n * a manual page reload. I have tried using ref callbacks and passing the\n * ref objects from the parent component via the props. Both didn't work\n * either.\n */\n }\n\n onKeyUp = (event: KeyboardEvent): void => {\n if (event.key === 'Escape') {\n if (this.state.isRoiDrawingActive) {\n console.info('deactivate drawing of ROIs')\n this.volumeViewer.deactivateDrawInteraction()\n this.volumeViewer.activateSelectInteraction({})\n } else if (this.state.isRoiModificationActive) {\n console.info('deactivate modification of ROIs')\n this.volumeViewer.deactivateModifyInteraction()\n this.volumeViewer.activateSelectInteraction({})\n } else if (this.state.isRoiTranslationActive) {\n console.info('deactivate modification of ROIs')\n this.volumeViewer.deactivateTranslateInteraction()\n this.volumeViewer.activateSelectInteraction({})\n }\n this.setState({\n isAnnotationModalVisible: false,\n isSelectedRoiModalVisible: false,\n isRoiTranslationActive: false,\n isRoiDrawingActive: false,\n isRoiModificationActive: false,\n isGoToModalVisible: false\n })\n } else if (event.altKey) {\n if (event.code === 'KeyD') {\n this.handleRoiDrawing()\n } else if (event.code === 'KeyM') {\n this.handleRoiModification()\n } else if (event.code === 'KeyT') {\n this.handleRoiTranslation()\n } else if (event.code === 'KeyR') {\n this.handleRoiRemoval()\n } else if (event.code === 'KeyV') {\n this.handleRoiVisibilityChange()\n } else if (event.code === 'KeyS') {\n this.handleReportGeneration()\n } else if (event.code === 'KeyG') {\n this.handleGoTo()\n }\n }\n }\n\n componentWillUnmount (): void {\n this.volumeViewer.cleanup()\n if (this.labelViewer != null) {\n this.labelViewer.cleanup()\n }\n window.removeEventListener('beforeunload', this.componentCleanup)\n }\n\n componentSetup (): void {\n document.body.addEventListener(\n 'dicommicroscopyviewer_roi_drawn',\n this.onRoiDrawn\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_roi_selected',\n this.onRoiSelected\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_roi_double_clicked',\n this.onRoiDoubleClicked\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_roi_removed',\n this.onRoiRemoved\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_roi_modified',\n this.onRoiModified\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_loading_started',\n this.onLoadingStarted\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_loading_ended',\n this.onLoadingEnded\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_loading_error',\n this.onLoadingError\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_frame_loading_started',\n this.onFrameLoadingStarted\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_frame_loading_ended',\n this.onFrameLoadingEnded\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_frame_loading_error',\n this.onFrameLoadingError\n )\n document.body.addEventListener(\n 'keyup',\n this.onKeyUp\n )\n window.addEventListener('beforeunload', this.componentCleanup)\n window.addEventListener('resize', this.onWindowResize)\n }\n\n componentDidMount (): void {\n this.componentSetup()\n this.populateViewports()\n\n if (!this.props.slide.areVolumeImagesMonochrome) {\n let hasICCProfile = false\n const image = this.props.slide.volumeImages[0]\n const metadataItem = image.OpticalPathSequence[0]\n if (metadataItem.ICCProfile == null) {\n if ('OpticalPathSequence' in image.bulkdataReferences) {\n // @ts-expect-error\n const bulkdataItem = image.bulkdataReferences.OpticalPathSequence[0]\n if ('ICCProfile' in bulkdataItem) {\n hasICCProfile = true\n }\n }\n } else {\n hasICCProfile = true\n }\n if (!hasICCProfile) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n message.warning('No ICC Profile was found for color images')\n }\n }\n }\n\n /**\n * Handler that gets called when a finding has been selected for annotation.\n *\n * @param value - Code value of the coded finding that got selected\n * @param option - Option that got selected\n */\n handleAnnotationFindingSelection (\n value: string,\n option: any\n ): void {\n this.findingOptions.forEach(finding => {\n if (finding.CodeValue === value) {\n console.info(`selected finding \"${finding.CodeMeaning}\"`)\n this.setState({\n selectedFinding: finding,\n selectedEvaluations: []\n })\n }\n })\n }\n\n /**\n * Handler that gets called when a geometry type has been selected for\n * annotation.\n *\n * @param value - Code value of the coded finding that got selected\n * @param option - Option that got selected\n */\n handleAnnotationGeometryTypeSelection (value: string, option: any): void {\n this.setState({ selectedGeometryType: value })\n }\n\n /**\n * Handler that gets called when measurements have been selected for\n * annotation.\n */\n handleAnnotationMeasurementActivation (event: any): void {\n const active: boolean = event.target.checked\n if (active) {\n this.setState({ selectedMarkup: 'measurement' })\n } else {\n this.setState({ selectedMarkup: undefined })\n }\n }\n\n /**\n * Handler that gets called when an evaluation has been selected for an\n * annotation.\n *\n * @param value - Code value of the coded evaluation that got selected\n * @param option - Option that got selected\n */\n handleAnnotationEvaluationSelection (\n value: string,\n option: any\n ): void {\n const selectedFinding = this.state.selectedFinding\n if (selectedFinding !== undefined) {\n const key = _buildKey(selectedFinding)\n const name = option.label\n this.evaluationOptions[key].forEach(evaluation => {\n if (\n evaluation.name.CodeValue === name.CodeValue &&\n evaluation.name.CodingSchemeDesignator === name.CodingSchemeDesignator\n ) {\n evaluation.values.forEach(code => {\n if (code.CodeValue === value) {\n const filteredEvaluations = this.state.selectedEvaluations.filter(\n (item: Evaluation) => item.name !== evaluation.name\n )\n this.setState({\n selectedEvaluations: [\n ...filteredEvaluations,\n { name: name, value: code }\n ]\n })\n }\n })\n }\n })\n }\n }\n\n /**\n * Handler that gets called when an evaluation has been cleared for an\n * annotation.\n */\n handleAnnotationEvaluationClearance (): void {\n this.setState({\n selectedEvaluations: []\n })\n }\n\n handleXCoordinateSelection (value: any): void {\n if (value != null) {\n const x = Number(value)\n const start = this.state.validXCoordinateRange[0]\n const end = this.state.validXCoordinateRange[1]\n if (x >= start && x <= end) {\n this.setState({\n selectedXCoordinate: x,\n isSelectedXCoordinateValid: true\n })\n return\n }\n }\n this.setState({\n selectedXCoordinate: undefined,\n isSelectedXCoordinateValid: false\n })\n }\n\n handleYCoordinateSelection (value: any): void {\n if (value != null) {\n const y = Number(value)\n const start = this.state.validYCoordinateRange[0]\n const end = this.state.validYCoordinateRange[1]\n if (y >= start && y <= end) {\n this.setState({\n selectedYCoordinate: y,\n isSelectedYCoordinateValid: true\n })\n return\n }\n }\n this.setState({\n selectedYCoordinate: undefined,\n isSelectedYCoordinateValid: false\n })\n }\n\n handleMagnificationSelection (value: any): void {\n if (value != null) {\n if (value > 0 && value <= 40) {\n this.setState({\n selectedMagnification: Number(value),\n isSelectedMagnificationValid: true\n })\n return\n }\n }\n this.setState({\n selectedMagnification: undefined,\n isSelectedMagnificationValid: false\n })\n }\n\n /**\n * Handler that gets called when the selection of slide position was\n * completed.\n */\n handleSlidePositionSelection (): void {\n if (\n this.state.isSelectedXCoordinateValid &&\n this.state.isSelectedYCoordinateValid &&\n this.state.isSelectedMagnificationValid &&\n this.state.selectedXCoordinate != null &&\n this.state.selectedYCoordinate != null &&\n this.state.selectedMagnification != null\n ) {\n console.info(\n 'select slide position ' +\n `(${this.state.selectedXCoordinate}, ` +\n `${this.state.selectedYCoordinate}) ` +\n `at ${this.state.selectedMagnification}x magnification`\n )\n\n const factor = this.state.selectedMagnification\n /**\n * On an optical microscope an objective with 1x magnification\n * corresponds to approximately 10 micrometer pixel spacing\n * (due to the ocular).\n */\n const targetPixelSpacing = 0.01 / factor\n const diffs = []\n for (let i = 0; i < this.volumeViewer.numLevels; i++) {\n const actualPixelSpacing = this.volumeViewer.getPixelSpacing(i)[0]\n diffs.push(Math.abs(targetPixelSpacing - actualPixelSpacing))\n }\n const level = diffs.indexOf(Math.min(...diffs))\n this.volumeViewer.navigate({\n position: [\n this.state.selectedXCoordinate,\n this.state.selectedYCoordinate\n ],\n level: level\n })\n const point = new dmv.scoord3d.Point({\n coordinates: [\n this.state.selectedXCoordinate,\n this.state.selectedYCoordinate,\n 0\n ],\n frameOfReferenceUID: this.volumeViewer.frameOfReferenceUID\n })\n const roi = new dmv.roi.ROI({ scoord3d: point })\n this.volumeViewer.addROI(roi, this.defaultRoiStyle)\n this.setState(state => {\n const visibleRoiUIDs = state.visibleRoiUIDs\n visibleRoiUIDs.add(roi.uid)\n return {\n visibleRoiUIDs,\n isGoToModalVisible: false\n }\n })\n }\n }\n\n /**\n * Handler that gets called when the selection of a slide position was\n * canceled.\n */\n handleSlidePositionSelectionCancellation (): void {\n console.log('cancel slide position selection')\n this.setState({\n isGoToModalVisible: false,\n isSelectedXCoordinateValid: false,\n isSelectedYCoordinateValid: false,\n isSelectedMagnificationValid: false,\n selectedXCoordinate: undefined,\n selectedYCoordinate: undefined,\n selectedMagnification: undefined\n })\n }\n\n /**\n * Handler that gets called when annotation configuration has been completed.\n */\n handleAnnotationConfigurationCompletion (): void {\n console.debug('complete annotation configuration')\n const finding = this.state.selectedFinding\n const geometryType = this.state.selectedGeometryType\n const markup = this.state.selectedMarkup\n if (geometryType !== undefined && finding !== undefined) {\n this.volumeViewer.activateDrawInteraction({ geometryType, markup })\n this.setState({\n isAnnotationModalVisible: false,\n isRoiDrawingActive: true\n })\n } else {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Could not complete annotation configuration'\n )\n )\n }\n }\n\n /**\n * Handler that gets called when annotation configuration has been cancelled.\n */\n handleAnnotationConfigurationCancellation (): void {\n console.debug('cancel annotation configuration')\n this.setState({\n isAnnotationModalVisible: false,\n isRoiDrawingActive: false\n })\n }\n\n /**\n * Handler that gets called when a report should be generated for the current\n * set of annotations.\n */\n handleReportGeneration (): void {\n console.info('save ROIs')\n const rois = this.volumeViewer.getAllROIs()\n const opticalPaths = this.volumeViewer.getAllOpticalPaths()\n const metadata = this.volumeViewer.getOpticalPathMetadata(\n opticalPaths[0].identifier\n )\n // Metadata should be sorted such that the image with the highest\n // resolution is the last item in the array.\n const refImage = metadata[metadata.length - 1]\n // We assume that there is only one specimen (tissue section) per\n // ontainer (slide). Only the tissue section is tracked with a unique\n // identifier, even if the section may be composed of different biological\n // samples.\n if (refImage.SpecimenDescriptionSequence.length > 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'More than one specimen has been described for the slide'\n )\n )\n }\n const refSpecimen = refImage.SpecimenDescriptionSequence[0]\n\n console.debug('create Observation Context')\n let observer\n if (this.props.user !== undefined) {\n observer = new dcmjs.sr.templates.PersonObserverIdentifyingAttributes({\n name: this.props.user.name,\n loginName: this.props.user.email\n })\n } else {\n console.warn('no user information available')\n observer = new dcmjs.sr.templates.PersonObserverIdentifyingAttributes({\n name: 'ANONYMOUS'\n })\n }\n const observationContext = new dcmjs.sr.templates.ObservationContext({\n observerPersonContext: new dcmjs.sr.templates.ObserverContext({\n observerType: new dcmjs.sr.coding.CodedConcept({\n value: '121006',\n schemeDesignator: 'DCM',\n meaning: 'Person'\n }),\n observerIdentifyingAttributes: observer\n }),\n observerDeviceContext: new dcmjs.sr.templates.ObserverContext({\n observerType: new dcmjs.sr.coding.CodedConcept({\n value: '121007',\n schemeDesignator: 'DCM',\n meaning: 'Device'\n }),\n observerIdentifyingAttributes:\n new dcmjs.sr.templates.DeviceObserverIdentifyingAttributes({\n uid: this.props.app.uid,\n manufacturerName: 'MGH Computational Pathology',\n modelName: this.props.app.name\n })\n }),\n subjectContext: new dcmjs.sr.templates.SubjectContext({\n subjectClass: new dcmjs.sr.coding.CodedConcept({\n value: '121027',\n schemeDesignator: 'DCM',\n meaning: 'Specimen'\n }),\n subjectClassSpecificContext:\n new dcmjs.sr.templates.SubjectContextSpecimen({\n uid: refSpecimen.SpecimenUID,\n identifier: refSpecimen.SpecimenIdentifier,\n containerIdentifier: refImage.ContainerIdentifier\n })\n })\n })\n\n console.debug('encode Imaging Measurements')\n const imagingMeasurements: dcmjs.sr.valueTypes.ContainerContentItem[] = []\n for (let i = 0; i < rois.length; i++) {\n const roi = rois[i]\n if (!this.state.visibleRoiUIDs.has(roi.uid)) {\n continue\n }\n let findingType = roi.evaluations.find(\n (item: dcmjs.sr.valueTypes.ContentItem) => {\n return item.ConceptNameCodeSequence[0].CodeValue === '121071'\n }\n )\n if (findingType === undefined) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n `No finding type was specified for ROI \"${roi.uid}\"`\n )\n )\n }\n findingType = findingType as dcmjs.sr.valueTypes.CodeContentItem\n const group = new dcmjs.sr.templates.PlanarROIMeasurementsAndQualitativeEvaluations({\n trackingIdentifier: new dcmjs.sr.templates.TrackingIdentifier({\n uid: roi.properties.trackingUID ?? roi.uid,\n identifier: `ROI #${i + 1}`\n }),\n referencedRegion: new dcmjs.sr.contentItems.ImageRegion3D({\n graphicType: roi.scoord3d.graphicType,\n graphicData: roi.scoord3d.graphicData,\n frameOfReferenceUID: roi.scoord3d.frameOfReferenceUID\n }),\n findingType: new dcmjs.sr.coding.CodedConcept({\n value: findingType.ConceptCodeSequence[0].CodeValue,\n schemeDesignator:\n findingType.ConceptCodeSequence[0].CodingSchemeDesignator,\n meaning: findingType.ConceptCodeSequence[0].CodeMeaning\n }),\n qualitativeEvaluations: roi.evaluations.filter(\n (item: dcmjs.sr.valueTypes.ContentItem) => {\n return item.ConceptNameCodeSequence[0].CodeValue !== '121071'\n }\n ),\n measurements: roi.measurements\n })\n const measurements = group as dcmjs.sr.valueTypes.ContainerContentItem[]\n measurements[0].ContentTemplateSequence = [{\n MappingResource: 'DCMR',\n TemplateIdentifier: '1410'\n }]\n imagingMeasurements.push(...measurements)\n }\n\n console.debug('create Measurement Report document content')\n const measurementReport = new dcmjs.sr.templates.MeasurementReport({\n languageOfContentItemAndDescendants: new dcmjs.sr.templates.LanguageOfContentItemAndDescendants({}),\n observationContext: observationContext,\n procedureReported: new dcmjs.sr.coding.CodedConcept({\n value: '112703',\n schemeDesignator: 'DCM',\n meaning: 'Whole Slide Imaging'\n }),\n imagingMeasurements: imagingMeasurements\n })\n\n console.info('create Comprehensive 3D SR document')\n const dataset = new dcmjs.sr.documents.Comprehensive3DSR({\n content: measurementReport[0],\n evidence: [refImage],\n seriesInstanceUID: dcmjs.data.DicomMetaDictionary.uid(),\n seriesNumber: 1,\n seriesDescription: 'Annotation',\n sopInstanceUID: dcmjs.data.DicomMetaDictionary.uid(),\n instanceNumber: 1,\n manufacturer: 'MGH Computational Pathology',\n previousVersions: undefined // TODO\n })\n\n this.setState({\n isReportModalVisible: true,\n generatedReport: dataset as dmv.metadata.Comprehensive3DSR\n })\n }\n\n /**\n * Handler that gets called when a report should be verified. The current\n * list of annotations will be presented to the user together with other\n * pertinent metadata about the patient, study, and specimen.\n */\n handleReportVerification (): void {\n console.info('verfied report')\n\n const report = this.state.generatedReport\n if (report !== undefined) {\n const dataset = report as unknown as dmv.metadata.Comprehensive3DSR\n console.debug('create File Meta Information')\n const fileMetaInformationVersionArray = new Uint8Array(2)\n fileMetaInformationVersionArray[1] = 1\n const fileMeta = {\n // FileMetaInformationVersion\n '00020001': {\n Value: [fileMetaInformationVersionArray.buffer],\n vr: 'OB'\n },\n // MediaStorageSOPClassUID\n '00020002': {\n Value: [dataset.SOPClassUID],\n vr: 'UI'\n },\n // MediaStorageSOPInstanceUID\n '00020003': {\n Value: [dataset.SOPInstanceUID],\n vr: 'UI'\n },\n // TransferSyntaxUID\n '00020010': {\n Value: ['1.2.840.10008.1.2.1'],\n vr: 'UI'\n },\n // ImplementationClassUID\n '00020012': {\n Value: [this.props.app.uid],\n vr: 'UI'\n }\n }\n\n console.info('store Comprehensive 3D SR document')\n const writer = new dcmjs.data.DicomDict(fileMeta)\n writer.dict = dcmjs.data.DicomMetaDictionary.denaturalizeDataset(dataset)\n const buffer = writer.write()\n const client = this.props.clients[StorageClasses.COMPREHENSIVE_3D_SR]\n client.storeInstances({ datasets: [buffer] }).then(\n (response: any) => message.info('Annotations were saved.')\n ).catch((error) => {\n console.error(error)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Annotations could not be saved'\n )\n )\n })\n }\n this.setState({\n isReportModalVisible: false,\n generatedReport: undefined\n })\n }\n\n /**\n * Handler that gets called when report generation has been cancelled.\n */\n handleReportCancellation (): void {\n this.setState({\n isReportModalVisible: false,\n generatedReport: undefined\n })\n }\n\n /**\n * Handler that gets called when an annotation has been selected from the\n * current list of annotations.\n */\n handleAnnotationSelection ({ roiUID }: { roiUID: string }): void {\n console.log(`selected ROI ${roiUID}`)\n this.setState({ selectedRoiUIDs: new Set([roiUID]) })\n this.volumeViewer.getAllROIs().forEach((roi) => {\n let style = {}\n if (roi.uid === roiUID) {\n style = this.selectedRoiStyle\n this.setState(state => {\n const visibleRoiUIDs = state.visibleRoiUIDs\n visibleRoiUIDs.add(roi.uid)\n return { visibleRoiUIDs }\n })\n } else {\n if (this.state.visibleRoiUIDs.has(roi.uid)) {\n const key = _getRoiKey(roi)\n style = this.getRoiStyle(key)\n }\n }\n this.volumeViewer.setROIStyle(roi.uid, style)\n })\n }\n\n /**\n * Handle toggling of annotation visibility, i.e., whether a given\n * annotation should be either displayed or hidden by the viewer.\n */\n handleAnnotationVisibilityChange ({ roiUID, isVisible }: {\n roiUID: string\n isVisible: boolean\n }): void {\n if (isVisible) {\n console.info(`show ROI ${roiUID}`)\n const roi = this.volumeViewer.getROI(roiUID)\n const key = _getRoiKey(roi)\n this.volumeViewer.setROIStyle(roi.uid, this.getRoiStyle(key))\n this.setState(state => {\n const visibleRoiUIDs = state.visibleRoiUIDs\n visibleRoiUIDs.add(roi.uid)\n return { visibleRoiUIDs }\n })\n } else {\n console.info(`hide ROI ${roiUID}`)\n this.setState(state => {\n const selectedRoiUIDs = state.selectedRoiUIDs\n selectedRoiUIDs.delete(roiUID)\n const visibleRoiUIDs = state.visibleRoiUIDs\n visibleRoiUIDs.delete(roiUID)\n return { visibleRoiUIDs, selectedRoiUIDs }\n })\n this.volumeViewer.setROIStyle(roiUID, {})\n }\n }\n\n /**\n * Handle toggling of annotation group visibility, i.e., whether a given\n * annotation group should be either displayed or hidden by the viewer.\n */\n handleAnnotationGroupVisibilityChange ({ annotationGroupUID, isVisible }: {\n annotationGroupUID: string\n isVisible: boolean\n }): void {\n console.log(`change visibility of annotation group ${annotationGroupUID}`)\n if (isVisible) {\n console.info(`show annotation group ${annotationGroupUID}`)\n try {\n this.volumeViewer.showAnnotationGroup(annotationGroupUID)\n } catch (error) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Failed to show annotation group.'\n )\n )\n throw error\n }\n this.setState(state => {\n const visibleAnnotationGroupUIDs = new Set(\n state.visibleAnnotationGroupUIDs\n )\n visibleAnnotationGroupUIDs.add(annotationGroupUID)\n return { visibleAnnotationGroupUIDs }\n })\n } else {\n console.info(`hide annotation group ${annotationGroupUID}`)\n this.volumeViewer.hideAnnotationGroup(annotationGroupUID)\n this.setState(state => {\n const visibleAnnotationGroupUIDs = new Set(\n state.visibleAnnotationGroupUIDs\n )\n visibleAnnotationGroupUIDs.delete(annotationGroupUID)\n return { visibleAnnotationGroupUIDs }\n })\n }\n }\n\n /**\n * Handle change of annotation group style.\n */\n handleAnnotationGroupStyleChange ({ annotationGroupUID, styleOptions }: {\n annotationGroupUID: string\n styleOptions: {\n opacity?: number\n color?: number[]\n measurement?: dcmjs.sr.coding.CodedConcept\n }\n }): void {\n console.log(`change style of annotation group ${annotationGroupUID}`)\n try {\n this.volumeViewer.setAnnotationGroupStyle(\n annotationGroupUID,\n styleOptions\n )\n } catch (error) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Failed to change style of annotation group.'\n )\n )\n throw error\n }\n }\n\n /**\n * Handle toggling of segment visibility, i.e., whether a given\n * segment should be either displayed or hidden by the viewer.\n */\n handleSegmentVisibilityChange ({ segmentUID, isVisible }: {\n segmentUID: string\n isVisible: boolean\n }): void {\n console.log(`change visibility of segment ${segmentUID}`)\n if (isVisible) {\n console.info(`show segment ${segmentUID}`)\n this.volumeViewer.showSegment(segmentUID)\n this.setState(state => {\n const visibleSegmentUIDs = new Set(state.visibleSegmentUIDs)\n visibleSegmentUIDs.add(segmentUID)\n return { visibleSegmentUIDs }\n })\n } else {\n console.info(`hide segment ${segmentUID}`)\n this.volumeViewer.hideSegment(segmentUID)\n this.setState(state => {\n const visibleSegmentUIDs = new Set(state.visibleSegmentUIDs)\n visibleSegmentUIDs.delete(segmentUID)\n return { visibleSegmentUIDs }\n })\n }\n }\n\n /**\n * Handle change of segment style.\n */\n handleSegmentStyleChange ({ segmentUID, styleOptions }: {\n segmentUID: string\n styleOptions: {\n opacity?: number\n }\n }): void {\n console.log(`change style of segment ${segmentUID}`)\n this.volumeViewer.setSegmentStyle(segmentUID, styleOptions)\n }\n\n /**\n * Handle toggling of mapping visibility, i.e., whether a given\n * mapping should be either displayed or hidden by the viewer.\n */\n handleMappingVisibilityChange ({ mappingUID, isVisible }: {\n mappingUID: string\n isVisible: boolean\n }): void {\n console.log(`change visibility of mapping ${mappingUID}`)\n if (isVisible) {\n console.info(`show mapping ${mappingUID}`)\n this.volumeViewer.showParameterMapping(mappingUID)\n this.setState(state => {\n const visibleMappingUIDs = new Set(state.visibleMappingUIDs)\n visibleMappingUIDs.add(mappingUID)\n return { visibleMappingUIDs }\n })\n } else {\n console.info(`hide mapping ${mappingUID}`)\n this.volumeViewer.hideParameterMapping(mappingUID)\n this.setState(state => {\n const visibleMappingUIDs = new Set(state.visibleMappingUIDs)\n visibleMappingUIDs.delete(mappingUID)\n return { visibleMappingUIDs }\n })\n }\n }\n\n /**\n * Handle change of mapping style.\n */\n handleMappingStyleChange ({ mappingUID, styleOptions }: {\n mappingUID: string\n styleOptions: {\n opacity?: number\n }\n }): void {\n console.log(`change style of mapping ${mappingUID}`)\n this.volumeViewer.setParameterMappingStyle(mappingUID, styleOptions)\n }\n\n /**\n * Handle toggling of optical path visibility, i.e., whether a given\n * optical path should be either displayed or hidden by the viewer.\n */\n handleOpticalPathVisibilityChange ({ opticalPathIdentifier, isVisible }: {\n opticalPathIdentifier: string\n isVisible: boolean\n }): void {\n console.log(`change visibility of optical path ${opticalPathIdentifier}`)\n if (isVisible) {\n console.info(`show optical path ${opticalPathIdentifier}`)\n this.volumeViewer.showOpticalPath(opticalPathIdentifier)\n this.setState(state => {\n const visibleOpticalPathIdentifiers = new Set(\n state.visibleOpticalPathIdentifiers\n )\n visibleOpticalPathIdentifiers.add(opticalPathIdentifier)\n return { visibleOpticalPathIdentifiers }\n })\n } else {\n console.info(`hide optical path ${opticalPathIdentifier}`)\n this.volumeViewer.hideOpticalPath(opticalPathIdentifier)\n this.setState(state => {\n const visibleOpticalPathIdentifiers = new Set(\n state.visibleOpticalPathIdentifiers\n )\n visibleOpticalPathIdentifiers.delete(opticalPathIdentifier)\n return { visibleOpticalPathIdentifiers }\n })\n }\n }\n\n /**\n * Handle change of optical path style.\n */\n handleOpticalPathStyleChange ({ opticalPathIdentifier, styleOptions }: {\n opticalPathIdentifier: string\n styleOptions: {\n opacity?: number\n color?: number[]\n limitValues?: number[]\n }\n }): void {\n console.log(`change style of optical path ${opticalPathIdentifier}`)\n this.volumeViewer.setOpticalPathStyle(opticalPathIdentifier, styleOptions)\n }\n\n /**\n * Handle toggling of optical path activity, i.e., whether a given\n * optical path should be either added or removed from the viewport.\n */\n handleOpticalPathActivityChange ({ opticalPathIdentifier, isActive }: {\n opticalPathIdentifier: string\n isActive: boolean\n }): void {\n console.log(`change activity of optical path ${opticalPathIdentifier}`)\n if (isActive) {\n console.info(`activate optical path ${opticalPathIdentifier}`)\n this.volumeViewer.activateOpticalPath(opticalPathIdentifier)\n this.setState(state => {\n const activeOpticalPathIdentifiers = new Set(\n state.activeOpticalPathIdentifiers\n )\n activeOpticalPathIdentifiers.add(opticalPathIdentifier)\n return { activeOpticalPathIdentifiers }\n })\n } else {\n console.info(`deactivate optical path ${opticalPathIdentifier}`)\n this.volumeViewer.deactivateOpticalPath(opticalPathIdentifier)\n this.setState(state => {\n const activeOpticalPathIdentifiers = new Set(\n state.activeOpticalPathIdentifiers\n )\n activeOpticalPathIdentifiers.delete(opticalPathIdentifier)\n return { activeOpticalPathIdentifiers }\n })\n }\n }\n\n /**\n * Set default presentation state that is either defined by metadata included\n * in the DICOM Slide Microscopy instance or by the viewer.\n */\n setDefaultPresentationState (): void {\n const visibleOpticalPathIdentifiers: Set = new Set()\n const opticalPaths = this.volumeViewer.getAllOpticalPaths()\n opticalPaths.sort((a, b) => {\n if (a.identifier.localeCompare(b.identifier) === 1) {\n return 1\n } else if (b.identifier.localeCompare(a.identifier) === 1) {\n return -1\n }\n return 0\n })\n opticalPaths.forEach((item: dmv.opticalPath.OpticalPath) => {\n const identifier = item.identifier\n const style = this.volumeViewer.getOpticalPathDefaultStyle(identifier)\n this.volumeViewer.setOpticalPathStyle(identifier, style)\n this.volumeViewer.hideOpticalPath(identifier)\n this.volumeViewer.deactivateOpticalPath(identifier)\n if (item.isMonochromatic) {\n /*\n * If the image metadata contains a palette color lookup table for the\n * optical path, then it will be displayed by default.\n */\n if (item.paletteColorLookupTableUID != null) {\n visibleOpticalPathIdentifiers.add(identifier)\n }\n } else {\n /* Color images will always be displayed by default. */\n visibleOpticalPathIdentifiers.add(identifier)\n }\n })\n\n /*\n * If no optical paths have been selected for visualization so far, select\n * first n optical paths and set a default value of interest (VOI) window\n * (using pre-computed pixel data statistics) and a default color.\n */\n if (visibleOpticalPathIdentifiers.size === 0) {\n const defaultColors = [\n [255, 255, 255]\n ]\n opticalPaths.forEach((item: dmv.opticalPath.OpticalPath) => {\n const identifier = item.identifier\n if (item.isMonochromatic) {\n const numVisible = visibleOpticalPathIdentifiers.size\n if (numVisible < defaultColors.length) {\n const style = {\n ...this.volumeViewer.getOpticalPathStyle(identifier)\n }\n const index = numVisible\n style.color = defaultColors[index]\n const stats = this.state.pixelDataStatistics[item.identifier]\n if (stats != null) {\n style.limitValues = [stats.min, stats.max]\n }\n this.volumeViewer.setOpticalPathStyle(item.identifier, style)\n visibleOpticalPathIdentifiers.add(item.identifier)\n }\n }\n })\n }\n\n console.info(\n `selected n=${visibleOpticalPathIdentifiers.size} optical paths ` +\n 'for visualization'\n )\n visibleOpticalPathIdentifiers.forEach(identifier => {\n this.volumeViewer.showOpticalPath(identifier)\n })\n this.setState(state => ({\n activeOpticalPathIdentifiers: new Set(visibleOpticalPathIdentifiers),\n visibleOpticalPathIdentifiers: new Set(visibleOpticalPathIdentifiers)\n }))\n }\n\n /**\n * Handler that gets called when a presentation state has been selected from\n * the current list of available presentation states.\n */\n handlePresentationStateReset (): void {\n this.setState({ selectedPresentationStateUID: undefined })\n const urlPath = this.props.location.pathname\n this.props.navigate(urlPath)\n this.setDefaultPresentationState()\n }\n\n /**\n * Handler that gets called when a presentation state has been selected from\n * the current list of available presentation states.\n */\n handlePresentationStateSelection (\n value?: string,\n option?: any\n ): void {\n if (value != null) {\n console.info(`select Presentation State instance \"${value}\"`)\n let presentationState\n this.state.presentationStates.forEach(instance => {\n if (instance.SOPInstanceUID === value) {\n presentationState = instance\n }\n })\n if (presentationState != null) {\n let urlPath = this.props.location.pathname\n urlPath += `?state=${value}`\n this.props.navigate(urlPath)\n this.setPresentationState(presentationState)\n } else {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Presentation State could not be found'\n )\n )\n console.log(\n 'failed to handle section of presentation state: ' +\n `could not find instance \"${value}\"`\n )\n }\n } else {\n this.handlePresentationStateReset()\n }\n this.setState({ selectedPresentationStateUID: value })\n }\n\n /**\n * Handler that will toggle the ROI drawing tool, i.e., either activate or\n * de-activate it, depending on its current state.\n */\n handleRoiDrawing (): void {\n if (this.state.isRoiDrawingActive) {\n console.info('deactivate drawing of ROIs')\n this.volumeViewer.deactivateDrawInteraction()\n this.volumeViewer.activateSelectInteraction({})\n this.setState({\n isAnnotationModalVisible: false,\n isSelectedRoiModalVisible: false,\n isRoiTranslationActive: false,\n isRoiDrawingActive: false,\n isRoiModificationActive: false,\n isGoToModalVisible: false\n })\n } else {\n console.info('activate drawing of ROIs')\n this.setState({\n isAnnotationModalVisible: true,\n isSelectedRoiModalVisible: false,\n isRoiDrawingActive: true,\n isRoiModificationActive: false,\n isRoiTranslationActive: false,\n isGoToModalVisible: false\n })\n this.volumeViewer.deactivateSelectInteraction()\n this.volumeViewer.deactivateSnapInteraction()\n this.volumeViewer.deactivateTranslateInteraction()\n this.volumeViewer.deactivateModifyInteraction()\n }\n }\n\n /**\n * Handler that will toggle the ROI modification tool, i.e., either activate\n * or de-activate it, depending on its current state.\n */\n handleRoiModification (): void {\n console.info('toggle modification of ROIs')\n if (this.volumeViewer.isModifyInteractionActive) {\n this.volumeViewer.deactivateModifyInteraction()\n this.volumeViewer.deactivateSnapInteraction()\n this.volumeViewer.activateSelectInteraction({})\n this.setState({\n isRoiTranslationActive: false,\n isRoiDrawingActive: false,\n isRoiModificationActive: false\n })\n } else {\n this.setState({\n isRoiModificationActive: true,\n isRoiDrawingActive: false,\n isRoiTranslationActive: false\n })\n this.volumeViewer.deactivateDrawInteraction()\n this.volumeViewer.deactivateTranslateInteraction()\n this.volumeViewer.deactivateSelectInteraction()\n this.volumeViewer.activateSnapInteraction({})\n this.volumeViewer.activateModifyInteraction({})\n }\n }\n\n /**\n * Handler that will toggle the ROI translation tool, i.e., either activate\n * or de-activate it, depending on its current state.\n */\n handleRoiTranslation (): void {\n console.info('toggle translation of ROIs')\n if (this.volumeViewer.isTranslateInteractionActive) {\n this.volumeViewer.deactivateTranslateInteraction()\n this.setState({\n isRoiTranslationActive: false,\n isRoiDrawingActive: false,\n isRoiModificationActive: false\n })\n } else {\n this.setState({\n isRoiTranslationActive: true,\n isRoiDrawingActive: false,\n isRoiModificationActive: false\n })\n this.volumeViewer.deactivateModifyInteraction()\n this.volumeViewer.deactivateSnapInteraction()\n this.volumeViewer.deactivateDrawInteraction()\n this.volumeViewer.deactivateSelectInteraction()\n this.volumeViewer.activateTranslateInteraction({})\n }\n }\n\n handleGoTo (): void {\n this.volumeViewer.deactivateDrawInteraction()\n this.volumeViewer.deactivateModifyInteraction()\n this.volumeViewer.deactivateSnapInteraction()\n this.volumeViewer.deactivateTranslateInteraction()\n this.volumeViewer.deactivateSelectInteraction()\n this.setState({\n isGoToModalVisible: true,\n isAnnotationModalVisible: false,\n isSelectedRoiModalVisible: false,\n isReportModalVisible: false,\n isRoiTranslationActive: false,\n isRoiModificationActive: false,\n isRoiDrawingActive: false\n })\n }\n\n /**\n * Handler that will toggle the ROI removal tool, i.e., either activate\n * or de-activate it, depending on its current state.\n */\n handleRoiRemoval (): void {\n this.volumeViewer.deactivateDrawInteraction()\n this.volumeViewer.deactivateSnapInteraction()\n this.volumeViewer.deactivateTranslateInteraction()\n this.volumeViewer.deactivateModifyInteraction()\n if (this.state.selectedRoiUIDs.size > 0) {\n this.state.selectedRoiUIDs.forEach(uid => {\n if (uid === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n message.warning('No annotation was selected for removal')\n return\n }\n console.info(`remove ROI \"${uid}\"`)\n this.volumeViewer.removeROI(uid)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n message.info('Annotation was removed')\n })\n this.setState({\n selectedRoiUIDs: new Set(),\n isRoiTranslationActive: false,\n isRoiDrawingActive: false,\n isRoiModificationActive: false\n })\n } else {\n this.state.visibleRoiUIDs.forEach(uid => {\n console.info(`remove ROI \"${uid}\"`)\n this.volumeViewer.removeROI(uid)\n })\n this.setState({\n visibleRoiUIDs: new Set(),\n isRoiTranslationActive: false,\n isRoiDrawingActive: false,\n isRoiModificationActive: false\n })\n }\n this.volumeViewer.activateSelectInteraction({})\n }\n\n /**\n * Handler that will toggle the ROI visibility tool, i.e., either activate\n * or de-activate it, depending on its current state.\n */\n handleRoiVisibilityChange (): void {\n console.info('toggle visibility of ROIs')\n if (this.volumeViewer.areROIsVisible) {\n this.volumeViewer.deactivateDrawInteraction()\n this.volumeViewer.deactivateSnapInteraction()\n this.volumeViewer.deactivateTranslateInteraction()\n this.volumeViewer.deactivateSelectInteraction()\n this.volumeViewer.deactivateModifyInteraction()\n this.volumeViewer.hideROIs()\n this.setState({\n areRoisHidden: true,\n isRoiDrawingActive: false,\n isRoiModificationActive: false,\n isRoiTranslationActive: false\n })\n } else {\n this.volumeViewer.showROIs()\n this.volumeViewer.activateSelectInteraction({})\n this.state.selectedRoiUIDs.forEach(uid => {\n if (uid !== undefined) {\n this.volumeViewer.setROIStyle(uid, this.selectedRoiStyle)\n }\n })\n this.setState({ areRoisHidden: false })\n }\n }\n\n render (): React.ReactNode {\n const rois: dmv.roi.ROI[] = []\n const segments: dmv.segment.Segment[] = []\n const mappings: dmv.mapping.ParameterMapping[] = []\n const annotationGroups: dmv.annotation.AnnotationGroup[] = []\n rois.push(...this.volumeViewer.getAllROIs())\n segments.push(...this.volumeViewer.getAllSegments())\n mappings.push(...this.volumeViewer.getAllParameterMappings())\n annotationGroups.push(...this.volumeViewer.getAllAnnotationGroups())\n\n const openSubMenuItems = [\n 'specimens', 'optical-paths', 'annotations', 'presentation-states'\n ]\n\n let report: React.ReactNode\n const dataset = this.state.generatedReport\n if (dataset !== undefined) {\n report = \n }\n\n let annotationMenuItems: React.ReactNode\n if (rois.length > 0) {\n annotationMenuItems = (\n \n )\n }\n\n const findingOptions = this.findingOptions.map(finding => {\n return (\n \n {finding.CodeMeaning}\n \n )\n })\n\n const geometryTypeOptionsMapping: { [key: string]: React.ReactNode } = {\n point: Point,\n circle: Circle,\n box: Box,\n polygon: Polygon,\n line: Line,\n freehandpolygon: (\n \n Polygon (freehand)\n \n ),\n freehandline: (\n \n Line (freehand)\n \n )\n }\n\n const annotationConfigurations: React.ReactNode[] = [\n (\n \n {findingOptions}\n \n )\n ]\n\n const selectedFinding = this.state.selectedFinding\n if (selectedFinding !== undefined) {\n const key = _buildKey(selectedFinding)\n this.evaluationOptions[key].forEach(evaluation => {\n const evaluationOptions = evaluation.values.map(code => {\n return (\n \n {code.CodeMeaning}\n \n )\n })\n annotationConfigurations.push(\n <>\n {evaluation.name.CodeMeaning}\n \n {evaluationOptions}\n \n \n )\n })\n const geometryTypeOptions = this.geometryTypeOptions[key].map(name => {\n return geometryTypeOptionsMapping[name]\n })\n annotationConfigurations.push(\n <>\n ROI geometry type\n \n {geometryTypeOptions}\n \n \n )\n annotationConfigurations.push(\n \n measure\n \n )\n }\n\n const specimenMenu = (\n \n \n \n )\n\n const equipmentMenu = (\n \n \n \n )\n\n const opticalPaths = this.volumeViewer.getAllOpticalPaths()\n opticalPaths.sort((a, b) => {\n if (a.identifier.localeCompare(b.identifier) === 1) {\n return 1\n } else if (b.identifier.localeCompare(a.identifier) === 1) {\n return -1\n }\n return 0\n })\n const opticalPathStyles: {\n [identifier: string]: {\n opacity: number\n color?: number[]\n limitValues?: number[]\n paletteColorLookupTable?: dmv.color.PaletteColorLookupTable\n }\n } = {}\n const opticalPathMetadata: {\n [identifier: string]: dmv.metadata.VLWholeSlideMicroscopyImage[]\n } = {}\n opticalPaths.forEach(opticalPath => {\n const identifier = opticalPath.identifier\n const metadata = this.volumeViewer.getOpticalPathMetadata(identifier)\n opticalPathMetadata[identifier] = metadata\n const style = {\n ...this.volumeViewer.getOpticalPathStyle(identifier)\n }\n opticalPathStyles[identifier] = style\n })\n const opticalPathMenu = (\n \n \n \n )\n\n let presentationStateMenu\n if (this.state.presentationStates.length > 0) {\n const presentationStateOptions = []\n this.state.presentationStates.forEach(instance => {\n presentationStateOptions.push(\n \n {instance.ContentDescription}\n \n )\n })\n presentationStateOptions.push(\n \n {}\n \n )\n presentationStateMenu = (\n \n \n \n {presentationStateOptions}\n \n \n }\n type='primary'\n onClick={this.handlePresentationStateReset}\n />\n \n \n \n )\n }\n\n let segmentationMenu\n if (segments.length > 0) {\n const defaultSegmentStyles: {\n [segmentUID: string]: {\n opacity: number\n }\n } = {}\n const segmentMetadata: {\n [segmentUID: string]: dmv.metadata.Segmentation[]\n } = {}\n const segments = this.volumeViewer.getAllSegments()\n segments.forEach(segment => {\n defaultSegmentStyles[segment.uid] = this.volumeViewer.getSegmentStyle(\n segment.uid\n )\n segmentMetadata[segment.uid] = this.volumeViewer.getSegmentMetadata(\n segment.uid\n )\n })\n segmentationMenu = (\n \n \n \n )\n openSubMenuItems.push('segmentations')\n }\n\n let parametricMapMenu\n if (mappings.length > 0) {\n const defaultMappingStyles: {\n [mappingUID: string]: {\n opacity: number\n }\n } = {}\n const mappingMetadata: {\n [mappingUID: string]: dmv.metadata.ParametricMap[]\n } = {}\n mappings.forEach(mapping => {\n defaultMappingStyles[mapping.uid] = this.volumeViewer.getParameterMappingStyle(\n mapping.uid\n )\n mappingMetadata[mapping.uid] = this.volumeViewer.getParameterMappingMetadata(\n mapping.uid\n )\n })\n parametricMapMenu = (\n \n \n \n )\n openSubMenuItems.push('parametric-maps')\n }\n\n let annotationGroupMenu\n if (annotationGroups.length > 0) {\n const defaultAnnotationGroupStyles: {\n [annotationGroupUID: string]: {\n opacity: number\n color: number[]\n }\n } = {}\n const annotationGroupMetadata: {\n [annotationGroupUID: string]: dmv.metadata.MicroscopyBulkSimpleAnnotations\n } = {}\n const annotationGroups = this.volumeViewer.getAllAnnotationGroups()\n annotationGroups.forEach(annotationGroup => {\n defaultAnnotationGroupStyles[annotationGroup.uid] = this.volumeViewer.getAnnotationGroupStyle(\n annotationGroup.uid\n )\n annotationGroupMetadata[annotationGroup.uid] = this.volumeViewer.getAnnotationGroupMetadata(\n annotationGroup.uid\n )\n })\n annotationGroupMenu = (\n \n \n \n )\n openSubMenuItems.push('annotationGroups')\n }\n\n let toolbar\n let toolbarHeight = '0px'\n const annotationTools = [\n ,\n ,\n ,\n ,\n ,\n \n ]\n const controlTools = [\n \n ]\n if (this.props.enableAnnotationTools) {\n toolbar = (\n \n {annotationTools.map((item, i) => {\n return {item}\n })}\n {controlTools.map((item, i) => {\n return {item}\n })}\n \n )\n toolbarHeight = '50px'\n }\n\n let cursor = 'default'\n if (this.state.isLoading) {\n cursor = 'progress'\n }\n\n let selectedRoiInformation\n if (this.state.selectedRoi != null) {\n const roiAttributes: Array<{\n name: string\n value: string\n unit?: string\n }> = [\n {\n name: 'UID',\n value: this.state.selectedRoi.uid\n }\n ]\n const roiScoordAttributes: Array<{\n name: string\n value: string\n }> = [\n {\n name: 'Graphic type',\n value: this.state.selectedRoi.scoord3d.graphicType\n }\n ]\n const roiEvaluationAttributes: Array<{\n name: string\n value: string\n }> = []\n this.state.selectedRoi.evaluations.forEach(item => {\n if (item.ValueType === 'CODE') {\n const codeItem = item as dcmjs.sr.valueTypes.CodeContentItem\n roiEvaluationAttributes.push({\n name: codeItem.ConceptNameCodeSequence[0].CodeMeaning,\n value: codeItem.ConceptCodeSequence[0].CodeMeaning\n })\n } else {\n const textItem = item as dcmjs.sr.valueTypes.TextContentItem\n roiEvaluationAttributes.push({\n name: textItem.ConceptNameCodeSequence[0].CodeMeaning,\n value: textItem.TextValue\n })\n }\n })\n const roiMeasurmentAttributesPerOpticalPath: {\n [identifier: string]: Array<{\n name: string\n value: string\n unit?: string\n }>\n } = {}\n this.state.selectedRoi.measurements.forEach(item => {\n let identifier = 'default'\n if (item.ContentSequence != null) {\n const refItems = findContentItemsByName({\n content: item.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121112',\n meaning: 'Source of Measurement',\n schemeDesignator: 'DCM'\n })\n })\n if (refItems.length > 0) {\n identifier = (\n refItems[0]\n // @ts-expect-error\n .ReferencedSOPSequence[0]\n .ReferencedOpticalPathIdentifier\n )\n }\n }\n if (!(identifier in roiMeasurmentAttributesPerOpticalPath)) {\n roiMeasurmentAttributesPerOpticalPath[identifier] = []\n }\n const measuredValueItem = item.MeasuredValueSequence[0]\n roiMeasurmentAttributesPerOpticalPath[identifier].push({\n name: item.ConceptNameCodeSequence[0].CodeMeaning,\n value: measuredValueItem.NumericValue.toString(),\n unit: measuredValueItem.MeasurementUnitsCodeSequence[0].CodeMeaning\n })\n })\n const createRoiDescription = (\n attributes: Array<{ name: string, value: string, unit?: string }>\n ): React.ReactNode[] => {\n return attributes.map(item => {\n let value\n if (item.unit != null) {\n value = `${item.value} [${item.unit}]`\n } else {\n value = item.value\n }\n return (\n \n {value}\n \n )\n })\n }\n const roiDescriptions = createRoiDescription(roiAttributes)\n const roiScoordDescriptions = createRoiDescription(\n roiScoordAttributes\n )\n const roiEvaluationDescriptions = createRoiDescription(\n roiEvaluationAttributes\n )\n const roiMeasurementDescriptions = []\n for (const identifier in roiMeasurmentAttributesPerOpticalPath) {\n const descriptions = createRoiDescription(\n roiMeasurmentAttributesPerOpticalPath[identifier]\n )\n if (identifier === 'default') {\n roiMeasurementDescriptions.push(descriptions)\n } else {\n roiMeasurementDescriptions.push(\n <>\n \n {identifier}\n \n {descriptions}\n \n )\n }\n }\n selectedRoiInformation = (\n <>\n \n {roiDescriptions}\n \n \n Spatial coordinates\n \n \n {roiScoordDescriptions}\n \n \n Evaluations\n \n \n {roiEvaluationDescriptions}\n \n \n Measurements\n \n \n {roiMeasurementDescriptions}\n \n \n )\n }\n\n return (\n \n \n {toolbar}\n\n \n\n \n \n {annotationConfigurations}\n \n \n\n \n \n {selectedRoiInformation}\n \n \n\n \n \n \n : \n }\n />\n \n : \n }\n />\n \n : \n }\n />\n \n \n\n \n {report}\n \n \n\n \n {\n // Give menu item time to render before updating viewer size\n setTimeout(\n () => {\n if (this.labelViewer != null) {\n this.labelViewer.resize()\n }\n },\n 100\n )\n }}\n >\n \n \n \n \n \n {specimenMenu}\n {equipmentMenu}\n {opticalPathMenu}\n {presentationStateMenu}\n \n {annotationMenuItems}\n \n {annotationGroupMenu}\n {segmentationMenu}\n {parametricMapMenu}\n \n \n \n )\n }\n}\n\nexport default withRouter(SlideViewer)\n","import * as dmv from 'dicom-microscopy-viewer'\nimport { CustomError, errorTypes } from '../utils/CustomError'\nimport NotificationMiddleware, {\n NotificationMiddlewareContext\n} from '../services/NotificationMiddleware'\n\nenum ImageFlavors {\n VOLUME = 'VOLUME',\n LABEL = 'LABEL',\n OVERVIEW = 'OVERVIEW',\n THUMBNAIL = 'THUMBNAIL'\n}\n\nconst hasImageFlavor = (\n image: dmv.metadata.VLWholeSlideMicroscopyImage,\n imageFlavor: ImageFlavors\n): boolean => {\n return image.ImageType[2] === imageFlavor\n}\n\nconst areSameAcquisition = (\n image: dmv.metadata.VLWholeSlideMicroscopyImage,\n refImage: dmv.metadata.VLWholeSlideMicroscopyImage\n): boolean => {\n if (image.AcquisitionUID != null) {\n return image.AcquisitionUID === refImage.AcquisitionUID\n }\n return false\n}\n\ninterface SlideImageCollection {\n acquisitionUID?: string\n frameOfReferenceUID: string\n containerIdentifier: string\n volumeImages: dmv.metadata.VLWholeSlideMicroscopyImage[]\n labelImages: dmv.metadata.VLWholeSlideMicroscopyImage[]\n overviewImages: dmv.metadata.VLWholeSlideMicroscopyImage[]\n}\n\ninterface SlideOptions {\n images: dmv.metadata.VLWholeSlideMicroscopyImage[]\n description?: string\n}\n\n/**\n * Slide - collection of images with the same Frame of Reference UID and\n * Container Identifier.\n */\nclass Slide {\n readonly description: string\n readonly acquisitionUID: string | null | undefined\n readonly frameOfReferenceUID: string\n readonly containerIdentifier: string\n readonly seriesInstanceUIDs: string[]\n readonly opticalPathIdentifiers: string[]\n readonly pyramidUIDs: string[] = []\n readonly areVolumeImagesMonochrome: boolean\n readonly volumeImages: dmv.metadata.VLWholeSlideMicroscopyImage[]\n readonly labelImages: dmv.metadata.VLWholeSlideMicroscopyImage[]\n readonly overviewImages: dmv.metadata.VLWholeSlideMicroscopyImage[]\n\n /**\n * @param options\n * @param options.images - Metadata of images associated with the slide\n * @param options.description - Description of the slide\n */\n constructor (\n options: SlideOptions\n ) {\n if (options.images.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Value of option \"images\" have been non-zero length.'\n )\n )\n }\n\n const seriesInstanceUIDs = new Set([] as string[])\n const acquisitionUIDs = new Set([] as string[])\n const opticalPathIdentifiers = new Set([] as string[])\n const containerIdentifiers = new Set([] as string[])\n const frameOfReferenceUIDs = {\n VOLUME: new Set([] as string[]),\n LABEL: new Set([] as string[]),\n OVERVIEW: new Set([] as string[])\n }\n const pyramidUIDs: {\n [key: string]: { [opticalPathIdentifier: string]: Set }\n } = {\n VOLUME: {}\n }\n const volumeImages: dmv.metadata.VLWholeSlideMicroscopyImage[] = []\n const labelImages: dmv.metadata.VLWholeSlideMicroscopyImage[] = []\n const overviewImages: dmv.metadata.VLWholeSlideMicroscopyImage[] = []\n options.images.forEach((image) => {\n containerIdentifiers.add(image.ContainerIdentifier)\n seriesInstanceUIDs.add(image.SeriesInstanceUID)\n image.OpticalPathSequence.forEach(item => {\n opticalPathIdentifiers.add(item.OpticalPathIdentifier)\n })\n if (image.AcquisitionUID != null) {\n acquisitionUIDs.add(image.AcquisitionUID)\n }\n if (\n hasImageFlavor(image, ImageFlavors.VOLUME) ||\n hasImageFlavor(image, ImageFlavors.THUMBNAIL)\n ) {\n frameOfReferenceUIDs.VOLUME.add(image.FrameOfReferenceUID)\n if (image.PyramidUID != null) {\n for (const identifier in opticalPathIdentifiers) {\n pyramidUIDs.VOLUME[identifier].add(image.PyramidUID)\n }\n }\n volumeImages.push(image)\n } else if (hasImageFlavor(image, ImageFlavors.LABEL)) {\n frameOfReferenceUIDs.LABEL.add(image.FrameOfReferenceUID)\n labelImages.push(image)\n } else if (hasImageFlavor(image, ImageFlavors.OVERVIEW)) {\n frameOfReferenceUIDs.OVERVIEW.add(image.FrameOfReferenceUID)\n overviewImages.push(image)\n }\n })\n if (volumeImages.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'At least one VOLUME image must be provided for a slide.'\n )\n )\n } else {\n if (acquisitionUIDs.size > 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'All VOLUME images of a slide must have the same number of ' +\n 'Samples per Pixel.'\n )\n )\n }\n const samplesPerPixel = new Set([] as number[])\n volumeImages.forEach((image) => {\n samplesPerPixel.add(image.SamplesPerPixel)\n })\n if (samplesPerPixel.size > 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'All VOLUME images of a slide must have the same number of ' +\n 'Samples per Pixel.'\n )\n )\n }\n const isNotResampled = volumeImages.filter(image => {\n return image.ImageType[3] !== 'RESAMPLED'\n })\n if (isNotResampled.length > opticalPathIdentifiers.size) {\n console.warn(\n 'the set of VOLUME images of a slide must contain only a single ' +\n 'image that has not been resampled per optical path'\n )\n }\n }\n this.volumeImages = volumeImages\n this.labelImages = labelImages\n this.overviewImages = overviewImages\n\n this.seriesInstanceUIDs = [...seriesInstanceUIDs]\n this.opticalPathIdentifiers = [...opticalPathIdentifiers]\n\n if (containerIdentifiers.size !== 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'All images of a slide must have the same Container Identifier.'\n )\n )\n }\n this.containerIdentifier = [...containerIdentifiers][0]\n\n if (frameOfReferenceUIDs.VOLUME.size !== 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'All VOLUME images of a slide must have ' +\n 'the same Frame of Reference UID.'\n )\n )\n }\n this.frameOfReferenceUID = [...frameOfReferenceUIDs.VOLUME][0]\n\n let requirePyramidUID = false\n if (Object.keys(pyramidUIDs.VOLUME).length > 0) {\n requirePyramidUID = true\n }\n this.opticalPathIdentifiers.forEach(identifier => {\n if (pyramidUIDs.VOLUME[identifier] != null) {\n if (pyramidUIDs.VOLUME[identifier].size > 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n `All VOLUME images for optical path \"${identifier}\"` +\n 'must be part of the same multi-resolution pyramid.'\n )\n )\n } else if (pyramidUIDs.VOLUME[identifier].size === 1) {\n this.pyramidUIDs.push([...pyramidUIDs.VOLUME[identifier]][0])\n } else {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n `The VOLUME images for optical path \"${identifier}\" ` +\n 'lack the Pyramid UID, while the images for other optical paths ' +\n 'contain it.'\n )\n )\n }\n } else {\n if (requirePyramidUID) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n `The VOLUME images for optical path \"${identifier}\" ` +\n 'lack the Pyramid UID, while the images for other optical paths ' +\n 'contain it.'\n )\n )\n }\n }\n })\n\n if (acquisitionUIDs.size > 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'All VOLUME images of a slide must be part of the same ' +\n 'acquisition and have the same Acquisition UID.'\n )\n )\n } else if (acquisitionUIDs.size === 1) {\n this.acquisitionUID = [...acquisitionUIDs][0]\n } else {\n this.acquisitionUID = null\n }\n\n this.areVolumeImagesMonochrome = (\n this.volumeImages[0].SamplesPerPixel === 1 &&\n this.volumeImages[0].PhotometricInterpretation === 'MONOCHROME2'\n )\n\n this.description = (\n options.description !== undefined ? options.description : ''\n )\n }\n}\n\n/**\n * Create slides.\n *\n * @param imagesPerSeries - Image instances grouped per series\n * @param referenceSeriesInstanceUID - Unique identifier of the series that serves as a reference for the slide\n * @returns Slides\n */\nconst createSlides = (\n images: dmv.metadata.VLWholeSlideMicroscopyImage[][]\n): Slide[] => {\n const slideMetadata: SlideImageCollection[] = []\n images.forEach((series) => {\n if (series.length > 0) {\n const volumeImages = series.filter((image) => {\n return (\n hasImageFlavor(image, ImageFlavors.VOLUME) ||\n hasImageFlavor(image, ImageFlavors.THUMBNAIL)\n )\n })\n if (volumeImages.length > 0) {\n const refImage = volumeImages[0]\n const filteredVolumeImages = volumeImages.filter((image) => {\n return refImage.SamplesPerPixel === image.SamplesPerPixel\n })\n const slideMetadataIndex = slideMetadata.findIndex((slide) => {\n return _doesImageBelongToSlide(slide, refImage)\n })\n\n const labelImages = series.filter((image) => {\n return hasImageFlavor(image, ImageFlavors.LABEL)\n })\n let filteredLabelImages: dmv.metadata.VLWholeSlideMicroscopyImage[]\n if (labelImages.length > 1) {\n filteredLabelImages = labelImages.filter((image) => {\n return areSameAcquisition(image, refImage)\n })\n } else {\n filteredLabelImages = labelImages\n }\n const overviewImages = series.filter((image) => {\n return hasImageFlavor(image, ImageFlavors.OVERVIEW)\n })\n let filteredOverviewImages: dmv.metadata.VLWholeSlideMicroscopyImage[]\n if (overviewImages.length > 1) {\n filteredOverviewImages = overviewImages.filter((image) => {\n return areSameAcquisition(image, refImage)\n })\n } else {\n filteredOverviewImages = overviewImages\n }\n\n if (slideMetadataIndex === -1) {\n const slideMetadataItem: SlideImageCollection = {\n acquisitionUID: refImage.AcquisitionUID,\n frameOfReferenceUID: refImage.FrameOfReferenceUID,\n containerIdentifier: refImage.ContainerIdentifier,\n volumeImages: filteredVolumeImages,\n labelImages: filteredLabelImages,\n overviewImages: filteredOverviewImages\n }\n slideMetadata.push(slideMetadataItem)\n } else {\n const slideMetadataItem = slideMetadata[slideMetadataIndex]\n slideMetadataItem.volumeImages.push(...filteredVolumeImages)\n slideMetadataItem.labelImages.push(...filteredLabelImages)\n slideMetadataItem.overviewImages.push(...filteredOverviewImages)\n }\n }\n }\n })\n\n let slides: Slide[] = slideMetadata.map((item) => {\n return new Slide({\n images: [\n ...item.volumeImages,\n ...item.labelImages,\n ...item.overviewImages\n ]\n })\n })\n slides = slides.sort((a, b) => {\n const imgA = a.volumeImages[0]\n const imgB = b.volumeImages[0]\n if (imgA.ContainerIdentifier != null && imgB.ContainerIdentifier != null) {\n return Number(imgA.ContainerIdentifier) - Number(imgB.ContainerIdentifier)\n } else {\n return 0\n }\n })\n\n return slides\n}\n\n/**\n * Check if instance belongs to the slide.\n *\n * Compares values of Frame of Reference UID and Container Identifier attributes.\n *\n * @param slide - Slide metadata object\n * @param image - Metadata of VOLUME, LABEL or OVERVIEW image instance\n */\nfunction _doesImageBelongToSlide (\n slide: SlideImageCollection,\n image: dmv.metadata.VLWholeSlideMicroscopyImage\n): boolean {\n if (\n slide.frameOfReferenceUID === image.FrameOfReferenceUID &&\n slide.containerIdentifier === image.ContainerIdentifier &&\n slide.acquisitionUID === image.AcquisitionUID\n ) {\n return true\n }\n return false\n}\n\nexport { Slide, createSlides }\n","import React from 'react'\nimport { Routes, Route, useLocation, useParams } from 'react-router-dom'\nimport { Layout, Menu } from 'antd'\n\nimport * as dmv from 'dicom-microscopy-viewer'\n\nimport { AnnotationSettings } from '../AppConfig'\nimport ClinicalTrial from './ClinicalTrial'\nimport DicomWebManager from '../DicomWebManager'\nimport Patient from './Patient'\nimport Study from './Study'\nimport SlideList from './SlideList'\nimport SlideViewer from './SlideViewer'\n\nimport { User } from '../auth'\nimport { Slide, createSlides } from '../data/slides'\nimport { StorageClasses } from '../data/uids'\nimport { RouteComponentProps, withRouter } from '../utils/router'\nimport { CustomError, errorTypes } from '../utils/CustomError'\nimport NotificationMiddleware, {\n NotificationMiddlewareContext\n} from '../services/NotificationMiddleware'\n\nfunction ParametrizedSlideViewer ({\n clients,\n slides,\n user,\n app,\n preload,\n enableAnnotationTools,\n annotations\n}: {\n clients: { [key: string]: DicomWebManager }\n slides: Slide[]\n user?: User\n app: {\n name: string\n version: string\n uid: string\n organization?: string\n }\n preload: boolean\n enableAnnotationTools: boolean\n annotations: AnnotationSettings[]\n}): JSX.Element | null {\n const { studyInstanceUID, seriesInstanceUID } = useParams()\n const location = useLocation()\n\n const selectedSlide = slides.find((slide: Slide) => {\n return slide.seriesInstanceUIDs.find((uid: string) => {\n return uid === seriesInstanceUID\n })\n })\n const searchParams = new URLSearchParams(location.search)\n let presentationStateUID: string | null | undefined\n if (!searchParams.has('access_token')) {\n presentationStateUID = searchParams.get('state')\n if (presentationStateUID === null) {\n presentationStateUID = undefined\n }\n }\n let viewer = null\n if (selectedSlide != null) {\n viewer = (\n \n )\n }\n return viewer\n}\n\ninterface ViewerProps extends RouteComponentProps {\n clients: { [key: string]: DicomWebManager }\n studyInstanceUID: string\n app: {\n name: string\n version: string\n uid: string\n organization?: string\n }\n annotations: AnnotationSettings[]\n enableAnnotationTools: boolean\n preload: boolean\n user?: {\n name: string\n email: string\n }\n}\n\ninterface ViewerState {\n slides: Slide[]\n isLoading: boolean\n}\n\nclass Viewer extends React.Component {\n state = {\n slides: [],\n isLoading: true\n }\n\n constructor (props: ViewerProps) {\n super(props)\n this.handleSeriesSelection = this.handleSeriesSelection.bind(this)\n }\n\n componentDidMount (): void {\n this.fetchImageMetadata().then(\n (metadata: dmv.metadata.VLWholeSlideMicroscopyImage[][]) => {\n this.setState({\n slides: createSlides(metadata),\n isLoading: false\n })\n }\n ).catch((error) => {\n console.error(error)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Image metadata could not be retrieved or decoded.')\n )\n this.setState({ isLoading: false })\n })\n }\n\n /**\n * Fetch metadata for VL Whole Slide Microscopy Image instances of the study.\n *\n * @returns Metadata of image instances of the study grouped per series\n */\n async fetchImageMetadata (): Promise {\n const images: dmv.metadata.VLWholeSlideMicroscopyImage[][] = []\n const studyInstanceUID = this.props.studyInstanceUID\n console.info(`search for series of study \"${studyInstanceUID}\"...`)\n const client = this.props.clients[\n StorageClasses.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE\n ]\n const matchedSeries = await client.searchForSeries({\n queryParams: {\n Modality: 'SM',\n StudyInstanceUID: studyInstanceUID\n }\n })\n\n await Promise.all(matchedSeries.map(async (s) => {\n const { dataset } = dmv.metadata.formatMetadata(s)\n const loadingSeries = dataset as dmv.metadata.Series\n console.info(\n `retrieve metadata of series \"${loadingSeries.SeriesInstanceUID}\"`\n )\n const retrievedMetadata = await client.retrieveSeriesMetadata({\n studyInstanceUID: this.props.studyInstanceUID,\n seriesInstanceUID: loadingSeries.SeriesInstanceUID\n })\n\n const seriesImages: dmv.metadata.VLWholeSlideMicroscopyImage[] = []\n retrievedMetadata.forEach((item, index) => {\n if (item['00080016'] != null) {\n const values = item['00080016'].Value\n if (values != null) {\n const sopClassUID = values[0]\n if (sopClassUID === StorageClasses.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE) {\n const image = new dmv.metadata.VLWholeSlideMicroscopyImage({\n metadata: item\n })\n seriesImages.push(image)\n }\n }\n }\n })\n\n if (seriesImages.length > 0) {\n images.push(seriesImages)\n }\n }))\n\n return images\n }\n\n handleSeriesSelection (\n { seriesInstanceUID }: { seriesInstanceUID: string }\n ): void {\n console.info(`switch to series \"${seriesInstanceUID}\"`)\n let urlPath = (\n `/studies/${this.props.studyInstanceUID}` +\n `/series/${seriesInstanceUID}`\n )\n if (\n this.props.location.pathname.includes('/series/') &&\n this.props.location.search != null\n ) {\n urlPath += this.props.location.search\n }\n this.props.navigate(urlPath, { replace: true })\n }\n\n render (): React.ReactNode {\n if (this.state.isLoading) {\n return null\n }\n\n if (this.state.slides.length === 0) {\n return null\n }\n const firstSlide = this.state.slides[0] as Slide\n const volumeInstances = firstSlide.volumeImages\n if (volumeInstances.length === 0) {\n return null\n }\n const refImage = volumeInstances[0]\n\n /* If a series is encoded in the path, route the viewer to this series.\n * Otherwise select the first series correspondent to\n * the first slide contained in the study.\n */\n let selectedSeriesInstanceUID: string\n if (this.props.location.pathname.includes('series/')) {\n const fragments = this.props.location.pathname.split('/')\n selectedSeriesInstanceUID = fragments[4]\n } else {\n selectedSeriesInstanceUID = volumeInstances[0].SeriesInstanceUID\n }\n\n let clinicalTrialMenu\n if (refImage.ClinicalTrialSponsorName != null) {\n clinicalTrialMenu = (\n \n \n \n )\n }\n\n return (\n \n \n \n \n \n \n \n \n \n {clinicalTrialMenu}\n \n \n \n \n \n\n \n \n }\n />\n \n \n )\n }\n}\n\nexport default withRouter(Viewer)\n","import React from 'react'\nimport { NavLink } from 'react-router-dom'\nimport {\n Col,\n Descriptions,\n Dropdown,\n Input,\n Layout,\n Menu,\n Modal,\n Row,\n Space,\n Badge,\n Collapse\n} from 'antd'\nimport {\n ApiOutlined,\n CheckOutlined,\n InfoOutlined,\n StopOutlined,\n UnorderedListOutlined,\n UserOutlined,\n SettingOutlined\n} from '@ant-design/icons'\nimport { detect } from 'detect-browser'\n\nimport Button from './Button'\nimport { RouteComponentProps, withRouter } from '../utils/router'\nimport NotificationMiddleware, { NotificationMiddlewareEvents } from '../services/NotificationMiddleware'\nimport { CustomError } from '../utils/CustomError'\nimport { v4 as uuidv4 } from 'uuid'\n\ninterface HeaderProps extends RouteComponentProps {\n app: {\n name: string\n version: string\n homepage: string\n uid: string\n organization?: string\n }\n user?: {\n name: string\n email: string\n }\n showWorklistButton: boolean\n onServerSelection: ({ url }: { url: string }) => void\n onUserLogout?: () => void\n showServerSelectionButton: boolean\n}\n\ninterface HeaderState {\n selectedServerUrl?: string\n isServerSelectionModalVisible: boolean\n isServerSelectionDisabled: boolean\n errorObj: CustomError[]\n errorCategory: string[]\n warnings: string[]\n}\n\n/**\n * React component for the application header.\n */\nclass Header extends React.Component {\n constructor (props: HeaderProps) {\n super(props)\n this.state = {\n isServerSelectionModalVisible: false,\n isServerSelectionDisabled: true,\n errorObj: [],\n errorCategory: [],\n warnings: [],\n }\n\n const onErrorHandler = ({ error }: {\n category: string\n error: CustomError\n }): void => {\n this.setState(state => ({\n ...state,\n errorObj: [...state.errorObj, error],\n errorCategory: [...state.errorCategory, error.type]\n }))\n }\n\n const onWarningHandler = (warning: string): void => {\n this.setState(state => ({\n ...state,\n warnings: [...state.warnings, warning]\n }))\n }\n\n NotificationMiddleware.subscribe(\n NotificationMiddlewareEvents.OnError,\n onErrorHandler\n )\n\n NotificationMiddleware.subscribe(\n NotificationMiddlewareEvents.OnWarning,\n onWarningHandler\n )\n }\n\n componentDidUpdate(prevProps: Readonly, prevState: Readonly): void {\n if ((prevState.warnings.length || prevState.errorObj.length) && this.props.location.pathname !== prevProps.location.pathname) {\n this.setState({\n isServerSelectionModalVisible: false,\n isServerSelectionDisabled: true,\n errorObj: [],\n errorCategory: [],\n warnings: [],\n })\n }\n }\n\n handleInfoButtonClick = (): void => {\n const browser = detect()\n const environment: {\n browser: {\n name?: string\n version?: string\n }\n os: {\n name?: string\n }\n } = {\n browser: {},\n os: {}\n }\n if (browser != null) {\n environment.browser = {\n name: browser.name != null ? browser.name : undefined,\n version: browser.version != null ? browser.version : undefined\n }\n environment.os = {\n name: browser.os != null ? browser.os : undefined\n }\n }\n\n Modal.info({\n title: 'About',\n width: 600,\n content: (\n <>\n \n \n {this.props.app.name}\n \n \n {this.props.app.version}\n \n \n {this.props.app.homepage}\n \n \n \n \n {environment.browser.name}\n \n \n {environment.browser.version}\n \n \n \n \n {environment.os.name}\n \n \n \n ),\n onOk (): void {}\n })\n }\n\n handleDebugButtonClick = (): void => {\n const errorMsgs: {\n Authentication: string[]\n Communication: string[]\n EncodingDecoding: string[]\n Visualization: string[]\n } = {\n Authentication: [],\n Communication: [],\n EncodingDecoding: [],\n Visualization: []\n }\n\n type ObjectKey = keyof typeof errorMsgs\n const errorNum = this.state.errorObj.length\n\n if (errorNum > 0) {\n for (let i = 0; i < errorNum; i++) {\n const category = this.state.errorCategory[i] as ObjectKey\n errorMsgs[category].push(this.state.errorObj[i].message)\n }\n }\n\n const { Panel } = Collapse\n\n const showErrorCount = (errcount: number): JSX.Element => (\n \n )\n\n const showWarningCount = (warncount: number): JSX.Element => (\n \n )\n\n Modal.info({\n title: 'Debug Information\\n (Check console for more information)',\n width: 800,\n content: (\n \n \n
    \n {errorMsgs.Communication.map(e => (\n
  1. {e}
  2. \n ))}\n
\n \n \n
    \n {errorMsgs.EncodingDecoding.map(e => (\n
  1. {e}
  2. \n ))}\n
\n \n \n
    \n {errorMsgs.Visualization.map(e => (\n
  1. {e}
  2. \n ))}\n
\n \n \n
    \n {errorMsgs.Authentication.map(e => (\n
  1. {e}
  2. \n ))}\n
\n \n \n
    \n {this.state.warnings.map(warning => (\n
  1. {warning}
  2. \n ))}\n
\n \n
\n ),\n onOk (): void {}\n })\n }\n\n handleServerSelectionButtonClick = (): void => {\n this.setState({ isServerSelectionModalVisible: true })\n }\n\n render (): React.ReactNode {\n let user = null\n if (this.props.user !== undefined) {\n const userMenuItems = []\n if (this.props.onUserLogout !== undefined) {\n userMenuItems.push(\n {\n label: 'Logout',\n key: 'user-logout',\n onClick: () => {\n if (this.props.onUserLogout !== undefined) {\n this.props.onUserLogout()\n }\n }\n }\n )\n }\n const userMenu = \n user = (\n \n e.preventDefault()}\n label={`${this.props.user.name} (${this.props.user.email})`}\n />\n \n )\n }\n\n let worklistButton\n if (this.props.showWorklistButton) {\n worklistButton = (\n \n \n this.handleReset(clearFilters)}\n size='small'\n style={{ width: 90 }}\n >\n Reset\n \n \n
\n ),\n filterIcon: (filtered: boolean) => (\n \n )\n })\n}\n\nexport default withRouter(Worklist)\n","/**\n * Join a URI with a path to form a full URL.\n *\n * @param path - Path component\n * @param uri - Base URI to which the path component should be added\n */\nexport const joinUrl = (path: string, uri: string): string => {\n let baseUri = uri\n if (!baseUri.endsWith('/')) {\n baseUri += '/'\n }\n const url = new URL(path, baseUri)\n return url.toString()\n}\n\n/**\n * Check whether a URL contains an OAuth 2.0 authorization code.\n *\n * @param location - URL components (JavaScript location object)\n * @returns Whether the URL contains a code\n */\nexport const isAuthorizationCodeInUrl = (location: {\n search: string\n hash: string\n}): boolean => {\n const searchParams = new URLSearchParams(location.search)\n const hashParams = new URLSearchParams(location.hash.replace('#', '?'))\n\n return Boolean(\n searchParams.get('code') ??\n searchParams.get('id_token') ??\n searchParams.get('session_state') ??\n hashParams.get('code') ??\n hashParams.get('id_token') ??\n hashParams.get('session_state')\n )\n}\n","import { UserManager, User as UserData } from 'oidc-client'\n\nimport { OidcSettings } from '../AppConfig'\nimport { isAuthorizationCodeInUrl } from '../utils/url'\nimport { User, AuthManager, SignInCallback } from './'\nimport NotificationMiddleware,\n{ NotificationMiddlewareContext } from '../services/NotificationMiddleware'\nimport { CustomError, errorTypes } from '../utils/CustomError'\n\nconst createUser = (userData: UserData | null): User => {\n let profile\n if (userData !== null) {\n profile = userData.profile\n }\n\n if (profile !== undefined) {\n if (profile.name === undefined || profile.email === undefined) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.AUTH,\n new CustomError(\n errorTypes.AUTHENTICATION,\n 'Failed to obtain user \"name\" and \"email\".'\n )\n )\n } else {\n return {\n name: profile.name,\n email: profile.email\n }\n }\n } else {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.AUTH,\n new CustomError(\n errorTypes.AUTHENTICATION,\n 'Failed to obtain user profile.'\n )\n )\n }\n return {\n name: undefined,\n email: undefined\n }\n}\n\nexport default class OidcManager implements AuthManager {\n private _oidc: UserManager\n\n constructor (baseUri: string, settings: OidcSettings) {\n let responseType = 'code'\n if (settings.grantType !== undefined) {\n if (settings.grantType === 'implicit') {\n responseType = 'id_token token'\n }\n }\n this._oidc = new UserManager({\n authority: settings.authority,\n client_id: settings.clientId,\n redirect_uri: baseUri,\n scope: settings.scope,\n response_type: responseType,\n loadUserInfo: true,\n automaticSilentRenew: true,\n revokeAccessTokenOnSignout: true,\n post_logout_redirect_uri: `${baseUri}/logout`\n })\n if (settings.endSessionEndpoint != null) {\n /*\n * Unfortunately, the end session endpoint alone cannot be provided to\n * the construction of UserManager and the other metadata parameters\n * would need to be provided as well. However, configuring all of them\n * individually would not be desirable and they will be automatically\n * determined anyways. Therefore, we first construct an object, get the\n * metadata, update the metadata, and then reconstruct an object with the\n * updated metadata.\n */\n this._oidc.metadataService.getMetadata().then(metadata => {\n if (settings.endSessionEndpoint != null) {\n metadata.end_session_endpoint = settings.endSessionEndpoint\n this._oidc = new UserManager({\n authority: settings.authority,\n client_id: settings.clientId,\n redirect_uri: baseUri,\n scope: settings.scope,\n response_type: responseType,\n loadUserInfo: true,\n automaticSilentRenew: true,\n revokeAccessTokenOnSignout: true,\n post_logout_redirect_uri: `${baseUri}/logout`,\n metadata\n })\n }\n }).catch((error) => {\n console.error(\n 'failed to get metadata from authorization server: ',\n error\n )\n })\n }\n }\n\n /**\n * Sign-in to authenticate the user and obtain authorization.\n */\n signIn = async ({ onSignIn }: {\n onSignIn?: SignInCallback\n }): Promise => {\n const handleSignIn = (userData: UserData): void => {\n const user = createUser(userData)\n const authorization = `${userData.token_type} ${userData.access_token}`\n if (onSignIn != null) {\n console.info('handling sign-in using provided callback function')\n onSignIn({ user: user, authorization: authorization })\n } else {\n console.warn('no callback function was provided to handle sign-in')\n }\n }\n\n if (isAuthorizationCodeInUrl(window.location)) {\n /* Handle the callback from the authorization server: extract the code\n * from the callback URL, obtain user information and the access token\n * for the DICOMweb server.\n */\n console.info('obtaining authorization')\n const userData = await this._oidc.signinCallback()\n if (userData != null) {\n console.info('obtained user data: ', userData)\n handleSignIn(userData)\n }\n } else {\n /* Redirect to the authorization server to authenticate the user\n * and authorize the application to obtain user information and access\n * the DICOMweb server.\n */\n const userData = await this._oidc.getUser()\n if (userData === null || userData.expired) {\n console.info('authenticating user')\n await this._oidc.signinRedirect()\n } else {\n console.info('user has already been authenticated')\n handleSignIn(userData)\n }\n }\n }\n\n /**\n * Sign-out to revoke authorization.\n */\n signOut = async (): Promise => {\n console.log('signing out user and revoking authorization')\n return await this._oidc.signoutRedirect()\n }\n\n /**\n * Get authorization. Requires prior sign-in.\n */\n getAuthorization = async (): Promise => {\n return await this._oidc.getUser().then((userData) => {\n if (userData !== null) {\n return userData.access_token\n } else {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.AUTH,\n new CustomError(\n errorTypes.AUTHENTICATION,\n 'Failed to obtain user profile.'\n )\n )\n }\n })\n }\n\n /**\n * Get user information. Requires prior sign-in.\n */\n getUser = async (): Promise => {\n return await this._oidc.getUser().then((userData) => {\n if (userData === null) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.AUTH,\n new CustomError(\n errorTypes.AUTHENTICATION,\n 'Failed to obtain user information.'\n )\n )\n }\n return createUser(userData)\n })\n }\n}\n","import retry from 'retry'\n\nimport {\n RetryRequestSettings,\n DICOMwebClientRequestHookMetadata\n} from '../AppConfig'\n\ntype RequestHook = (\n request: XMLHttpRequest,\n metadata: DICOMwebClientRequestHookMetadata\n) => XMLHttpRequest\n\n/**\n * Returns a configured retry request hook function\n * that can be used to add retry functionality to XHR request.\n *\n * Default options:\n * retries: 5\n * factor: 3\n * minTimeout: 1 * 1000\n * maxTimeout: 60 * 1000\n * randomize: true\n *\n * @param options\n * @param options.retires - Number of retries\n * @param options.factor - Factor\n * @param options.minTimeout - Min number of seconds to wait before next retry\n * @param options.maxTimeout - Max number of seconds to wait before next retry\n * @param options.randomize - Whether randomization should be applied\n * @param options.retryableStatusCodes HTTP status codes that can trigger a retry\n * @returns Configured retry request function\n */\nexport const getXHRRetryHook = (options: RetryRequestSettings = {\n retries: 5,\n factor: 3,\n minTimeout: 1 * 1000,\n maxTimeout: 60 * 1000,\n randomize: true,\n retryableStatusCodes: [429, 500]\n}): RequestHook => {\n const retryOptions = options\n\n if (options.retries != null) {\n retryOptions.retries = options.retries\n }\n\n if (options.factor != null) {\n retryOptions.factor = options.factor\n }\n\n if (options.minTimeout != null) {\n retryOptions.minTimeout = options.minTimeout\n }\n\n if (options.maxTimeout != null) {\n retryOptions.maxTimeout = options.maxTimeout\n }\n\n if (options.randomize != null) {\n retryOptions.randomize = options.randomize\n }\n\n if (options.retryableStatusCodes != null) {\n retryOptions.retryableStatusCodes = options.retryableStatusCodes\n }\n\n /**\n * Request hook used to add retry functionality to XHR requests.\n *\n * @param request - XHR request instance\n * @param metadata - Metadata about the request\n * @param metadata.url - URL\n * @param metadata.method - HTTP method\n * @returns - XHR request instance (potentially modified)\n */\n const xhrRetryHook = (\n request: XMLHttpRequest,\n metadata: DICOMwebClientRequestHookMetadata\n ): XMLHttpRequest => {\n const { url, method } = metadata\n\n function faultTolerantRequestSend (...args: any): void {\n const operation = retry.operation(retryOptions)\n\n operation.attempt(function operationAttempt (currentAttempt) {\n const originalOnReadyStateChange = request.onreadystatechange\n\n /** Overriding/extending XHR function */\n request.onreadystatechange = function onReadyStateChange (...args: any): void {\n if (originalOnReadyStateChange != null) {\n originalOnReadyStateChange.apply(request, args)\n }\n\n if (retryOptions.retryableStatusCodes.includes(request.status)) {\n const errorMessage = `Attempt to request ${url} failed.`\n const attemptFailedError = new Error(errorMessage)\n operation.retry(attemptFailedError)\n }\n }\n\n /** Call open only on retry (after headers and other things were set in the xhr instance) */\n if (currentAttempt > 1) {\n console.warn(`Requesting ${url}... (attempt: ${currentAttempt})`)\n request.open(method, url, true)\n }\n })\n\n originalRequestSend.apply(request, args)\n }\n\n /** Overriding/extending XHR function */\n const originalRequestSend = request.send\n request.send = faultTolerantRequestSend\n\n return request\n }\n\n return xhrRetryHook\n}\n\nexport default getXHRRetryHook\n","import * as dwc from 'dicomweb-client'\n\nimport { ServerSettings, DicomWebManagerErrorHandler } from './AppConfig'\nimport { joinUrl } from './utils/url'\nimport getXHRRetryHook from './utils/xhrRetryHook'\nimport { CustomError, errorTypes } from './utils/CustomError'\nimport NotificationMiddleware, {\n NotificationMiddlewareContext\n} from './services/NotificationMiddleware'\n\ninterface Store {\n id: string\n read: boolean\n write: boolean\n client: dwc.api.DICOMwebClient\n}\n\nexport default class DicomWebManager implements dwc.api.DICOMwebClient {\n private readonly stores: Store[] = []\n\n private readonly handleError: DicomWebManagerErrorHandler\n\n constructor ({ baseUri, settings, onError }: {\n baseUri: string\n settings: ServerSettings[]\n onError?: DicomWebManagerErrorHandler\n }) {\n if (onError != null) {\n this.handleError = onError\n } else {\n this.handleError = (error, serverSettings) => {\n console.error(error, serverSettings)\n }\n }\n\n settings.forEach(serverSettings => {\n if (serverSettings === undefined) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.COMMUNICATION,\n 'At least one server needs to be configured.'\n )\n )\n }\n\n let serviceUrl\n if (serverSettings.url !== undefined) {\n serviceUrl = serverSettings.url\n } else if (serverSettings.path !== undefined) {\n serviceUrl = joinUrl(serverSettings.path, baseUri)\n } else {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.COMMUNICATION,\n 'Either path or full URL needs to be configured for server.'\n )\n )\n }\n const clientSettings: dwc.api.DICOMwebClientOptions = {\n url: serviceUrl\n }\n if (serverSettings.qidoPathPrefix !== undefined) {\n clientSettings.qidoURLPrefix = serverSettings.qidoPathPrefix\n }\n if (serverSettings.wadoPathPrefix !== undefined) {\n clientSettings.wadoURLPrefix = serverSettings.wadoPathPrefix\n }\n if (serverSettings.stowPathPrefix !== undefined) {\n clientSettings.stowURLPrefix = serverSettings.stowPathPrefix\n }\n if (serverSettings.retry !== undefined) {\n clientSettings.requestHooks = [getXHRRetryHook(serverSettings.retry)]\n }\n\n clientSettings.errorInterceptor = (error: dwc.api.DICOMwebClientError) => {\n this.handleError(error, serverSettings)\n }\n\n this.stores.push({\n id: serverSettings.id,\n write: serverSettings.write ?? false,\n read: serverSettings.read ?? true,\n client: new dwc.api.DICOMwebClient(clientSettings)\n })\n })\n\n if (this.stores.length > 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.COMMUNICATION,\n 'Only one store is supported for now.'\n )\n )\n }\n }\n\n get baseURL (): string {\n return this.stores[0].client.baseURL\n }\n\n updateHeaders = (fields: { [name: string]: string }): void => {\n for (const f in fields) {\n this.stores[0].client.headers[f] = fields[f]\n }\n }\n\n get headers (): { [name: string]: string } {\n return this.stores[0].client.headers\n }\n\n storeInstances = async (\n options: dwc.api.StoreInstancesOptions\n ): Promise => {\n if (this.stores[0].write) {\n return await this.stores[0].client.storeInstances(options)\n } else {\n return await Promise.reject(\n new Error('Store is not writable.')\n )\n }\n }\n\n searchForStudies = async (\n options: dwc.api.SearchForStudiesOptions\n ): Promise => {\n return await this.stores[0].client.searchForStudies(options)\n }\n\n searchForSeries = async (\n options: dwc.api.SearchForSeriesOptions\n ): Promise => {\n return await this.stores[0].client.searchForSeries(options)\n }\n\n searchForInstances = async (\n options: dwc.api.SearchForInstancesOptions\n ): Promise => {\n return await this.stores[0].client.searchForInstances(options)\n }\n\n retrieveStudyMetadata = async (\n options: dwc.api.RetrieveStudyMetadataOptions\n ): Promise => {\n return await this.stores[0].client.retrieveStudyMetadata(options)\n }\n\n retrieveSeriesMetadata = async (\n options: dwc.api.RetrieveSeriesMetadataOptions\n ): Promise => {\n return await this.stores[0].client.retrieveSeriesMetadata(options)\n }\n\n retrieveInstanceMetadata = async (\n options: dwc.api.RetrieveInstanceMetadataOptions\n ): Promise => {\n return await this.stores[0].client.retrieveInstanceMetadata(options)\n }\n\n retrieveInstance = async (\n options: dwc.api.RetrieveInstanceOptions\n ): Promise => {\n return await this.stores[0].client.retrieveInstance(options)\n }\n\n retrieveInstanceFrames = async (\n options: dwc.api.RetrieveInstanceFramesOptions\n ): Promise => {\n return await this.stores[0].client.retrieveInstanceFrames(options)\n }\n\n retrieveInstanceRendered = async (\n options: dwc.api.RetrieveInstanceRenderedOptions\n ): Promise => {\n return await this.stores[0].client.retrieveInstanceRendered(options)\n }\n\n retrieveInstanceFramesRendered = async (\n options: dwc.api.RetrieveInstanceFramesRenderedOptions\n ): Promise => {\n return await this.stores[0].client.retrieveInstanceFramesRendered(options)\n }\n\n retrieveBulkData = async (\n options: dwc.api.RetrieveBulkDataOptions\n ): Promise => {\n return await this.stores[0].client.retrieveBulkData(options)\n }\n}\n","import React from 'react'\nimport {\n BrowserRouter,\n Navigate,\n Route,\n Routes,\n useParams\n} from 'react-router-dom'\nimport { Layout, message } from 'antd'\nimport { FaSpinner } from 'react-icons/fa'\nimport * as dwc from 'dicomweb-client'\n\nimport AppConfig, { ServerSettings, ErrorMessageSettings } from './AppConfig'\nimport CaseViewer from './components/CaseViewer'\nimport Header from './components/Header'\nimport InfoPage from './components/InfoPage'\nimport Worklist from './components/Worklist'\n\nimport { User, AuthManager } from './auth'\nimport OidcManager from './auth/OidcManager'\nimport { StorageClasses } from './data/uids'\nimport DicomWebManager from './DicomWebManager'\nimport { joinUrl } from './utils/url'\nimport { CustomError, errorTypes } from './utils/CustomError'\nimport NotificationMiddleware, {\n NotificationMiddlewareContext\n} from './services/NotificationMiddleware'\n\nfunction ParametrizedCaseViewer ({ clients, user, app, config }: {\n clients: { [key: string]: DicomWebManager }\n user?: User\n app: {\n name: string\n version: string\n uid: string\n organization?: string\n }\n config: AppConfig\n}): JSX.Element {\n const { studyInstanceUID } = useParams()\n\n const enableAnnotationTools = !(config.disableAnnotationTools ?? false)\n const preload = config.preload ?? false\n return (\n \n )\n}\n\nfunction _createClientMapping ({ baseUri, settings, onError }: {\n baseUri: string\n settings: ServerSettings[]\n onError: (\n error: dwc.api.DICOMwebClientError,\n serverSettings: ServerSettings\n ) => void\n}): { [sopClassUID: string]: DicomWebManager } {\n const storageClassMapping: { [key: string]: number } = { default: 0 }\n const clientMapping: { [sopClassUID: string]: DicomWebManager } = {}\n\n settings.forEach(serverSettings => {\n if (serverSettings.storageClasses != null) {\n serverSettings.storageClasses.forEach(sopClassUID => {\n if (Object.values(StorageClasses).includes(sopClassUID)) {\n if (sopClassUID in storageClassMapping) {\n storageClassMapping[sopClassUID] += 1\n } else {\n storageClassMapping[sopClassUID] = 1\n }\n } else {\n console.warn(\n `unknown storage class \"${sopClassUID}\" specified ` +\n `for configured server \"${serverSettings.id}\"`\n )\n }\n })\n } else {\n storageClassMapping.default += 1\n clientMapping.default = new DicomWebManager({\n baseUri,\n settings: [serverSettings],\n onError\n })\n }\n })\n\n if (storageClassMapping.default > 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.COMMUNICATION,\n 'Only one default server can be configured without specification ' +\n 'of storage classes.'\n )\n )\n }\n\n for (const key in storageClassMapping) {\n if (key === 'default') {\n continue\n }\n if (storageClassMapping[key] > 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.COMMUNICATION,\n 'Only one configured server can specify a given storage class. ' +\n `Storage class \"${key}\" is specified by more than one ` +\n 'of the configured servers.'\n )\n )\n }\n }\n\n if (Object.keys(storageClassMapping).length > 1) {\n settings.forEach(server => {\n const client = new DicomWebManager({\n baseUri,\n settings: [server],\n onError\n })\n if (server.storageClasses != null) {\n server.storageClasses.forEach(sopClassUID => {\n clientMapping[sopClassUID] = client\n })\n }\n })\n }\n\n Object.values(StorageClasses).forEach(sopClassUID => {\n if (!(sopClassUID in clientMapping)) {\n clientMapping[sopClassUID] = clientMapping.default\n }\n })\n return clientMapping\n}\n\ninterface AppProps {\n name: string\n homepage: string\n version: string\n config: AppConfig\n}\n\ninterface AppState {\n clients: { [sopClassUID: string]: DicomWebManager }\n user?: User\n isLoading: boolean\n redirectTo?: string\n wasAuthSuccessful: boolean\n error?: ErrorMessageSettings\n}\n\nclass App extends React.Component {\n private readonly auth?: AuthManager\n\n private readonly handleDICOMwebError = (\n error: dwc.api.DICOMwebClientError,\n serverSettings: ServerSettings\n ): void => {\n if (error.status === 401) {\n this.signIn()\n } else if (error.status === 403) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.DICOMWEB,\n new CustomError(\n errorTypes.COMMUNICATION,\n 'User is not authorized to access DICOMweb resources.')\n )\n }\n\n const logServerError = () => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.DICOMWEB,\n new CustomError(\n errorTypes.COMMUNICATION,\n 'An unexpected server error occured.')\n )\n }\n\n if (serverSettings.errorMessages !== undefined) {\n serverSettings.errorMessages.forEach((setting: ErrorMessageSettings) => {\n if (error.status === setting.status) {\n this.setState({\n error: {\n status: error.status,\n message: setting.message\n }\n })\n } else if (error.status === 500) {\n logServerError()\n }\n })\n } else if (error.status === 500) {\n logServerError()\n }\n }\n\n constructor (props: AppProps) {\n super(props)\n\n console.info('instatiate app')\n console.info(`app is located at \"${props.config.path}\"`)\n const { protocol, host } = window.location\n const baseUri = `${protocol}//${host}`\n const appUri = joinUrl(props.config.path, baseUri)\n\n const oidcSettings = props.config.oidc\n if (oidcSettings !== undefined) {\n console.info(\n 'app uses the following OIDC configuration: ',\n props.config.oidc\n )\n this.auth = new OidcManager(appUri, oidcSettings)\n }\n\n if (props.config.servers.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.COMMUNICATION,\n 'One server needs to be configured.')\n )\n }\n console.info(\n 'app uses the following DICOMweb server configuration: ',\n props.config.servers\n )\n\n this.handleServerSelection = this.handleServerSelection.bind(this)\n\n message.config({ duration: 5 })\n this.addGcpSecondaryAnnotationServer(props.config)\n\n this.state = {\n clients: _createClientMapping({\n baseUri,\n settings: props.config.servers,\n onError: this.handleDICOMwebError\n }),\n isLoading: true,\n wasAuthSuccessful: false\n }\n }\n\n addGcpSecondaryAnnotationServer (config: AppProps['config']): void {\n const serverId = 'gcp_secondary_annotation_server'\n const urlParams = new URLSearchParams(window.location.search)\n const url = urlParams.get('gcp')\n const gcpSecondaryAnnotationServer = config.servers.find(\n (server) => server.id === serverId\n )\n if (gcpSecondaryAnnotationServer === undefined && typeof url === 'string') {\n config.servers.push({\n id: serverId,\n write: true,\n url,\n storageClasses: [\n StorageClasses.COMPREHENSIVE_SR,\n StorageClasses.COMPREHENSIVE_3D_SR,\n StorageClasses.SEGMENTATION,\n StorageClasses.MICROSCOPY_BULK_SIMPLE_ANNOTATION,\n StorageClasses.PARAMETRIC_MAP,\n StorageClasses.ADVANCED_BLENDING_PRESENTATION_STATE,\n StorageClasses.COLOR_SOFTCOPY_PRESENTATION_STATE,\n StorageClasses.GRAYSCALE_SOFTCOPY_PRESENTATION_STATE,\n StorageClasses.PSEUDOCOLOR_SOFTCOPY_PRESENTATION_STATE\n ]\n })\n }\n }\n\n handleServerSelection ({ url }: { url: string }): void {\n console.info('select DICOMweb server: ', url)\n const tmpClient = new DicomWebManager({\n baseUri: '',\n settings: [{\n id: 'tmp',\n url,\n read: true,\n write: false\n }],\n onError: this.handleDICOMwebError\n })\n tmpClient.updateHeaders(this.state.clients.default.headers)\n /**\n * Use the newly created client for all storage classes. We may want to\n * make this more sophisticated in the future to allow users to override\n * the entire server configuration.\n */\n this.setState(state => {\n const clients: { [key: string]: DicomWebManager } = {}\n for (const key in state.clients) {\n clients[key] = tmpClient\n }\n return { clients }\n })\n }\n\n /**\n * Handle successful authentication event.\n *\n * Authorizes the DICOMweb client to access the DICOMweb server and directs\n * the user back to the App.\n *\n * @param user - Information about the user\n * @param authorization - Value of the \"Authorization\" HTTP header field\n */\n handleSignIn = ({ user, authorization }: {\n user: User\n authorization: string\n }): void => {\n for (const key in this.state.clients) {\n const client = this.state.clients[key]\n client.updateHeaders({ Authorization: authorization })\n }\n const storedPath = window.localStorage.getItem('slim_path')\n const storedSearch = window.localStorage.getItem('slim_search')\n if (storedPath != null) {\n const currentPath = window.location.pathname\n if (storedPath !== currentPath) {\n let path = storedPath\n if (storedSearch != null) {\n path += storedSearch\n }\n window.location.href = path\n }\n }\n window.localStorage.removeItem('slim_path')\n window.localStorage.removeItem('slim_search')\n this.setState({ user: user })\n }\n\n signIn (): void {\n if (this.auth !== undefined) {\n console.info('try to sign in user')\n this.auth.signIn({ onSignIn: this.handleSignIn }).then(() => {\n console.info('sign-in was successful')\n this.setState({\n isLoading: false,\n wasAuthSuccessful: true\n })\n }).catch((error) => {\n console.error(error)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.AUTH,\n new CustomError(\n errorTypes.AUTHENTICATION,\n 'Could not sign-in user.')\n )\n this.setState({\n isLoading: false,\n redirectTo: undefined,\n wasAuthSuccessful: false\n })\n })\n } else {\n this.setState({\n isLoading: false,\n redirectTo: undefined,\n wasAuthSuccessful: true\n })\n }\n }\n\n componentDidMount (): void {\n const path = window.localStorage.getItem('slim_path')\n if (path == null) {\n window.localStorage.setItem('slim_path', window.location.pathname)\n window.localStorage.setItem('slim_search', window.location.search)\n }\n this.signIn()\n }\n\n render (): React.ReactNode {\n const appInfo = {\n name: this.props.name,\n version: this.props.version,\n homepage: this.props.homepage,\n uid: '1.2.826.0.1.3680043.9.7433.1.5',\n organization: this.props.config.organization\n }\n\n const enableWorklist = !(\n this.props.config.disableWorklist ?? false\n )\n const enableServerSelection = (\n this.props.config.enableServerSelection ?? false\n )\n\n let worklist\n if (enableWorklist) {\n worklist = \n } else {\n worklist =
Worklist has been disabled.
\n }\n\n let isLogoutPossible = false\n let onLogout: () => void\n if (\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n this.props.config.oidc != null &&\n this.props.config.oidc.endSessionEndpoint != null\n ) {\n onLogout = (): void => {\n if (this.auth != null) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.auth.signOut()\n }\n }\n isLogoutPossible = true\n } else {\n onLogout = () => {}\n isLogoutPossible = false\n }\n\n const layoutStyle = { height: '100vh' }\n const layoutContentStyle = { height: '100%' }\n\n if (this.state.redirectTo !== undefined) {\n return (\n \n \n \n )\n } else if (this.state.isLoading) {\n return (\n \n \n \n \n \n \n \n \n )\n } else if (!this.state.wasAuthSuccessful) {\n return (\n \n )\n } else if (this.state.error != null) {\n return (\n \n )\n } else {\n return (\n \n \n \n \n \n {worklist}\n \n \n }\n />\n \n \n \n \n \n \n }\n />\n \n \n Logged out\n \n }\n />\n \n \n )\n }\n }\n}\n\nexport default App\n"],"names":["Description","layout","labelLineHeight","undefined","this","props","hasLongValues","items","attributes","map","item","index","uid","generateUUID","label","name","labelStyle","lineHeight","contentStyle","fontWeight","whiteSpace","span","value","icon","title","header","extra","size","hoverable","selectable","bordered","actions","methods","column","children","React","metadata","ClinicalTrialSponsorName","push","ClinicalTrialProtocolID","ClinicalTrialProtocolName","ClinicalTrialSiteName","ClinicalTrialTimePointID","parseName","Alphabetic","split","join","parseDate","year","substring","month","day","parseTime","hours","minutes","seconds","parseSex","F","M","O","PatientID","PatientName","PatientSex","PatientBirthDate","AccessionNumber","StudyID","StudyDate","StudyTime","StorageClasses","_subscriptions","Symbol","_lastSubscriptionId","PubSub","eventName","callback","Error","hasOwnProperty","subscriptionId","callbacks","payload","errorTypes","CustomError","type","message","stack","NotificationMiddlewareEvents","NotificationMiddlewareContext","NotificationType","NotificationSourceDefinition","sources","category","notificationType","outerContext","args","publish","Array","from","warn","console","JSON","stringify","arguments","includes","apply","prototype","slice","call","source","error","notificationMsg","errorCategory","find","s","String","notification","description","duration","state","isLoading","overviewViewportRef","overviewViewer","setState","slide","overviewImages","length","current","innerHTML","info","ContainerIdentifier","dmv","client","clients","VL_WHOLE_SLIDE_MICROSCOPY_IMAGE","resizeFactor","errorInterceptor","NotificationMiddleware","render","container","resize","style","height","containerIdentifier","ref","seriesInstanceUIDs","selectedSeriesInstanceUID","onSeriesSelection","seriesInstanceUID","slideList","slideItemList","i","slideItem","selectedKeys","width","onSelect","key","keyPath","domEvent","toString","mode","inlineIndent","handleVisibilityChange","bind","checked","event","onVisibilityChange","roiUID","roi","isVisible","identifier","otherProps","evaluations","forEach","nameValue","ConceptNameCodeSequence","CodeValue","nameMeaning","CodeMeaning","ValueType","dcmjs","valueMeaning","ConceptCodeSequence","textContentItem","TextValue","measurements","seq","MeasuredValueSequence","NumericValue","toPrecision","unit","MeasurementUnitsCodeSequence","align","paddingLeft","onChange","checkedChildren","unCheckedChildren","handleMenuItemSelection","rois","visibleRoiUIDs","object","onSelection","has","paddingTop","paddingBottom","selectedRoiUIDs","values","onClick","handleMeasurementSelection","handleOpacityChange","handleColorRChange","handleColorGChange","handleColorBChange","getCurrentColor","currentStyle","opacity","defaultStyle","color","annotationGroupUID","annotationGroup","onStyleChange","styleOptions","limitValues","isArray","option","codeComponents","measurement","schemeDesignator","meaning","colorSettings","windowSettings","explorationSettings","AnnotationGroupSequence","findIndex","AnnotationGroupUID","propertyType","propertyCategory","GraphicType","AnnotationCoordinateType","measurementsSequence","MeasurementsSequence","measurementOptions","measurementItem","CodingSchemeDesignator","dropdownMatchSelectWidth","disabled","plain","justify","gutter","range","min","max","step","handleLowerLimitChange","handleLimitChange","handleUpperLimitChange","minWidth","defaultValue","settings","isBadgeVisible","direction","placement","content","overlayStyle","shape","SettingOutlined","offset","count","borderStyle","borderWidth","borderColor","visibility","backgroundImage","annotationGroups","visibleAnnotationGroupUIDs","defaultAnnotationGroupStyles","onAnnotationGroupVisibilityChange","onAnnotationGroupStyleChange","handleClick","text","button","Icon","isSelected","tooltip","Manufacturer","ManufacturerModelName","DeviceSerialNumber","SoftwareVersions","InstitutionName","findContentItemsByName","concept","hasName","hasValueType","valueType","getROIs","report","matches","ContentSequence","measurementsItem","measurementGroupItems","observerType","group","trackingUIDItem","algorithmNameItem","algorithmVersionItem","scoord3d","regionItem","frameOfReferenceUID","ReferencedFrameOfReferenceUID","coordinates","GraphicData","evaluation","findEvaluationItems","findMeasurementItems","properties","trackingUID","UID","MeasurementReport","PersonObserverName","PersonObserverLoginName","DeviceObserverUID","DeviceObserverName","SpecimenUID","SpecimenIdentifier","ROIs","specimenUIDItem","specimenIdItem","containerIdItem","personNameItem","PersonName","personLoginNameItem","deviceUIDItem","deviceNameItem","dataset","containerAttrs","specimenAttrs","observerAttrs","annotations","id","attrs","orientation","groups","SpecimenPreparationAdditives","FIXATIVE","EMBEDDING_MEDIUM","SpecimenPreparationStepItems","SPECIMEN_IDENTIFIER","PARENT_SPECIMEN_IDENTIFIER","PROCESSING_TYPE","DATETIME_OF_PROCESSING","PROCESSING_STEP_DESCRIPTION","COLLECTION_METHOD","SAMPLING_METHOD","STAIN","specimenDescription","SpecimenDescriptionSequence","SpecimenShortDescription","PrimaryAnatomicStructureSequence","structures","SpecimenPreparationSequence","SpecimenPreparationStepContentItemSequence","equals","showstain","overflowY","handleRemoval","getCurrentColors","paletteColorLookupTable","previousProps","previousState","opticalPath","opticalPathIdentifier","rgb2hex","data","onRemoval","illuminationWaveLength","illuminationColor","specimenDescriptions","maxValue","Math","pow","BitsAllocated","isMonochromatic","colors","buttons","isRemovable","DeleteOutlined","EyeOutlined","EyeInvisibleOutlined","Option","Select","selectedOpticalPathIdentifier","handleItemAddition","handleItemRemoval","handleItemSelectionChange","onOpticalPathActivityChange","isActive","opticalPathSelector","isSelectable","opticalPaths","opticalPathItems","optionItems","images","SeriesInstanceUID","OpticalPathSequence","opticalPathItem","OpticalPathIdentifier","OpticalPathDescription","activeOpticalPathIdentifiers","visibleOpticalPathIdentifiers","defaultOpticalPathStyles","onOpticalPathVisibilityChange","onOpticalPathStyleChange","padding","allowClear","AppstoreAddOutlined","mappingUID","mapping","mappings","visibleMappingUIDs","defaultMappingStyles","onMappingVisibilityChange","onMappingStyleChange","segmentUID","segment","algorithmName","segments","visibleSegmentUIDs","defaultSegmentStyles","onSegmentVisibilityChange","onSegmentStyleChange","withRouter","Component","location","useLocation","navigate","useNavigate","params","useParams","DEFAULT_ROI_STROKE_COLOR","DEFAULT_ROI_FILL_COLOR","_buildKey","codingScheme","codeValue","_getRoiKey","findingName","_constructViewers","preload","volumeImages","labelViewer","volumeViewer","clientMapping","controls","activateSelectInteraction","labelImages","findingOptions","evaluationOptions","geometryTypeOptions","volumeViewportRef","labelViewportRef","defaultRoiStyle","stroke","fill","image","circle","radius","roiStyles","selectionColor","selectedRoiStyle","loadPresentationStates","ADVANCED_BLENDING_PRESENTATION_STATE","searchForInstances","studyInstanceUID","queryParams","Modality","then","matchedInstances","rawInstance","instance","SOPInstanceUID","retrieveInstance","sopInstanceUID","retrievedInstance","dict","areVolumeImagesMonochrome","presentationState","doesMatch","AdvancedBlendingSequence","blendingItem","selectedPresentationStateUID","setPresentationState","presentationStates","Object","catch","getAllOpticalPaths","opticalPathStyles","hideOpticalPath","deactivateOpticalPath","getOpticalPathDefaultStyle","setOpticalPathStyle","refInstanceItems","ReferencedInstanceSequence","ReferencedImageSequence","imageItem","sopInstanceUIDs","ReferencedSOPInstanceUID","paletteColorLUT","PaletteColorLookupTableSequence","cpLUTItem","PaletteColorLookupTableUID","redDescriptor","RedPaletteColorLookupTableDescriptor","greenDescriptor","GreenPaletteColorLookupTableDescriptor","blueDescriptor","BluePaletteColorLookupTableDescriptor","redData","RedPaletteColorLookupTableData","Uint16Array","greenData","GreenPaletteColorLookupTableData","blueData","BluePaletteColorLookupTableData","redSegmentedData","SegmentedRedPaletteColorLookupTableData","greenSegmentedData","SegmentedGreenPaletteColorLookupTableData","blueSegmentedData","SegmentedBluePaletteColorLookupTableData","SoftcopyVOILUTSequence","voiLUTItem","windowCenter","WindowCenter","windowWidth","WindowWidth","selectedOpticalPathIdentifiers","Set","keys","activateOpticalPath","showOpticalPath","add","searchParams","URLSearchParams","search","set","pathname","replace","getRoiStyle","addAnnotations","COMPREHENSIVE_3D_SR","SOPClassUID","templateSeq","ContentTemplateSequence","TemplateIdentifier","_implementsTID1500","subjectClassValue","retrievedConcept","expectedConcept","_describesSpecimenSubject","debug","measurementGroups","foundRegion","regions","_containsROIAnnotations","FrameOfReferenceUID","doesROIExist","getAllROIs","some","otherROI","a","b","graphicType","graphicData","s1","s2","j","_areROIsEqual","addROI","forceUpdate","addAnnotationGroups","MICROSCOPY_BULK_SIMPLE_ANNOTATION","searchForSeries","matchedSeries","series","retrieveSeriesMetadata","retrievedMetadata","ann","finding","AnnotationPropertyTypeCodeSequence","setAnnotationGroupStyle","addSegmentations","SEGMENTATION","segmentations","seg","refImage","addSegments","addParametricMaps","PARAMETRIC_MAP","parametricMaps","pm","addParameterMappings","populateViewports","setDefaultPresentationState","onRoiModified","onWindowResize","onRoiDrawn","detail","selectedFinding","selectedEvaluations","findingItem","relationshipType","addEvaluation","onRoiDoubleClicked","isSelectedRoiModalVisible","onRoiSelected","selectedRoi","setROIStyle","onLoadingStarted","onLoadingEnded","onFrameLoadingStarted","frameInfo","frameNumber","loadingFrames","onFrameLoadingError","onLoadingError","onFrameLoadingEnded","delete","sopClassUID","channelIdentifier","pixelDataStatistics","pixelArray","chunks","ceil","minValues","maxValues","pixels","stats","numFramesSampled","getOpticalPathStyle","onRoiRemoved","onKeyUp","isRoiDrawingActive","deactivateDrawInteraction","isRoiModificationActive","deactivateModifyInteraction","isRoiTranslationActive","deactivateTranslateInteraction","isAnnotationModalVisible","isGoToModalVisible","altKey","code","handleRoiDrawing","handleRoiModification","handleRoiTranslation","handleRoiRemoval","handleRoiVisibilityChange","handleReportGeneration","handleGoTo","annotation","geometryTypes","_formatRoiStyle","componentSetup","componentCleanup","handleRoiSelectionCancellation","handleAnnotationConfigurationCancellation","handleAnnotationGeometryTypeSelection","handleAnnotationMeasurementActivation","handleAnnotationFindingSelection","handleAnnotationEvaluationSelection","handleAnnotationEvaluationClearance","handleAnnotationConfigurationCompletion","handleAnnotationSelection","handleAnnotationVisibilityChange","handleAnnotationGroupVisibilityChange","handleAnnotationGroupStyleChange","handleXCoordinateSelection","handleYCoordinateSelection","handleMagnificationSelection","handleSlidePositionSelection","handleSlidePositionSelectionCancellation","handleReportVerification","handleReportCancellation","handleSegmentVisibilityChange","handleSegmentStyleChange","handleMappingVisibilityChange","handleMappingStyleChange","handleOpticalPathVisibilityChange","handleOpticalPathStyleChange","handleOpticalPathActivityChange","handlePresentationStateSelection","handlePresentationStateReset","boundingBox","generatedReport","isSelectedMagnificationValid","isReportModalVisible","isSelectedXCoordinateValid","isSelectedYCoordinateValid","selectedXCoordinate","validXCoordinateRange","selectedYCoordinate","validYCoordinateRange","selectedMagnification","areRoisHidden","cleanup","isOpticalPathVisible","isOpticalPathActive","document","body","removeEventListener","window","addEventListener","hasICCProfile","ICCProfile","bulkdataReferences","selectedGeometryType","target","selectedMarkup","filteredEvaluations","filter","x","Number","start","end","y","targetPixelSpacing","diffs","numLevels","actualPixelSpacing","getPixelSpacing","abs","level","indexOf","position","point","log","geometryType","markup","activateDrawInteraction","getOpticalPathMetadata","observer","refSpecimen","user","loginName","email","observationContext","observerPersonContext","observerIdentifyingAttributes","observerDeviceContext","app","manufacturerName","modelName","subjectContext","subjectClass","subjectClassSpecificContext","imagingMeasurements","findingType","trackingIdentifier","referencedRegion","qualitativeEvaluations","MappingResource","measurementReport","languageOfContentItemAndDescendants","procedureReported","evidence","seriesNumber","seriesDescription","instanceNumber","manufacturer","previousVersions","fileMetaInformationVersionArray","Uint8Array","fileMeta","Value","buffer","vr","writer","write","storeInstances","datasets","response","getROI","showAnnotationGroup","hideAnnotationGroup","showSegment","hideSegment","setSegmentStyle","showParameterMapping","hideParameterMapping","setParameterMappingStyle","sort","localeCompare","paletteColorLookupTableUID","defaultColors","numVisible","urlPath","deactivateSelectInteraction","deactivateSnapInteraction","isModifyInteractionActive","activateSnapInteraction","activateModifyInteraction","isTranslateInteractionActive","activateTranslateInteraction","removeROI","areROIsVisible","hideROIs","showROIs","getAllSegments","getAllParameterMappings","getAllAnnotationGroups","annotationMenuItems","openSubMenuItems","geometryTypeOptionsMapping","box","polygon","line","freehandpolygon","freehandline","annotationConfigurations","defaultActiveFirstOption","onClear","specimenMenu","equipmentMenu","opticalPathMetadata","presentationStateMenu","segmentationMenu","parametricMapMenu","annotationGroupMenu","toolbar","opticalPathMenu","presentationStateOptions","ContentDescription","maxWidth","UndoOutlined","segmentMetadata","getSegmentStyle","getSegmentMetadata","mappingMetadata","getParameterMappingStyle","getParameterMappingMetadata","annotationGroupMetadata","getAnnotationGroupStyle","getAnnotationGroupMetadata","toolbarHeight","annotationTools","FaDrawPolygon","FaHandPointer","FaHandPaper","FaTrash","FaEye","FaEyeSlash","FaSave","controlTools","FaCrosshairs","enableAnnotationTools","selectedRoiInformation","cursor","roiAttributes","roiScoordAttributes","roiEvaluationAttributes","codeItem","textItem","roiMeasurmentAttributesPerOpticalPath","refItems","ReferencedSOPSequence","ReferencedOpticalPathIdentifier","measuredValueItem","createRoiDescription","roiDescriptions","roiScoordDescriptions","roiEvaluationDescriptions","roiMeasurementDescriptions","descriptions","orientationMargin","dashed","hasSider","overflow","visible","onOk","onCancel","okText","maskClosable","footer","placeholder","prefix","onPressEnter","addonAfter","CheckOutlined","StopOutlined","reverseArrow","borderLeft","borderLeftWidth","background","defaultOpenKeys","forceSubMenuRender","onOpenChange","setTimeout","ImageFlavors","hasImageFlavor","imageFlavor","ImageType","areSameAcquisition","AcquisitionUID","Slide","options","acquisitionUID","opticalPathIdentifiers","pyramidUIDs","acquisitionUIDs","containerIdentifiers","frameOfReferenceUIDs","VOLUME","LABEL","OVERVIEW","THUMBNAIL","PyramidUID","samplesPerPixel","SamplesPerPixel","requirePyramidUID","PhotometricInterpretation","createSlides","slideMetadata","filteredLabelImages","filteredVolumeImages","slideMetadataIndex","_doesImageBelongToSlide","filteredOverviewImages","slideMetadataItem","slides","imgA","imgB","ParametrizedSlideViewer","presentationStateUID","selectedSlide","get","viewer","handleSeriesSelection","fetchImageMetadata","StudyInstanceUID","Promise","all","loadingSeries","seriesImages","volumeInstances","clinicalTrialMenu","borderRight","borderRightWidth","path","element","handleInfoButtonClick","browser","detect","environment","os","version","Modal","homepage","handleDebugButtonClick","errorMsgs","Authentication","Communication","EncodingDecoding","Visualization","errorNum","errorObj","warncount","Panel","Collapse","showErrorCount","errcount","e","uuidv4","warnings","warning","handleServerSelectionButtonClick","isServerSelectionModalVisible","isServerSelectionDisabled","prevProps","prevState","worklistButton","userMenuItems","onUserLogout","userMenu","overlay","trigger","UserOutlined","preventDefault","showWorklistButton","to","UnorderedListOutlined","serverSelectionButton","infoButton","InfoOutlined","debugButton","showServerSelectionButton","ApiOutlined","handleServerSelection","url","selectedServerUrl","closeModal","startsWith","onServerSelection","src","process","alt","margin","flex","currentTarget","isDisabled","URL","protocol","TypeError","display","alignItems","justifyContent","subTitle","defaultPageSize","handleSearch","confirm","dataIndex","handleReset","clearFilters","getColumnSearchProps","filterDropdown","setSelectedKeys","marginBottom","SearchOutlined","filterIcon","filtered","fetchData","handleChange","studies","numStudies","pageSize","searchOptions","ModalitiesInStudy","searchForStudies","study","limit","searchCriteria","fuzzymatching","pagination","filters","columns","hideOnSinglePage","showSizeChanger","showQuickJumper","showTotal","total","rowKey","record","dataSource","onRow","loading","joinUrl","uri","baseUri","endsWith","isAuthorizationCodeInUrl","hashParams","hash","Boolean","createUser","userData","profile","OidcManager","_oidc","signIn","onSignIn","handleSignIn","authorization","token_type","access_token","signinCallback","getUser","expired","signinRedirect","signOut","signoutRedirect","getAuthorization","responseType","grantType","UserManager","authority","client_id","clientId","redirect_uri","scope","response_type","loadUserInfo","automaticSilentRenew","revokeAccessTokenOnSignout","post_logout_redirect_uri","endSessionEndpoint","metadataService","getMetadata","end_session_endpoint","retries","factor","minTimeout","maxTimeout","randomize","retryableStatusCodes","retryOptions","xhrRetryHook","request","method","originalRequestSend","send","operation","retry","attempt","currentAttempt","originalOnReadyStateChange","onreadystatechange","status","errorMessage","attemptFailedError","open","DicomWebManager","onError","stores","handleError","updateHeaders","fields","f","headers","reject","retrieveStudyMetadata","retrieveInstanceMetadata","retrieveInstanceFrames","retrieveInstanceRendered","retrieveInstanceFramesRendered","retrieveBulkData","serverSettings","serviceUrl","clientSettings","qidoPathPrefix","qidoURLPrefix","wadoPathPrefix","wadoURLPrefix","stowPathPrefix","stowURLPrefix","requestHooks","getXHRRetryHook","read","dwc","baseURL","ParametrizedCaseViewer","config","disableAnnotationTools","CaseViewer","_createClientMapping","storageClassMapping","default","storageClasses","server","auth","handleDICOMwebError","logServerError","errorMessages","setting","Authorization","storedPath","localStorage","getItem","storedSearch","href","removeItem","host","appUri","oidcSettings","oidc","servers","addGcpSecondaryAnnotationServer","wasAuthSuccessful","serverId","COMPREHENSIVE_SR","COLOR_SOFTCOPY_PRESENTATION_STATE","GRAYSCALE_SOFTCOPY_PRESENTATION_STATE","PSEUDOCOLOR_SOFTCOPY_PRESENTATION_STATE","tmpClient","redirectTo","setItem","worklist","appInfo","organization","enableWorklist","disableWorklist","enableServerSelection","onLogout","isLogoutPossible","layoutStyle","layoutContentStyle","basename"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/565.0cd6df73.chunk.js b/static/js/565.0cd6df73.chunk.js new file mode 100644 index 00000000..70d31ad0 --- /dev/null +++ b/static/js/565.0cd6df73.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkslim=self.webpackChunkslim||[]).push([[565],{4565:(e,t,n)=>{n.d(t,{Z:()=>Gt});var i=n(5671),a=n(3144),o=n(7326),r=n(136),s=n(7277),l=n(2791),c=n(7689),d=n(1087),u=n(3695),h=n(586),p=n(9135),m=n(4165),v=n(5861),f=n(6014),g=n(6658),S=n(4261),y=n(394),C=n(4970),I=n(184),b=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e="horizontal",t="14px";void 0!==this.props.hasLongValues&&this.props.hasLongValues&&(e="vertical",t="20px");var n=this.props.attributes.map((function(e,n){var i=(0,S.Z)();return(0,I.jsx)(y.Z.Item,{label:e.name,labelStyle:{lineHeight:t},contentStyle:{fontWeight:600,whiteSpace:"pre-line",lineHeight:"14px"},span:1,children:e.value},i)})),i=null;return void 0!==this.props.icon&&(i=(0,I.jsx)(this.props.icon,{})),(0,I.jsxs)(C.Z,{title:this.props.header,extra:i,size:"small",hoverable:this.props.selectable,bordered:void 0!==this.props.header,actions:this.props.methods,children:[(0,I.jsx)(y.Z,{column:1,size:"small",layout:e,bordered:!1,children:n}),this.props.children]})}}]),n}(l.Component);const w=b;const D=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e=[];return null!=this.props.metadata.ClinicalTrialSponsorName&&e.push.apply(e,[{name:"Sponsor Name",value:this.props.metadata.ClinicalTrialSponsorName},{name:"Protocol ID",value:this.props.metadata.ClinicalTrialProtocolID},{name:"Protocol Name",value:this.props.metadata.ClinicalTrialProtocolName},{name:"Site Name",value:this.props.metadata.ClinicalTrialSiteName}]),null!=this.props.metadata.ClinicalTrialTimePointID&&e.push({name:"Time Point ID",value:this.props.metadata.ClinicalTrialTimePointID}),(0,I.jsx)(w,{attributes:e})}}]),n}(l.Component);function x(e){return"object"===typeof e&&null!==e&&void 0!==e&&void 0!==e.Alphabetic?e.Alphabetic.split("^").join(" "):""}function V(e){if(null!==e&&void 0!==e){var t=e.substring(0,4),n=e.substring(4,6),i=e.substring(6,8);return"".concat(t,"-").concat(n,"-").concat(i)}return""}function Z(e){if(null!==e&&void 0!==e){var t=e.substring(0,2),n=e.substring(2,4),i=e.substring(4,6);return"".concat(t,":").concat(n,":").concat(i)}return""}function R(e){return null!==e&&void 0!==e?{F:"Female",M:"Male",O:"Other"}[e]:""}const O=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e=[{name:"ID",value:this.props.metadata.PatientID},{name:"Name",value:x(this.props.metadata.PatientName)},{name:"Gender",value:R(this.props.metadata.PatientSex)},{name:"Birthdate",value:V(this.props.metadata.PatientBirthDate)}];return(0,I.jsx)(w,{attributes:e})}}]),n}(l.Component);const P=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e=[{name:"Accession #",value:this.props.metadata.AccessionNumber},{name:"ID",value:this.props.metadata.StudyID},{name:"Date",value:V(this.props.metadata.StudyDate)},{name:"Time",value:Z(this.props.metadata.StudyTime)}];return(0,I.jsx)(w,{attributes:e})}}]),n}(l.Component);var M,j=n(1413);!function(e){e.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE="1.2.840.10008.5.1.4.1.1.77.1.6",e.COMPREHENSIVE_SR="1.2.840.10008.5.1.4.1.1.88.33",e.COMPREHENSIVE_3D_SR="1.2.840.10008.5.1.4.1.1.88.34",e.SEGMENTATION="1.2.840.10008.5.1.4.1.1.66.4",e.MICROSCOPY_BULK_SIMPLE_ANNOTATION="1.2.840.10008.5.1.4.1.1.91.1",e.PARAMETRIC_MAP="1.2.840.10008.5.1.4.1.1.30",e.ADVANCED_BLENDING_PRESENTATION_STATE="1.2.840.10008.5.1.4.1.1.11.8",e.COLOR_SOFTCOPY_PRESENTATION_STATE="1.2.840.10008.5.1.4.1.1.11.2",e.GRAYSCALE_SOFTCOPY_PRESENTATION_STATE="1.2.840.10008.5.1.4.1.1.11.1",e.PSEUDOCOLOR_SOFTCOPY_PRESENTATION_STATE="1.2.840.10008.5.1.4.1.1.11.3"}(M||(M={}));var E=Symbol("subscriptions"),U=Symbol("lastSubscriptionId"),T=function(){function e(){(0,i.Z)(this,e),this[E]={},this[U]=0}return(0,a.Z)(e,[{key:"subscribe",value:function(e,t){if(void 0===e)throw new Error("Trying to subscribe to an inexistent event");if("function"!==typeof t)throw new Error("The provided callback must be a function");this[E].hasOwnProperty(e)||(this[E][e]={});var n="sub".concat(this[U]++);this[E][e][n]=t}},{key:"unsubscribe",value:function(e,t){var n=this[E][e]||{};for(var i in n)t?n[i]===t&&delete n[i]:delete n[i]}},{key:"publish",value:function(e){if(void 0===e)throw new Error("Trying to publish an inexistent event");for(var t=this[E][e]||{},n=arguments.length,i=new Array(n>1?n-1:0),a=1;a0){var e=this.props.slide.overviewImages[0];null!==this.overviewViewportRef.current&&(this.overviewViewportRef.current.innerHTML="",console.info("instantiate viewer for OVERVIEW image of slide "+'"'.concat(e.ContainerIdentifier,'"')),this.overviewViewer=new g.viewer.OverviewImageViewer({client:this.props.clients[M.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE],metadata:e,resizeFactor:1,errorInterceptor:function(e){return J.onError(B,e)}}),this.overviewViewer.render({container:this.overviewViewportRef.current}))}this.setState({isLoading:!1})}},{key:"render",value:function(){void 0!==this.overviewViewer&&this.overviewViewer.resize();var e=[],t=this.props.slide.description;return null!=t&&""!==t&&e.push({name:"Description",value:t}),this.state.isLoading?(0,I.jsx)(p.fCD,{}):(0,I.jsx)(f.Z.Item,(0,j.Z)((0,j.Z)({style:{height:"100%"}},this.props),{},{children:(0,I.jsx)(w,{header:this.props.slide.containerIdentifier,attributes:e,selectable:!0,children:(0,I.jsx)("div",{style:{height:"100px"},ref:this.overviewViewportRef})})}),this.props.slide.seriesInstanceUIDs[0])}}]),n}(l.Component);const ee=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){var e;(0,i.Z)(this,n);for(var a=arguments.length,o=new Array(a),r=0;r0,checkedChildren:(0,I.jsx)(p.dSq,{}),unCheckedChildren:(0,I.jsx)(p.tgn,{})})}),(0,I.jsx)(f.Z,{selectedKeys:(0,ne.Z)(this.props.selectedRoiUIDs.values()),onSelect:this.handleMenuItemSelection,onClick:this.handleMenuItemSelection,children:t})]})}}]),n}(l.Component);var Ie=n(914),be=n(6272),we=n(3020),De=n(5594),xe=n(2414),Ve=["annotationGroup","defaultStyle","isVisible","metadata","onVisibilityChange","onStyleChange"];const Ze=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;return(0,i.Z)(this,n),(a=t.call(this,e)).handleVisibilityChange=a.handleVisibilityChange.bind((0,o.Z)(a)),a.handleMeasurementSelection=a.handleMeasurementSelection.bind((0,o.Z)(a)),a.handleOpacityChange=a.handleOpacityChange.bind((0,o.Z)(a)),a.handleColorRChange=a.handleColorRChange.bind((0,o.Z)(a)),a.handleColorGChange=a.handleColorGChange.bind((0,o.Z)(a)),a.handleColorBChange=a.handleColorBChange.bind((0,o.Z)(a)),a.getCurrentColor=a.getCurrentColor.bind((0,o.Z)(a)),a.state={isVisible:a.props.isVisible,currentStyle:{opacity:a.props.defaultStyle.opacity,color:a.props.defaultStyle.color}},a}return(0,a.Z)(n,[{key:"handleVisibilityChange",value:function(e,t){this.props.onVisibilityChange({annotationGroupUID:this.props.annotationGroup.uid,isVisible:e}),this.setState({isVisible:e})}},{key:"handleOpacityChange",value:function(e){null!=e&&(this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{opacity:e}}),this.setState({currentStyle:{opacity:e,color:this.state.currentStyle.color,limitValues:this.state.currentStyle.limitValues}}))}},{key:"handleColorRChange",value:function(e){if(null!=e&&void 0!==this.state.currentStyle.color){var t=[Array.isArray(e)?e[0]:e,this.state.currentStyle.color[1],this.state.currentStyle.color[2]];this.setState((function(e){return{currentStyle:{color:t,opacity:e.currentStyle.opacity,limitValues:e.currentStyle.limitValues}}})),this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{color:t}})}}},{key:"handleColorGChange",value:function(e){if(null!=e&&void 0!==this.state.currentStyle.color){var t=[this.state.currentStyle.color[0],Array.isArray(e)?e[0]:e,this.state.currentStyle.color[2]];this.setState((function(e){return{currentStyle:{color:t,opacity:e.currentStyle.opacity,limitValues:e.currentStyle.limitValues}}})),this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{color:t}})}}},{key:"handleColorBChange",value:function(e){if(null!=e&&void 0!==this.state.currentStyle.color){var t=[this.state.currentStyle.color[0],this.state.currentStyle.color[1],Array.isArray(e)?e[0]:e];this.setState((function(e){return{currentStyle:{color:t,opacity:e.currentStyle.opacity,limitValues:e.currentStyle.limitValues}}})),this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{color:t}})}}},{key:"getCurrentColor",value:function(){var e;return null!=this.state.currentStyle.color?"#"+(16777216+((e=this.state.currentStyle.color)[0]<<16)+(e[1]<<8)+e[2]).toString(16).slice(1):"white"}},{key:"handleLowerLimitChange",value:function(e){null!=e&&void 0!==this.state.currentStyle.limitValues&&(this.setState((function(t){return void 0!==t.currentStyle.limitValues?{currentStyle:{color:t.currentStyle.color,opacity:t.currentStyle.opacity,limitValues:[e,t.currentStyle.limitValues[1]]}}:{currentStyle:{color:t.currentStyle.color,opacity:t.currentStyle.opacity,limitValues:t.currentStyle.limitValues}}})),this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{limitValues:[e,this.state.currentStyle.limitValues[1]]}}))}},{key:"handleUpperLimitChange",value:function(e){null!=e&&void 0!==this.state.currentStyle.limitValues&&(this.setState((function(t){return void 0!==t.currentStyle.limitValues?{currentStyle:{color:t.currentStyle.color,opacity:t.currentStyle.opacity,limitValues:[t.currentStyle.limitValues[0],e]}}:{currentStyle:{color:t.currentStyle.color,opacity:t.currentStyle.opacity,limitValues:t.currentStyle.limitValues}}})),this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{limitValues:[this.state.currentStyle.limitValues[0],e]}}))}},{key:"handleLimitChange",value:function(e){this.setState((function(t){return{currentStyle:{color:t.currentStyle.color,opacity:t.currentStyle.opacity,limitValues:e}}})),this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{limitValues:e}})}},{key:"handleMeasurementSelection",value:function(e,t){var n=this;if(null!=e&&null!=t.children){var i=e.split("-"),a=new ve.sr.coding.CodedConcept({value:i[1],schemeDesignator:i[0],meaning:t.children});this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{measurement:a}}),this.setState((function(e){return{currentStyle:{opacity:e.currentStyle.opacity,measurement:a}}}))}else this.props.onStyleChange({annotationGroupUID:this.props.annotationGroup.uid,styleOptions:{color:this.props.defaultStyle.color}}),this.setState((function(e){return{currentStyle:{opacity:e.currentStyle.opacity,color:n.props.defaultStyle.color,limitValues:void 0}}}))}},{key:"render",value:function(){var e,t,n,i,a=this,o=this.props.metadata.AnnotationGroupSequence.findIndex((function(e){return e.AnnotationGroupUID===a.props.annotationGroup.uid})),r=this.props.metadata.AnnotationGroupSequence[o],s=[{name:"Property type",value:this.props.annotationGroup.propertyType.CodeMeaning},{name:"Property category",value:this.props.annotationGroup.propertyCategory.CodeMeaning},{name:"Graphic type",value:r.GraphicType}],l=null!==(e=r.MeasurementsSequence)&&void 0!==e?e:[],c=l.map((function(e,t){var n=e.ConceptNameCodeSequence[0];return(0,I.jsx)(ie.Z.Option,{value:"".concat(n.CodingSchemeDesignator,"-").concat(n.CodeValue),dropdownMatchSelectWidth:!1,size:"small",disabled:!a.props.isVisible,children:n.CodeMeaning},t)}));if(c.push((0,I.jsx)(ie.Z.Option,{value:void 0,dropdownMatchSelectWidth:!1,size:"small",disabled:!this.props.isVisible},"-")),null!=this.state.currentStyle.color&&(t=(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(ce.Z,{plain:!0,children:"Color"}),(0,I.jsxs)(le.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(Ie.Z,{span:5,children:"Red"}),(0,I.jsx)(Ie.Z,{span:14,children:(0,I.jsx)(be.Z,{range:!1,min:0,max:255,step:1,value:this.state.currentStyle.color[0],onChange:this.handleColorRChange})}),(0,I.jsx)(Ie.Z,{span:5,children:(0,I.jsx)(ue.Z,{min:0,max:255,size:"small",style:{width:"65px"},value:this.state.currentStyle.color[0],onChange:this.handleColorRChange})})]}),(0,I.jsxs)(le.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(Ie.Z,{span:5,children:"Green"}),(0,I.jsx)(Ie.Z,{span:14,children:(0,I.jsx)(be.Z,{range:!1,min:0,max:255,step:1,value:this.state.currentStyle.color[1],onChange:this.handleColorGChange})}),(0,I.jsx)(Ie.Z,{span:5,children:(0,I.jsx)(ue.Z,{min:0,max:255,size:"small",style:{width:"65px"},value:this.state.currentStyle.color[1],onChange:this.handleColorGChange})})]}),(0,I.jsxs)(le.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(Ie.Z,{span:5,children:"Blue"}),(0,I.jsx)(Ie.Z,{span:14,children:(0,I.jsx)(be.Z,{range:!1,min:0,max:255,step:1,value:this.state.currentStyle.color[2],onChange:this.handleColorBChange})}),(0,I.jsx)(Ie.Z,{span:5,children:(0,I.jsx)(ue.Z,{min:0,max:255,size:"small",style:{width:"65px"},value:this.state.currentStyle.color[2],onChange:this.handleColorBChange})})]}),(0,I.jsx)(ce.Z,{plain:!0})]})),l.length>0){if(null!=this.state.currentStyle.limitValues){n=(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(ce.Z,{plain:!0,children:"Values of interest"}),(0,I.jsxs)(le.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(Ie.Z,{span:6,children:(0,I.jsx)(ue.Z,{min:0,max:this.state.currentStyle.limitValues[1],size:"small",style:{width:"75px"},value:this.state.currentStyle.limitValues[0],onChange:this.handleLowerLimitChange})}),(0,I.jsx)(Ie.Z,{span:12,children:(0,I.jsx)(be.Z,{range:!0,min:0,max:1e3,step:1,value:[this.state.currentStyle.limitValues[0],this.state.currentStyle.limitValues[1]],onChange:this.handleLimitChange})}),(0,I.jsx)(Ie.Z,{span:6,children:(0,I.jsx)(ue.Z,{min:this.state.currentStyle.limitValues[0],max:1e3,size:"small",style:{width:"75px"},value:this.state.currentStyle.limitValues[1],onChange:this.handleUpperLimitChange})})]})]})}i=(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(ce.Z,{plain:!0,children:"Exploration"}),(0,I.jsxs)(le.Z,{justify:"start",align:"middle",gutter:[8,8],children:[(0,I.jsx)(Ie.Z,{span:8,children:"Measurement"}),(0,I.jsx)(Ie.Z,{span:16,children:(0,I.jsx)(ie.Z,{style:{minWidth:"65px",width:"90%"},onSelect:this.handleMeasurementSelection,defaultValue:void 0,children:c},"annotation-group-measurements")})]})]})}var d=(0,I.jsxs)("div",{children:[t,n,(0,I.jsxs)(le.Z,{justify:"start",align:"middle",gutter:[8,8],children:[(0,I.jsx)(Ie.Z,{span:6,children:"Opacity"}),(0,I.jsx)(Ie.Z,{span:12,children:(0,I.jsx)(be.Z,{range:!1,min:0,max:1,step:.01,value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})}),(0,I.jsx)(Ie.Z,{span:6,children:(0,I.jsx)(ue.Z,{min:0,max:1,size:"small",step:.1,style:{width:"65px"},value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})})]}),i]}),u=this.getCurrentColor(),h=this.state.isVisible&&null==this.state.currentStyle.measurement,m=this.props,v=(m.annotationGroup,m.defaultStyle,m.isVisible,m.metadata,m.onVisibilityChange,m.onStyleChange,(0,ge.Z)(m,Ve));return(0,I.jsx)(f.Z.Item,(0,j.Z)((0,j.Z)({style:{height:"100%",paddingLeft:"3px"}},v),{},{children:(0,I.jsxs)(oe.Z,{align:"start",children:[(0,I.jsx)("div",{style:{paddingLeft:"14px"},children:(0,I.jsxs)(oe.Z,{direction:"vertical",align:"end",children:[(0,I.jsx)(fe.Z,{size:"small",onChange:this.handleVisibilityChange,checked:this.props.isVisible,checkedChildren:(0,I.jsx)(p.dSq,{}),unCheckedChildren:(0,I.jsx)(p.tgn,{})}),(0,I.jsx)(we.Z,{placement:"left",content:d,overlayStyle:{width:"350px"},title:"Display Settings",children:(0,I.jsx)(se.Z,{type:"primary",shape:"circle",icon:(0,I.jsx)(xe.Z,{})})})]})}),(0,I.jsx)(De.Z,{offset:[-20,20],count:" ",style:{borderStyle:"solid",borderWidth:"1px",borderColor:"gray",visibility:h?"visible":"hidden",backgroundImage:"linear-gradient(to bottom, ".concat(u,", ").concat(u)},children:(0,I.jsx)(w,{header:this.props.annotationGroup.label,attributes:s,selectable:!0,hasLongValues:!0})})]})}),this.props.annotationGroup.uid)}}]),n}(l.Component);const Re=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e=this,t=this.props.annotationGroups.map((function(t,n){var i=t.uid;return(0,I.jsx)(Ze,{annotationGroup:t,metadata:e.props.metadata[i],isVisible:e.props.visibleAnnotationGroupUIDs.has(i),defaultStyle:e.props.defaultAnnotationGroupStyles[i],onVisibilityChange:e.props.onAnnotationGroupVisibilityChange,onStyleChange:e.props.onAnnotationGroupStyleChange},t.uid)}));return(0,I.jsx)(f.Z,{selectable:!1,children:t})}}]),n}(l.Component);const Oe=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;return(0,i.Z)(this,n),(a=t.call(this,e)).handleClick=a.handleClick.bind((0,o.Z)(a)),a}return(0,a.Z)(n,[{key:"handleClick",value:function(e){void 0!==this.props.onClick&&this.props.onClick(e)}},{key:"render",value:function(){var e,t,n,i=this.props.icon;return void 0===i?null:(null!=this.props.label&&(t=(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(ce.Z,{type:"vertical"}),this.props.label]})),n=null!==(e=this.props.isSelected)&&void 0!==e&&e?(0,I.jsx)(se.Z,{onClick:this.handleClick,icon:(0,I.jsx)(i,{}),type:"primary",style:{lineHeight:"1.0"},children:t}):(0,I.jsx)(se.Z,{onClick:this.handleClick,icon:(0,I.jsx)(i,{}),type:"default",style:{lineHeight:"1.0"},children:t}),void 0!==this.props.tooltip?(0,I.jsx)(re.Z,{title:this.props.tooltip,children:n}):n)}}]),n}(l.Component);const Pe=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){if(void 0===this.props.metadata)return null;var e=[{name:"Manufacturer",value:this.props.metadata.Manufacturer},{name:"Model Name",value:this.props.metadata.ManufacturerModelName},{name:"Device Serial Number",value:this.props.metadata.DeviceSerialNumber},{name:"Software Versions",value:this.props.metadata.SoftwareVersions}];return null!=this.props.metadata.InstitutionName&&e.push({name:"Institution Name",value:this.props.metadata.InstitutionName}),(0,I.jsx)(w,{attributes:e,hasLongValues:!0})}}]),n}(l.Component);var Me=function(e){var t=e.content,n=e.name,i=[];return t.forEach((function(e){(function(e,t){var n=e.ConceptNameCodeSequence[0];return n.CodeValue===t.CodeValue&&n.CodingSchemeDesignator===t.CodingSchemeDesignator})(e,n)&&i.push(e)})),i},je=function(e,t){return e.ValueType===t},Ee=function(e){var t=Me({content:e.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"126010",schemeDesignator:"DCM",meaning:"Imaging Measurements"})});1!==t.length&&J.onError(Y,new q(N,'Content item "Imaging Measurements" not found.Content of Comprehensive 3D SR document is not structured based on TID 1500 "Measurement Report".'));var n=t[0],i=Me({content:n.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"125007",schemeDesignator:"DCM",meaning:"Measurement Group"})}),a=[];return i.forEach((function(e){var t,n=[],i=e,o=Me({content:i.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"112040",schemeDesignator:"DCM",meaning:"Tracking Unique Identifier"})});0===o.length&&J.onError(Y,new q(N,'Content item "Tracking Unique Identifier" not found. Content of Comprehensive 3D SR document is not structured based on TID 1500 "Measurement Report" -> TID 1410 "Planar ROI Measurements and Qualitative Evaluations".'));var r=o[0];if(0===(o=Me({content:i.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"121071",schemeDesignator:"DCM",meaning:"Finding"})})).length&&J.onError(Y,new q(N,'Content item "Finding" not found. Content of Comprehensive 3D SR document is not structured based on TID 1500 "Measurement Report" -> TID 1410 "Planar ROI Measurements and Qualitative Evaluations".')),0!==(o=Me({content:i.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"111001",schemeDesignator:"DCM",meaning:"Algorithm Name"})})).length){var s=o[0];n.push(s),t="Device"}else t="Person";if(0!==(o=Me({content:i.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"111003",schemeDesignator:"DCM",meaning:"Algorithm Version"})})).length){var l=o[0];n.push(l)}0===(o=Me({content:i.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"111030",schemeDesignator:"DCM",meaning:"Image Region"})})).length&&J.onError(Y,new q(N,'Content item "Image Region" not found. Content of Comprehensive 3D SR document is not structured based on TID 1500 "Measurement Report" -> TID 1410 "Planar ROI Measurements and Qualitative Evaluations".'));var c,d=o[0];if("POINT"===d.GraphicType)c=new g.scoord3d.Point({frameOfReferenceUID:d.ReferencedFrameOfReferenceUID,coordinates:d.GraphicData});else{for(var u=[],h=0;h TID 1410 "Planar ROI Measurements and Qualitative Evaluations".'))}n.push.apply(n,(0,ne.Z)(function(e){var t=e.content,n=[];return t.forEach((function(e){if(je(e,ve.sr.valueTypes.ValueTypes.CODE)){var t=e;n.push(t)}})),n}({content:i.ContentSequence})));var p=function(e){var t=e.content,n=[];return t.forEach((function(e){if(je(e,ve.sr.valueTypes.ValueTypes.NUM)){var t=e;n.push(t)}})),n}({content:i.ContentSequence}),m=new g.roi.ROI({scoord3d:c,uid:(0,S.Z)(),properties:{trackingUID:r.UID,observerType:t,evaluations:n,measurements:p}});a.push(m)})),a},Ue=(0,a.Z)((function e(t){(0,i.Z)(this,e),this.PersonObserverName=void 0,this.PersonObserverLoginName=void 0,this.DeviceObserverUID=void 0,this.DeviceObserverName=void 0,this.SpecimenUID=void 0,this.SpecimenIdentifier=void 0,this.ContainerIdentifier=void 0,this.ROIs=[];var n=Me({content:t.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"121039",schemeDesignator:"DCM",meaning:"Specimen UID"})});0===n.length&&J.onError(Y,new q(N,'Content item "Specimen UID" not found. Content of Comprehensive 3D SR document is not structured based on TID 1500 "Measurement Report" -> TID 1001 "Observation Context" -> TID 1006 "Subject Context" -> TID 1009 "Subject Context, Specimen".'));var a=n[0];this.SpecimenUID=a.UID,0===(n=Me({content:t.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"121041",schemeDesignator:"DCM",meaning:"Specimen Identifier"})})).length&&J.onError(Y,new q(N,'Content item "Specimen Identifier" not found. Content of Comprehensive 3D SR document is not structured based on TID 1500 "Measurement Report" -> TID 1001 "Observation Context" -> TID 1006 "Subject Context" -> TID 1009 "Subject Context, Specimen".'));var o=n[0];this.SpecimenIdentifier=o.TextValue,0===(n=Me({content:t.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"111700",schemeDesignator:"DCM",meaning:"Specimen Container Identifier"})})).length&&J.onError(Y,new q(N,'Content item "Specimen Container Identifier" not found. Content of Comprehensive 3D SR document is not structured based on TID 1500 "Measurement Report" -> TID 1001 "Observation Context" -> TID 1006 "Subject Context" -> TID 1009 "Subject Context, Specimen".'));var r=n[0];if(this.ContainerIdentifier=r.TextValue,0!==(n=Me({content:t.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"121008",schemeDesignator:"DCM",meaning:"Person Observer Name"})})).length){var s=n[0];this.PersonObserverName=s.PersonName}if(0!==(n=Me({content:t.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"128774",schemeDesignator:"DCM",meaning:"Person Observer's Login Name"})})).length){var l=n[0];this.PersonObserverLoginName=l.TextValue}if((n=Me({content:t.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"121012",schemeDesignator:"DCM",meaning:"Device Observer UID"})})).length>0){var c=n[0];this.DeviceObserverUID=c.UID}if(0!==(n=Me({content:t.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"121013",schemeDesignator:"DCM",meaning:"Device Observer Name"})})).length){var d=n[0];this.DeviceObserverName=d.TextValue}this.ROIs=Ee(t)}));const Te=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e=new Ue(this.props.dataset),t=[{name:"ID",value:e.ContainerIdentifier}],n=[{name:"ID",value:e.SpecimenIdentifier}],i=[{name:"Name",value:e.PersonObserverName}],a=e.ROIs.map((function(e,t){var n="Region ".concat(t+1),i=[];return e.evaluations.forEach((function(e){e.ValueType===ve.sr.valueTypes.ValueTypes.CODE?i.push({name:e.ConceptNameCodeSequence[0].CodeMeaning,value:e.ConceptCodeSequence[0].CodeMeaning}):e.ValueType===ve.sr.valueTypes.ValueTypes.TEXT&&i.push({name:e.ConceptNameCodeSequence[0].CodeMeaning,value:e.TextValue})})),(0,I.jsx)(w,{header:n,attributes:i},e.uid)}));return(0,I.jsxs)("div",{children:[(0,I.jsx)(ce.Z,{orientation:"left",children:"Patient"}),(0,I.jsx)(O,{metadata:this.props.dataset}),(0,I.jsx)(ce.Z,{orientation:"left",children:"Case"}),(0,I.jsx)(P,{metadata:this.props.dataset}),(0,I.jsx)(ce.Z,{orientation:"left",children:"Slide"}),(0,I.jsx)(w,{attributes:t}),(0,I.jsx)(ce.Z,{orientation:"left",children:"Specimen"}),(0,I.jsx)(w,{attributes:n}),(0,I.jsx)(ce.Z,{orientation:"left",children:"Observer"}),(0,I.jsx)(w,{attributes:i}),(0,I.jsx)(ce.Z,{orientation:"left",children:"Annotations"}),a]})}}]),n}(l.Component);var Ae=n(2126);const ke=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e,t=null;return void 0!==this.props.groups&&(t=this.props.groups.map((function(e,t){return(0,I.jsx)(w,{header:e.name,attributes:e.attributes},t)}))),e=void 0!==this.props.type?"".concat(this.props.type,": ").concat(this.props.identifier):this.props.identifier,(0,I.jsxs)(Ae.ZP.Item,{children:[(0,I.jsx)(w,{header:e,attributes:this.props.attributes,hasLongValues:this.props.hasLongValues,children:t}),this.props.children]},this.props.uid)}}]),n}(l.Component);new ve.sr.coding.CodedConcept({value:"17636008",schemeDesignator:"SCT",meaning:"Specimen collection"}),new ve.sr.coding.CodedConcept({value:"433465004",schemeDesignator:"SCT",meaning:"Sampling of tissue specimen"}),new ve.sr.coding.CodedConcept({value:"127790008",schemeDesignator:"SCT",meaning:"Specimen staining"}),new ve.sr.coding.CodedConcept({value:"9265001",schemeDesignator:"SCT",meaning:"Specimen processing"});var Le={FIXATIVE:new ve.sr.coding.CodedConcept({value:"430864009",schemeDesignator:"SCT",meaning:"Tissue fixative"}),EMBEDDING_MEDIUM:new ve.sr.coding.CodedConcept({value:"430863003",schemeDesignator:"SCT",meaning:"Embedding medium"})},_e=(0,j.Z)({SPECIMEN_IDENTIFIER:new ve.sr.coding.CodedConcept({value:"121041",schemeDesignator:"DCM",meaning:"Specimen identifier"}),PARENT_SPECIMEN_IDENTIFIER:new ve.sr.coding.CodedConcept({value:"111705",schemeDesignator:"DCM",meaning:"Parent specimen identifier"}),PROCESSING_TYPE:new ve.sr.coding.CodedConcept({value:"111701",schemeDesignator:"DCM",meaning:"Processing type"}),DATETIME_OF_PROCESSING:new ve.sr.coding.CodedConcept({value:"111702",schemeDesignator:"DCM",meaning:"Datetime of processing"}),PROCESSING_STEP_DESCRIPTION:new ve.sr.coding.CodedConcept({value:"111703",schemeDesignator:"DCM",meaning:"Processing step description"}),COLLECTION_METHOD:new ve.sr.coding.CodedConcept({value:"17636008",schemeDesignator:"SCT",meaning:"Specimen collection"}),SAMPLING_METHOD:new ve.sr.coding.CodedConcept({value:"111704",schemeDesignator:"DCM",meaning:"Sampling method"}),STAIN:new ve.sr.coding.CodedConcept({value:"424361007",schemeDesignator:"SCT",meaning:"Using substance"})},Le);const Ne=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e,t=this;if(void 0===this.props.metadata)return null;var n=this.props.metadata.SpecimenDescriptionSequence[this.props.index],i=[];if(void 0!==n.SpecimenShortDescription&&i.push({name:"Description",value:n.SpecimenShortDescription}),void 0!==n.PrimaryAnatomicStructureSequence&&n.PrimaryAnatomicStructureSequence.length>0){var a=n.PrimaryAnatomicStructureSequence;i.push({name:"Anatomical structure",value:a.map((function(e){return e.CodeMeaning})).join(", ")})}(null!==(e=n.SpecimenPreparationSequence)&&void 0!==e?e:[]).forEach((function(e,n){e.SpecimenPreparationStepContentItemSequence.forEach((function(e,n){var a=new ve.sr.coding.CodedConcept({value:e.ConceptNameCodeSequence[0].CodeValue,schemeDesignator:e.ConceptNameCodeSequence[0].CodingSchemeDesignator,meaning:e.ConceptNameCodeSequence[0].CodeMeaning});if(e.ValueType===ve.sr.valueTypes.ValueTypes.CODE){var o=new ve.sr.coding.CodedConcept({value:e.ConceptCodeSequence[0].CodeValue,schemeDesignator:e.ConceptCodeSequence[0].CodingSchemeDesignator,meaning:e.ConceptCodeSequence[0].CodeMeaning});a.equals(_e.PROCESSING_TYPE)||(a.equals(_e.COLLECTION_METHOD)?i.push({name:"Collection method",value:o.CodeMeaning}):a.equals(_e.FIXATIVE)?i.push({name:"Tissue fixative",value:o.CodeMeaning}):a.equals(_e.EMBEDDING_MEDIUM)?i.push({name:"Tissue embedding medium",value:o.CodeMeaning}):a.equals(_e.STAIN)&&t.props.showstain&&i.push({name:"Tissue stain",value:o.CodeMeaning}))}else e.ValueType===ve.sr.valueTypes.ValueTypes.TEXT&&(a.equals(_e.STAIN)&&t.props.showstain?i.push({name:"Tissue stain",value:e.TextValue}):a.equals(_e.PARENT_SPECIMEN_IDENTIFIER)&&i.push({name:"Parent specimen",value:e.TextValue}))}))}));var o=n.SpecimenUID,r=n.SpecimenIdentifier;return(0,I.jsx)(ke,{uid:o,identifier:r,attributes:i,hasLongValues:!0},o)}}]),n}(l.Component);const Ge=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e,t=this;if(void 0===this.props.metadata)return null;var n=(null!==(e=this.props.metadata.SpecimenDescriptionSequence)&&void 0!==e?e:[]).map((function(e,n){return(0,I.jsx)(Ne,{index:n,metadata:t.props.metadata,showstain:t.props.showstain},e.SpecimenUID)}));return(0,I.jsx)(Ae.ZP,{style:{overflowY:"auto"},children:n})}}]),n}(l.Component);var qe=n(681),Fe=n(2622),ze=n(4215),Be=n(8272),We=["defaultStyle","isRemovable","isVisible","metadata","onVisibilityChange","onStyleChange","onRemoval","opticalPath"];const Ye=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;return(0,i.Z)(this,n),(a=t.call(this,e)).handleVisibilityChange=a.handleVisibilityChange.bind((0,o.Z)(a)),a.handleOpacityChange=a.handleOpacityChange.bind((0,o.Z)(a)),a.handleLimitChange=a.handleLimitChange.bind((0,o.Z)(a)),a.handleLowerLimitChange=a.handleLowerLimitChange.bind((0,o.Z)(a)),a.handleUpperLimitChange=a.handleUpperLimitChange.bind((0,o.Z)(a)),a.handleColorRChange=a.handleColorRChange.bind((0,o.Z)(a)),a.handleColorGChange=a.handleColorGChange.bind((0,o.Z)(a)),a.handleColorBChange=a.handleColorBChange.bind((0,o.Z)(a)),a.handleRemoval=a.handleRemoval.bind((0,o.Z)(a)),a.getCurrentColors=a.getCurrentColors.bind((0,o.Z)(a)),a.state={isVisible:a.props.isVisible,currentStyle:{opacity:a.props.defaultStyle.opacity,color:a.props.defaultStyle.color,paletteColorLookupTable:a.props.defaultStyle.paletteColorLookupTable,limitValues:a.props.defaultStyle.limitValues}},a}return(0,a.Z)(n,[{key:"componentDidUpdate",value:function(e,t){this.props.defaultStyle!==e.defaultStyle&&this.setState({currentStyle:this.props.defaultStyle})}},{key:"handleVisibilityChange",value:function(e,t){var n=this.props.opticalPath.identifier;this.setState({isVisible:e}),this.props.onVisibilityChange({opticalPathIdentifier:n,isVisible:e})}},{key:"handleOpacityChange",value:function(e){if(null!=e){var t=this.props.opticalPath.identifier;this.props.onStyleChange({opticalPathIdentifier:t,styleOptions:{opacity:e}}),this.setState((function(t){return{currentStyle:{color:t.currentStyle.color,paletteColorLookupTable:t.currentStyle.paletteColorLookupTable,opacity:e,limitValues:t.currentStyle.limitValues}}}))}}},{key:"handleColorRChange",value:function(e){var t=this.props.opticalPath.identifier;if(null!=e&&void 0!==this.state.currentStyle.color){var n=[Array.isArray(e)?e[0]:e,this.state.currentStyle.color[1],this.state.currentStyle.color[2]];this.setState((function(e){return{currentStyle:{color:n,paletteColorLookupTable:e.currentStyle.paletteColorLookupTable,opacity:e.currentStyle.opacity,limitValues:e.currentStyle.limitValues}}})),this.props.onStyleChange({opticalPathIdentifier:t,styleOptions:{color:n}})}}},{key:"handleColorGChange",value:function(e){var t=this.props.opticalPath.identifier;if(null!=e&&void 0!==this.state.currentStyle.color){var n=[this.state.currentStyle.color[0],Array.isArray(e)?e[0]:e,this.state.currentStyle.color[2]];this.setState((function(e){return{currentStyle:{color:n,paletteColorLookupTable:e.currentStyle.paletteColorLookupTable,opacity:e.currentStyle.opacity,limitValues:e.currentStyle.limitValues}}})),this.props.onStyleChange({opticalPathIdentifier:t,styleOptions:{color:n}})}}},{key:"handleColorBChange",value:function(e){var t=this.props.opticalPath.identifier;if(null!=e&&void 0!==this.state.currentStyle.color){var n=[this.state.currentStyle.color[0],this.state.currentStyle.color[1],Array.isArray(e)?e[0]:e];this.setState((function(e){return{currentStyle:{color:n,paletteColorLookupTable:e.currentStyle.paletteColorLookupTable,opacity:e.currentStyle.opacity,limitValues:e.currentStyle.limitValues}}})),this.props.onStyleChange({opticalPathIdentifier:t,styleOptions:{color:n}})}}},{key:"getCurrentColors",value:function(){var e=function(e){return"#"+(16777216+(e[0]<<16)+(e[1]<<8)+e[2]).toString(16).slice(1)};return null!=this.props.defaultStyle.paletteColorLookupTable?this.props.defaultStyle.paletteColorLookupTable.data.map((function(t){return e(t)})):null!=this.state.currentStyle.color?["#000000",e(this.state.currentStyle.color)]:["white","white"]}},{key:"handleLowerLimitChange",value:function(e){var t=this.props.opticalPath.identifier;null!=e&&void 0!==this.state.currentStyle.limitValues&&(this.setState((function(t){return void 0!==t.currentStyle.limitValues?{currentStyle:{color:t.currentStyle.color,paletteColorLookupTable:t.currentStyle.paletteColorLookupTable,opacity:t.currentStyle.opacity,limitValues:[e,t.currentStyle.limitValues[1]]}}:{currentStyle:{color:t.currentStyle.color,paletteColorLookupTable:t.currentStyle.paletteColorLookupTable,opacity:t.currentStyle.opacity,limitValues:t.currentStyle.limitValues}}})),this.props.onStyleChange({opticalPathIdentifier:t,styleOptions:{limitValues:[e,this.state.currentStyle.limitValues[1]]}}))}},{key:"handleUpperLimitChange",value:function(e){var t=this.props.opticalPath.identifier;null!=e&&void 0!==this.state.currentStyle.limitValues&&(this.setState((function(t){return void 0!==t.currentStyle.limitValues?{currentStyle:{color:t.currentStyle.color,paletteColorLookupTable:t.currentStyle.paletteColorLookupTable,opacity:t.currentStyle.opacity,limitValues:[t.currentStyle.limitValues[0],e]}}:{currentStyle:{color:t.currentStyle.color,paletteColorLookupTable:t.currentStyle.paletteColorLookupTable,opacity:t.currentStyle.opacity,limitValues:t.currentStyle.limitValues}}})),this.props.onStyleChange({opticalPathIdentifier:t,styleOptions:{limitValues:[this.state.currentStyle.limitValues[0],e]}}))}},{key:"handleLimitChange",value:function(e){var t=this.props.opticalPath.identifier;this.setState((function(t){return{currentStyle:{color:t.currentStyle.color,paletteColorLookupTable:t.currentStyle.paletteColorLookupTable,opacity:t.currentStyle.opacity,limitValues:e}}})),this.props.onStyleChange({opticalPathIdentifier:t,styleOptions:{limitValues:e}})}},{key:"handleRemoval",value:function(){var e=this.props.opticalPath.identifier;this.props.onRemoval(e)}},{key:"render",value:function(){var e,t=this.props.opticalPath.identifier,n=this.props.opticalPath.description,i=[];void 0!==this.props.opticalPath.illuminationWaveLength&&i.push({name:"Illumination wavelength",value:"".concat(this.props.opticalPath.illuminationWaveLength," nm")}),void 0!==this.props.opticalPath.illuminationColor&&i.push({name:"Illumination color",value:this.props.opticalPath.illuminationColor.CodeMeaning});var a=null!==(e=this.props.metadata[0].SpecimenDescriptionSequence)&&void 0!==e?e:[];try{a.forEach((function(e){var t;(null!==(t=e.SpecimenPreparationSequence)&&void 0!==t?t:[]).forEach((function(e,t){e.SpecimenPreparationStepContentItemSequence.forEach((function(e,t){var n=new ve.sr.coding.CodedConcept({value:e.ConceptNameCodeSequence[0].CodeValue,schemeDesignator:e.ConceptNameCodeSequence[0].CodingSchemeDesignator,meaning:e.ConceptNameCodeSequence[0].CodeMeaning});if(e.ValueType===ve.sr.valueTypes.ValueTypes.CODE){var a=new ve.sr.coding.CodedConcept({value:e.ConceptCodeSequence[0].CodeValue,schemeDesignator:e.ConceptCodeSequence[0].CodingSchemeDesignator,meaning:e.ConceptCodeSequence[0].CodeMeaning});n.equals(_e.PROCESSING_TYPE)||n.equals(_e.STAIN)&&i.push({name:"Tissue stain",value:a.CodeMeaning})}else e.ValueType===ve.sr.valueTypes.ValueTypes.TEXT&&(n.equals(_e.PROCESSING_TYPE)||n.equals(_e.STAIN)&&i.push({name:"Tissue stain",value:e.TextValue}))}))}))}))}catch(v){J.onError(W,new q(N,v.message))}var o,r,s=Math.pow(2,this.props.metadata[0].BitsAllocated)-1,l=null!=n?"".concat(t,": ").concat(n):t;if(this.props.opticalPath.isMonochromatic){var c,d;c=null!=this.state.currentStyle.color?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(ce.Z,{plain:!0,children:"Color"}),(0,I.jsxs)(le.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(Ie.Z,{span:5,children:"Red"}),(0,I.jsx)(Ie.Z,{span:14,children:(0,I.jsx)(be.Z,{range:!1,min:0,max:255,step:1,value:this.state.currentStyle.color[0],onChange:this.handleColorRChange})}),(0,I.jsx)(Ie.Z,{span:5,children:(0,I.jsx)(ue.Z,{min:0,max:255,size:"small",style:{width:"65px"},value:this.state.currentStyle.color[0],onChange:this.handleColorRChange})})]}),(0,I.jsxs)(le.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(Ie.Z,{span:5,children:"Green"}),(0,I.jsx)(Ie.Z,{span:14,children:(0,I.jsx)(be.Z,{range:!1,min:0,max:255,step:1,value:this.state.currentStyle.color[1],onChange:this.handleColorGChange})}),(0,I.jsx)(Ie.Z,{span:5,children:(0,I.jsx)(ue.Z,{min:0,max:255,size:"small",style:{width:"65px"},value:this.state.currentStyle.color[1],onChange:this.handleColorGChange})})]}),(0,I.jsxs)(le.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(Ie.Z,{span:5,children:"Blue"}),(0,I.jsx)(Ie.Z,{span:14,children:(0,I.jsx)(be.Z,{range:!1,min:0,max:255,step:1,value:this.state.currentStyle.color[2],onChange:this.handleColorBChange})}),(0,I.jsx)(Ie.Z,{span:5,children:(0,I.jsx)(ue.Z,{min:0,max:255,size:"small",style:{width:"65px"},value:this.state.currentStyle.color[2],onChange:this.handleColorBChange})})]})]}):(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(ce.Z,{plain:!0,children:"Color"}),"Custom pseudo-coloring is disabled because pixels are colorized via a provided palette color lookup table."]}),null!=this.state.currentStyle.limitValues&&(d=(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(ce.Z,{plain:!0,children:"Values of interest"}),(0,I.jsxs)(le.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(Ie.Z,{span:6,children:(0,I.jsx)(ue.Z,{min:0,max:this.state.currentStyle.limitValues[1],size:"small",style:{width:"75px"},value:this.state.currentStyle.limitValues[0],onChange:this.handleLowerLimitChange})}),(0,I.jsx)(Ie.Z,{span:12,children:(0,I.jsx)(be.Z,{range:!0,min:0,max:s,step:1,value:[this.state.currentStyle.limitValues[0],this.state.currentStyle.limitValues[1]],onChange:this.handleLimitChange})}),(0,I.jsx)(Ie.Z,{span:6,children:(0,I.jsx)(ue.Z,{min:this.state.currentStyle.limitValues[0],max:s,size:"small",style:{width:"75px"},value:this.state.currentStyle.limitValues[1],onChange:this.handleUpperLimitChange})})]})]})),o=(0,I.jsxs)("div",{children:[d,c,(0,I.jsx)(ce.Z,{plain:!0}),(0,I.jsxs)(le.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(Ie.Z,{span:6,children:"Opacity"}),(0,I.jsx)(Ie.Z,{span:12,children:(0,I.jsx)(be.Z,{range:!1,min:0,max:1,step:.01,value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})}),(0,I.jsx)(Ie.Z,{span:6,children:(0,I.jsx)(ue.Z,{min:0,max:1,size:"small",step:.1,style:{width:"65px"},value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})})]})]});var u=this.getCurrentColors();r=(0,I.jsx)(De.Z,{offset:[-20,20],count:" ",style:{borderStyle:"solid",borderWidth:"1px",borderColor:"gray",visibility:this.state.isVisible?"visible":"hidden",backgroundImage:"linear-gradient(to right, ".concat(u.toString(),")")},children:(0,I.jsx)(w,{header:l,attributes:i,selectable:!0,hasLongValues:!0})})}else o=(0,I.jsx)("div",{children:(0,I.jsxs)(le.Z,{justify:"center",align:"middle",gutter:[8,8],children:[(0,I.jsx)(Ie.Z,{span:6,children:"Opacity"}),(0,I.jsx)(Ie.Z,{span:12,children:(0,I.jsx)(be.Z,{range:!1,min:0,max:1,step:.01,value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})}),(0,I.jsx)(Ie.Z,{span:6,children:(0,I.jsx)(ue.Z,{min:0,max:1,size:"small",step:.1,style:{width:"60px"},value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})})]})}),r=(0,I.jsx)(w,{header:l,attributes:i,selectable:!0,hasLongValues:!0});var h=[];this.props.isRemovable&&h.push((0,I.jsx)(re.Z,{title:"Remove Optical Path",children:(0,I.jsx)(se.Z,{type:"default",shape:"circle",icon:(0,I.jsx)(Fe.Z,{}),onClick:this.handleRemoval})}));var p=this.props,m=(p.defaultStyle,p.isRemovable,p.isVisible,p.metadata,p.onVisibilityChange,p.onStyleChange,p.onRemoval,p.opticalPath,(0,ge.Z)(p,We));return(0,I.jsx)(f.Z.Item,(0,j.Z)((0,j.Z)({style:{height:"100%",paddingLeft:"3px"}},m),{},{children:(0,I.jsxs)(oe.Z,{align:"start",children:[(0,I.jsx)("div",{style:{paddingLeft:"14px"},children:(0,I.jsxs)(oe.Z,{direction:"vertical",align:"end",children:[(0,I.jsx)(fe.Z,{size:"small",checked:this.state.isVisible,onChange:this.handleVisibilityChange,checkedChildren:(0,I.jsx)(ze.Z,{}),unCheckedChildren:(0,I.jsx)(Be.Z,{})}),(0,I.jsx)(we.Z,{placement:"left",content:o,overlayStyle:{width:"350px"},title:"Display Settings",children:(0,I.jsx)(se.Z,{type:"primary",shape:"circle",icon:(0,I.jsx)(xe.Z,{})})}),h]})}),r]})}),this.props.opticalPath.identifier)}}]),n}(l.Component);var He=ie.Z.Option;const Xe=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;return(0,i.Z)(this,n),(a=t.call(this,e)).state={selectedOpticalPathIdentifier:void 0},a.handleItemAddition=a.handleItemAddition.bind((0,o.Z)(a)),a.handleItemRemoval=a.handleItemRemoval.bind((0,o.Z)(a)),a.handleItemSelectionChange=a.handleItemSelectionChange.bind((0,o.Z)(a)),a}return(0,a.Z)(n,[{key:"handleItemRemoval",value:function(e){this.props.onOpticalPathActivityChange({opticalPathIdentifier:e,isActive:!1})}},{key:"handleItemSelectionChange",value:function(e){this.setState({selectedOpticalPathIdentifier:e})}},{key:"handleItemAddition",value:function(){var e=this.state.selectedOpticalPathIdentifier;void 0!==e&&(this.props.onOpticalPathActivityChange({opticalPathIdentifier:e,isActive:!0}),this.setState({selectedOpticalPathIdentifier:void 0}))}},{key:"render",value:function(){var e=this;if(void 0===this.props.metadata)return null;var t,n=this.props.opticalPaths.length>1,i=[],a=[];return this.props.opticalPaths.forEach((function(t){var o=t.identifier,r=e.props.metadata[o],s=r[0].SeriesInstanceUID;r[0].OpticalPathSequence.forEach((function(o){var l,c=o.OpticalPathIdentifier,d=o.OpticalPathDescription;t.identifier===c&&(e.props.activeOpticalPathIdentifiers.has(c)?i.push((0,I.jsx)(Ye,{opticalPath:t,metadata:r,isVisible:e.props.visibleOpticalPathIdentifiers.has(c),defaultStyle:e.props.defaultOpticalPathStyles[c],onVisibilityChange:e.props.onOpticalPathVisibilityChange,onStyleChange:e.props.onOpticalPathStyleChange,onRemoval:e.handleItemRemoval,isRemovable:n},"".concat(s,"-").concat(c))):(l=""!==d?"".concat(c," - ").concat(d):"".concat(c),a.push((0,I.jsx)(He,{value:c,children:l},c))))}))})),n&&(t=(0,I.jsxs)(oe.Z,{align:"center",size:20,style:{padding:"14px"},children:[(0,I.jsx)(ie.Z,{defaultValue:"",style:{width:200},onChange:this.handleItemSelectionChange,value:this.state.selectedOpticalPathIdentifier,allowClear:!0,children:a}),(0,I.jsx)(re.Z,{title:"Add",children:(0,I.jsx)(se.Z,{icon:(0,I.jsx)(qe.Z,{}),type:"primary",onClick:this.handleItemAddition})})]})),(0,I.jsxs)(f.Z,{selectable:!1,children:[i,t]})}}]),n}(l.Component);var Ke=["defaultStyle","isVisible","mapping","metadata","onVisibilityChange","onStyleChange"];const Qe=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;return(0,i.Z)(this,n),(a=t.call(this,e)).handleVisibilityChange=a.handleVisibilityChange.bind((0,o.Z)(a)),a.handleOpacityChange=a.handleOpacityChange.bind((0,o.Z)(a)),a.state={isVisible:a.props.isVisible,currentStyle:{opacity:a.props.defaultStyle.opacity}},a}return(0,a.Z)(n,[{key:"handleVisibilityChange",value:function(e,t){this.props.onVisibilityChange({mappingUID:this.props.mapping.uid,isVisible:e}),this.setState({isVisible:e})}},{key:"handleOpacityChange",value:function(e){null!=e&&(this.props.onStyleChange({mappingUID:this.props.mapping.uid,styleOptions:{opacity:e}}),this.setState((function(t){return{currentStyle:{opacity:e}}})))}},{key:"render",value:function(){var e=[{name:"Description",value:this.props.mapping.description}],t=(0,I.jsx)("div",{children:(0,I.jsxs)(le.Z,{justify:"center",align:"middle",children:[(0,I.jsx)(Ie.Z,{span:6,children:"Opacity"}),(0,I.jsx)(Ie.Z,{span:12,children:(0,I.jsx)(be.Z,{range:!1,min:0,max:1,step:.01,value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})}),(0,I.jsx)(Ie.Z,{span:6,children:(0,I.jsx)(ue.Z,{min:0,max:1,size:"small",step:.1,style:{width:"65px"},value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})})]})}),n=this.props,i=(n.defaultStyle,n.isVisible,n.mapping,n.metadata,n.onVisibilityChange,n.onStyleChange,(0,ge.Z)(n,Ke));return(0,I.jsx)(f.Z.Item,(0,j.Z)((0,j.Z)({style:{height:"100%",paddingLeft:"3px"}},i),{},{children:(0,I.jsxs)(oe.Z,{align:"start",children:[(0,I.jsx)("div",{style:{paddingLeft:"14px"},children:(0,I.jsx)(oe.Z,{direction:"vertical",align:"end",size:100,children:(0,I.jsxs)(oe.Z,{direction:"vertical",align:"end",children:[(0,I.jsx)(fe.Z,{size:"small",onChange:this.handleVisibilityChange,checked:this.props.isVisible,checkedChildren:(0,I.jsx)(p.dSq,{}),unCheckedChildren:(0,I.jsx)(p.tgn,{})}),(0,I.jsx)(we.Z,{placement:"left",content:t,overlayStyle:{width:"350px"},title:"Display Settings",children:(0,I.jsx)(se.Z,{type:"primary",shape:"circle",icon:(0,I.jsx)(xe.Z,{})})})]})})}),(0,I.jsx)(w,{header:this.props.mapping.label,attributes:e,selectable:!0,hasLongValues:!0})]})}),this.props.mapping.uid)}}]),n}(l.Component);const Je=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e=this,t=this.props.mappings.map((function(t,n){var i=t.uid;return(0,I.jsx)(Qe,{mapping:t,metadata:e.props.metadata[i],isVisible:e.props.visibleMappingUIDs.has(i),defaultStyle:e.props.defaultMappingStyles[i],onVisibilityChange:e.props.onMappingVisibilityChange,onStyleChange:e.props.onMappingStyleChange},t.uid)}));return(0,I.jsx)(f.Z,{selectable:!1,children:t})}}]),n}(l.Component);var $e=["defaultStyle","isVisible","segment","metadata","onVisibilityChange","onStyleChange"];const et=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;return(0,i.Z)(this,n),(a=t.call(this,e)).handleVisibilityChange=a.handleVisibilityChange.bind((0,o.Z)(a)),a.handleOpacityChange=a.handleOpacityChange.bind((0,o.Z)(a)),a.state={isVisible:a.props.isVisible,currentStyle:{opacity:a.props.defaultStyle.opacity}},a}return(0,a.Z)(n,[{key:"handleVisibilityChange",value:function(e,t){this.props.onVisibilityChange({segmentUID:this.props.segment.uid,isVisible:e}),this.setState({isVisible:e})}},{key:"handleOpacityChange",value:function(e){null!=e&&(this.props.onStyleChange({segmentUID:this.props.segment.uid,styleOptions:{opacity:e}}),this.setState({currentStyle:{opacity:e}}))}},{key:"render",value:function(){var e=[{name:"Property Type",value:this.props.segment.propertyType.CodeMeaning},{name:"Property Category",value:this.props.segment.propertyCategory.CodeMeaning},{name:"Algorithm Name",value:this.props.segment.algorithmName}],t=(0,I.jsx)("div",{children:(0,I.jsxs)(le.Z,{justify:"center",align:"middle",children:[(0,I.jsx)(Ie.Z,{span:6,children:"Opacity"}),(0,I.jsx)(Ie.Z,{span:12,children:(0,I.jsx)(be.Z,{range:!1,min:0,max:1,step:.01,value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})}),(0,I.jsx)(Ie.Z,{span:6,children:(0,I.jsx)(ue.Z,{min:0,max:1,size:"small",step:.1,style:{width:"65px"},value:this.state.currentStyle.opacity,onChange:this.handleOpacityChange})})]})}),n=this.props,i=(n.defaultStyle,n.isVisible,n.segment,n.metadata,n.onVisibilityChange,n.onStyleChange,(0,ge.Z)(n,$e));return(0,I.jsx)(f.Z.Item,(0,j.Z)((0,j.Z)({style:{height:"100%",paddingLeft:"3px"}},i),{},{children:(0,I.jsxs)(oe.Z,{align:"start",children:[(0,I.jsx)("div",{style:{paddingLeft:"14px"},children:(0,I.jsxs)(oe.Z,{direction:"vertical",align:"end",children:[(0,I.jsx)(fe.Z,{size:"small",onChange:this.handleVisibilityChange,checked:this.props.isVisible,checkedChildren:(0,I.jsx)(p.dSq,{}),unCheckedChildren:(0,I.jsx)(p.tgn,{})}),(0,I.jsx)(we.Z,{placement:"left",content:t,overlayStyle:{width:"350px"},title:"Display Settings",children:(0,I.jsx)(se.Z,{type:"primary",shape:"circle",icon:(0,I.jsx)(xe.Z,{})})})]})}),(0,I.jsx)(w,{header:this.props.segment.label,attributes:e,selectable:!0,hasLongValues:!0})]})}),this.props.segment.uid)}}]),n}(l.Component);const tt=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(){return(0,i.Z)(this,n),t.apply(this,arguments)}return(0,a.Z)(n,[{key:"render",value:function(){var e=this,t=this.props.segments.map((function(t,n){var i=t.uid;return(0,I.jsx)(et,{segment:t,metadata:e.props.metadata[i],isVisible:e.props.visibleSegmentUIDs.has(i),defaultStyle:e.props.defaultSegmentStyles[i],onVisibilityChange:e.props.onSegmentVisibilityChange,onStyleChange:e.props.onSegmentStyleChange},t.uid)}));return(0,I.jsx)(f.Z,{selectable:!1,children:t})}}]),n}(l.Component);function nt(e){return function(t){var n=(0,c.TH)(),i=(0,c.s0)(),a=(0,c.UO)();return(0,I.jsx)(e,(0,j.Z)((0,j.Z)({},t),{},{location:n,navigate:i,params:a}))}}var it=[0,126,163],at=[0,126,163,.2],ot=function(e){var t=e.CodingSchemeDesignator,n=e.CodeValue;return"".concat(t,"-").concat(n)},rt=function(e){var t=Me({content:e.evaluations,name:new ve.sr.coding.CodedConcept({value:"121071",meaning:"Finding",schemeDesignator:"DCM"})});if(0!==t.length){var n=t[0].ConceptCodeSequence[0];return ot(n)}console.warn("no finding found for ROI ".concat(e.uid))},st=function(e){var t=e.clients,n=e.slide,i=e.preload;console.info("instantiate viewer for VOLUME images of slide "+'"'.concat(n.volumeImages[0].ContainerIdentifier,'"'));try{var a,o=new g.viewer.VolumeImageViewer({clientMapping:t,metadata:n.volumeImages,controls:["overview","position"],preload:i,errorInterceptor:function(e){return J.onError(B,e)}});return o.activateSelectInteraction({}),n.labelImages.length>0&&(console.info("instantiate viewer for LABEL image of slide "+'"'.concat(n.labelImages[0].ContainerIdentifier,'"')),a=new g.viewer.LabelImageViewer({client:t[M.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE],metadata:n.labelImages[0],resizeFactor:1,orientation:"vertical",errorInterceptor:function(e){return J.onError(B,e)}})),{volumeViewer:o,labelViewer:a}}catch(r){throw J.onError(Y,new q(G,"Failed to instantiate viewer")),r}};const lt=nt(function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;(0,i.Z)(this,n),(a=t.call(this,e)).findingOptions=[],a.evaluationOptions={},a.measurements=[],a.geometryTypeOptions={},a.volumeViewportRef=void 0,a.labelViewportRef=void 0,a.volumeViewer=void 0,a.labelViewer=void 0,a.defaultRoiStyle={stroke:{color:it,width:2},fill:{color:at},image:{circle:{fill:{color:it},radius:5}}},a.roiStyles={},a.selectionColor=[140,184,198],a.selectedRoiStyle={stroke:{color:[].concat((0,ne.Z)(a.selectionColor),[1]),width:3},fill:{color:[].concat((0,ne.Z)(a.selectionColor),[.2])},image:{circle:{radius:5,fill:{color:[].concat((0,ne.Z)(a.selectionColor),[1])}}}},a.loadPresentationStates=function(){console.info("search for Presentation State instances");var e=a.props.clients[M.ADVANCED_BLENDING_PRESENTATION_STATE];e.searchForInstances({studyInstanceUID:a.props.studyInstanceUID,queryParams:{Modality:"PR"}}).then((function(t){null==t&&(t=[]),t.forEach((function(t,n){var i=g.metadata.formatMetadata(t).dataset;console.info('retrieve PR instance "'.concat(i.SOPInstanceUID,'"')),e.retrieveInstance({studyInstanceUID:a.props.studyInstanceUID,seriesInstanceUID:i.SeriesInstanceUID,sopInstanceUID:i.SOPInstanceUID}).then((function(e){var t=ve.aT.DicomMessage.readFile(e),o=g.metadata.formatMetadata(t.dict).dataset;if(a.props.slide.areVolumeImagesMonochrome){var r=o,s=!1;r.AdvancedBlendingSequence.forEach((function(e){s=a.props.slide.seriesInstanceUIDs.includes(e.SeriesInstanceUID)})),s&&(console.info("include Advanced Blending Presentation State instance "+'"'.concat(r.SOPInstanceUID,'"')),(0===n&&null==a.props.selectedPresentationStateUID||r.SOPInstanceUID===a.props.selectedPresentationStateUID)&&a.setPresentationState(r),a.setState((function(e){var t={};return e.presentationStates.forEach((function(e){t[e.SOPInstanceUID]=e})),t[r.SOPInstanceUID]=r,{presentationStates:Object.values(t)}})))}else console.info('ignore presentation state "'.concat(i.SOPInstanceUID,'", ')+"application of presentation states for color images has not (yet) been implemented")})).catch((function(e){J.onError(Y,new q(G,"Presentation State could not be loaded")),console.error("failed to load presentation state "+'of SOP instance "'.concat(i.SOPInstanceUID,'" ')+'of series "'.concat(i.SeriesInstanceUID,'" ')+'of study "'.concat(a.props.studyInstanceUID,'": '),e)}))}))})).catch((function(){J.onError(Y,new q(G,"Presentation State could not be loaded"))}))},a.setPresentationState=function(e){var t=a.volumeViewer.getAllOpticalPaths();console.info('apply Presentation State instance "'.concat(e.SOPInstanceUID,'"'));var n={};t.forEach((function(t){var i=t.identifier;a.volumeViewer.hideOpticalPath(i),a.volumeViewer.deactivateOpticalPath(i);var o=a.volumeViewer.getOpticalPathDefaultStyle(i);a.volumeViewer.setOpticalPathStyle(i,o),e.AdvancedBlendingSequence.forEach((function(e){var a=e.ReferencedInstanceSequence;void 0===a&&(a=e.ReferencedImageSequence),void 0!==a&&a.forEach((function(a){if(t.sopInstanceUIDs.includes(a.ReferencedSOPInstanceUID)){var o,r;if(null!=e.PaletteColorLookupTableSequence){var s=e.PaletteColorLookupTableSequence[0];o=new g.color.PaletteColorLookupTable({uid:null!=s.PaletteColorLookupTableUID?s.PaletteColorLookupTableUID:"",redDescriptor:s.RedPaletteColorLookupTableDescriptor,greenDescriptor:s.GreenPaletteColorLookupTableDescriptor,blueDescriptor:s.BluePaletteColorLookupTableDescriptor,redData:null!=s.RedPaletteColorLookupTableData?new Uint16Array(s.RedPaletteColorLookupTableData):void 0,greenData:null!=s.GreenPaletteColorLookupTableData?new Uint16Array(s.GreenPaletteColorLookupTableData):void 0,blueData:null!=s.BluePaletteColorLookupTableData?new Uint16Array(s.BluePaletteColorLookupTableData):void 0,redSegmentedData:null!=s.SegmentedRedPaletteColorLookupTableData?new Uint16Array(s.SegmentedRedPaletteColorLookupTableData):void 0,greenSegmentedData:null!=s.SegmentedGreenPaletteColorLookupTableData?new Uint16Array(s.SegmentedGreenPaletteColorLookupTableData):void 0,blueSegmentedData:null!=s.SegmentedBluePaletteColorLookupTableData?new Uint16Array(s.SegmentedBluePaletteColorLookupTableData):void 0})}if(null!=e.SoftcopyVOILUTSequence){var l=e.SoftcopyVOILUTSequence[0],c=l.WindowCenter,d=l.WindowWidth;r=[c-.5*d,c+.5*d]}n[i]={opacity:1,paletteColorLookupTable:o,limitValues:r}}}))}))}));var i=new Set;Object.keys(n).forEach((function(e){var t=n[e];null!=t?(a.volumeViewer.setOpticalPathStyle(e,t),a.volumeViewer.activateOpticalPath(e),a.volumeViewer.showOpticalPath(e),i.add(e)):(a.volumeViewer.hideOpticalPath(e),a.volumeViewer.deactivateOpticalPath(e))}));var o=new URLSearchParams(a.props.location.search);o.set("state",e.SOPInstanceUID),a.props.navigate({pathname:a.props.location.pathname,search:o.toString()},{replace:!0}),a.setState((function(t){return{activeOpticalPathIdentifiers:i,visibleOpticalPathIdentifiers:i,selectedPresentationStateUID:e.SOPInstanceUID}}))},a.getRoiStyle=function(e){return null==e?a.defaultRoiStyle:void 0!==a.roiStyles[e]?a.roiStyles[e]:a.defaultRoiStyle},a.addAnnotations=function(){console.info("search for Comprehensive 3D SR instances");var e=a.props.clients[M.COMPREHENSIVE_3D_SR];e.searchForInstances({studyInstanceUID:a.props.studyInstanceUID,queryParams:{Modality:"SR"}}).then((function(t){null==t&&(t=[]),t.forEach((function(t){var n=g.metadata.formatMetadata(t).dataset;n.SOPClassUID===M.COMPREHENSIVE_3D_SR&&(console.info('retrieve SR instance "'.concat(n.SOPInstanceUID,'"')),e.retrieveInstance({studyInstanceUID:a.props.studyInstanceUID,seriesInstanceUID:n.SeriesInstanceUID,sopInstanceUID:n.SOPInstanceUID}).then((function(e){var t=ve.aT.DicomMessage.readFile(e),n=g.metadata.formatMetadata(t.dict).dataset;(function(e){var t=e.ContentTemplateSequence;return t.length>0&&"1500"===t[0].TemplateIdentifier})(n)?!function(e){var t=Me({content:e.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"121024",schemeDesignator:"DCM",meaning:"Subject Class"})});if(0===t.length)return!1;var n=t[0].ConceptCodeSequence[0],i=new ve.sr.coding.CodedConcept({value:n.CodeValue,meaning:n.CodeMeaning,schemeDesignator:n.CodingSchemeDesignator}),a=new ve.sr.coding.CodedConcept({value:"121027",meaning:"Specimen",schemeDesignator:"DCM"});return!!i.equals(a)}(n)?console.debug('ignore SR document "'.concat(n.SOPInstanceUID,'" ')+"because it does not describe a specimen subject"):!function(e){var t=Me({content:e.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"126010",schemeDesignator:"DCM",meaning:"Imaging Measurements"})});if(0===t.length)return!1;var n=t[0],i=Me({content:n.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"125007",schemeDesignator:"DCM",meaning:"Measurement Group"})}),a=!1;return i.forEach((function(e){var t=Me({content:e.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"111030",schemeDesignator:"DCM",meaning:"Image Region"})});t.length>0&&t[0].ValueType===ve.sr.valueTypes.ValueTypes.SCOORD3D&&(a=!0)})),a}(n)?console.debug('ignore SR document "'.concat(n.SOPInstanceUID,'" ')+"because it does not contain any suitable ROI annotations"):new Ue(n).ROIs.forEach((function(e){console.info('add ROI "'.concat(e.uid,'"'));var t=e.scoord3d,i=a.props.slide.volumeImages[0];if(t.frameOfReferenceUID===i.FrameOfReferenceUID){var o=a.volumeViewer.getAllROIs().some((function(t){return function(e,t){if(e.scoord3d.graphicType!==t.scoord3d.graphicType)return!1;if(e.scoord3d.frameOfReferenceUID!==t.scoord3d.frameOfReferenceUID)return!1;if(e.scoord3d.graphicData.length!==t.scoord3d.graphicData.length)return!1;for(var n=0;n0){try{a.volumeViewer.addSegments(t)}catch(n){J.onError(Y,new q(G,"Segmentations cannot be displayed")),console.error("failed to add segments: ",n)}a.forceUpdate()}})).catch((function(){J.onError(Y,new q(G,"Retrieval of metadata of Segmentation instances failed."))}))}))})).catch((function(){J.onError(Y,new q(G,"Search for Segmentation instances failed."))}))},a.addParametricMaps=function(){console.info("search for Parametric Map instances");var e=a.props.clients[M.PARAMETRIC_MAP];e.searchForSeries({studyInstanceUID:a.props.studyInstanceUID,queryParams:{Modality:"OT"}}).then((function(t){null==t&&(t=[]),t.forEach((function(t){var n=g.metadata.formatMetadata(t).dataset;e.retrieveSeriesMetadata({studyInstanceUID:a.props.studyInstanceUID,seriesInstanceUID:n.SeriesInstanceUID}).then((function(e){var t=[];if(e.forEach((function(e){var n=new g.metadata.ParametricMap({metadata:e}),i=a.props.slide.volumeImages[0];n.FrameOfReferenceUID===i.FrameOfReferenceUID&&n.ContainerIdentifier===i.ContainerIdentifier?t.push(n):console.warn('skip Parametric Map instance "'.concat(n.SOPInstanceUID,'"'))})),t.length>0){try{a.volumeViewer.addParameterMappings(t)}catch(n){J.onError(Y,new q(G,"Parametric Map cannot be displayed")),console.error("failed to add mappings: ",n)}a.forceUpdate()}})).catch((function(){J.onError(Y,new q(G,"Retrieval of metadata of Parametric Map instances failed."))}))}))})).catch((function(){J.onError(Y,new q(G,"Search for Parametric Map instances failed."))}))},a.populateViewports=function(){console.info("populate viewports..."),a.setState({isLoading:!0,presentationStates:[]}),null!=a.volumeViewportRef.current&&a.volumeViewer.render({container:a.volumeViewportRef.current}),null!=a.labelViewportRef.current&&null!=a.labelViewer&&a.labelViewer.render({container:a.labelViewportRef.current}),a.setState({isLoading:!1}),a.setDefaultPresentationState(),a.loadPresentationStates(),a.addAnnotations(),a.addAnnotationGroups(),a.addSegmentations(),a.addParametricMaps()},a.onRoiModified=function(e){a.setState((function(e){return{visibleRoiUIDs:new Set(e.visibleRoiUIDs)}}))},a.onWindowResize=function(e){console.info("resize viewports"),a.volumeViewer.resize(),null!=a.labelViewer&&a.labelViewer.resize()},a.onRoiDrawn=function(e){var t=e.detail.payload,n=a.state.selectedFinding,i=a.state.selectedEvaluations;if(void 0!==t&&void 0!==n){console.debug('add ROI "'.concat(t.uid,'"'));var o=new ve.sr.valueTypes.CodeContentItem({name:new ve.sr.coding.CodedConcept({value:"121071",meaning:"Finding",schemeDesignator:"DCM"}),value:n,relationshipType:"CONTAINS"});t.addEvaluation(o),i.forEach((function(e){var n=new ve.sr.valueTypes.CodeContentItem({name:e.name,value:e.value,relationshipType:"CONTAINS"});t.addEvaluation(n)}));var r=ot(n),s=a.getRoiStyle(r);a.volumeViewer.addROI(t,s),a.setState((function(e){var n=e.visibleRoiUIDs;return n.add(t.uid),{visibleRoiUIDs:n}}))}else console.debug('could not add ROI "'.concat(t.uid,'"'))},a.onRoiDoubleClicked=function(e){null!=e.detail.payload?a.setState({isSelectedRoiModalVisible:!0}):a.setState({isSelectedRoiModalVisible:!1})},a.onRoiSelected=function(e){var t=e.detail.payload;if(null!=t){console.debug('selected ROI "'.concat(t.uid,'"')),a.volumeViewer.setROIStyle(t.uid,a.selectedRoiStyle);var n=rt(t);a.volumeViewer.getAllROIs().forEach((function(e){e.uid!==t.uid&&a.volumeViewer.setROIStyle(e.uid,a.getRoiStyle(n))})),a.setState({selectedRoiUIDs:new Set([t.uid]),selectedRoi:t})}else a.setState({selectedRoiUIDs:new Set,selectedRoi:void 0})},a.onLoadingStarted=function(e){a.setState({isLoading:!0})},a.onLoadingEnded=function(e){a.setState({isLoading:!1})},a.onFrameLoadingStarted=function(e){var t=e.detail.payload,n="".concat(t.sopInstanceUID,"-").concat(t.frameNumber);a.setState((function(e){return e.loadingFrames.add(n),e}))},a.onFrameLoadingEnded=function(e){var t=e.detail.payload,n="".concat(t.sopInstanceUID,"-").concat(t.frameNumber);if(a.setState((function(e){e.loadingFrames.delete(n);var t=!1;return e.loadingFrames.size>0&&(t=!0),{isLoading:t,loadingFrames:e.loadingFrames}})),t.sopClassUID===M.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE&&a.props.slide.areVolumeImagesMonochrome){var i=t.channelIdentifier;if(!(i in a.state.pixelDataStatistics)&&null!=t.pixelArray){for(var o=Math.pow(2,16),r=Math.ceil(t.pixelArray.length/o),s=0,l=[],c=[],d=0;d=n&&t<=i)return void this.setState({selectedXCoordinate:t,isSelectedXCoordinateValid:!0})}this.setState({selectedXCoordinate:void 0,isSelectedXCoordinateValid:!1})}},{key:"handleYCoordinateSelection",value:function(e){if(null!=e){var t=Number(e),n=this.state.validYCoordinateRange[0],i=this.state.validYCoordinateRange[1];if(t>=n&&t<=i)return void this.setState({selectedYCoordinate:t,isSelectedYCoordinateValid:!0})}this.setState({selectedYCoordinate:void 0,isSelectedYCoordinateValid:!1})}},{key:"handleMagnificationSelection",value:function(e){null!=e&&e>0&&e<=40?this.setState({selectedMagnification:Number(e),isSelectedMagnificationValid:!0}):this.setState({selectedMagnification:void 0,isSelectedMagnificationValid:!1})}},{key:"handleSlidePositionSelection",value:function(){if(this.state.isSelectedXCoordinateValid&&this.state.isSelectedYCoordinateValid&&this.state.isSelectedMagnificationValid&&null!=this.state.selectedXCoordinate&&null!=this.state.selectedYCoordinate&&null!=this.state.selectedMagnification){console.info("select slide position "+"(".concat(this.state.selectedXCoordinate,", ")+"".concat(this.state.selectedYCoordinate,") ")+"at ".concat(this.state.selectedMagnification,"x magnification"));for(var e=.01/this.state.selectedMagnification,t=[],n=0;n1&&J.onError(Y,new q(G,"More than one specimen has been described for the slide"));var a,o=i.SpecimenDescriptionSequence[0];console.debug("create Observation Context"),void 0!==this.props.user?a=new ve.sr.templates.PersonObserverIdentifyingAttributes({name:this.props.user.name,loginName:this.props.user.email}):(console.warn("no user information available"),a=new ve.sr.templates.PersonObserverIdentifyingAttributes({name:"ANONYMOUS"}));var r=new ve.sr.templates.ObservationContext({observerPersonContext:new ve.sr.templates.ObserverContext({observerType:new ve.sr.coding.CodedConcept({value:"121006",schemeDesignator:"DCM",meaning:"Person"}),observerIdentifyingAttributes:a}),observerDeviceContext:new ve.sr.templates.ObserverContext({observerType:new ve.sr.coding.CodedConcept({value:"121007",schemeDesignator:"DCM",meaning:"Device"}),observerIdentifyingAttributes:new ve.sr.templates.DeviceObserverIdentifyingAttributes({uid:this.props.app.uid,manufacturerName:"MGH Computational Pathology",modelName:this.props.app.name})}),subjectContext:new ve.sr.templates.SubjectContext({subjectClass:new ve.sr.coding.CodedConcept({value:"121027",schemeDesignator:"DCM",meaning:"Specimen"}),subjectClassSpecificContext:new ve.sr.templates.SubjectContextSpecimen({uid:o.SpecimenUID,identifier:o.SpecimenIdentifier,containerIdentifier:i.ContainerIdentifier})})});console.debug("encode Imaging Measurements");for(var s=[],l=0;l0?(this.state.selectedRoiUIDs.forEach((function(t){void 0!==t?(console.info('remove ROI "'.concat(t,'"')),e.volumeViewer.removeROI(t),u.ZP.info("Annotation was removed")):u.ZP.warning("No annotation was selected for removal")})),this.setState({selectedRoiUIDs:new Set,isRoiTranslationActive:!1,isRoiDrawingActive:!1,isRoiModificationActive:!1})):(this.state.visibleRoiUIDs.forEach((function(t){console.info('remove ROI "'.concat(t,'"')),e.volumeViewer.removeROI(t)})),this.setState({visibleRoiUIDs:new Set,isRoiTranslationActive:!1,isRoiDrawingActive:!1,isRoiModificationActive:!1})),this.volumeViewer.activateSelectInteraction({})}},{key:"handleRoiVisibilityChange",value:function(){var e=this;console.info("toggle visibility of ROIs"),this.volumeViewer.areROIsVisible?(this.volumeViewer.deactivateDrawInteraction(),this.volumeViewer.deactivateSnapInteraction(),this.volumeViewer.deactivateTranslateInteraction(),this.volumeViewer.deactivateSelectInteraction(),this.volumeViewer.deactivateModifyInteraction(),this.volumeViewer.hideROIs(),this.setState({areRoisHidden:!0,isRoiDrawingActive:!1,isRoiModificationActive:!1,isRoiTranslationActive:!1})):(this.volumeViewer.showROIs(),this.volumeViewer.activateSelectInteraction({}),this.state.selectedRoiUIDs.forEach((function(t){void 0!==t&&e.volumeViewer.setROIStyle(t,e.selectedRoiStyle)})),this.setState({areRoisHidden:!1}))}},{key:"render",value:function(){var e=this,t=[],n=[],i=[],a=[];t.push.apply(t,(0,ne.Z)(this.volumeViewer.getAllROIs())),n.push.apply(n,(0,ne.Z)(this.volumeViewer.getAllSegments())),i.push.apply(i,(0,ne.Z)(this.volumeViewer.getAllParameterMappings())),a.push.apply(a,(0,ne.Z)(this.volumeViewer.getAllAnnotationGroups()));var o,r,s=["specimens","optical-paths","annotations","presentation-states"],c=this.state.generatedReport;void 0!==c&&(o=(0,I.jsx)(Te,{dataset:c})),t.length>0&&(r=(0,I.jsx)(Ce,{rois:t,selectedRoiUIDs:this.state.selectedRoiUIDs,visibleRoiUIDs:this.state.visibleRoiUIDs,onSelection:this.handleAnnotationSelection,onVisibilityChange:this.handleAnnotationVisibilityChange}));var d=this.findingOptions.map((function(e){return(0,I.jsx)(ie.Z.Option,{value:e.CodeValue,children:e.CodeMeaning},e.CodeValue)})),u={point:(0,I.jsx)(ie.Z.Option,{value:"point",children:"Point"},"point"),circle:(0,I.jsx)(ie.Z.Option,{value:"circle",children:"Circle"},"circle"),box:(0,I.jsx)(ie.Z.Option,{value:"box",children:"Box"},"box"),polygon:(0,I.jsx)(ie.Z.Option,{value:"polygon",children:"Polygon"},"polygon"),line:(0,I.jsx)(ie.Z.Option,{value:"line",children:"Line"},"line"),freehandpolygon:(0,I.jsx)(ie.Z.Option,{value:"freehandpolygon",children:"Polygon (freehand)"},"freehandpolygon"),freehandline:(0,I.jsx)(ie.Z.Option,{value:"freehandline",children:"Line (freehand)"},"freehandline")},m=[(0,I.jsx)(ie.Z,{style:{minWidth:130},onSelect:this.handleAnnotationFindingSelection,defaultActiveFirstOption:!0,children:d},"annotation-finding")],v=this.state.selectedFinding;if(void 0!==v){var g=ot(v);this.evaluationOptions[g].forEach((function(t){var n=t.values.map((function(e){return(0,I.jsx)(ie.Z.Option,{value:e.CodeValue,label:t.name,children:e.CodeMeaning},e.CodeValue)}));m.push((0,I.jsxs)(I.Fragment,{children:[t.name.CodeMeaning,(0,I.jsx)(ie.Z,{style:{minWidth:130},onSelect:e.handleAnnotationEvaluationSelection,allowClear:!0,onClear:e.handleAnnotationEvaluationClearance,defaultActiveFirstOption:!1,children:n})]}))}));var S=this.geometryTypeOptions[g].map((function(e){return u[e]}));m.push((0,I.jsxs)(I.Fragment,{children:["ROI geometry type",(0,I.jsx)(ie.Z,{style:{minWidth:130},onSelect:this.handleAnnotationGeometryTypeSelection,children:S},"annotation-geometry-type")]})),m.push((0,I.jsx)(ae.Z,{onChange:this.handleAnnotationMeasurementActivation,children:"measure"},"annotation-measurement"))}var C=(0,I.jsx)(f.Z.SubMenu,{title:"Specimens",children:(0,I.jsx)(Ge,{metadata:this.props.slide.volumeImages[0],showstain:!1})},"specimens"),b=(0,I.jsx)(f.Z.SubMenu,{title:"Equipment",children:(0,I.jsx)(Pe,{metadata:this.props.slide.volumeImages[0]})},"equipment"),w=this.volumeViewer.getAllOpticalPaths();w.sort((function(e,t){return 1===e.identifier.localeCompare(t.identifier)?1:1===t.identifier.localeCompare(e.identifier)?-1:0}));var D={},x={};w.forEach((function(t){var n=t.identifier,i=e.volumeViewer.getOpticalPathMetadata(n);x[n]=i;var a=(0,j.Z)({},e.volumeViewer.getOpticalPathStyle(n));D[n]=a}));var V,Z,R,O,P,M=(0,I.jsx)(f.Z.SubMenu,{title:"Optical Paths",children:(0,I.jsx)(Xe,{metadata:x,opticalPaths:w,defaultOpticalPathStyles:D,visibleOpticalPathIdentifiers:this.state.visibleOpticalPathIdentifiers,activeOpticalPathIdentifiers:this.state.activeOpticalPathIdentifiers,onOpticalPathVisibilityChange:this.handleOpticalPathVisibilityChange,onOpticalPathStyleChange:this.handleOpticalPathStyleChange,onOpticalPathActivityChange:this.handleOpticalPathActivityChange,selectedPresentationStateUID:this.state.selectedPresentationStateUID})},"optical-paths");if(this.state.presentationStates.length>0){var E=[];this.state.presentationStates.forEach((function(e){E.push((0,I.jsx)(ie.Z.Option,{value:e.SOPInstanceUID,dropdownMatchSelectWidth:!1,size:"small",children:e.ContentDescription},e.SOPInstanceUID))})),E.push((0,I.jsx)(ie.Z.Option,{value:null,dropdownMatchSelectWidth:!1,size:"small"},"default-presentation-state")),V=(0,I.jsx)(f.Z.SubMenu,{title:"Presentation States",children:(0,I.jsxs)(oe.Z,{align:"center",size:20,style:{padding:"14px"},children:[(0,I.jsx)(ie.Z,{style:{minWidth:200,maxWidth:200},onSelect:this.handlePresentationStateSelection,value:this.state.selectedPresentationStateUID,children:E},"presentation-states"),(0,I.jsx)(re.Z,{title:"Reset",children:(0,I.jsx)(se.Z,{icon:(0,I.jsx)(he.Z,{}),type:"primary",onClick:this.handlePresentationStateReset})})]})},"presentation-states")}if(n.length>0){var U={},T={},A=this.volumeViewer.getAllSegments();A.forEach((function(t){U[t.uid]=e.volumeViewer.getSegmentStyle(t.uid),T[t.uid]=e.volumeViewer.getSegmentMetadata(t.uid)})),Z=(0,I.jsx)(f.Z.SubMenu,{title:"Segmentations",children:(0,I.jsx)(tt,{segments:A,metadata:T,defaultSegmentStyles:U,visibleSegmentUIDs:this.state.visibleSegmentUIDs,onSegmentVisibilityChange:this.handleSegmentVisibilityChange,onSegmentStyleChange:this.handleSegmentStyleChange})},"segmentations"),s.push("segmentations")}if(i.length>0){var k={},L={};i.forEach((function(t){k[t.uid]=e.volumeViewer.getParameterMappingStyle(t.uid),L[t.uid]=e.volumeViewer.getParameterMappingMetadata(t.uid)})),R=(0,I.jsx)(f.Z.SubMenu,{title:"Parametric Maps",children:(0,I.jsx)(Je,{mappings:i,metadata:L,defaultMappingStyles:k,visibleMappingUIDs:this.state.visibleMappingUIDs,onMappingVisibilityChange:this.handleMappingVisibilityChange,onMappingStyleChange:this.handleMappingStyleChange})},"parmetric-maps"),s.push("parametric-maps")}if(a.length>0){var _={},N={},G=this.volumeViewer.getAllAnnotationGroups();G.forEach((function(t){_[t.uid]=e.volumeViewer.getAnnotationGroupStyle(t.uid),N[t.uid]=e.volumeViewer.getAnnotationGroupMetadata(t.uid)})),O=(0,I.jsx)(f.Z.SubMenu,{title:"Annotation Groups",children:(0,I.jsx)(Re,{annotationGroups:G,metadata:N,defaultAnnotationGroupStyles:_,visibleAnnotationGroupUIDs:this.state.visibleAnnotationGroupUIDs,onAnnotationGroupVisibilityChange:this.handleAnnotationGroupVisibilityChange,onAnnotationGroupStyleChange:this.handleAnnotationGroupStyleChange})},"annotation-groups"),s.push("annotationGroups")}var q="0px",F=[(0,I.jsx)(Oe,{tooltip:"Draw ROI [Alt+D]",icon:p.vuA,onClick:this.handleRoiDrawing,isSelected:this.state.isRoiDrawingActive},"draw-roi-button"),(0,I.jsx)(Oe,{tooltip:"Modify ROIs [Alt+M]",icon:p.eAi,onClick:this.handleRoiModification,isSelected:this.state.isRoiModificationActive},"modify-roi-button"),(0,I.jsx)(Oe,{tooltip:"Translate ROIs [Alt+T]",icon:p.Jd7,onClick:this.handleRoiTranslation,isSelected:this.state.isRoiTranslationActive},"translate-roi-button"),(0,I.jsx)(Oe,{tooltip:"Remove selected ROI [Alt+R]",onClick:this.handleRoiRemoval,icon:p.Xm5},"remove-roi-button"),(0,I.jsx)(Oe,{tooltip:"Show/Hide ROIs [Alt+V]",icon:this.state.areRoisHidden?p.dSq:p.tgn,onClick:this.handleRoiVisibilityChange,isSelected:this.state.areRoisHidden},"toggle-roi-visibility-button"),(0,I.jsx)(Oe,{tooltip:"Save ROIs [Alt+S]",icon:p.TvB,onClick:this.handleReportGeneration},"generate-report-button")],z=[(0,I.jsx)(Oe,{tooltip:"Go to [Alt+G]",icon:p.Xe,onClick:this.handleGoTo},"go-to-slide-position-button")];this.props.enableAnnotationTools&&(P=(0,I.jsxs)(le.Z,{justify:"start",children:[F.map((function(e,t){return(0,I.jsx)(l.Fragment,{children:e},t)})),z.map((function(e,t){return(0,I.jsx)(l.Fragment,{children:e},t)}))]}),q="50px");var B,W="default";if(this.state.isLoading&&(W="progress"),null!=this.state.selectedRoi){var Y=[{name:"UID",value:this.state.selectedRoi.uid}],H=[{name:"Graphic type",value:this.state.selectedRoi.scoord3d.graphicType}],X=[];this.state.selectedRoi.evaluations.forEach((function(e){if("CODE"===e.ValueType){var t=e;X.push({name:t.ConceptNameCodeSequence[0].CodeMeaning,value:t.ConceptCodeSequence[0].CodeMeaning})}else{var n=e;X.push({name:n.ConceptNameCodeSequence[0].CodeMeaning,value:n.TextValue})}}));var K={};this.state.selectedRoi.measurements.forEach((function(e){var t="default";if(null!=e.ContentSequence){var n=Me({content:e.ContentSequence,name:new ve.sr.coding.CodedConcept({value:"121112",meaning:"Source of Measurement",schemeDesignator:"DCM"})});n.length>0&&(t=n[0].ReferencedSOPSequence[0].ReferencedOpticalPathIdentifier)}t in K||(K[t]=[]);var i=e.MeasuredValueSequence[0];K[t].push({name:e.ConceptNameCodeSequence[0].CodeMeaning,value:i.NumericValue.toString(),unit:i.MeasurementUnitsCodeSequence[0].CodeMeaning})}));var Q=function(e){return e.map((function(e){var t;return t=null!=e.unit?"".concat(e.value," [").concat(e.unit,"]"):e.value,(0,I.jsx)(y.Z.Item,{label:e.name,children:t},e.name)}))},J=Q(Y),$=Q(H),ee=Q(X),te=[];for(var fe in K){var ge=Q(K[fe]);"default"===fe?te.push(ge):te.push((0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(ce.Z,{orientation:"left",orientationMargin:0,dashed:!0,plain:!0,children:fe}),ge]}))}B=(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(y.Z,{layout:"horizontal",column:1,children:J}),(0,I.jsx)(ce.Z,{orientation:"left",orientationMargin:0,children:"Spatial coordinates"}),(0,I.jsx)(y.Z,{layout:"horizontal",column:1,children:$}),(0,I.jsx)(ce.Z,{orientation:"left",orientationMargin:0,children:"Evaluations"}),(0,I.jsx)(y.Z,{layout:"horizontal",column:1,children:ee}),(0,I.jsx)(ce.Z,{orientation:"left",orientationMargin:0,children:"Measurements"}),(0,I.jsx)(y.Z,{layout:"horizontal",column:1,children:te})]})}return(0,I.jsxs)(h.Z,{style:{height:"100%"},hasSider:!0,children:[(0,I.jsxs)(h.Z.Content,{style:{height:"100%"},children:[P,(0,I.jsx)("div",{style:{height:"calc(100% - ".concat(q,")"),overflow:"hidden",cursor:W},ref:this.volumeViewportRef}),(0,I.jsx)(de.Z,{visible:this.state.isAnnotationModalVisible,title:"Configure annotations",onOk:this.handleAnnotationConfigurationCompletion,onCancel:this.handleAnnotationConfigurationCancellation,okText:"Select",children:(0,I.jsx)(oe.Z,{align:"start",direction:"vertical",children:m})}),(0,I.jsx)(de.Z,{visible:this.state.isSelectedRoiModalVisible,title:"Selected ROI",onCancel:this.handleRoiSelectionCancellation,maskClosable:!0,footer:null,children:(0,I.jsx)(oe.Z,{align:"start",direction:"vertical",children:B})}),(0,I.jsx)(de.Z,{visible:this.state.isGoToModalVisible,title:"Go to slide position",onOk:this.handleSlidePositionSelection,onCancel:this.handleSlidePositionSelectionCancellation,okText:"Select",children:(0,I.jsxs)(oe.Z,{align:"start",direction:"vertical",children:[(0,I.jsx)(ue.Z,{placeholder:"["+"".concat(this.state.validXCoordinateRange[0])+", "+"".concat(this.state.validXCoordinateRange[1])+"]",prefix:"X Coordinate [mm]",onChange:this.handleXCoordinateSelection,onPressEnter:this.handleXCoordinateSelection,controls:!1,addonAfter:this.state.isSelectedXCoordinateValid?(0,I.jsx)(pe.Z,{style:{color:"rgba(0,0,0,.45)"}}):(0,I.jsx)(me.Z,{style:{color:"rgba(0,0,0,.45)"}})}),(0,I.jsx)(ue.Z,{placeholder:"["+"".concat(this.state.validYCoordinateRange[0])+", "+"".concat(this.state.validYCoordinateRange[1])+"]",prefix:"Y Coordinate [mm]",onChange:this.handleYCoordinateSelection,onPressEnter:this.handleYCoordinateSelection,controls:!1,addonAfter:this.state.isSelectedYCoordinateValid?(0,I.jsx)(pe.Z,{style:{color:"rgba(0,0,0,.45)"}}):(0,I.jsx)(me.Z,{style:{color:"rgba(0,0,0,.45)"}})}),(0,I.jsx)(ue.Z,{placeholder:"[0 - 40]",prefix:"Magnification",onChange:this.handleMagnificationSelection,onPressEnter:this.handleMagnificationSelection,controls:!1,addonAfter:this.state.isSelectedMagnificationValid?(0,I.jsx)(pe.Z,{style:{color:"rgba(0,0,0,.45)"}}):(0,I.jsx)(me.Z,{style:{color:"rgba(0,0,0,.45)"}})})]})}),(0,I.jsx)(de.Z,{visible:this.state.isReportModalVisible,title:"Verify and save report",onOk:this.handleReportVerification,onCancel:this.handleReportCancellation,okText:"Save",children:o})]}),(0,I.jsx)(h.Z.Sider,{width:300,reverseArrow:!0,style:{borderLeft:"solid",borderLeftWidth:.25,overflow:"hidden",background:"none"},children:(0,I.jsxs)(f.Z,{mode:"inline",defaultOpenKeys:s,style:{height:"100%"},inlineIndent:14,forceSubMenuRender:!0,onOpenChange:function(){setTimeout((function(){null!=e.labelViewer&&e.labelViewer.resize()}),100)},children:[(0,I.jsx)(f.Z.SubMenu,{title:"Slide label",children:(0,I.jsx)(f.Z.Item,{style:{height:"100%"},children:(0,I.jsx)("div",{style:{height:"220px"},ref:this.labelViewportRef})},"image")},"label"),C,b,M,V,(0,I.jsx)(f.Z.SubMenu,{title:"Annotations",children:r},"annotations"),O,Z,R]})})]})}}]),n}(l.Component));var ct;!function(e){e.VOLUME="VOLUME",e.LABEL="LABEL",e.OVERVIEW="OVERVIEW",e.THUMBNAIL="THUMBNAIL"}(ct||(ct={}));var dt=function(e,t){return e.ImageType[2]===t},ut=function(e,t){return null!=e.AcquisitionUID&&e.AcquisitionUID===t.AcquisitionUID},ht=(0,a.Z)((function e(t){var n=this;(0,i.Z)(this,e),this.description=void 0,this.acquisitionUID=void 0,this.frameOfReferenceUID=void 0,this.containerIdentifier=void 0,this.seriesInstanceUIDs=void 0,this.opticalPathIdentifiers=void 0,this.pyramidUIDs=[],this.areVolumeImagesMonochrome=void 0,this.volumeImages=void 0,this.labelImages=void 0,this.overviewImages=void 0,0===t.images.length&&J.onError(Y,new q(N,'Value of option "images" have been non-zero length.'));var a=new Set([]),o=new Set([]),r=new Set([]),s=new Set([]),l={VOLUME:new Set([]),LABEL:new Set([]),OVERVIEW:new Set([])},c={VOLUME:{}},d=[],u=[],h=[];if(t.images.forEach((function(e){if(s.add(e.ContainerIdentifier),a.add(e.SeriesInstanceUID),e.OpticalPathSequence.forEach((function(e){r.add(e.OpticalPathIdentifier)})),null!=e.AcquisitionUID&&o.add(e.AcquisitionUID),dt(e,ct.VOLUME)||dt(e,ct.THUMBNAIL)){if(l.VOLUME.add(e.FrameOfReferenceUID),null!=e.PyramidUID)for(var t in r)c.VOLUME[t].add(e.PyramidUID);d.push(e)}else dt(e,ct.LABEL)?(l.LABEL.add(e.FrameOfReferenceUID),u.push(e)):dt(e,ct.OVERVIEW)&&(l.OVERVIEW.add(e.FrameOfReferenceUID),h.push(e))})),0===d.length)J.onError(Y,new q(N,"At least one VOLUME image must be provided for a slide."));else{o.size>1&&J.onError(Y,new q(N,"All VOLUME images of a slide must have the same number of Samples per Pixel."));var p=new Set([]);d.forEach((function(e){p.add(e.SamplesPerPixel)})),p.size>1&&J.onError(Y,new q(N,"All VOLUME images of a slide must have the same number of Samples per Pixel.")),d.filter((function(e){return"RESAMPLED"!==e.ImageType[3]})).length>r.size&&console.warn("the set of VOLUME images of a slide must contain only a single image that has not been resampled per optical path")}this.volumeImages=d,this.labelImages=u,this.overviewImages=h,this.seriesInstanceUIDs=(0,ne.Z)(a),this.opticalPathIdentifiers=(0,ne.Z)(r),1!==s.size&&J.onError(Y,new q(N,"All images of a slide must have the same Container Identifier.")),this.containerIdentifier=(0,ne.Z)(s)[0],1!==l.VOLUME.size&&J.onError(Y,new q(N,"All VOLUME images of a slide must have the same Frame of Reference UID.")),this.frameOfReferenceUID=(0,ne.Z)(l.VOLUME)[0];var m=!1;Object.keys(c.VOLUME).length>0&&(m=!0),this.opticalPathIdentifiers.forEach((function(e){null!=c.VOLUME[e]?c.VOLUME[e].size>1?J.onError(Y,new q(N,'All VOLUME images for optical path "'.concat(e,'"')+"must be part of the same multi-resolution pyramid.")):1===c.VOLUME[e].size?n.pyramidUIDs.push((0,ne.Z)(c.VOLUME[e])[0]):J.onError(Y,new q(N,'The VOLUME images for optical path "'.concat(e,'" ')+"lack the Pyramid UID, while the images for other optical paths contain it.")):m&&J.onError(Y,new q(N,'The VOLUME images for optical path "'.concat(e,'" ')+"lack the Pyramid UID, while the images for other optical paths contain it."))})),o.size>1?J.onError(Y,new q(N,"All VOLUME images of a slide must be part of the same acquisition and have the same Acquisition UID.")):1===o.size?this.acquisitionUID=(0,ne.Z)(o)[0]:this.acquisitionUID=null,this.areVolumeImagesMonochrome=1===this.volumeImages[0].SamplesPerPixel&&"MONOCHROME2"===this.volumeImages[0].PhotometricInterpretation,this.description=void 0!==t.description?t.description:""})),pt=function(e){var t=[];e.forEach((function(e){if(e.length>0){var n=e.filter((function(e){return dt(e,ct.VOLUME)||dt(e,ct.THUMBNAIL)}));if(n.length>0){var i,a=n[0],o=n.filter((function(e){return a.SamplesPerPixel===e.SamplesPerPixel})),r=t.findIndex((function(e){return function(e,t){if(e.frameOfReferenceUID===t.FrameOfReferenceUID&&e.containerIdentifier===t.ContainerIdentifier&&e.acquisitionUID===t.AcquisitionUID)return!0;return!1}(e,a)})),s=e.filter((function(e){return dt(e,ct.LABEL)}));i=s.length>1?s.filter((function(e){return ut(e,a)})):s;var l,c=e.filter((function(e){return dt(e,ct.OVERVIEW)}));if(l=c.length>1?c.filter((function(e){return ut(e,a)})):c,-1===r){var d={acquisitionUID:a.AcquisitionUID,frameOfReferenceUID:a.FrameOfReferenceUID,containerIdentifier:a.ContainerIdentifier,volumeImages:o,labelImages:i,overviewImages:l};t.push(d)}else{var u,h,p,m=t[r];(u=m.volumeImages).push.apply(u,(0,ne.Z)(o)),(h=m.labelImages).push.apply(h,(0,ne.Z)(i)),(p=m.overviewImages).push.apply(p,(0,ne.Z)(l))}}}}));var n=t.map((function(e){return new ht({images:[].concat((0,ne.Z)(e.volumeImages),(0,ne.Z)(e.labelImages),(0,ne.Z)(e.overviewImages))})}));return n=n.sort((function(e,t){var n=e.volumeImages[0],i=t.volumeImages[0];return null!=n.ContainerIdentifier&&null!=i.ContainerIdentifier?Number(n.ContainerIdentifier)-Number(i.ContainerIdentifier):0}))};function mt(e){var t,n=e.clients,i=e.slides,a=e.user,o=e.app,r=e.preload,s=e.enableAnnotationTools,l=e.annotations,d=(0,c.UO)(),u=d.studyInstanceUID,h=d.seriesInstanceUID,p=(0,c.TH)(),m=i.find((function(e){return e.seriesInstanceUIDs.find((function(e){return e===h}))})),v=new URLSearchParams(p.search);v.has("access_token")||null===(t=v.get("state"))&&(t=void 0);var f=null;return null!=m&&(f=(0,I.jsx)(lt,{clients:n,studyInstanceUID:u,seriesInstanceUID:h,selectedPresentationStateUID:t,slide:m,preload:r,annotations:l,enableAnnotationTools:s,app:o,user:a})),f}const vt=nt(function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;return(0,i.Z)(this,n),(a=t.call(this,e)).state={slides:[],isLoading:!0},a.handleSeriesSelection=a.handleSeriesSelection.bind((0,o.Z)(a)),a}return(0,a.Z)(n,[{key:"componentDidMount",value:function(){var e=this;this.fetchImageMetadata().then((function(t){e.setState({slides:pt(t),isLoading:!1})})).catch((function(){J.onError(Y,new q(N,"Image metadata could not be retrieved or decoded.")),e.setState({isLoading:!1})}))}},{key:"fetchImageMetadata",value:function(){var e=(0,v.Z)((0,m.Z)().mark((function e(){var t,n,i,a,o=this;return(0,m.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=[],n=this.props.studyInstanceUID,console.info('search for series of study "'.concat(n,'"...')),i=this.props.clients[M.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE],e.next=6,i.searchForSeries({queryParams:{Modality:"SM",StudyInstanceUID:n}});case 6:return a=e.sent,e.next=9,Promise.all(a.map(function(){var e=(0,v.Z)((0,m.Z)().mark((function e(n){var a,r,s,l,c;return(0,m.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=g.metadata.formatMetadata(n),r=a.dataset,s=r,console.info('retrieve metadata of series "'.concat(s.SeriesInstanceUID,'"')),e.next=5,i.retrieveSeriesMetadata({studyInstanceUID:o.props.studyInstanceUID,seriesInstanceUID:s.SeriesInstanceUID});case 5:l=e.sent,c=[],l.forEach((function(e,t){if(null!=e["00080016"]){var n=e["00080016"].Value;if(null!=n)if(n[0]===M.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE){var i=new g.metadata.VLWholeSlideMicroscopyImage({metadata:e});c.push(i)}}})),c.length>0&&t.push(c);case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 9:return e.abrupt("return",t);case 10:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"handleSeriesSelection",value:function(e){var t=e.seriesInstanceUID;console.info('switch to series "'.concat(t,'"'));var n="/studies/".concat(this.props.studyInstanceUID)+"/series/".concat(t);this.props.location.pathname.includes("/series/")&&null!=this.props.location.search&&(n+=this.props.location.search),this.props.navigate(n,{replace:!0})}},{key:"render",value:function(){if(this.state.isLoading)return null;if(0===this.state.slides.length)return null;var e=this.state.slides[0].volumeImages;if(0===e.length)return null;var t,n,i=e[0];this.props.location.pathname.includes("series/")?t=this.props.location.pathname.split("/")[4]:t=e[0].SeriesInstanceUID;return null!=i.ClinicalTrialSponsorName&&(n=(0,I.jsx)(f.Z.SubMenu,{title:"Clinical Trial",children:(0,I.jsx)(D,{metadata:i})},"clinical-trial")),(0,I.jsxs)(h.Z,{style:{height:"100%"},hasSider:!0,children:[(0,I.jsx)(h.Z.Sider,{width:300,style:{height:"100%",borderRight:"solid",borderRightWidth:.25,overflow:"hidden",background:"none"},children:(0,I.jsxs)(f.Z,{mode:"inline",defaultOpenKeys:["patient","study","clinical-trial","slides"],style:{height:"100%"},inlineIndent:14,children:[(0,I.jsx)(f.Z.SubMenu,{title:"Patient",children:(0,I.jsx)(O,{metadata:i})},"patient"),(0,I.jsx)(f.Z.SubMenu,{title:"Study",children:(0,I.jsx)(P,{metadata:i})},"study"),n,(0,I.jsx)(f.Z.SubMenu,{title:"Slides",children:(0,I.jsx)(ee,{clients:this.props.clients,metadata:this.state.slides,selectedSeriesInstanceUID:t,onSeriesSelection:this.handleSeriesSelection})},"slides")]})}),(0,I.jsx)(c.Z5,{children:(0,I.jsx)(c.AW,{path:"/series/:seriesInstanceUID",element:(0,I.jsx)(mt,{clients:this.props.clients,slides:this.state.slides,preload:this.props.preload,annotations:this.props.annotations,enableAnnotationTools:this.props.enableAnnotationTools,app:this.props.app,user:this.props.user})})})]})}}]),n}(l.Component));var ft=n(63),gt=n(7382),St=n(2996),yt=n(9529),Ct=n(127),It=n(4541),bt=n(161),wt=n(9761);const Dt=nt(function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;(0,i.Z)(this,n),(a=t.call(this,e)).handleInfoButtonClick=function(){var e=(0,wt.qY)(),t={browser:{},os:{}};null!=e&&(t.browser={name:null!=e.name?e.name:void 0,version:null!=e.version?e.version:void 0},t.os={name:null!=e.os?e.os:void 0}),de.Z.info({title:"About",width:600,content:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(y.Z,{title:"Application",column:1,children:[(0,I.jsx)(y.Z.Item,{label:"Name",children:a.props.app.name}),(0,I.jsx)(y.Z.Item,{label:"Version",children:a.props.app.version}),(0,I.jsx)(y.Z.Item,{label:"Homepage",children:a.props.app.homepage})]}),(0,I.jsxs)(y.Z,{title:"Browser",column:1,children:[(0,I.jsx)(y.Z.Item,{label:"Name",children:t.browser.name}),(0,I.jsx)(y.Z.Item,{label:"Version",children:t.browser.version})]}),(0,I.jsx)(y.Z,{title:"Operating System",column:1,children:(0,I.jsx)(y.Z.Item,{label:"Name",children:t.os.name})})]}),onOk:function(){}})},a.handleDebugButtonClick=function(){var e={Authentication:[],Communication:[],EncodingDecoding:[],Visualization:[]},t=a.state.errorObj.length;if(t>0)for(var n=0;n0&&(i=!1)}catch(o){}t.setState({selectedServerUrl:n,isServerSelectionDisabled:i})},onPressEnter:l,addonAfter:this.state.isServerSelectionDisabled?(0,I.jsx)(me.Z,{style:{color:"rgba(0,0,0,.45)"}}):(0,I.jsx)(pe.Z,{style:{color:"rgba(0,0,0,.45)"}})})})]})}}]),n}(l.Component));var xt=n(7063);const Vt=function(e){var t=e.title,n=e.message;return(0,I.jsx)("div",{style:{height:"100vh",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,I.jsx)(xt.ZP,{title:t,subTitle:n})})};var Zt=n(6019),Rt=n(1730);const Ot=nt(function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;return(0,i.Z)(this,n),(a=t.call(this,e)).defaultPageSize=20,a.handleSearch=function(e,t,n){t()},a.handleReset=function(e){e()},a.getColumnSearchProps=function(e){return{filterDropdown:function(t){var n=t.setSelectedKeys,i=t.selectedKeys,o=t.confirm,r=t.clearFilters;return(0,I.jsxs)("div",{style:{padding:8},children:[(0,I.jsx)(St.Z,{placeholder:"Search",value:i[0],onChange:function(e){return n(void 0!==e.target.value?[e.target.value]:[])},onPressEnter:function(){return a.handleSearch(i,o,e)},style:{width:188,marginBottom:8,display:"block"}}),(0,I.jsxs)(oe.Z,{children:[(0,I.jsx)(se.Z,{type:"primary",onClick:function(){return a.handleSearch(i,o,e)},icon:(0,I.jsx)(Rt.Z,{}),size:"small",style:{width:90},children:"Search"}),(0,I.jsx)(se.Z,{onClick:function(){return a.handleReset(r)},size:"small",style:{width:90},children:"Reset"})]})]})},filterIcon:function(e){return(0,I.jsx)(Rt.Z,{style:{color:e?"#1890ff":void 0}})}}},a.fetchData=a.fetchData.bind((0,o.Z)(a)),a.handleClick=a.handleClick.bind((0,o.Z)(a)),a.handleChange=a.handleChange.bind((0,o.Z)(a)),a.state={studies:[],isLoading:!1,numStudies:0,pageSize:a.defaultPageSize},a}return(0,a.Z)(n,[{key:"searchForStudies",value:function(){var e=this,t={queryParams:{ModalitiesInStudy:"SM"}};this.props.clients[M.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE].searchForStudies(t).then((function(t){e.setState({numStudies:t.length,studies:t.slice(0,e.state.pageSize).map((function(e){return g.metadata.formatMetadata(e).dataset}))})})).catch((function(){J.onError(z,new q(_,"An error occured. Search for studies failed."))}))}},{key:"componentDidMount",value:function(){this.searchForStudies()}},{key:"componentDidUpdate",value:function(e){this.props.clients!==e.clients&&this.searchForStudies()}},{key:"handleClick",value:function(e,t){this.props.navigate("/studies/".concat(t.StudyInstanceUID))}},{key:"fetchData",value:function(e){var t=this,n=e.offset,i=e.limit,a=e.searchCriteria,o={ModalitiesInStudy:"SM",offset:n,limit:i};if(void 0!==a){for(var r in a){var s=a[r];o[r]="PersonName"===r?"*".concat(s,"*"):s}o.fuzzymatching="true"}var l={queryParams:o};this.props.clients[M.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE].searchForStudies(l).then((function(e){t.setState({studies:e.map((function(e){return g.metadata.formatMetadata(e).dataset}))})})).catch((function(){J.onError(z,new q(_,"Request to search for studies failed."))}))}},{key:"handleChange",value:function(e,t){this.setState({isLoading:!0});var n=e.current;void 0===n&&(n=1);var i=e.pageSize;void 0===i&&(i=this.state.pageSize);var a=i*(n-1),o=i;console.debug("search for studies of page #".concat(n,"..."));var r={};for(var s in t)null!==t[s]&&(r[s]=t[s][0].toString());this.fetchData({offset:a,limit:o,searchCriteria:r}),this.setState({isLoading:!1,pageSize:i})}},{key:"render",value:function(){var e=this,t=[(0,j.Z)({title:"Accession Number",dataIndex:"AccessionNumber"},this.getColumnSearchProps("AccessionNumber")),(0,j.Z)({title:"Study ID",dataIndex:"StudyID"},this.getColumnSearchProps("StudyID")),{title:"Study Date",dataIndex:"StudyDate",render:function(e){return V(e)}},{title:"Study Time",dataIndex:"StudyTime",render:function(e){return Z(e)}},(0,j.Z)({title:"Patient ID",dataIndex:"PatientID"},this.getColumnSearchProps("PatientID")),(0,j.Z)({title:"Patient's Name",dataIndex:"PatientName",render:function(e){return x(e)}},this.getColumnSearchProps("PatientName")),{title:"Patient's Sex",dataIndex:"PatientSex",render:function(e){return R(e)}},{title:"Patient's Birthdate",dataIndex:"PatientBirthDate",render:function(e){return V(e)}},{title:"Referring Physician's Name",dataIndex:"ReferringPhysicianName",render:function(e){return x(e)}},{title:"Modalities in Study",dataIndex:"ModalitiesInStudy",render:function(e){return void 0===e?"":String(e)}}],n={defaultPageSize:this.defaultPageSize,pageSize:this.state.pageSize,hideOnSinglePage:!0,showSizeChanger:!0,showQuickJumper:!0,showTotal:function(e,t){return"".concat(t[0],"-").concat(t[1]," of ").concat(e," studies")},total:this.state.numStudies};return(0,I.jsx)(Zt.Z,{style:{cursor:"pointer"},columns:t,rowKey:function(e){return e.StudyInstanceUID},dataSource:this.state.studies,pagination:n,onRow:function(t){return{onClick:function(n){return e.handleClick(n,t)}}},onChange:this.handleChange,size:"small",loading:this.state.isLoading})}}]),n}(l.Component));var Pt=n(5685),Mt=function(e,t){var n=t;return n.endsWith("/")||(n+="/"),new URL(e,n).toString()},jt=function(e){var t,n,i,a,o,r=new URLSearchParams(e.search),s=new URLSearchParams(e.hash.replace("#","?"));return Boolean(null!==(t=null!==(n=null!==(i=null!==(a=null!==(o=r.get("code"))&&void 0!==o?o:r.get("id_token"))&&void 0!==a?a:r.get("session_state"))&&void 0!==i?i:s.get("code"))&&void 0!==n?n:s.get("id_token"))&&void 0!==t?t:s.get("session_state"))},Et=function(e){var t;if(null!==e&&(t=e.profile),void 0!==t){if(void 0!==t.name&&void 0!==t.email)return{name:t.name,email:t.email};J.onError(H,new q(L,'Failed to obtain user "name" and "email".'))}else J.onError(H,new q(L,"Failed to obtain user profile."));return{name:void 0,email:void 0}},Ut=(0,a.Z)((function e(t,n){var a=this;(0,i.Z)(this,e),this._oidc=void 0,this.signIn=function(){var e=(0,v.Z)((0,m.Z)().mark((function e(t){var n,i,o,r;return(0,m.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.onSignIn,i=function(e){var t=Et(e),i="".concat(e.token_type," ").concat(e.access_token);null!=n?(console.info("handling sign-in using provided callback function"),n({user:t,authorization:i})):console.warn("no callback function was provided to handle sign-in")},!jt(window.location)){e.next=10;break}return console.info("obtaining authorization"),e.next=6,a._oidc.signinCallback();case 6:null!=(o=e.sent)&&(console.info("obtained user data: ",o),i(o)),e.next=21;break;case 10:return e.next=12,a._oidc.getUser();case 12:if(null!==(r=e.sent)&&!r.expired){e.next=19;break}return console.info("authenticating user"),e.next=17,a._oidc.signinRedirect();case 17:e.next=21;break;case 19:console.info("user has already been authenticated"),i(r);case 21:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),this.signOut=(0,v.Z)((0,m.Z)().mark((function e(){return(0,m.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("signing out user and revoking authorization"),e.next=3,a._oidc.signoutRedirect();case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)}))),this.getAuthorization=(0,v.Z)((0,m.Z)().mark((function e(){return(0,m.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a._oidc.getUser().then((function(e){if(null!==e)return e.access_token;J.onError(H,new q(L,"Failed to obtain user profile."))}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)}))),this.getUser=(0,v.Z)((0,m.Z)().mark((function e(){return(0,m.Z)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a._oidc.getUser().then((function(e){return null===e&&J.onError(H,new q(L,"Failed to obtain user information.")),Et(e)}));case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));var o="code";void 0!==n.grantType&&"implicit"===n.grantType&&(o="id_token token"),this._oidc=new Pt.UserManager({authority:n.authority,client_id:n.clientId,redirect_uri:t,scope:n.scope,response_type:o,loadUserInfo:!0,automaticSilentRenew:!0,revokeAccessTokenOnSignout:!0,post_logout_redirect_uri:"".concat(t,"/logout")}),null!=n.endSessionEndpoint&&this._oidc.metadataService.getMetadata().then((function(e){null!=n.endSessionEndpoint&&(e.end_session_endpoint=n.endSessionEndpoint,a._oidc=new Pt.UserManager({authority:n.authority,client_id:n.clientId,redirect_uri:t,scope:n.scope,response_type:o,loadUserInfo:!0,automaticSilentRenew:!0,revokeAccessTokenOnSignout:!0,post_logout_redirect_uri:"".concat(t,"/logout"),metadata:e}))})).catch((function(e){console.error("failed to get metadata from authorization server: ",e)}))})),Tt=n(7659),At=n(9158);const kt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{retries:5,factor:3,minTimeout:1e3,maxTimeout:6e4,randomize:!0,retryableStatusCodes:[429,500]},t=e;null!=e.retries&&(t.retries=e.retries),null!=e.factor&&(t.factor=e.factor),null!=e.minTimeout&&(t.minTimeout=e.minTimeout),null!=e.maxTimeout&&(t.maxTimeout=e.maxTimeout),null!=e.randomize&&(t.randomize=e.randomize),null!=e.retryableStatusCodes&&(t.retryableStatusCodes=e.retryableStatusCodes);var n=function(e,n){var i=n.url,a=n.method;var o=e.send;return e.send=function(){var n=At.operation(t);n.attempt((function(o){var r=e.onreadystatechange;e.onreadystatechange=function(){if(null!=r){for(var a=arguments.length,o=new Array(a),s=0;s1&&(console.warn("Requesting ".concat(i,"... (attempt: ").concat(o,")")),e.open(a,i,!0))}));for(var r=arguments.length,s=new Array(r),l=0;l1&&J.onError(Y,new q(_,"Only one store is supported for now."))}return(0,a.Z)(e,[{key:"baseURL",get:function(){return this.stores[0].client.baseURL}},{key:"headers",get:function(){return this.stores[0].client.headers}}]),e}();function _t(e){var t,n,i=e.clients,a=e.user,o=e.app,r=e.config,s=(0,c.UO)().studyInstanceUID,l=!(null!==(t=r.disableAnnotationTools)&&void 0!==t&&t),d=null!==(n=r.preload)&&void 0!==n&&n;return(0,I.jsx)(vt,{clients:i,user:a,annotations:r.annotations,preload:d,app:o,enableAnnotationTools:l,studyInstanceUID:s})}function Nt(e){var t=e.baseUri,n=e.settings,i=e.onError,a={default:0},o={};for(var r in n.forEach((function(e){null!=e.storageClasses?e.storageClasses.forEach((function(t){Object.values(M).includes(t)?t in a?a[t]+=1:a[t]=1:console.warn('unknown storage class "'.concat(t,'" specified ')+'for configured server "'.concat(e.id,'"'))})):(a.default+=1,o.default=new Lt({baseUri:t,settings:[e],onError:i}))})),a.default>1&&J.onError(Y,new q(_,"Only one default server can be configured without specification of storage classes.")),a)"default"!==r&&a[r]>1&&J.onError(Y,new q(_,"Only one configured server can specify a given storage class. "+'Storage class "'.concat(r,'" is specified by more than one ')+"of the configured servers."));return Object.keys(a).length>1&&n.forEach((function(e){var n=new Lt({baseUri:t,settings:[e],onError:i});null!=e.storageClasses&&e.storageClasses.forEach((function(e){o[e]=n}))})),Object.values(M).forEach((function(e){e in o||(o[e]=o.default)})),o}const Gt=function(e){(0,r.Z)(n,e);var t=(0,s.Z)(n);function n(e){var a;(0,i.Z)(this,n),(a=t.call(this,e)).auth=void 0,a.handleDICOMwebError=function(e,t){401===e.status?a.signIn():403===e.status&&J.onError(z,new q(_,"User is not authorized to access DICOMweb resources.")),void 0!==t.errorMessages&&t.errorMessages.forEach((function(t){e.status===t.status?a.setState({error:{status:e.status,message:t.message}}):500===e.status&&J.onError(z,new q(_,"An unexpected server error occured."))}))},a.handleSignIn=function(e){var t=e.user,n=e.authorization;for(var i in a.state.clients){a.state.clients[i].updateHeaders({Authorization:n})}var o=window.localStorage.getItem("slim_path"),r=window.localStorage.getItem("slim_search");if(null!=o&&o!==window.location.pathname){var s=o;null!=r&&(s+=r),window.location.href=s}window.localStorage.removeItem("slim_path"),window.localStorage.removeItem("slim_search"),a.setState({user:t})},console.info("instatiate app"),console.info('app is located at "'.concat(e.config.path,'"'));var r=window.location,s=r.protocol,l=r.host,c="".concat(s,"//").concat(l),d=Mt(e.config.path,c),h=e.config.oidc;return void 0!==h&&(console.info("app uses the following OIDC configuration: ",e.config.oidc),a.auth=new Ut(d,h)),0===e.config.servers.length&&J.onError(Y,new q(_,"One server needs to be configured.")),console.info("app uses the following DICOMweb server configuration: ",e.config.servers),a.handleServerSelection=a.handleServerSelection.bind((0,o.Z)(a)),u.ZP.config({duration:5}),a.addGcpSecondaryAnnotationServer(e.config),a.state={clients:Nt({baseUri:c,settings:e.config.servers,onError:a.handleDICOMwebError}),isLoading:!0,wasAuthSuccessful:!1},a}return(0,a.Z)(n,[{key:"addGcpSecondaryAnnotationServer",value:function(e){var t="gcp_secondary_annotation_server",n=new URLSearchParams(window.location.search).get("gcp");void 0===e.servers.find((function(e){return e.id===t}))&&"string"===typeof n&&e.servers.push({id:t,write:!0,url:n,storageClasses:[M.COMPREHENSIVE_SR,M.COMPREHENSIVE_3D_SR,M.SEGMENTATION,M.MICROSCOPY_BULK_SIMPLE_ANNOTATION,M.PARAMETRIC_MAP,M.ADVANCED_BLENDING_PRESENTATION_STATE,M.COLOR_SOFTCOPY_PRESENTATION_STATE,M.GRAYSCALE_SOFTCOPY_PRESENTATION_STATE,M.PSEUDOCOLOR_SOFTCOPY_PRESENTATION_STATE]})}},{key:"handleServerSelection",value:function(e){var t=e.url;console.info("select DICOMweb server: ",t);var n=new Lt({baseUri:"",settings:[{id:"tmp",url:t,read:!0,write:!1}],onError:this.handleDICOMwebError});n.updateHeaders(this.state.clients.default.headers),this.setState((function(e){var t={};for(var i in e.clients)t[i]=n;return{clients:t}}))}},{key:"signIn",value:function(){var e=this;void 0!==this.auth?(console.info("try to sign in user"),this.auth.signIn({onSignIn:this.handleSignIn}).then((function(){console.info("sign-in was successful"),e.setState({isLoading:!1,wasAuthSuccessful:!0})})).catch((function(){J.onError(H,new q(L,"Could not sign-in user.")),e.setState({isLoading:!1,redirectTo:void 0,wasAuthSuccessful:!1})}))):this.setState({isLoading:!1,redirectTo:void 0,wasAuthSuccessful:!0})}},{key:"componentDidMount",value:function(){null==window.localStorage.getItem("slim_path")&&(window.localStorage.setItem("slim_path",window.location.pathname),window.localStorage.setItem("slim_search",window.location.search)),this.signIn()}},{key:"render",value:function(){var e,t,n,i=this,a={name:this.props.name,version:this.props.version,homepage:this.props.homepage,uid:"1.2.826.0.1.3680043.9.7433.1.5",organization:this.props.config.organization},o=!(null!==(e=this.props.config.disableWorklist)&&void 0!==e&&e),r=null!==(t=this.props.config.enableServerSelection)&&void 0!==t&&t;n=o?(0,I.jsx)(Ot,{clients:this.state.clients}):(0,I.jsx)("div",{children:"Worklist has been disabled."});var s,l=!1;null!=this.props.config.oidc&&null!=this.props.config.oidc.endSessionEndpoint?(s=function(){null!=i.auth&&i.auth.signOut()},l=!0):(s=function(){},l=!1);var u={height:"100vh"},m={height:"100%"};return void 0!==this.state.redirectTo?(0,I.jsx)(d.VK,{basename:this.props.config.path,children:(0,I.jsx)(c.Fg,{to:this.state.redirectTo,replace:!0})}):this.state.isLoading?(0,I.jsx)(d.VK,{basename:this.props.config.path,children:(0,I.jsxs)(h.Z,{style:u,children:[(0,I.jsx)(Dt,{app:a,user:this.state.user,showWorklistButton:!1,onServerSelection:this.handleServerSelection,showServerSelectionButton:!1}),(0,I.jsx)(h.Z.Content,{style:m,children:(0,I.jsx)(p.fCD,{})})]})}):this.state.wasAuthSuccessful?null!=this.state.error?(0,I.jsx)(Vt,{type:"error",message:this.state.error.message}):(0,I.jsx)(d.VK,{basename:this.props.config.path,children:(0,I.jsxs)(c.Z5,{children:[(0,I.jsx)(c.AW,{path:"/",element:(0,I.jsxs)(h.Z,{style:u,children:[(0,I.jsx)(Dt,{app:a,user:this.state.user,showWorklistButton:!1,onServerSelection:this.handleServerSelection,onUserLogout:l?s:void 0,showServerSelectionButton:r}),(0,I.jsx)(h.Z.Content,{style:m,children:n})]})}),(0,I.jsx)(c.AW,{path:"/studies/:studyInstanceUID/*",element:(0,I.jsxs)(h.Z,{style:u,children:[(0,I.jsx)(Dt,{app:a,user:this.state.user,showWorklistButton:o,onServerSelection:this.handleServerSelection,onUserLogout:l?s:void 0,showServerSelectionButton:r}),(0,I.jsx)(h.Z.Content,{style:m,children:(0,I.jsx)(_t,{clients:this.state.clients,user:this.state.user,config:this.props.config,app:a})})]})}),(0,I.jsx)(c.AW,{path:"/logout",element:(0,I.jsxs)(h.Z,{style:u,children:[(0,I.jsx)(Dt,{app:a,user:this.state.user,showWorklistButton:!1,onServerSelection:this.handleServerSelection,onUserLogout:l?s:void 0,showServerSelectionButton:r}),"Logged out"]})})]})}):(0,I.jsx)(Vt,{type:"error",message:"Sign-in failed."})}}]),n}(l.Component)}}]); +//# sourceMappingURL=565.0cd6df73.chunk.js.map \ No newline at end of file diff --git a/static/js/565.0cd6df73.chunk.js.map b/static/js/565.0cd6df73.chunk.js.map new file mode 100644 index 00000000..928b3090 --- /dev/null +++ b/static/js/565.0cd6df73.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/565.0cd6df73.chunk.js","mappings":"2SA4BMA,EAAW,qGAqDd,OArDc,8BACf,WACE,IAAIC,EAAoC,aACpCC,EAAkB,YAEWC,IAA7BC,KAAKC,MAAMC,eAA+BF,KAAKC,MAAMC,gBACvDL,EAAS,WACTC,EAAkB,QAEpB,IAAMK,EAAQH,KAAKC,MAAMG,WAAWC,KAAI,SAACC,EAAiBC,GACxD,IAAMC,GAAMC,EAAAA,EAAAA,KACZ,OACE,SAAC,SAAiB,CAEhBC,MAAOJ,EAAKK,KACZC,WAAY,CACVC,WAAYf,GAEdgB,aAAc,CACZC,WAAY,IACZC,WAAY,WACZH,WAjBkB,QAmBpBI,KAAM,EAAE,SAEPX,EAAKY,OAZDV,EAeX,IACIW,EAAO,KAIX,YAHwBpB,IAApBC,KAAKC,MAAMkB,OACbA,GAAO,cAAMlB,MAAMkB,KAAI,MAGvB,UAAC,IAAI,CACHC,MAAOpB,KAAKC,MAAMoB,OAClBC,MAAOH,EACPI,KAAK,QACLC,UAAWxB,KAAKC,MAAMwB,WACtBC,cAAgC3B,IAAtBC,KAAKC,MAAMoB,OACrBM,QAAS3B,KAAKC,MAAM2B,QAAQ,WAE5B,SAAC,IAAY,CACXC,OAAQ,EACRN,KAAK,QACL1B,OAAQA,EACR6B,UAAU,EAAM,SAEfvB,IAEFH,KAAKC,MAAM6B,WAGlB,KAAC,EArDc,CAASC,EAAAA,WAwD1B,UC/BA,QAxCmB,qGAqChB,OArCgB,8BACjB,WACE,IAAM3B,EAAa,GAkCnB,OAjCoD,MAAhDJ,KAAKC,MAAM+B,SAASC,0BAEtB7B,EAAW8B,KAAI,MAAf9B,EACK,CACD,CACEO,KAAM,eACNO,MAAOlB,KAAKC,MAAM+B,SAASC,0BAE7B,CACEtB,KAAM,cACNO,MAAOlB,KAAKC,MAAM+B,SAASG,yBAE7B,CACExB,KAAM,gBACNO,MAAOlB,KAAKC,MAAM+B,SAASI,2BAE7B,CACEzB,KAAM,YACNO,MAAOlB,KAAKC,MAAM+B,SAASK,yBAKiB,MAAhDrC,KAAKC,MAAM+B,SAASM,0BAEtBlC,EAAW8B,KACT,CACEvB,KAAM,gBACNO,MAAOlB,KAAKC,MAAM+B,SAASM,4BAK1B,SAAC,EAAW,CAAClC,WAAYA,GAClC,KAAC,EArCgB,CAAS2B,EAAAA,WCX5B,SAASQ,EAAWrB,GAClB,MAAqB,kBAAVA,GAAgC,OAAVA,QAA4BnB,IAAVmB,QACxBnB,IAArBmB,EAAMsB,WACDtB,EAAMsB,WAAWC,MAAM,KAAKC,KAAK,KAIrC,EACT,CAEA,SAASC,EAAWzB,GAClB,GAAc,OAAVA,QAA4BnB,IAAVmB,EAAqB,CACzC,IAAM0B,EAAO1B,EAAM2B,UAAU,EAAG,GAC1BC,EAAQ5B,EAAM2B,UAAU,EAAG,GAC3BE,EAAM7B,EAAM2B,UAAU,EAAG,GAC/B,MAAM,GAAN,OAAUD,EAAI,YAAIE,EAAK,YAAIC,EAC7B,CACA,MAAO,EACT,CAEA,SAASC,EAAW9B,GAClB,GAAc,OAAVA,QAA4BnB,IAAVmB,EAAqB,CACzC,IAAM+B,EAAQ/B,EAAM2B,UAAU,EAAG,GAC3BK,EAAUhC,EAAM2B,UAAU,EAAG,GAC7BM,EAAUjC,EAAM2B,UAAU,EAAG,GACnC,MAAM,GAAN,OAAUI,EAAK,YAAIC,EAAO,YAAIC,EAChC,CACA,MAAO,EACT,CAeA,SAASC,EAAUlC,GAMjB,OAAc,OAAVA,QAA4BnB,IAAVmB,EALiB,CACrCmC,EAAG,SACHC,EAAG,OACHC,EAAG,SAGQrC,GAEN,EACT,CCdA,QA1Ba,qGAuBV,OAvBU,8BACX,WACE,IAAMd,EAAa,CACjB,CACEO,KAAM,KACNO,MAAOlB,KAAKC,MAAM+B,SAASwB,WAE7B,CACE7C,KAAM,OACNO,MAAOqB,EAAUvC,KAAKC,MAAM+B,SAASyB,cAEvC,CACE9C,KAAM,SACNO,MAAOkC,EAASpD,KAAKC,MAAM+B,SAAS0B,aAEtC,CACE/C,KAAM,YACNO,MAAOyB,EAAU3C,KAAKC,MAAM+B,SAAS2B,oBAGzC,OACE,SAAC,EAAW,CAACvD,WAAYA,GAE7B,KAAC,EAvBU,CAAS2B,EAAAA,WCuBtB,QAxBW,qGAqBR,OArBQ,8BACT,WACE,IAAM3B,EAAa,CACjB,CACEO,KAAM,cACNO,MAAOlB,KAAKC,MAAM+B,SAAS4B,iBAE7B,CACEjD,KAAM,KACNO,MAAOlB,KAAKC,MAAM+B,SAAS6B,SAE7B,CACElD,KAAM,OACNO,MAAOyB,EAAU3C,KAAKC,MAAM+B,SAAS8B,YAEvC,CACEnD,KAAM,OACNO,MAAO8B,EAAUhD,KAAKC,MAAM+B,SAAS+B,aAGzC,OAAO,SAAC,EAAW,CAAC3D,WAAYA,GAClC,KAAC,EArBQ,CAAS2B,EAAAA,W,ICdRiC,E,WAWX,SAXWA,GAAAA,EAAc,iEAAdA,EAAc,iDAAdA,EAAc,oDAAdA,EAAc,4CAAdA,EAAc,iEAAdA,EAAc,4CAAdA,EAAc,oEAAdA,EAAc,iEAAdA,EAAc,qEAAdA,EAAc,uEAWzB,CAXWA,IAAAA,EAAc,KCC1B,IAAMC,EAAiBC,OAAO,iBACxBC,EAAsBD,OAAO,sBAOdE,EAAM,WACzB,cAAgB,eACdpE,KAAKiE,GAAkB,CAAC,EACxBjE,KAAKmE,GAAuB,CAC9B,CAsEC,OApED,iCAMA,SAAWE,EAAWC,GACpB,QAAkBvE,IAAdsE,EACF,MAAM,IAAIE,MAAM,8CAGlB,GAAwB,oBAAbD,EACT,MAAM,IAAIC,MAAM,4CAGbvE,KAAKiE,GAAgBO,eAAeH,KACvCrE,KAAKiE,GAAgBI,GAAa,CAAC,GAGrC,IAAMI,EAAc,aAASzE,KAAKmE,MAClCnE,KAAKiE,GAAgBI,GAAWI,GAAkBH,CACpD,GAEA,yBAMA,SAAaD,EAAWC,GACtB,IAAMI,EAAY1E,KAAKiE,GAAgBI,IAAc,CAAC,EACtD,IAAK,IAAMI,KAAkBC,EACtBJ,EAEMI,EAAUD,KAAoBH,UAChCI,EAAUD,UAFVC,EAAUD,EAKvB,GAEA,qBAMA,SAASJ,GACP,QAAkBtE,IAAdsE,EACF,MAAM,IAAIE,MAAM,yCAGqC,IAAvD,IAAMG,EAAY1E,KAAKiE,GAAgBI,IAAc,CAAC,EAAC,mBALlCM,EAAO,iCAAPA,EAAO,kBAM5B,IAAK,IAAMF,KAAkBC,EAC3BA,EAAUD,GAAe,MAAzBC,EAA6BC,EAEjC,GAEA,gCAIA,WACE,IAAK,IAAMN,KAAarE,KAAKiE,GAAiB,CAC5C,IAAMS,EAAY1E,KAAKiE,GAAgBI,GACvC,IAAK,IAAMI,KAAkBC,SACpBA,EAAUD,EAErB,CACF,KAAC,EA1EwB,G,oBCTrBG,EACY,iBADZA,EAEW,gBAFXA,EAGiB,mBAHjBA,EAIW,gBAGXC,EAAW,0CACf,WAAaC,EAAMC,GAAU,IAAD,EAIV,OAJU,gBAC1B,gBACKA,QAAUA,EACf,EAAKC,OAAQ,IAAIT,OAAQS,MACzB,EAAKF,KAAOA,EAAI,CAClB,CAAC,iBANc,EAMd,OANuBP,QCHbU,EACF,UAGEC,EACD,kBADCA,EAEN,0BAFMA,EAGJ,QAHIA,EAIL,OAJKA,EAKL,iBAGFC,EACG,QADHA,EAEK,UAWLC,EAA+B,CACnCC,QAAS,CACP,CACEC,SAAUV,EACVW,iBAAkBJ,GAEpB,CACEG,SAAUV,EACVW,iBAAkBJ,GAEpB,CACEG,SAAUV,EACVW,iBAAkBJ,GAEpB,CACEG,SAAUV,EACVW,iBAAkBJ,KAiDxB,YA5C4B,qGAyCzB,OAzCyB,+BAO1B,SAASK,EAAQC,GACf,IAWIC,EAXEC,EAAgBF,EAAMX,KAIpBS,EAHaH,EAA6BC,QAAQO,MACxD,SAAAC,GAAC,OAAIA,EAAEP,WAAaK,CAAa,IAE3BJ,iBAcR,OAZAvF,KAAK8F,QAAQb,EAAsC,CACjDO,OAAAA,EACAC,MAAAA,IAKAC,EADED,aAAiBZ,EACDY,EAAMV,QAENgB,OAAON,GAGnBF,GACN,KAAKJ,EAEH,OADAa,QAAQP,MAAM,KAAD,OAAME,EAAa,qBAAqBF,GAC9CQ,EAAAA,EAAAA,MAAmB,CACxBlB,QAAQ,GAAD,OAAKY,EAAa,UACzBO,YAAaR,EACbS,SAAU,IAGd,KAAKhB,EACHa,QAAQP,MAAM,KAAD,OAAME,EAAa,qBAAqBF,GAK3D,KAAC,EAzCyB,CAASrB,IC4DrC,QAhFe,0CAOb,WAAanE,GAAwB,IAAD,EAEH,OAFG,gBAClC,cAAMA,IAPRmG,MAAQ,CAAEC,WAAW,GAAO,EAEXC,oBAAsBvE,EAAAA,YAAiC,EAEhEwE,oBAAc,EAIpB,EAAKA,oBAAiBxG,EAAS,CACjC,CAmEC,OAnEA,yCAED,WAEE,GADAC,KAAKwG,SAAS,CAAEH,WAAW,IACvBrG,KAAKC,MAAMwG,MAAMC,eAAeC,OAAS,EAAG,CAC9C,IAAM3E,EAAWhC,KAAKC,MAAMwG,MAAMC,eAAe,GACR,OAArC1G,KAAKsG,oBAAoBM,UAC3B5G,KAAKsG,oBAAoBM,QAAQC,UAAY,GAC7Cb,QAAQc,KACN,kDAAiD,WAC7C9E,EAAS+E,oBAAmB,MAElC/G,KAAKuG,eAAiB,IAAIS,EAAAA,OAAAA,oBAA+B,CACvDC,OAAQjH,KAAKC,MAAMiH,QACjBlD,EAAemD,iCAEjBnF,SAAUA,EACVoF,aAAc,EACdC,iBAAkB,SAAC5B,GAAkB,OACnC6B,EAAAA,QACEpC,EACAO,EACD,IAELzF,KAAKuG,eAAegB,OAAO,CACzBC,UAAWxH,KAAKsG,oBAAoBM,UAG1C,CAEA5G,KAAKwG,SAAS,CAAEH,WAAW,GAC7B,GAAC,oBAED,gBAC8BtG,IAAxBC,KAAKuG,gBACPvG,KAAKuG,eAAekB,SAEtB,IAAMrH,EAAa,GACb8F,EAAclG,KAAKC,MAAMwG,MAAMP,YAOrC,OANmB,MAAfA,GAAuC,KAAhBA,GACzB9F,EAAW8B,KAAK,CACdvB,KAAM,cACNO,MAAOgF,IAGPlG,KAAKoG,MAAMC,WACL,SAAC,MAAS,KAOlB,SAAC,UAAS,gBACRqB,MAAO,CAAEC,OAAQ,SAEb3H,KAAKC,OAAK,cAEd,SAAC,EAAW,CACVoB,OAAQrB,KAAKC,MAAMwG,MAAMmB,oBACzBxH,WAAYA,EACZqB,YAAU,YAEV,gBAAKiG,MAAO,CAAEC,OAAQ,SAAWE,IAAK7H,KAAKsG,0BARxCtG,KAAKC,MAAMwG,MAAMqB,mBAAmB,GAY/C,KAAC,EA7EY,CAAS/F,EAAAA,WCmDxB,SA1De,qJAGZ,OAHY,oCACbqE,MAAQ,CACN2B,0BAA2B,EAAK9H,MAAM8H,2BACvC,EAoDA,OApDA,yCAED,WACE/H,KAAKC,MAAM+H,kBAAkB,CAC3BC,kBAAmBjI,KAAKoG,MAAM2B,2BAElC,GAAC,oBAED,WAGE,IAH0B,IAAD,OACnBG,EAAYlI,KAAKC,MAAM+B,SACvBmG,EAAgB,GACbC,EAAI,EAAGA,EAAIF,EAAUvB,SAAUyB,EAAG,CACzC,IAAM3B,EAAQyB,EAAUE,GAClBC,GACJ,SAAC,EAAS,CAER5B,MAAOA,EACPS,QAASlH,KAAKC,MAAMiH,SAFfT,EAAMqB,mBAAmB,IAMlCK,EAAcjG,KAAKmG,EACrB,CAEA,IAWIC,EAMJ,YAL6CvI,IAAzCC,KAAKoG,MAAM2B,2BAC4B,OAAzC/H,KAAKoG,MAAM2B,4BACXO,EAAe,CAACtI,KAAKoG,MAAM2B,6BAI3B,SAAC,IAAI,CACHL,MAAO,CAAEa,MAAO,QAChBD,aAAcA,EACdE,SArB4B,SAAH,GAKhB,IALsBC,EAAG,EAAHA,IAAY,EAAPC,QAAiB,EAARC,SAAsB,EAAZL,aAMzDtC,QAAQc,KAAK,iBAAD,OAAkB2B,EAAG,MACjC,EAAKjC,SAAS,CAAEuB,0BAA2BU,EAAIG,aAC/C,EAAK3I,MAAM+H,kBAAkB,CAAEC,kBAAmBQ,EAAIG,YACxD,EAaIC,KAAK,SACLC,aAAc,EAAE,SAEfX,GAGP,KAAC,EAvDY,CAASpG,EAAAA,W,qOCuGxB,SAzGoB,0CAClB,WAAa9B,GAA6B,IAAD,EAE6B,OAF7B,gBACvC,cAAMA,IACD8I,uBAAyB,EAAKA,uBAAuBC,MAAK,WAAK,CACtE,CAkGC,OAlGA,8CAED,SACEC,EACAC,GAEAlJ,KAAKC,MAAMkJ,mBAAmB,CAC5BC,OAAQpJ,KAAKC,MAAMoJ,IAAI7I,IACvB8I,UAAWL,GAEf,GAAC,oBAED,WACE,IAAMM,EAAU,cAAUvJ,KAAKC,MAAMM,MAAQ,GACvCH,EAAqD,GAK3D,EAAyDJ,KAAKC,MAApBuJ,GAAzB,EAATF,UAA6B,EAAlBH,oBAAiC,eAsDpD,OArDAnJ,KAAKC,MAAMoJ,IAAII,YAAYC,SAAQ,SACjCpJ,GAKA,IAAMqJ,EAAYrJ,EAAKsJ,wBAAwB,GAAGC,UAC5CC,EAAcxJ,EAAKsJ,wBAAwB,GAAGG,YAC9CpJ,EAAI,UAAMmJ,GAChB,GAAIxJ,EAAK0J,YAAcC,GAAAA,GAAAA,WAAAA,WAAAA,KAAqC,CAC1D,IACMC,EADkB5J,EACa6J,oBAAoB,GAAGJ,YAE1C,cAAdJ,EACFvJ,EAAW8B,KAAK,CACdvB,KAAM,oBACNO,MAAM,GAAD,OAAKgJ,KAEW,WAAdP,EACTvJ,EAAW8B,KAAK,CACdvB,KAAM,gBACNO,MAAM,GAAD,OAAKgJ,KAEW,WAAdP,EACTvJ,EAAW8B,KAAK,CACdvB,KAAM,iBACNO,MAAM,GAAD,OAAKgJ,KAGZ9J,EAAW8B,KAAK,CACdvB,KAAMA,EACNO,MAAM,GAAD,OAAKgJ,IAGhB,MAAO,GAAI5J,EAAK0J,YAAcC,GAAAA,GAAAA,WAAAA,WAAAA,KAAqC,CACjE,IAAMG,EAAkB9J,EACxBF,EAAW8B,KAAK,CACdvB,KAAMA,EACNO,MAAOkJ,EAAgBC,WAE3B,CACF,IACArK,KAAKC,MAAMoJ,IAAIiB,aAAaZ,SAAQ,SAAApJ,GAClC,IAAMwJ,EAAcxJ,EAAKsJ,wBAAwB,GAAGG,YAC9CpJ,EAAI,UAAMmJ,GACVS,EAAMjK,EAAKkK,sBAAsB,GACjCtJ,EAAQqJ,EAAIE,aAAaC,YAAY,GACrCC,EAAOJ,EAAIK,6BAA6B,GAAGf,UACjDzJ,EAAW8B,KAAK,CACdvB,KAAMA,EACNO,MAAM,GAAD,OAAKA,EAAK,YAAIyJ,IAEvB,KAEE,UAAC,KAAK,CAACE,MAAM,QAAO,WAClB,gBAAKnD,MAAO,CAAEoD,YAAa,QAAS,UAClC,SAAC,KAAM,CACLvJ,KAAK,QACLwJ,SAAU/K,KAAK+I,uBACfE,QAASjJ,KAAKC,MAAMqJ,UACpB0B,iBAAiB,SAAC,MAAK,IACvBC,mBAAmB,SAAC,MAAU,SAGlC,SAAC,UAAS,gBACRvD,MAAO,CAAEC,OAAQ,OAAQmD,YAAa,QAElCtB,GAAU,cAEd,SAAC,EAAW,CACVnI,OAAQkI,EACRnJ,WAAYA,EACZqB,YAAU,EACVvB,eAAa,MAPVF,KAAKC,MAAMoJ,IAAI7I,OAY5B,KAAC,EAtGiB,CAASuB,EAAAA,WC6D7B,SA5DoB,0CAClB,WAAa9B,GAA6B,IAAD,EAG6B,OAH7B,gBACvC,cAAMA,IACDiL,wBAA0B,EAAKA,wBAAwBlC,MAAK,WACjE,EAAKD,uBAAyB,EAAKA,uBAAuBC,MAAK,WAAK,CACtE,CAoDC,OApDA,8CAED,SACEC,EACAC,GACO,IAAD,OACFD,EACFjJ,KAAKC,MAAMkL,KAAKzB,SAAQ,SAAAL,GACtB,EAAKpJ,MAAMkJ,mBAAmB,CAAEC,OAAQC,EAAI7I,IAAK8I,UAAWL,GAC9D,IAEAjJ,KAAKC,MAAMmL,eAAe1B,SAAQ,SAAAN,GAChC,EAAKnJ,MAAMkJ,mBAAmB,CAAEC,OAAAA,EAAQE,UAAWL,GACrD,GAEJ,GAAC,qCAED,SAAyBoC,GACvBrL,KAAKC,MAAMqL,YAAY,CAAElC,OAAQiC,EAAO5C,KAC1C,GAAC,oBAED,WAA4B,IAAD,OACnBtI,EAAQH,KAAKC,MAAMkL,KAAK9K,KAAI,SAACgJ,EAAK9I,GAAK,OAC3C,SAAC,GAAc,CAEb8I,IAAKA,EACL9I,MAAOA,EACP+I,UAAW,EAAKrJ,MAAMmL,eAAeG,IAAIlC,EAAI7I,KAC7C2I,mBAAoB,EAAKlJ,MAAMkJ,oBAJ1BE,EAAI7I,IAKT,IAGJ,OACE,iCACE,gBAAKkH,MAAO,CAAEoD,YAAa,OAAQU,WAAY,MAAOC,cAAe,OAAQ,UAC3E,SAAC,KAAM,CACLlK,KAAK,QACLwJ,SAAU/K,KAAK+I,uBACfE,QAASjJ,KAAKC,MAAMmL,eAAe7J,KAAO,EAC1CyJ,iBAAiB,SAAC,MAAK,IACvBC,mBAAmB,SAAC,MAAU,SAGlC,SAAC,IAAI,CACH3C,cAAY,QAAMtI,KAAKC,MAAMyL,gBAAgBC,UAC7CnD,SAAUxI,KAAKkL,wBACfU,QAAS5L,KAAKkL,wBAAwB,SAErC/K,MAIT,KAAC,EAzDiB,CAAS4B,EAAAA,W,4JC4lB7B,SAxjByB,0CACvB,WAAa9B,GAAkC,IAAD,EAe3C,OAf2C,gBAC5C,cAAMA,IACD8I,uBAAyB,EAAKA,uBAAuBC,MAAK,WAC/D,EAAK6C,2BAA6B,EAAKA,2BAA2B7C,MAAK,WACvE,EAAK8C,oBAAsB,EAAKA,oBAAoB9C,MAAK,WACzD,EAAK+C,mBAAqB,EAAKA,mBAAmB/C,MAAK,WACvD,EAAKgD,mBAAqB,EAAKA,mBAAmBhD,MAAK,WACvD,EAAKiD,mBAAqB,EAAKA,mBAAmBjD,MAAK,WACvD,EAAKkD,gBAAkB,EAAKA,gBAAgBlD,MAAK,WACjD,EAAK5C,MAAQ,CACXkD,UAAW,EAAKrJ,MAAMqJ,UACtB6C,aAAc,CACZC,QAAS,EAAKnM,MAAMoM,aAAaD,QACjCE,MAAO,EAAKrM,MAAMoM,aAAaC,QAElC,CACH,CAoiBC,OApiBA,8CAED,SACErD,EACAC,GAEAlJ,KAAKC,MAAMkJ,mBAAmB,CAC5BoD,mBAAoBvM,KAAKC,MAAMuM,gBAAgBhM,IAC/C8I,UAAWL,IAEbjJ,KAAKwG,SAAS,CAAE8C,UAAWL,GAC7B,GAAC,iCAED,SAAqB/H,GACN,MAATA,IACFlB,KAAKC,MAAMwM,cAAc,CACvBF,mBAAoBvM,KAAKC,MAAMuM,gBAAgBhM,IAC/CkM,aAAc,CACZN,QAASlL,KAGblB,KAAKwG,SAAS,CACZ2F,aAAc,CACZC,QAASlL,EACToL,MAAOtM,KAAKoG,MAAM+F,aAAaG,MAC/BK,YAAa3M,KAAKoG,MAAM+F,aAAaQ,eAI7C,GAAC,gCAED,SACEzL,GAEA,GAAa,MAATA,QAAmDnB,IAAlCC,KAAKoG,MAAM+F,aAAaG,MAAqB,CAChE,IAAMA,EAAQ,CACZM,MAAMC,QAAQ3L,GAASA,EAAM,GAAKA,EAClClB,KAAKoG,MAAM+F,aAAaG,MAAM,GAC9BtM,KAAKoG,MAAM+F,aAAaG,MAAM,IAEhCtM,KAAKwG,UAAS,SAAAJ,GAAK,MAAK,CACtB+F,aAAc,CACZG,MAAOA,EACPF,QAAShG,EAAM+F,aAAaC,QAC5BO,YAAavG,EAAM+F,aAAaQ,aAEnC,IACD3M,KAAKC,MAAMwM,cAAc,CACvBF,mBAAoBvM,KAAKC,MAAMuM,gBAAgBhM,IAC/CkM,aAAc,CAAEJ,MAAOA,IAE3B,CACF,GAAC,gCAED,SACEpL,GAEA,GAAa,MAATA,QAAmDnB,IAAlCC,KAAKoG,MAAM+F,aAAaG,MAAqB,CAChE,IAAMA,EAAQ,CACZtM,KAAKoG,MAAM+F,aAAaG,MAAM,GAC9BM,MAAMC,QAAQ3L,GAASA,EAAM,GAAKA,EAClClB,KAAKoG,MAAM+F,aAAaG,MAAM,IAEhCtM,KAAKwG,UAAS,SAAAJ,GAAK,MAAK,CACtB+F,aAAc,CACZG,MAAOA,EACPF,QAAShG,EAAM+F,aAAaC,QAC5BO,YAAavG,EAAM+F,aAAaQ,aAEnC,IACD3M,KAAKC,MAAMwM,cAAc,CACvBF,mBAAoBvM,KAAKC,MAAMuM,gBAAgBhM,IAC/CkM,aAAc,CAAEJ,MAAOA,IAE3B,CACF,GAAC,gCAED,SACEpL,GAEA,GAAa,MAATA,QAAmDnB,IAAlCC,KAAKoG,MAAM+F,aAAaG,MAAqB,CAChE,IAAMA,EAAQ,CACZtM,KAAKoG,MAAM+F,aAAaG,MAAM,GAC9BtM,KAAKoG,MAAM+F,aAAaG,MAAM,GAC9BM,MAAMC,QAAQ3L,GAASA,EAAM,GAAKA,GAEpClB,KAAKwG,UAAS,SAAAJ,GAAK,MAAK,CACtB+F,aAAc,CACZG,MAAOA,EACPF,QAAShG,EAAM+F,aAAaC,QAC5BO,YAAavG,EAAM+F,aAAaQ,aAEnC,IACD3M,KAAKC,MAAMwM,cAAc,CACvBF,mBAAoBvM,KAAKC,MAAMuM,gBAAgBhM,IAC/CkM,aAAc,CAAEJ,MAAOA,IAE3B,CACF,GAAC,6BAED,WACE,IAAiBX,EAOjB,OAAqC,MAAjC3L,KAAKoG,MAAM+F,aAAaG,MAHnB,KAAO,WAJCX,EAQA3L,KAAKoG,MAAM+F,aAAaG,OAPtB,IAGe,KAFtBX,EAAO,IAE2B,GADlCA,EAAO,IACmC/C,SAAS,IAAIkE,MAAM,GAMhE,OAEX,GAAC,oCAED,SACE5L,GAEa,MAATA,QAAyDnB,IAAxCC,KAAKoG,MAAM+F,aAAaQ,cAC3C3M,KAAKwG,UAAS,SAAAJ,GACZ,YAAuCrG,IAAnCqG,EAAM+F,aAAaQ,YACd,CACLR,aAAc,CACZG,MAAOlG,EAAM+F,aAAaG,MAC1BF,QAAShG,EAAM+F,aAAaC,QAC5BO,YAAa,CAACzL,EAAOkF,EAAM+F,aAAaQ,YAAY,MAIjD,CACLR,aAAc,CACZG,MAAOlG,EAAM+F,aAAaG,MAC1BF,QAAShG,EAAM+F,aAAaC,QAC5BO,YAAavG,EAAM+F,aAAaQ,aAIxC,IACA3M,KAAKC,MAAMwM,cAAc,CACvBF,mBAAoBvM,KAAKC,MAAMuM,gBAAgBhM,IAC/CkM,aAAc,CACZC,YAAa,CACXzL,EACAlB,KAAKoG,MAAM+F,aAAaQ,YAAY,OAK9C,GAAC,oCAED,SACEzL,GAEa,MAATA,QAAyDnB,IAAxCC,KAAKoG,MAAM+F,aAAaQ,cAC3C3M,KAAKwG,UAAS,SAAAJ,GACZ,YAAuCrG,IAAnCqG,EAAM+F,aAAaQ,YACd,CACLR,aAAc,CACZG,MAAOlG,EAAM+F,aAAaG,MAC1BF,QAAShG,EAAM+F,aAAaC,QAC5BO,YAAa,CAACvG,EAAM+F,aAAaQ,YAAY,GAAIzL,KAI9C,CACLiL,aAAc,CACZG,MAAOlG,EAAM+F,aAAaG,MAC1BF,QAAShG,EAAM+F,aAAaC,QAC5BO,YAAavG,EAAM+F,aAAaQ,aAIxC,IACA3M,KAAKC,MAAMwM,cAAc,CACvBF,mBAAoBvM,KAAKC,MAAMuM,gBAAgBhM,IAC/CkM,aAAc,CACZC,YAAa,CACX3M,KAAKoG,MAAM+F,aAAaQ,YAAY,GACpCzL,MAKV,GAAC,+BAED,SACEyK,GAEA3L,KAAKwG,UAAS,SAAAJ,GAAK,MAAK,CACtB+F,aAAc,CACZG,MAAOlG,EAAM+F,aAAaG,MAC1BF,QAAShG,EAAM+F,aAAaC,QAC5BO,YAAahB,GAEhB,IACD3L,KAAKC,MAAMwM,cAAc,CACvBF,mBAAoBvM,KAAKC,MAAMuM,gBAAgBhM,IAC/CkM,aAAc,CAAEC,YAAahB,IAEjC,GAAC,wCAED,SAA4BzK,EAAgB6L,GAAqB,IAAD,OAC9D,GAAa,MAAT7L,GAAoC,MAAnB6L,EAAOjL,SAAkB,CAC5C,IAAMkL,EAAiB9L,EAAMuB,MAAM,KAC7BwK,EAAc,IAAIhD,GAAAA,GAAAA,OAAAA,aAA6B,CACnD/I,MAAO8L,EAAe,GACtBE,iBAAkBF,EAAe,GACjCG,QAASJ,EAAOjL,WAElB9B,KAAKC,MAAMwM,cAAc,CACvBF,mBAAoBvM,KAAKC,MAAMuM,gBAAgBhM,IAC/CkM,aAAc,CAAEO,YAAAA,KAElBjN,KAAKwG,UAAS,SAAAJ,GAAK,MAAK,CACtB+F,aAAc,CACZC,QAAShG,EAAM+F,aAAaC,QAC5Ba,YAAAA,GAEH,GACH,MACEjN,KAAKC,MAAMwM,cAAc,CACvBF,mBAAoBvM,KAAKC,MAAMuM,gBAAgBhM,IAC/CkM,aAAc,CACZJ,MAAOtM,KAAKC,MAAMoM,aAAaC,SAGnCtM,KAAKwG,UAAS,SAAAJ,GAAK,MAAK,CACtB+F,aAAc,CACZC,QAAShG,EAAM+F,aAAaC,QAC5BE,MAAO,EAAKrM,MAAMoM,aAAaC,MAC/BK,iBAAa5M,GAEhB,GAEL,GAAC,oBAED,WAA4B,IAAD,EAmDrBqN,EAyFAC,EACAC,EA7IqB,OACnB/M,EAAQP,KAAKC,MAAM+B,SAASuL,wBAAwBC,WACxD,SAAAlN,GAAI,OAAKA,EAAKmN,qBAAuB,EAAKxN,MAAMuM,gBAAgBhM,GAAG,IAE/DF,EAAON,KAAKC,MAAM+B,SAASuL,wBAAwBhN,GACnDH,EAAqD,CACzD,CACEO,KAAM,gBACNO,MAAOlB,KAAKC,MAAMuM,gBAAgBkB,aAAa3D,aAEjD,CACEpJ,KAAM,oBACNO,MAAOlB,KAAKC,MAAMuM,gBAAgBmB,iBAAiB5D,aAMrD,CACEpJ,KAAM,eACNO,MAAOZ,EAAKsN,cAIVC,EAAgD,QAA5B,EAAGvN,EAAKwN,4BAAoB,QAAI,GACpDC,EAAqBF,EAAqBxN,KAAI,SAAC2N,EAAiB5F,GACpE,IAAMzH,EAAOqN,EAAgBpE,wBAAwB,GACrD,OACE,SAAC,YAAa,CAEZ1I,MAAK,UAAKP,EAAKsN,uBAAsB,YAAItN,EAAKkJ,WAC9CqE,0BAA0B,EAC1B3M,KAAK,QACL4M,UAAW,EAAKlO,MAAMqJ,UAAU,SAE/B3I,EAAKoJ,aAND3B,EASX,IAwGA,GAvGA2F,EAAmB7L,MACjB,SAAC,YAAa,CAEZhB,WAAOnB,EACPmO,0BAA0B,EAC1B3M,KAAK,QACL4M,UAAWnO,KAAKC,MAAMqJ,WAJlB,MAW6B,MAAjCtJ,KAAKoG,MAAM+F,aAAaG,QAC1Bc,GACE,iCACE,SAAC,KAAO,CAACgB,OAAK,sBAGd,UAAC,KAAG,CAACC,QAAQ,SAASxD,MAAM,SAASyD,OAAQ,CAAC,EAAG,GAAG,WAClD,SAAC,KAAG,CAACrN,KAAM,EAAE,kBAGb,SAAC,KAAG,CAACA,KAAM,GAAG,UACZ,SAAC,KAAM,CACLsN,OAAO,EACPC,IAAK,EACLC,IAAK,IACLC,KAAM,EACNxN,MAAOlB,KAAKoG,MAAM+F,aAAaG,MAAM,GACrCvB,SAAU/K,KAAK+L,wBAGnB,SAAC,KAAG,CAAC9K,KAAM,EAAE,UACX,SAAC,KAAW,CACVuN,IAAK,EACLC,IAAK,IACLlN,KAAK,QACLmG,MAAO,CAAEa,MAAO,QAChBrH,MAAOlB,KAAKoG,MAAM+F,aAAaG,MAAM,GACrCvB,SAAU/K,KAAK+L,2BAKrB,UAAC,KAAG,CAACsC,QAAQ,SAASxD,MAAM,SAASyD,OAAQ,CAAC,EAAG,GAAG,WAClD,SAAC,KAAG,CAACrN,KAAM,EAAE,oBAGb,SAAC,KAAG,CAACA,KAAM,GAAG,UACZ,SAAC,KAAM,CACLsN,OAAO,EACPC,IAAK,EACLC,IAAK,IACLC,KAAM,EACNxN,MAAOlB,KAAKoG,MAAM+F,aAAaG,MAAM,GACrCvB,SAAU/K,KAAKgM,wBAGnB,SAAC,KAAG,CAAC/K,KAAM,EAAE,UACX,SAAC,KAAW,CACVuN,IAAK,EACLC,IAAK,IACLlN,KAAK,QACLmG,MAAO,CAAEa,MAAO,QAChBrH,MAAOlB,KAAKoG,MAAM+F,aAAaG,MAAM,GACrCvB,SAAU/K,KAAKgM,2BAKrB,UAAC,KAAG,CAACqC,QAAQ,SAASxD,MAAM,SAASyD,OAAQ,CAAC,EAAG,GAAG,WAClD,SAAC,KAAG,CAACrN,KAAM,EAAE,mBAGb,SAAC,KAAG,CAACA,KAAM,GAAG,UACZ,SAAC,KAAM,CACLsN,OAAO,EACPC,IAAK,EACLC,IAAK,IACLC,KAAM,EACNxN,MAAOlB,KAAKoG,MAAM+F,aAAaG,MAAM,GACrCvB,SAAU/K,KAAKiM,wBAGnB,SAAC,KAAG,CAAChL,KAAM,EAAE,UACX,SAAC,KAAW,CACVuN,IAAK,EACLC,IAAK,IACLlN,KAAK,QACLmG,MAAO,CAAEa,MAAO,QAChBrH,MAAOlB,KAAKoG,MAAM+F,aAAaG,MAAM,GACrCvB,SAAU/K,KAAKiM,2BAIrB,SAAC,KAAO,CAACmC,OAAK,QAOhBP,EAAqBlH,OAAS,EAAG,CACnC,GAA2C,MAAvC3G,KAAKoG,MAAM+F,aAAaQ,YAAqB,CAI/CU,GACE,iCACE,SAAC,KAAO,CAACe,OAAK,mCAGd,UAAC,KAAG,CAACC,QAAQ,SAASxD,MAAM,SAASyD,OAAQ,CAAC,EAAG,GAAG,WAClD,SAAC,KAAG,CAACrN,KAAM,EAAE,UACX,SAAC,KAAW,CACVuN,IAAK,EACLC,IAAKzO,KAAKoG,MAAM+F,aAAaQ,YAAY,GACzCpL,KAAK,QACLmG,MAAO,CAAEa,MAAO,QAChBrH,MAAOlB,KAAKoG,MAAM+F,aAAaQ,YAAY,GAC3C5B,SAAU/K,KAAK2O,4BAGnB,SAAC,KAAG,CAAC1N,KAAM,GAAG,UACZ,SAAC,KAAM,CACLsN,OAAK,EACLC,IArBO,EAsBPC,IArBO,IAsBPC,KAAM,EACNxN,MAAO,CACLlB,KAAKoG,MAAM+F,aAAaQ,YAAY,GACpC3M,KAAKoG,MAAM+F,aAAaQ,YAAY,IAEtC5B,SAAU/K,KAAK4O,uBAGnB,SAAC,KAAG,CAAC3N,KAAM,EAAE,UACX,SAAC,KAAW,CACVuN,IAAKxO,KAAKoG,MAAM+F,aAAaQ,YAAY,GACzC8B,IAjCO,IAkCPlN,KAAK,QACLmG,MAAO,CAAEa,MAAO,QAChBrH,MAAOlB,KAAKoG,MAAM+F,aAAaQ,YAAY,GAC3C5B,SAAU/K,KAAK6O,gCAM3B,CACAvB,GACE,iCACE,SAAC,KAAO,CAACc,OAAK,4BAGd,UAAC,KAAG,CAACC,QAAQ,QAAQxD,MAAM,SAASyD,OAAQ,CAAC,EAAG,GAAG,WACjD,SAAC,KAAG,CAACrN,KAAM,EAAE,0BAGb,SAAC,KAAG,CAACA,KAAM,GAAG,UACZ,SAAC,KAAM,CACLyG,MAAO,CAAEoH,SAAU,OAAQvG,MAAO,OAClCC,SAAUxI,KAAK6L,2BAEfkD,kBAAchP,EAAU,SAEvBgO,GAHG,wCAShB,CAEA,IAAMiB,GACJ,2BACG5B,EACAC,GACD,UAAC,KAAG,CAACgB,QAAQ,QAAQxD,MAAM,SAASyD,OAAQ,CAAC,EAAG,GAAG,WACjD,SAAC,KAAG,CAACrN,KAAM,EAAE,sBAGb,SAAC,KAAG,CAACA,KAAM,GAAG,UACZ,SAAC,KAAM,CACLsN,OAAO,EACPC,IAAK,EACLC,IAAK,EACLC,KAAM,IACNxN,MAAOlB,KAAKoG,MAAM+F,aAAaC,QAC/BrB,SAAU/K,KAAK8L,yBAGnB,SAAC,KAAG,CAAC7K,KAAM,EAAE,UACX,SAAC,KAAW,CACVuN,IAAK,EACLC,IAAK,EACLlN,KAAK,QACLmN,KAAM,GACNhH,MAAO,CAAEa,MAAO,QAChBrH,MAAOlB,KAAKoG,MAAM+F,aAAaC,QAC/BrB,SAAU/K,KAAK8L,2BAIpBwB,KAIChB,EAAQtM,KAAKkM,kBACb+C,EACJjP,KAAKoG,MAAMkD,WAAoD,MAAvCtJ,KAAKoG,MAAM+F,aAAac,YAElD,EAQIjN,KAAKC,MADJuJ,GANY,EAAfgD,gBACY,EAAZH,aACS,EAAT/C,UACQ,EAARtH,SACkB,EAAlBmH,mBACa,EAAbsD,eACa,eAEf,OACE,SAAC,UAAS,gBACR/E,MAAO,CAAEC,OAAQ,OAAQmD,YAAa,QAElCtB,GAAU,cAEd,UAAC,KAAK,CAACqB,MAAM,QAAO,WAClB,gBAAKnD,MAAO,CAAEoD,YAAa,QAAS,UAClC,UAAC,KAAK,CAACoE,UAAU,WAAWrE,MAAM,MAAK,WACrC,SAAC,KAAM,CACLtJ,KAAK,QACLwJ,SAAU/K,KAAK+I,uBACfE,QAASjJ,KAAKC,MAAMqJ,UACpB0B,iBAAiB,SAAC,MAAK,IACvBC,mBAAmB,SAAC,MAAU,OAEhC,SAAC,KAAO,CACNkE,UAAU,OACVC,QAASJ,EACTK,aAAc,CAAE9G,MAAO,SACvBnH,MAAM,mBAAkB,UAExB,SAAC,KAAM,CACL0D,KAAK,UACLwK,MAAM,SACNnO,MAAM,SAACoO,GAAA,EAAe,cAK9B,SAAC,KAAK,CACJC,OAAQ,EAAE,GAAI,IACdC,MAAO,IACP/H,MAAO,CACLgI,YAAa,QACbC,YAAa,MACbC,YAAa,OACbC,WAAYZ,EAAiB,UAAY,SACzCa,gBAAgB,8BAAD,OAAgCxD,EAAK,aAAKA,IACzD,UAEF,SAAC,EAAW,CACVjL,OAAQrB,KAAKC,MAAMuM,gBAAgB9L,MACnCN,WAAYA,EACZqB,YAAU,EACVvB,eAAa,WA1CdF,KAAKC,MAAMuM,gBAAgBhM,IAgDtC,KAAC,EArjBsB,CAASuB,EAAAA,WCGlC,SAzByB,qGAsBtB,OAtBsB,8BACvB,WAA4B,IAAD,OACnB5B,EAAQH,KAAKC,MAAM8P,iBAAiB1P,KAAI,SAACmM,EAAiBjM,GAC9D,IAAMC,EAAMgM,EAAgBhM,IAC5B,OACE,SAAC,GAAmB,CAElBgM,gBAAiBA,EACjBxK,SAAU,EAAK/B,MAAM+B,SAASxB,GAC9B8I,UAAW,EAAKrJ,MAAM+P,2BAA2BzE,IAAI/K,GACrD6L,aAAc,EAAKpM,MAAMgQ,6BAA6BzP,GACtD2I,mBAAoB,EAAKlJ,MAAMiQ,kCAC/BzD,cAAe,EAAKxM,MAAMkQ,8BANrB3D,EAAgBhM,IAS3B,IAEA,OACE,SAAC,IAAI,CAACiB,YAAY,EAAM,SACrBtB,GAGP,KAAC,EAtBsB,CAAS4B,EAAAA,WC2ClC,SAjEY,0CACV,WAAa9B,GAAqB,IAAD,EAEe,OAFf,gBAC/B,cAAMA,IACDmQ,YAAc,EAAKA,YAAYpH,MAAK,WAAK,CAChD,CA0DC,OA1DA,mCAED,SAAaE,QACgBnJ,IAAvBC,KAAKC,MAAM2L,SACb5L,KAAKC,MAAM2L,QAAQ1C,EAEvB,GAAC,oBAED,WAA4B,IAAD,EAMrBmH,EAUAC,EAfEC,EAAOvQ,KAAKC,MAAMkB,KACxB,YAAapB,IAATwQ,EACK,MAIe,MAApBvQ,KAAKC,MAAMS,QACb2P,GACE,iCACE,SAAC,KAAO,CAACvL,KAAK,aACb9E,KAAKC,MAAMS,UAOhB4P,EADuB,QAAzB,EAAItQ,KAAKC,MAAMuQ,kBAAU,UAErB,SAAC,KAAG,CACF5E,QAAS5L,KAAKoQ,YACdjP,MAAM,SAACoP,EAAI,IACXzL,KAAK,UACL4C,MAAO,CAAE7G,WAAY,OAAQ,SAE5BwP,KAKH,SAAC,KAAG,CACFzE,QAAS5L,KAAKoQ,YACdjP,MAAM,SAACoP,EAAI,IACXzL,KAAK,UACL4C,MAAO,CAAE7G,WAAY,OAAQ,SAE5BwP,SAKoBtQ,IAAvBC,KAAKC,MAAMwQ,SAEX,SAAC,KAAO,CAACrP,MAAOpB,KAAKC,MAAMwQ,QAAQ,SAChCH,IAIEA,EAEX,KAAC,EA9DS,CAASvO,EAAAA,WC+BrB,SAjCe,qGA8BZ,OA9BY,8BACb,WACE,QAA4BhC,IAAxBC,KAAKC,MAAM+B,SACb,OAAO,KAET,IAAM5B,EAAa,CACjB,CACEO,KAAM,eACNO,MAAOlB,KAAKC,MAAM+B,SAAS0O,cAE7B,CACE/P,KAAM,aACNO,MAAOlB,KAAKC,MAAM+B,SAAS2O,uBAE7B,CACEhQ,KAAM,uBACNO,MAAOlB,KAAKC,MAAM+B,SAAS4O,oBAE7B,CACEjQ,KAAM,oBACNO,MAAOlB,KAAKC,MAAM+B,SAAS6O,mBAS/B,OAN2C,MAAvC7Q,KAAKC,MAAM+B,SAAS8O,iBACtB1Q,EAAW8B,KAAK,CACdvB,KAAM,mBACNO,MAAOlB,KAAKC,MAAM+B,SAAS8O,mBAGxB,SAAC,EAAW,CAAC1Q,WAAYA,EAAYF,eAAa,GAC3D,KAAC,EA9BY,CAAS6B,EAAAA,WCHxB,IAmCagP,GAAyB,SAAH,GAKM,IAJrC3B,EAAO,EAAPA,QAASzO,EAAI,EAAJA,KAKLR,EAA2C,GAMjD,OALAiP,EAAQ1F,SAAQ,SAAAtB,IA1CF,SACd9H,EACAK,GAEA,IAAMqQ,EAAU1Q,EAAKsJ,wBAAwB,GAC7C,OACEoH,EAAQnH,YAAclJ,EAAKkJ,WAC3BmH,EAAQ/C,yBAA2BtN,EAAKsN,sBAE5C,EAkCQgD,CAAQ7I,EAAGzH,IACbR,EAAM+B,KAAKkG,EAEf,IACOjI,CACT,EC1Ca+Q,GAAe,SAC1B5Q,EACA6Q,GAEA,OAAO7Q,EAAK0J,YAAcmH,CAC5B,EA4BMC,GAAU,SAACC,GAEf,IAAMC,EAAUP,GAAuB,CACrC3B,QAASiC,EAAOE,gBAChB5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,2BAGU,IAAnBmE,EAAQ3K,QACVW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,oJAMN,IAAM4M,EAAmBF,EAAQ,GAE3BG,EAAwBV,GAAuB,CACnD3B,QAASoC,EAAiBD,gBAC1B5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,wBAIPhC,EAAsB,GAwK5B,OAvKAsG,EAAsB/H,SAAQ,SAACpJ,GAC7B,IACIoR,EADEjI,EAAc,GAEdkI,EAAQrR,EACVH,EAAQ4Q,GAAuB,CACjC3B,QAASuC,EAAMJ,gBACf5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,iCAGQ,IAAjBhN,EAAMwG,QACRW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,6NAON,IAAMgN,EAAkBzR,EAAM,GA+B9B,GArBqB,KARrBA,EAAQ4Q,GAAuB,CAC7B3B,QAASuC,EAAMJ,gBACf5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,eAGHxG,QACRW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,0MAgBe,KARrBzE,EAAQ4Q,GAAuB,CAC7B3B,QAASuC,EAAMJ,gBACf5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,sBAGHxG,OAAc,CACtB,IAAMkL,EAAoB1R,EAAM,GAChCsJ,EAAYvH,KAAK2P,GACjBH,EAAe,QACjB,MACEA,EAAe,SAWjB,GAAqB,KARrBvR,EAAQ4Q,GAAuB,CAC7B3B,QAASuC,EAAMJ,gBACf5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,yBAGHxG,OAAc,CACtB,IAAMmL,EAAuB3R,EAAM,GACnCsJ,EAAYvH,KAAK4P,EACnB,CAUqB,KARrB3R,EAAQ4Q,GAAuB,CAC7B3B,QAASuC,EAAMJ,gBACf5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,oBAGHxG,QACRW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,+MAON,IACImN,EADEC,EAAa7R,EAAM,GAEzB,GAA+B,UAA3B6R,EAAWpE,YACbmE,EAAW,IAAI/K,EAAAA,SAAAA,MAAmB,CAChCiL,oBAAqBD,EAAWE,8BAChCC,YAAaH,EAAWI,kBAErB,CAEL,IADA,IAAMD,EAA0B,GACvB/J,EAAI,EAAGA,EAAI4J,EAAWI,YAAYzL,OAAQyB,GAAK,EACtD+J,EAAYjQ,KAAK8P,EAAWI,YAAYtF,MAAM1E,EAAGA,EAAI,IAExB,YAA3B4J,EAAWpE,YACbmE,EAAW,IAAI/K,EAAAA,SAAAA,QAAqB,CAClCiL,oBAAqBD,EAAWE,8BAChCC,YAAaA,IAEqB,eAA3BH,EAAWpE,YACpBmE,EAAW,IAAI/K,EAAAA,SAAAA,WAAwB,CACrCiL,oBAAqBD,EAAWE,8BAChCC,YAAaA,IAEqB,aAA3BH,EAAWpE,YACpBmE,EAAW,IAAI/K,EAAAA,SAAAA,SAAsB,CACnCiL,oBAAqBD,EAAWE,8BAChCC,YAAaA,IAEqB,YAA3BH,EAAWpE,YACpBmE,EAAW,IAAI/K,EAAAA,SAAAA,QAAqB,CAClCiL,oBAAqBD,EAAWE,8BAChCC,YAAaA,IAEqB,cAA3BH,EAAWpE,YACpBmE,EAAW,IAAI/K,EAAAA,SAAAA,UAAuB,CACpCiL,oBAAqBD,EAAWE,8BAChCC,YAAaA,IAGf7K,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,wDAAuD,WACnDoN,EAAWpE,YAAW,OAD1B,uKAQR,CAEAnE,EAAYvH,KAAI,MAAhBuH,GAAW,QAlMa,SAAH,GAEoB,IADzC2F,EAAO,EAAPA,QAEIjP,EAA+C,GAOrD,OANAiP,EAAQ1F,SAAQ,SAAAtB,GACd,GAAI8I,GAAa9I,EAAG6B,GAAAA,GAAAA,WAAAA,WAAAA,MAAsC,CACxD,IAAMoI,EAAajK,EACnBjI,EAAM+B,KAAKmQ,EACb,CACF,IACOlS,CACT,CAwLSmS,CAAoB,CAAElD,QAASuC,EAAMJ,oBAE1C,IAAMjH,EAlNmB,SAAH,GAEkB,IADxC8E,EAAO,EAAPA,QAEIjP,EAA8C,GAOpD,OANAiP,EAAQ1F,SAAQ,SAAAtB,GACd,GAAI8I,GAAa9I,EAAG6B,GAAAA,GAAAA,WAAAA,WAAAA,KAAqC,CACvD,IAAMgD,EAAc7E,EACpBjI,EAAM+B,KAAK+K,EACb,CACF,IACO9M,CACT,CAuMyBoS,CAAqB,CACxCnD,QAASuC,EAAMJ,kBAGXlI,EAAM,IAAIrC,EAAAA,IAAAA,IAAY,CAC1B+K,SAAUA,EACVvR,KAAKC,EAAAA,EAAAA,KACL+R,WAAY,CACVC,YAAab,EAAgBc,IAC7BhB,aAAcA,EACdjI,YAAaA,EACba,aAAcA,KAGlBa,EAAKjJ,KAAKmH,EACZ,IACO8B,CACT,EAEMwH,IAAiB,QAiBrB,WAAatB,IAAyC,oBAhB/CuB,wBAAkB,OAElBC,6BAAuB,OAEvBC,uBAAiB,OAEjBC,wBAAkB,OAElBC,iBAAW,OAEXC,wBAAkB,OAElBlM,yBAAmB,OAEnBmM,KAAsB,GAG3B,IAAI/S,EAAQ4Q,GAAuB,CACjC3B,QAASiC,EAAOE,gBAChB5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,mBAGQ,IAAjBhN,EAAMwG,QACRW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,qPAON,IAAMuO,EACJhT,EAAM,GAERH,KAAKgT,YAAcG,EAAgBT,IAUd,KARrBvS,EAAQ4Q,GAAuB,CAC7B3B,QAASiC,EAAOE,gBAChB5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,2BAGHxG,QACRW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,4PAON,IAAMwO,EACJjT,EAAM,GAERH,KAAKiT,mBAAqBG,EAAe/I,UAUpB,KARrBlK,EAAQ4Q,GAAuB,CAC7B3B,QAASiC,EAAOE,gBAChB5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,qCAGHxG,QACRW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,sQAON,IAAMyO,EACJlT,EAAM,GAYR,GAVAH,KAAK+G,oBAAsBsM,EAAgBhJ,UAUtB,KARrBlK,EAAQ4Q,GAAuB,CAC7B3B,QAASiC,EAAOE,gBAChB5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,4BAGHxG,OAAc,CACtB,IAAM2M,EACJnT,EAAM,GAERH,KAAK4S,mBAAqBU,EAAeC,UAC3C,CAUA,GAAqB,KARrBpT,EAAQ4Q,GAAuB,CAC7B3B,QAASiC,EAAOE,gBAChB5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,oCAGHxG,OAAc,CACtB,IAAM6M,EACJrT,EAAM,GAERH,KAAK6S,wBAA0BW,EAAoBnJ,SACrD,CAUA,IARAlK,EAAQ4Q,GAAuB,CAC7B3B,QAASiC,EAAOE,gBAChB5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,2BAGHxG,OAAS,EAAG,CACpB,IAAM8M,EACJtT,EAAM,GAERH,KAAK8S,kBAAoBW,EAAcf,GACzC,CAUA,GAAqB,KARrBvS,EAAQ4Q,GAAuB,CAC7B3B,QAASiC,EAAOE,gBAChB5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,4BAGHxG,OAAc,CACtB,IAAM+M,EACJvT,EAAM,GAERH,KAAK+S,mBAAqBW,EAAerJ,SAC3C,CAEArK,KAAKkT,KAAO9B,GAAQC,EACtB,IA+EF,SApEY,qGAiET,OAjES,8BACV,WACE,IAAMA,EAAS,IAAIsB,GAAkB3S,KAAKC,MAAM0T,SAC1CC,EAAiB,CACrB,CACEjT,KAAM,KACNO,MAAOmQ,EAAOtK,sBAGZ8M,EAAgB,CACpB,CACElT,KAAM,KACNO,MAAOmQ,EAAO4B,qBAGZa,EAAgB,CACpB,CACEnT,KAAM,OACNO,MAAOmQ,EAAOuB,qBAGZmB,EAAc1C,EAAO6B,KAAK7S,KAC9B,SAACgJ,EAAK9I,GACJ,IAAMyT,EAAE,iBAAazT,EAAQ,GACvB0T,EAAgD,GAqBtD,OApBA5K,EAAII,YAAYC,SAAQ,SACtBpJ,GAKIA,EAAK0J,YAAcC,GAAAA,GAAAA,WAAAA,WAAAA,KAErBgK,EAAM/R,KAAK,CACTvB,KAAML,EAAKsJ,wBAAwB,GAAGG,YACtC7I,MAAOZ,EAAK6J,oBAAoB,GAAGJ,cAE5BzJ,EAAK0J,YAAcC,GAAAA,GAAAA,WAAAA,WAAAA,MAE5BgK,EAAM/R,KAAK,CACTvB,KAAML,EAAKsJ,wBAAwB,GAAGG,YACtC7I,MAAOZ,EAAK+J,WAGlB,KACO,SAAC,EAAW,CAAehJ,OAAQ2S,EAAI5T,WAAY6T,GAAjC5K,EAAI7I,IAC/B,IAGF,OACE,4BACE,SAAC,KAAO,CAAC0T,YAAY,OAAM,sBAC3B,SAAC,EAAO,CAAClS,SAAUhC,KAAKC,MAAM0T,WAC9B,SAAC,KAAO,CAACO,YAAY,OAAM,mBAC3B,SAAC,EAAK,CAAClS,SAAUhC,KAAKC,MAAM0T,WAC5B,SAAC,KAAO,CAACO,YAAY,OAAM,oBAC3B,SAAC,EAAW,CAAC9T,WAAYwT,KACzB,SAAC,KAAO,CAACM,YAAY,OAAM,uBAC3B,SAAC,EAAW,CAAC9T,WAAYyT,KACzB,SAAC,KAAO,CAACK,YAAY,OAAM,uBAC3B,SAAC,EAAW,CAAC9T,WAAY0T,KACzB,SAAC,KAAO,CAACI,YAAY,OAAM,yBAC1BH,IAGP,KAAC,EAjES,CAAShS,EAAAA,W,eC3WrB,SAjCU,qGA8BP,OA9BO,8BACR,WACE,IAUIX,EAVA+S,EAAS,KAgBb,YAf0BpU,IAAtBC,KAAKC,MAAMkU,SACbA,EAASnU,KAAKC,MAAMkU,OAAO9T,KAAI,SAACC,EAAMC,GAAa,OACjD,SAAC,EAAW,CAEVc,OAAQf,EAAKK,KACbP,WAAYE,EAAKF,YAFZG,EAGL,KAKJa,OADsBrB,IAApBC,KAAKC,MAAM6E,KACR,UAAM9E,KAAKC,MAAM6E,KAAI,aAAK9E,KAAKC,MAAMsJ,YAElCvJ,KAAKC,MAAMsJ,YAGnB,UAAC,WAAS,YACR,SAAC,EAAW,CACVlI,OAAQD,EACRhB,WAAYJ,KAAKC,MAAMG,WACvBF,cAAeF,KAAKC,MAAMC,cAAc,SAEvCiU,IAEFnU,KAAKC,MAAM6B,WARE9B,KAAKC,MAAMO,IAW/B,KAAC,EA9BO,CAASuB,EAAAA,WCfL,IAAIkI,GAAAA,GAAAA,OAAAA,aAA6B,CAC3C/I,MAAO,WACPgM,iBAAkB,MAClBC,QAAS,wBAED,IAAIlD,GAAAA,GAAAA,OAAAA,aAA6B,CACzC/I,MAAO,YACPgM,iBAAkB,MAClBC,QAAS,gCAED,IAAIlD,GAAAA,GAAAA,OAAAA,aAA6B,CACzC/I,MAAO,YACPgM,iBAAkB,MAClBC,QAAS,sBAEC,IAAIlD,GAAAA,GAAAA,OAAAA,aAA6B,CAC3C/I,MAAO,UACPgM,iBAAkB,MAClBC,QAAS,wBArBN,IAyBMiH,GAET,CACFC,SAAU,IAAIpK,GAAAA,GAAAA,OAAAA,aAA6B,CACzC/I,MAAO,YACPgM,iBAAkB,MAClBC,QAAS,oBAEXmH,iBAAkB,IAAIrK,GAAAA,GAAAA,OAAAA,aAA6B,CACjD/I,MAAO,YACPgM,iBAAkB,MAClBC,QAAS,sBAIAoH,IAEZ,QACCC,oBAAqB,IAAIvK,GAAAA,GAAAA,OAAAA,aAA6B,CACpD/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,wBAEXsH,2BAA4B,IAAIxK,GAAAA,GAAAA,OAAAA,aAA6B,CAC3D/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,+BAEXuH,gBAAiB,IAAIzK,GAAAA,GAAAA,OAAAA,aAA6B,CAChD/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,oBAEXwH,uBAAwB,IAAI1K,GAAAA,GAAAA,OAAAA,aAA6B,CACvD/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,2BAEXyH,4BAA6B,IAAI3K,GAAAA,GAAAA,OAAAA,aAA6B,CAC5D/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,gCAEX0H,kBAAmB,IAAI5K,GAAAA,GAAAA,OAAAA,aAA6B,CAClD/I,MAAO,WACPgM,iBAAkB,MAClBC,QAAS,wBAEX2H,gBAAiB,IAAI7K,GAAAA,GAAAA,OAAAA,aAA6B,CAChD/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,oBAEX4H,MAAO,IAAI9K,GAAAA,GAAAA,OAAAA,aAA6B,CACtC/I,MAAO,YACPgM,iBAAkB,MAClBC,QAAS,qBAERiH,ICwDL,SA3HkB,qGAwHf,OAxHe,8BAChB,WAA4B,IAAD,SACzB,QAA4BrU,IAAxBC,KAAKC,MAAM+B,SACb,OAAO,KAET,IAAMgT,EAAsBhV,KAAKC,MAAM+B,SAASiT,4BAC9CjV,KAAKC,MAAMM,OAEPH,EAA0B,GAOhC,QANqDL,IAAjDiV,EAAoBE,0BACtB9U,EAAW8B,KAAK,CACdvB,KAAM,cACNO,MAAO8T,EAAoBE,gCAG8BnV,IAAzDiV,EAAoBG,kCAClBH,EAAoBG,iCAAiCxO,OAAS,EAAG,CACnE,IAAMyO,EAAaJ,EAAoBG,iCACvC/U,EAAW8B,KAAK,CACdvB,KAAM,uBACNO,MAAOkU,EAAW/U,KAAI,SAAAC,GAAI,OAAIA,EAAKyJ,WAAW,IAAErH,KAAK,OAEzD,EAK+C,QADS,EACxDsS,EAAoBK,mCAA2B,QAAI,IAEpC3L,SACf,SAACgF,EAAwCnO,GACvCmO,EAAK4G,2CAA2C5L,SAAQ,SACtDpJ,EAOAC,GAEA,IAAMI,EAAO,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CAC5C/I,MAAOZ,EAAKsJ,wBAAwB,GAAGC,UACvCqD,iBACE5M,EAAKsJ,wBAAwB,GAAGqE,uBAClCd,QAAS7M,EAAKsJ,wBAAwB,GAAGG,cAE3C,GAAIzJ,EAAK0J,YAAcC,GAAAA,GAAAA,WAAAA,WAAAA,KAAqC,CAE1D,IAAM/I,EAAQ,IAAI+I,GAAAA,GAAAA,OAAAA,aAA6B,CAC7C/I,MAAOZ,EAAK6J,oBAAoB,GAAGN,UACnCqD,iBACE5M,EAAK6J,oBAAoB,GAAG8D,uBAC9Bd,QAAS7M,EAAK6J,oBAAoB,GAAGJ,cAElCpJ,EAAK4U,OAAOhB,GAA6BG,mBAE1C/T,EAAK4U,OAAOhB,GAA6BM,mBAEzCzU,EAAW8B,KAAK,CACdvB,KAAM,oBACNO,MAAOA,EAAM6I,cAGfpJ,EAAK4U,OAAOhB,GAA6BF,UAEzCjU,EAAW8B,KAAK,CACdvB,KAAM,kBACNO,MAAOA,EAAM6I,cAGfpJ,EAAK4U,OAAOhB,GAA6BD,kBAEzClU,EAAW8B,KAAK,CACdvB,KAAM,0BACNO,MAAOA,EAAM6I,cAGfpJ,EAAK4U,OAAOhB,GAA6BQ,QACzC,EAAK9U,MAAMuV,WAEXpV,EAAW8B,KAAK,CACdvB,KAAM,eACNO,MAAOA,EAAM6I,cAIrB,MAAWzJ,EAAK0J,YAAcC,GAAAA,GAAAA,WAAAA,WAAAA,OAG1BtJ,EAAK4U,OAAOhB,GAA6BQ,QACzC,EAAK9U,MAAMuV,UAEXpV,EAAW8B,KAAK,CACdvB,KAAM,eACNO,MAAOZ,EAAK+J,YAGd1J,EAAK4U,OAAOhB,GAA6BE,6BAEzCrU,EAAW8B,KAAK,CACdvB,KAAM,kBACNO,MAAOZ,EAAK+J,YAIpB,GACF,IAEF,IAAM7J,EAAMwU,EAAoBhC,YAC1BzJ,EAAayL,EAAoB/B,mBACvC,OACE,SAAC,GAAI,CACHzS,IAAKA,EAEL+I,WAAYA,EACZnJ,WAAYA,EACZF,eAAa,GAHRM,EAMX,KAAC,EAxHe,CAASuB,EAAAA,WC2B3B,SA/BkB,qGA4Bf,OA5Be,8BAChB,WAA4B,IAAD,SACzB,QAA4BhC,IAAxBC,KAAKC,MAAM+B,SACb,OAAO,KAOT,IACM7B,GAD8D,QAAlD,EAAGH,KAAKC,MAAM+B,SAASiT,mCAA2B,QAAI,IAC7C5U,KACzB,SAACC,EAAwCC,GACvC,OACE,SAAC,GAAY,CACXA,MAAOA,EAEPyB,SAAU,EAAK/B,MAAM+B,SACrBwT,UAAW,EAAKvV,MAAMuV,WAFjBlV,EAAK0S,YAKhB,IAEF,OACE,SAAC,MAAI,CAACtL,MAAO,CAAE+N,UAAW,QAAS,SAChCtV,GAGP,KAAC,EA5Be,CAAS4B,EAAAA,W,uKCitB3B,SAvpBqB,0CACnB,WAAa9B,GAA8B,IAAD,EAoBvC,OApBuC,gBACxC,cAAMA,IACD8I,uBAAyB,EAAKA,uBAAuBC,MAAK,WAC/D,EAAK8C,oBAAsB,EAAKA,oBAAoB9C,MAAK,WACzD,EAAK4F,kBAAoB,EAAKA,kBAAkB5F,MAAK,WACrD,EAAK2F,uBAAyB,EAAKA,uBAAuB3F,MAAK,WAC/D,EAAK6F,uBAAyB,EAAKA,uBAAuB7F,MAAK,WAC/D,EAAK+C,mBAAqB,EAAKA,mBAAmB/C,MAAK,WACvD,EAAKgD,mBAAqB,EAAKA,mBAAmBhD,MAAK,WACvD,EAAKiD,mBAAqB,EAAKA,mBAAmBjD,MAAK,WACvD,EAAK0M,cAAgB,EAAKA,cAAc1M,MAAK,WAC7C,EAAK2M,iBAAmB,EAAKA,iBAAiB3M,MAAK,WACnD,EAAK5C,MAAQ,CACXkD,UAAW,EAAKrJ,MAAMqJ,UACtB6C,aAAc,CACZC,QAAS,EAAKnM,MAAMoM,aAAaD,QACjCE,MAAO,EAAKrM,MAAMoM,aAAaC,MAC/BsJ,wBAAyB,EAAK3V,MAAMoM,aAAauJ,wBACjDjJ,YAAa,EAAK1M,MAAMoM,aAAaM,cAExC,CACH,CA8nBC,OA9nBA,0CAED,SACEkJ,EACAC,GAEI9V,KAAKC,MAAMoM,eAAiBwJ,EAAcxJ,cAC5CrM,KAAKwG,SAAS,CACZ2F,aAAcnM,KAAKC,MAAMoM,cAG/B,GAAC,oCAED,SACEpD,EACAC,GAEA,IAAMK,EAAavJ,KAAKC,MAAM8V,YAAYxM,WAC1CvJ,KAAKwG,SAAS,CACZ8C,UAAWL,IAEbjJ,KAAKC,MAAMkJ,mBAAmB,CAC5B6M,sBAAuBzM,EACvBD,UAAWL,GAEf,GAAC,iCAED,SACE/H,GAEA,GAAa,MAATA,EAAe,CACjB,IAAMqI,EAAavJ,KAAKC,MAAM8V,YAAYxM,WAC1CvJ,KAAKC,MAAMwM,cAAc,CACvBuJ,sBAAuBzM,EACvBmD,aAAc,CAAEN,QAASlL,KAE3BlB,KAAKwG,UAAS,SAAAJ,GAAK,MAAK,CACtB+F,aAAc,CACZG,MAAOlG,EAAM+F,aAAaG,MAC1BsJ,wBAAyBxP,EAAM+F,aAAayJ,wBAC5CxJ,QAASlL,EACTyL,YAAavG,EAAM+F,aAAaQ,aAEnC,GACH,CACF,GAAC,gCAED,SACEzL,GAEA,IAAMqI,EAAavJ,KAAKC,MAAM8V,YAAYxM,WAC1C,GAAa,MAATrI,QAAmDnB,IAAlCC,KAAKoG,MAAM+F,aAAaG,MAAqB,CAChE,IAAMA,EAAQ,CACZM,MAAMC,QAAQ3L,GAASA,EAAM,GAAKA,EAClClB,KAAKoG,MAAM+F,aAAaG,MAAM,GAC9BtM,KAAKoG,MAAM+F,aAAaG,MAAM,IAEhCtM,KAAKwG,UAAS,SAAAJ,GAAK,MAAK,CACtB+F,aAAc,CACZG,MAAOA,EACPsJ,wBAAyBxP,EAAM+F,aAAayJ,wBAC5CxJ,QAAShG,EAAM+F,aAAaC,QAC5BO,YAAavG,EAAM+F,aAAaQ,aAEnC,IACD3M,KAAKC,MAAMwM,cAAc,CACvBuJ,sBAAuBzM,EACvBmD,aAAc,CAAEJ,MAAOA,IAE3B,CACF,GAAC,gCAED,SACEpL,GAEA,IAAMqI,EAAavJ,KAAKC,MAAM8V,YAAYxM,WAC1C,GAAa,MAATrI,QAAmDnB,IAAlCC,KAAKoG,MAAM+F,aAAaG,MAAqB,CAChE,IAAMA,EAAQ,CACZtM,KAAKoG,MAAM+F,aAAaG,MAAM,GAC9BM,MAAMC,QAAQ3L,GAASA,EAAM,GAAKA,EAClClB,KAAKoG,MAAM+F,aAAaG,MAAM,IAEhCtM,KAAKwG,UAAS,SAAAJ,GAAK,MAAK,CACtB+F,aAAc,CACZG,MAAOA,EACPsJ,wBAAyBxP,EAAM+F,aAAayJ,wBAC5CxJ,QAAShG,EAAM+F,aAAaC,QAC5BO,YAAavG,EAAM+F,aAAaQ,aAEnC,IACD3M,KAAKC,MAAMwM,cAAc,CACvBuJ,sBAAuBzM,EACvBmD,aAAc,CAAEJ,MAAOA,IAE3B,CACF,GAAC,gCAED,SACEpL,GAEA,IAAMqI,EAAavJ,KAAKC,MAAM8V,YAAYxM,WAC1C,GAAa,MAATrI,QAAmDnB,IAAlCC,KAAKoG,MAAM+F,aAAaG,MAAqB,CAChE,IAAMA,EAAQ,CACZtM,KAAKoG,MAAM+F,aAAaG,MAAM,GAC9BtM,KAAKoG,MAAM+F,aAAaG,MAAM,GAC9BM,MAAMC,QAAQ3L,GAASA,EAAM,GAAKA,GAEpClB,KAAKwG,UAAS,SAAAJ,GAAK,MAAK,CACtB+F,aAAc,CACZG,MAAOA,EACPsJ,wBAAyBxP,EAAM+F,aAAayJ,wBAC5CxJ,QAAShG,EAAM+F,aAAaC,QAC5BO,YAAavG,EAAM+F,aAAaQ,aAEnC,IACD3M,KAAKC,MAAMwM,cAAc,CACvBuJ,sBAAuBzM,EACvBmD,aAAc,CAAEJ,MAAOA,IAE3B,CACF,GAAC,8BAED,WACE,IAAM2J,EAAU,SAACtK,GAIf,MAAO,KAAO,UAHJA,EAAO,IAGe,KAFtBA,EAAO,IAE2B,GADlCA,EAAO,IACmC/C,SAAS,IAAIkE,MAAM,EACzE,EAEA,OAAuD,MAAnD9M,KAAKC,MAAMoM,aAAauJ,wBACT5V,KAAKC,MAAMoM,aAAauJ,wBAAwBM,KACjD7V,KAAI,SAAAsL,GAAM,OAAIsK,EAAQtK,EAAO,IACH,MAAjC3L,KAAKoG,MAAM+F,aAAaG,MAC1B,CACL,UACA2J,EAAQjW,KAAKoG,MAAM+F,aAAaG,QAG3B,CAAC,QAAS,QAErB,GAAC,oCAED,SACEpL,GAEA,IAAMqI,EAAavJ,KAAKC,MAAM8V,YAAYxM,WAC7B,MAATrI,QAAyDnB,IAAxCC,KAAKoG,MAAM+F,aAAaQ,cAC3C3M,KAAKwG,UAAS,SAAAJ,GACZ,YAAuCrG,IAAnCqG,EAAM+F,aAAaQ,YACd,CACLR,aAAc,CACZG,MAAOlG,EAAM+F,aAAaG,MAC1BsJ,wBAAyBxP,EAAM+F,aAAayJ,wBAC5CxJ,QAAShG,EAAM+F,aAAaC,QAC5BO,YAAa,CAACzL,EAAOkF,EAAM+F,aAAaQ,YAAY,MAIjD,CACLR,aAAc,CACZG,MAAOlG,EAAM+F,aAAaG,MAC1BsJ,wBAAyBxP,EAAM+F,aAAayJ,wBAC5CxJ,QAAShG,EAAM+F,aAAaC,QAC5BO,YAAavG,EAAM+F,aAAaQ,aAIxC,IACA3M,KAAKC,MAAMwM,cAAc,CACvBuJ,sBAAuBzM,EACvBmD,aAAc,CACZC,YAAa,CACXzL,EACAlB,KAAKoG,MAAM+F,aAAaQ,YAAY,OAK9C,GAAC,oCAED,SACEzL,GAEA,IAAMqI,EAAavJ,KAAKC,MAAM8V,YAAYxM,WAC7B,MAATrI,QAAyDnB,IAAxCC,KAAKoG,MAAM+F,aAAaQ,cAC3C3M,KAAKwG,UAAS,SAAAJ,GACZ,YAAuCrG,IAAnCqG,EAAM+F,aAAaQ,YACd,CACLR,aAAc,CACZG,MAAOlG,EAAM+F,aAAaG,MAC1BsJ,wBAAyBxP,EAAM+F,aAAayJ,wBAC5CxJ,QAAShG,EAAM+F,aAAaC,QAC5BO,YAAa,CAACvG,EAAM+F,aAAaQ,YAAY,GAAIzL,KAI9C,CACLiL,aAAc,CACZG,MAAOlG,EAAM+F,aAAaG,MAC1BsJ,wBAAyBxP,EAAM+F,aAAayJ,wBAC5CxJ,QAAShG,EAAM+F,aAAaC,QAC5BO,YAAavG,EAAM+F,aAAaQ,aAIxC,IACA3M,KAAKC,MAAMwM,cAAc,CACvBuJ,sBAAuBzM,EACvBmD,aAAc,CACZC,YAAa,CACX3M,KAAKoG,MAAM+F,aAAaQ,YAAY,GACpCzL,MAKV,GAAC,+BAED,SACEyK,GAEA,IAAMpC,EAAavJ,KAAKC,MAAM8V,YAAYxM,WAC1CvJ,KAAKwG,UAAS,SAAAJ,GAAK,MAAK,CACtB+F,aAAc,CACZG,MAAOlG,EAAM+F,aAAaG,MAC1BsJ,wBAAyBxP,EAAM+F,aAAayJ,wBAC5CxJ,QAAShG,EAAM+F,aAAaC,QAC5BO,YAAahB,GAEhB,IACD3L,KAAKC,MAAMwM,cAAc,CACvBuJ,sBAAuBzM,EACvBmD,aAAc,CAAEC,YAAahB,IAEjC,GAAC,2BAED,WACE,IAAMpC,EAAavJ,KAAKC,MAAM8V,YAAYxM,WAC1CvJ,KAAKC,MAAMkW,UAAU5M,EACvB,GAAC,oBAED,WAA4B,IAAD,EACnBA,EAAavJ,KAAKC,MAAM8V,YAAYxM,WACpCrD,EAAclG,KAAKC,MAAM8V,YAAY7P,YACrC9F,EAAqD,QACLL,IAAlDC,KAAKC,MAAM8V,YAAYK,wBACzBhW,EAAW8B,KACT,CACEvB,KAAM,0BACNO,MAAM,GAAD,OAAKlB,KAAKC,MAAM8V,YAAYK,uBAAsB,cAIZrW,IAA7CC,KAAKC,MAAM8V,YAAYM,mBACzBjW,EAAW8B,KACT,CACEvB,KAAM,qBACNO,MAAOlB,KAAKC,MAAM8V,YAAYM,kBAAkBtM,cAMtD,IAAMuM,EAC8C,QADU,EAC5DtW,KAAKC,MAAM+B,SAAS,GAAGiT,mCAA2B,QAAI,GAExD,IACEqB,EAAqB5M,SAAQ,SAAAxD,GAAgB,IAAD,GAED,QADyB,EAChEA,EAAYmP,mCAA2B,QAAI,IACpB3L,SACvB,SAACgF,EAAwCnO,GACvCmO,EAAK4G,2CAA2C5L,SAAQ,SACtDpJ,EAOAC,GAEA,IAAMI,EAAO,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CAC5C/I,MAAOZ,EAAKsJ,wBAAwB,GAAGC,UACvCqD,iBACI5M,EAAKsJ,wBAAwB,GAAGqE,uBACpCd,QAAS7M,EAAKsJ,wBAAwB,GAAGG,cAE3C,GAAIzJ,EAAK0J,YAAcC,GAAAA,GAAAA,WAAAA,WAAAA,KAAqC,CAE1D,IAAM/I,EAAQ,IAAI+I,GAAAA,GAAAA,OAAAA,aAA6B,CAC7C/I,MAAOZ,EAAK6J,oBAAoB,GAAGN,UACnCqD,iBACI5M,EAAK6J,oBAAoB,GAAG8D,uBAChCd,QAAS7M,EAAK6J,oBAAoB,GAAGJ,cAElCpJ,EAAK4U,OAAOhB,GAA6BG,kBACxC/T,EAAK4U,OAAOhB,GAA6BQ,QAC3C3U,EAAW8B,KAAK,CACdvB,KAAM,eACNO,MAAOA,EAAM6I,aAIrB,MAAWzJ,EAAK0J,YAAcC,GAAAA,GAAAA,WAAAA,WAAAA,OAEvBtJ,EAAK4U,OAAOhB,GAA6BG,kBACxC/T,EAAK4U,OAAOhB,GAA6BQ,QAC3C3U,EAAW8B,KAAK,CACdvB,KAAM,eACNO,MAAOZ,EAAK+J,YAKtB,GACF,GAEJ,GASF,CARE,MAAO5E,GACP6B,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACAa,EAAMV,SAGZ,CAEA,IAKIiK,EACA1O,EANEiW,EAAWC,KAAKC,IAAI,EAAGzW,KAAKC,MAAM+B,SAAS,GAAG0U,eAAiB,EAE/DtV,EACW,MAAf8E,EAAmB,UAAMqD,EAAU,aAAKrD,GAAgBqD,EAI1D,GAAIvJ,KAAKC,MAAM8V,YAAYY,gBAAiB,CAE1C,IAAIvJ,EAkGAC,EAhGFD,EADmC,MAAjCpN,KAAKoG,MAAM+F,aAAaG,OAExB,iCACE,SAAC,KAAO,CAAC8B,OAAK,sBAGd,UAAC,KAAG,CAACC,QAAQ,SAASxD,MAAM,SAASyD,OAAQ,CAAC,EAAG,GAAG,WAClD,SAAC,KAAG,CAACrN,KAAM,EAAE,kBAGb,SAAC,KAAG,CAACA,KAAM,GAAG,UACZ,SAAC,KAAM,CACLsN,OAAO,EACPC,IAAK,EACLC,IAAK,IACLC,KAAM,EACNxN,MAAOlB,KAAKoG,MAAM+F,aAAaG,MAAM,GACrCvB,SAAU/K,KAAK+L,wBAGnB,SAAC,KAAG,CAAC9K,KAAM,EAAE,UACX,SAAC,KAAW,CACVuN,IAAK,EACLC,IAAK,IACLlN,KAAK,QACLmG,MAAO,CAAEa,MAAO,QAChBrH,MAAOlB,KAAKoG,MAAM+F,aAAaG,MAAM,GACrCvB,SAAU/K,KAAK+L,2BAKrB,UAAC,KAAG,CAACsC,QAAQ,SAASxD,MAAM,SAASyD,OAAQ,CAAC,EAAG,GAAG,WAClD,SAAC,KAAG,CAACrN,KAAM,EAAE,oBAGb,SAAC,KAAG,CAACA,KAAM,GAAG,UACZ,SAAC,KAAM,CACLsN,OAAO,EACPC,IAAK,EACLC,IAAK,IACLC,KAAM,EACNxN,MAAOlB,KAAKoG,MAAM+F,aAAaG,MAAM,GACrCvB,SAAU/K,KAAKgM,wBAGnB,SAAC,KAAG,CAAC/K,KAAM,EAAE,UACX,SAAC,KAAW,CACVuN,IAAK,EACLC,IAAK,IACLlN,KAAK,QACLmG,MAAO,CAAEa,MAAO,QAChBrH,MAAOlB,KAAKoG,MAAM+F,aAAaG,MAAM,GACrCvB,SAAU/K,KAAKgM,2BAKrB,UAAC,KAAG,CAACqC,QAAQ,SAASxD,MAAM,SAASyD,OAAQ,CAAC,EAAG,GAAG,WAClD,SAAC,KAAG,CAACrN,KAAM,EAAE,mBAGb,SAAC,KAAG,CAACA,KAAM,GAAG,UACZ,SAAC,KAAM,CACLsN,OAAO,EACPC,IAAK,EACLC,IAAK,IACLC,KAAM,EACNxN,MAAOlB,KAAKoG,MAAM+F,aAAaG,MAAM,GACrCvB,SAAU/K,KAAKiM,wBAGnB,SAAC,KAAG,CAAChL,KAAM,EAAE,UACX,SAAC,KAAW,CACVuN,IAAK,EACLC,IAAK,IACLlN,KAAK,QACLmG,MAAO,CAAEa,MAAO,QAChBrH,MAAOlB,KAAKoG,MAAM+F,aAAaG,MAAM,GACrCvB,SAAU/K,KAAKiM,8BAQvB,iCACE,SAAC,KAAO,CAACmC,OAAK,qBAEJ,gHAQ2B,MAAvCpO,KAAKoG,MAAM+F,aAAaQ,cAC1BU,GACE,iCACE,SAAC,KAAO,CAACe,OAAK,mCAGd,UAAC,KAAG,CAACC,QAAQ,SAASxD,MAAM,SAASyD,OAAQ,CAAC,EAAG,GAAG,WAClD,SAAC,KAAG,CAACrN,KAAM,EAAE,UACX,SAAC,KAAW,CACVuN,IAAK,EACLC,IAAKzO,KAAKoG,MAAM+F,aAAaQ,YAAY,GACzCpL,KAAK,QACLmG,MAAO,CAAEa,MAAO,QAChBrH,MAAOlB,KAAKoG,MAAM+F,aAAaQ,YAAY,GAC3C5B,SAAU/K,KAAK2O,4BAGnB,SAAC,KAAG,CAAC1N,KAAM,GAAG,UACZ,SAAC,KAAM,CACLsN,OAAK,EACLC,IAAK,EACLC,IAAK8H,EACL7H,KAAM,EACNxN,MAAO,CACLlB,KAAKoG,MAAM+F,aAAaQ,YAAY,GACpC3M,KAAKoG,MAAM+F,aAAaQ,YAAY,IAEtC5B,SAAU/K,KAAK4O,uBAGnB,SAAC,KAAG,CAAC3N,KAAM,EAAE,UACX,SAAC,KAAW,CACVuN,IAAKxO,KAAKoG,MAAM+F,aAAaQ,YAAY,GACzC8B,IAAK8H,EACLhV,KAAK,QACLmG,MAAO,CAAEa,MAAO,QAChBrH,MAAOlB,KAAKoG,MAAM+F,aAAaQ,YAAY,GAC3C5B,SAAU/K,KAAK6O,kCAO3BG,GACE,2BACG3B,EACAD,GACD,SAAC,KAAO,CAACgB,OAAK,KACd,UAAC,KAAG,CAACC,QAAQ,SAASxD,MAAM,SAASyD,OAAQ,CAAC,EAAG,GAAG,WAClD,SAAC,KAAG,CAACrN,KAAM,EAAE,sBAGb,SAAC,KAAG,CAACA,KAAM,GAAG,UACZ,SAAC,KAAM,CACLsN,OAAO,EACPC,IAAK,EACLC,IAAK,EACLC,KAAM,IACNxN,MAAOlB,KAAKoG,MAAM+F,aAAaC,QAC/BrB,SAAU/K,KAAK8L,yBAGnB,SAAC,KAAG,CAAC7K,KAAM,EAAE,UACX,SAAC,KAAW,CACVuN,IAAK,EACLC,IAAK,EACLlN,KAAK,QACLmN,KAAM,GACNhH,MAAO,CAAEa,MAAO,QAChBrH,MAAOlB,KAAKoG,MAAM+F,aAAaC,QAC/BrB,SAAU/K,KAAK8L,8BAMzB,IAAM8K,EAAS5W,KAAK2V,mBACpBrV,GACE,SAAC,KAAK,CACJkP,OAAQ,EAAE,GAAI,IACdC,MAAO,IACP/H,MAAO,CACLgI,YAAa,QACbC,YAAa,MACbC,YAAa,OACbC,WAAY7P,KAAKoG,MAAMkD,UAAY,UAAY,SAC/CwG,gBAAgB,6BAAD,OAA+B8G,EAAOhO,WAAU,MAC/D,UAEF,SAAC,EAAW,CACVvH,OAAQD,EACRhB,WAAYA,EACZqB,YAAU,EACVvB,eAAa,KAIrB,MAEE8O,GACE,0BACE,UAAC,KAAG,CAACX,QAAQ,SAASxD,MAAM,SAASyD,OAAQ,CAAC,EAAG,GAAG,WAClD,SAAC,KAAG,CAACrN,KAAM,EAAE,sBAGb,SAAC,KAAG,CAACA,KAAM,GAAG,UACZ,SAAC,KAAM,CACLsN,OAAO,EACPC,IAAK,EACLC,IAAK,EACLC,KAAM,IACNxN,MAAOlB,KAAKoG,MAAM+F,aAAaC,QAC/BrB,SAAU/K,KAAK8L,yBAGnB,SAAC,KAAG,CAAC7K,KAAM,EAAE,UACX,SAAC,KAAW,CACVuN,IAAK,EACLC,IAAK,EACLlN,KAAK,QACLmN,KAAM,GACNhH,MAAO,CAAEa,MAAO,QAChBrH,MAAOlB,KAAKoG,MAAM+F,aAAaC,QAC/BrB,SAAU/K,KAAK8L,6BAMzBxL,GACE,SAAC,EAAW,CACVe,OAAQD,EACRhB,WAAYA,EACZqB,YAAU,EACVvB,eAAa,IAKnB,IAAM2W,EAAU,GACZ7W,KAAKC,MAAM6W,aACbD,EAAQ3U,MACN,SAAC,KAAO,CAACd,MAAM,sBAAqB,UAClC,SAAC,KAAM,CACL0D,KAAK,UACLwK,MAAM,SACNnO,MAAM,SAAC4V,GAAA,EAAc,IACrBnL,QAAS5L,KAAK0V,mBAMtB,MAUI1V,KAAKC,MADJuJ,GARS,EAAZ6C,aACW,EAAXyK,YACS,EAATxN,UACQ,EAARtH,SACkB,EAAlBmH,mBACa,EAAbsD,cACS,EAAT0J,UACW,EAAXJ,aACa,eAEf,OACE,SAAC,UAAS,gBACRrO,MAAO,CAAEC,OAAQ,OAAQmD,YAAa,QAElCtB,GAAU,cAEd,UAAC,KAAK,CAACqB,MAAM,QAAO,WAClB,gBAAKnD,MAAO,CAAEoD,YAAa,QAAS,UAClC,UAAC,KAAK,CAACoE,UAAU,WAAWrE,MAAM,MAAK,WACrC,SAAC,KAAM,CACLtJ,KAAK,QACL0H,QAASjJ,KAAKoG,MAAMkD,UACpByB,SAAU/K,KAAK+I,uBACfiC,iBAAiB,SAACgM,GAAA,EAAW,IAC7B/L,mBAAmB,SAACgM,GAAA,EAAoB,OAE1C,SAAC,KAAO,CACN9H,UAAU,OACVC,QAASJ,EACTK,aAAc,CAAE9G,MAAO,SACvBnH,MAAM,mBAAkB,UAExB,SAAC,KAAM,CACL0D,KAAK,UACLwK,MAAM,SACNnO,MAAM,SAACoO,GAAA,EAAe,QAGzBsH,OAGJvW,OA5BEN,KAAKC,MAAM8V,YAAYxM,WAgClC,KAAC,EAppBkB,CAASxH,EAAAA,WCjE9B,IAAQmV,GAAWC,GAAAA,EAAAA,OAsKnB,SA3HqB,0CAKnB,WAAalX,GAA8B,IAAD,EAIkC,OAJlC,gBACxC,cAAMA,IALRmG,MAAQ,CACNgR,mCAA+BrX,GAK/B,EAAKsX,mBAAqB,EAAKA,mBAAmBrO,MAAK,WACvD,EAAKsO,kBAAoB,EAAKA,kBAAkBtO,MAAK,WACrD,EAAKuO,0BAA4B,EAAKA,0BAA0BvO,MAAK,WAAK,CAC5E,CA8GC,OA5GD,yCAGA,SAAmBgN,GACjBhW,KAAKC,MAAMuX,4BAA4B,CACrCxB,sBAAAA,EACAyB,UAAU,GAEd,GAEA,uCAGA,SACEvW,GAEAlB,KAAKwG,SAAS,CAAE4Q,8BAA+BlW,GACjD,GAEA,gCAGA,WACE,IAAMqI,EAAavJ,KAAKoG,MAAMgR,mCACXrX,IAAfwJ,IACFvJ,KAAKC,MAAMuX,4BAA4B,CACrCxB,sBAAuBzM,EACvBkO,UAAU,IAEZzX,KAAKwG,SAAS,CAAE4Q,mCAA+BrX,IAEnD,GAAC,oBAED,WAA4B,IAAD,OACzB,QAA4BA,IAAxBC,KAAKC,MAAM+B,SACb,OAAO,KAGT,IAwCI0V,EAxCEC,EAAe3X,KAAKC,MAAM2X,aAAajR,OAAS,EAChDkR,EAAsC,GACtCC,EAAiC,GA8DvC,OA7DA9X,KAAKC,MAAM2X,aAAalO,SAAQ,SAAAqM,GAC9B,IAAMC,EAAwBD,EAAYxM,WACpCwO,EAAS,EAAK9X,MAAM+B,SAASgU,GAC7B/N,EAAoB8P,EAAO,GAAGC,kBACpCD,EAAO,GAAGE,oBAAoBvO,SAAQ,SAAAwO,GACpC,IAkBQ9W,EAlBF4S,EAAKkE,EAAgBC,sBACrBjS,EAAcgS,EAAgBE,uBAChCrC,EAAYxM,aAAeyK,IACzB,EAAK/T,MAAMoY,6BAA6B9M,IAAIyI,GAC9C6D,EAAiB3V,MACf,SAAC,GAAe,CAEd6T,YAAaA,EACb/T,SAAU+V,EACVzO,UAAW,EAAKrJ,MAAMqY,8BAA8B/M,IAAIyI,GACxD3H,aAAc,EAAKpM,MAAMsY,yBAAyBvE,GAClD7K,mBAAoB,EAAKlJ,MAAMuY,8BAC/B/L,cAAe,EAAKxM,MAAMwY,yBAC1BtC,UAAW,EAAKmB,kBAChBR,YAAaa,GAAa,UARlB1P,EAAiB,YAAI+L,MAc/B5S,EADkB,KAAhB8E,EACG,UAAM8N,EAAE,cAAM9N,GAEd,UAAM8N,GAEb8D,EAAY5V,MACV,SAACgV,GAAM,CAAUhW,MAAO8S,EAAG,SAAE5S,GAAhB4S,KAIrB,GACF,IAGI2D,IACFD,GACE,UAAC,KAAK,CAAC7M,MAAM,SAAStJ,KAAM,GAAImG,MAAO,CAAEgR,QAAS,QAAS,WACzD,SAAC,KAAM,CACL3J,aAAa,GACbrH,MAAO,CAAEa,MAAO,KAChBwC,SAAU/K,KAAKuX,0BACfrW,MAAOlB,KAAKoG,MAAMgR,8BAClBuB,YAAU,WAETb,KAEH,SAAC,KAAO,CAAC1W,MAAM,MAAK,UAClB,SAAC,KAAG,CACFD,MAAM,SAACyX,GAAA,EAAmB,IAC1B9T,KAAK,UACL8G,QAAS5L,KAAKqX,4BAQtB,UAAC,IAAI,CAAC5V,YAAY,EAAM,UACrBoW,EACAH,IAGP,KAAC,EAxHkB,CAAS3V,EAAAA,W,8FCqI9B,SAxIiB,0CACf,WAAa9B,GAA0B,IAAD,EASnC,OATmC,gBACpC,cAAMA,IACD8I,uBAAyB,EAAKA,uBAAuBC,MAAK,WAC/D,EAAK8C,oBAAsB,EAAKA,oBAAoB9C,MAAK,WACzD,EAAK5C,MAAQ,CACXkD,UAAW,EAAKrJ,MAAMqJ,UACtB6C,aAAc,CACZC,QAAS,EAAKnM,MAAMoM,aAAaD,UAEpC,CACH,CA0HC,OA1HA,8CAED,SACEnD,EACAC,GAEAlJ,KAAKC,MAAMkJ,mBAAmB,CAC5B0P,WAAY7Y,KAAKC,MAAM6Y,QAAQtY,IAC/B8I,UAAWL,IAEbjJ,KAAKwG,SAAS,CAAE8C,UAAWL,GAC7B,GAAC,iCAED,SAAqB/H,GACN,MAATA,IACFlB,KAAKC,MAAMwM,cAAc,CACvBoM,WAAY7Y,KAAKC,MAAM6Y,QAAQtY,IAC/BkM,aAAc,CACZN,QAASlL,KAGblB,KAAKwG,UAAS,SAAAJ,GAAK,MAAK,CACtB+F,aAAc,CACZC,QAASlL,GAEZ,IAEL,GAAC,oBAED,WACE,IAAMd,EAAqD,CACzD,CACEO,KAAM,cACNO,MAAOlB,KAAKC,MAAM6Y,QAAQ5S,cAIxB8I,GACJ,0BACE,UAAC,KAAG,CAACX,QAAQ,SAASxD,MAAM,SAAQ,WAClC,SAAC,KAAG,CAAC5J,KAAM,EAAE,sBAGb,SAAC,KAAG,CAACA,KAAM,GAAG,UACZ,SAAC,KAAM,CACLsN,OAAO,EACPC,IAAK,EACLC,IAAK,EACLC,KAAM,IACNxN,MAAOlB,KAAKoG,MAAM+F,aAAaC,QAC/BrB,SAAU/K,KAAK8L,yBAGnB,SAAC,KAAG,CAAC7K,KAAM,EAAE,UACX,SAAC,KAAW,CACVuN,IAAK,EACLC,IAAK,EACLlN,KAAK,QACLmN,KAAM,GACNhH,MAAO,CAAEa,MAAO,QAChBrH,MAAOlB,KAAKoG,MAAM+F,aAAaC,QAC/BrB,SAAU/K,KAAK8L,6BAWzB,EAQI9L,KAAKC,MADJuJ,GANS,EAAZ6C,aACS,EAAT/C,UACO,EAAPwP,QACQ,EAAR9W,SACkB,EAAlBmH,mBACa,EAAbsD,eACa,eAEf,OACE,SAAC,UAAS,gBACR/E,MAAO,CAAEC,OAAQ,OAAQmD,YAAa,QAElCtB,GAAU,cAEd,UAAC,KAAK,CAACqB,MAAM,QAAO,WAClB,gBAAKnD,MAAO,CAAEoD,YAAa,QAAS,UAClC,SAAC,KAAK,CAACoE,UAAU,WAAWrE,MAAM,MAAMtJ,KAAM,IAAI,UAChD,UAAC,KAAK,CAAC2N,UAAU,WAAWrE,MAAM,MAAK,WACrC,SAAC,KAAM,CACLtJ,KAAK,QACLwJ,SAAU/K,KAAK+I,uBACfE,QAASjJ,KAAKC,MAAMqJ,UACpB0B,iBAAiB,SAAC,MAAK,IACvBC,mBAAmB,SAAC,MAAU,OAEhC,SAAC,KAAO,CACNkE,UAAU,OACVC,QAASJ,EACTK,aAAc,CAAE9G,MAAO,SACvBnH,MAAM,mBAAkB,UAExB,SAAC,KAAM,CACL0D,KAAK,UACLwK,MAAM,SACNnO,MAAM,SAACoO,GAAA,EAAe,gBAMhC,SAAC,EAAW,CACVlO,OAAQrB,KAAKC,MAAM6Y,QAAQpY,MAC3BN,WAAYA,EACZqB,YAAU,EACVvB,eAAa,SAjCZF,KAAKC,MAAM6Y,QAAQtY,IAsC9B,KAAC,EArIc,CAASuB,EAAAA,WCQ1B,SAzBiB,qGAsBd,OAtBc,8BACf,WAA4B,IAAD,OACnB5B,EAAQH,KAAKC,MAAM8Y,SAAS1Y,KAAI,SAACyY,EAASvY,GAC9C,IAAMC,EAAMsY,EAAQtY,IACpB,OACE,SAAC,GAAW,CAEVsY,QAASA,EACT9W,SAAU,EAAK/B,MAAM+B,SAASxB,GAC9B8I,UAAW,EAAKrJ,MAAM+Y,mBAAmBzN,IAAI/K,GAC7C6L,aAAc,EAAKpM,MAAMgZ,qBAAqBzY,GAC9C2I,mBAAoB,EAAKlJ,MAAMiZ,0BAC/BzM,cAAe,EAAKxM,MAAMkZ,sBANrBL,EAAQtY,IASnB,IAEA,OACE,SAAC,IAAI,CAACiB,YAAY,EAAM,SACrBtB,GAGP,KAAC,EAtBc,CAAS4B,EAAAA,W,8FCyJ1B,SAxIiB,0CACf,WAAa9B,GAA0B,IAAD,EAOnC,OAPmC,gBACpC,cAAMA,IACD8I,uBAAyB,EAAKA,uBAAuBC,MAAK,WAC/D,EAAK8C,oBAAsB,EAAKA,oBAAoB9C,MAAK,WACzD,EAAK5C,MAAQ,CACXkD,UAAW,EAAKrJ,MAAMqJ,UACtB6C,aAAc,CAAEC,QAAS,EAAKnM,MAAMoM,aAAaD,UAClD,CACH,CA4HC,OA5HA,8CAED,SACEnD,EACAC,GAEAlJ,KAAKC,MAAMkJ,mBAAmB,CAC5BiQ,WAAYpZ,KAAKC,MAAMoZ,QAAQ7Y,IAC/B8I,UAAWL,IAEbjJ,KAAKwG,SAAS,CAAE8C,UAAWL,GAC7B,GAAC,iCAED,SAAqB/H,GACN,MAATA,IACFlB,KAAKC,MAAMwM,cAAc,CACvB2M,WAAYpZ,KAAKC,MAAMoZ,QAAQ7Y,IAC/BkM,aAAc,CACZN,QAASlL,KAGblB,KAAKwG,SAAS,CAAE2F,aAAc,CAAEC,QAASlL,KAE7C,GAAC,oBAED,WACE,IAAMd,EAAqD,CACzD,CACEO,KAAM,gBACNO,MAAOlB,KAAKC,MAAMoZ,QAAQ3L,aAAa3D,aAEzC,CACEpJ,KAAM,oBACNO,MAAOlB,KAAKC,MAAMoZ,QAAQ1L,iBAAiB5D,aAE7C,CACEpJ,KAAM,iBACNO,MAAOlB,KAAKC,MAAMoZ,QAAQC,gBAIxBtK,GACJ,0BACE,UAAC,KAAG,CAACX,QAAQ,SAASxD,MAAM,SAAQ,WAClC,SAAC,KAAG,CAAC5J,KAAM,EAAE,sBAGb,SAAC,KAAG,CAACA,KAAM,GAAG,UACZ,SAAC,KAAM,CACLsN,OAAO,EACPC,IAAK,EACLC,IAAK,EACLC,KAAM,IACNxN,MAAOlB,KAAKoG,MAAM+F,aAAaC,QAC/BrB,SAAU/K,KAAK8L,yBAGnB,SAAC,KAAG,CAAC7K,KAAM,EAAE,UACX,SAAC,KAAW,CACVuN,IAAK,EACLC,IAAK,EACLlN,KAAK,QACLmN,KAAM,GACNhH,MAAO,CAAEa,MAAO,QAChBrH,MAAOlB,KAAKoG,MAAM+F,aAAaC,QAC/BrB,SAAU/K,KAAK8L,6BAWzB,EAQI9L,KAAKC,MADJuJ,GANS,EAAZ6C,aACS,EAAT/C,UACO,EAAP+P,QACQ,EAARrX,SACkB,EAAlBmH,mBACa,EAAbsD,eACa,eAEf,OACE,SAAC,UAAS,gBACR/E,MAAO,CAAEC,OAAQ,OAAQmD,YAAa,QAElCtB,GAAU,cAEd,UAAC,KAAK,CAACqB,MAAM,QAAO,WAClB,gBAAKnD,MAAO,CAAEoD,YAAa,QAAS,UAClC,UAAC,KAAK,CAACoE,UAAU,WAAWrE,MAAM,MAAK,WACrC,SAAC,KAAM,CACLtJ,KAAK,QACLwJ,SAAU/K,KAAK+I,uBACfE,QAASjJ,KAAKC,MAAMqJ,UACpB0B,iBAAiB,SAAC,MAAK,IACvBC,mBAAmB,SAAC,MAAU,OAEhC,SAAC,KAAO,CACNkE,UAAU,OACVC,QAASJ,EACTK,aAAc,CAAE9G,MAAO,SACvBnH,MAAM,mBAAkB,UAExB,SAAC,KAAM,CACL0D,KAAK,UACLwK,MAAM,SACNnO,MAAM,SAACoO,GAAA,EAAe,cAK9B,SAAC,EAAW,CACVlO,OAAQrB,KAAKC,MAAMoZ,QAAQ3Y,MAC3BN,WAAYA,EACZqB,YAAU,EACVvB,eAAa,SA/BZF,KAAKC,MAAMoZ,QAAQ7Y,IAoC9B,KAAC,EArIc,CAASuB,EAAAA,WCU1B,SAzBiB,qGAsBd,OAtBc,8BACf,WAA4B,IAAD,OACnB5B,EAAQH,KAAKC,MAAMsZ,SAASlZ,KAAI,SAACgZ,EAAS9Y,GAC9C,IAAMC,EAAM6Y,EAAQ7Y,IACpB,OACE,SAAC,GAAW,CAEV6Y,QAASA,EACTrX,SAAU,EAAK/B,MAAM+B,SAASxB,GAC9B8I,UAAW,EAAKrJ,MAAMuZ,mBAAmBjO,IAAI/K,GAC7C6L,aAAc,EAAKpM,MAAMwZ,qBAAqBjZ,GAC9C2I,mBAAoB,EAAKlJ,MAAMyZ,0BAC/BjN,cAAe,EAAKxM,MAAM0Z,sBANrBN,EAAQ7Y,IASnB,IAEA,OACE,SAAC,IAAI,CAACiB,YAAY,EAAM,SACrBtB,GAGP,KAAC,EAtBc,CAAS4B,EAAAA,WChBnB,SAAS6X,GAAeC,GAc7B,OAbA,SAAkC5Z,GAChC,IAAM6Z,GAAWC,EAAAA,EAAAA,MACXC,GAAWC,EAAAA,EAAAA,MACXC,GAASC,EAAAA,EAAAA,MACf,OACE,SAACN,GAAS,kBACJ5Z,GAAK,IACT6Z,SAAUA,EACVE,SAAUA,EACVE,OAAQA,IAGd,CAEF,CCoBA,IAAME,GAAqC,CAAC,EAAG,IAAK,KAC9CC,GAAmC,CAAC,EAAG,IAAK,IAAK,IAIjDC,GAAY,SAACtJ,GAMjB,IAAMuJ,EAAevJ,EAAQ/C,uBACvBuM,EAAYxJ,EAAQnH,UAC1B,MAAM,GAAN,OAAU0Q,EAAY,YAAIC,EAC5B,EAEMC,GAAa,SAACpR,GAClB,IAAMiI,EAAUP,GAAuB,CACrC3B,QAAS/F,EAAII,YACb9I,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPiM,QAAS,UACTD,iBAAkB,UAGtB,GAAuB,IAAnBoE,EAAQ3K,OAAZ,CAIA,IACM+T,EADUpJ,EAAQ,GACInH,oBAAoB,GAChD,OAAOmQ,GAAUI,EAHjB,CAFE1U,QAAQ2U,KAAK,4BAAD,OAA6BtR,EAAI7I,KAMjD,EAmFMoa,GAAoB,SAAH,GAOjB,IAPuB1T,EAAO,EAAPA,QAAST,EAAK,EAALA,MAAOoU,EAAO,EAAPA,QAQ3C7U,QAAQc,KACN,iDAAgD,WAC5CL,EAAMqU,aAAa,GAAG/T,oBAAmB,MAE/C,IACE,IAYIgU,EAZEC,EAAe,IAAIhU,EAAAA,OAAAA,kBAA6B,CACpDiU,cAAe/T,EACflF,SAAUyE,EAAMqU,aAChBI,SAAU,CAAC,WAAY,YACvBL,QAASA,EACTxT,iBAAkB,SAAC5B,GAAkB,OACnC6B,EAAAA,QACEpC,EAAmCO,EACpC,IAuBL,OArBAuV,EAAaG,0BAA0B,CAAC,GAGpC1U,EAAM2U,YAAYzU,OAAS,IAC7BX,QAAQc,KACN,+CAA8C,WAC1CL,EAAM2U,YAAY,GAAGrU,oBAAmB,MAE9CgU,EAAc,IAAI/T,EAAAA,OAAAA,iBAA4B,CAC5CC,OAAQC,EAAQlD,EAAemD,iCAC/BnF,SAAUyE,EAAM2U,YAAY,GAC5BhU,aAAc,EACd8M,YAAa,WACb7M,iBAAkB,SAAC5B,GAAkB,OACnC6B,EAAAA,QACEpC,EACAO,EACD,KAIA,CAAEuV,aAAAA,EAAcD,YAAAA,EAWzB,CAVE,MAAOtV,GASP,MAPA6B,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,iCAGEa,CACR,CACF,EAgxGA,SAAemU,GAplGE,0CAkDf,WAAa3Z,GAA0B,IAAD,mBACpC,cAAMA,IAlDSob,eAAiD,GAAE,EAEnDC,kBAA4D,CAAC,EAAC,EAE9DhR,aAA8B,GAAE,EAEhCiR,oBAAmD,CAAC,EAAC,EAErDC,uBAAiB,IAEjBC,sBAAgB,IAEzBT,kBAAY,IAEZD,iBAAW,IAEFW,gBAA8C,CAC7DC,OAAQ,CACNrP,MAAO8N,GACP7R,MAzXmC,GA2XrCqT,KAAM,CACJtP,MAAO+N,IAETwB,MAAO,CACLC,OAAQ,CACNF,KAAM,CACJtP,MAAO8N,IAET2B,OAlY2B,KAqYhC,EAEOC,UAAyD,CAAC,EAAC,EAElDC,eAA2B,CAAC,IAAK,IAAK,KAAI,EAE1CC,iBAA+C,CAC9DP,OAAQ,CAAErP,MAAM,GAAD,gBAAM,EAAK2P,gBAAc,CAAE,IAAI1T,MAAO,GACrDqT,KAAM,CAAEtP,MAAM,GAAD,gBAAM,EAAK2P,gBAAc,CAAE,MACxCJ,MAAO,CACLC,OAAQ,CACNC,OAAQ,EACRH,KAAM,CAAEtP,MAAM,GAAD,gBAAM,EAAK2P,gBAAc,CAAE,QAG7C,EAsNDE,uBAAyB,WACvBnW,QAAQc,KAAK,2CACb,IAAMG,EAAS,EAAKhH,MAAMiH,QACxBlD,EAAeoY,sCAEjBnV,EAAOoV,mBAAmB,CACxBC,iBAAkB,EAAKrc,MAAMqc,iBAC7BC,YAAa,CACXC,SAAU,QAEXC,MAAK,SAACC,GACiB,MAApBA,IACFA,EAAmB,IAErBA,EAAiBhT,SAAQ,SAACiT,EAAapc,GACrC,IACMqc,EADc5V,EAAAA,SAAAA,eAA4B2V,GAAxChJ,QAER3N,QAAQc,KAAK,yBAAD,OAA0B8V,EAASC,eAAc,MAC7D5V,EAAO6V,iBAAiB,CACtBR,iBAAkB,EAAKrc,MAAMqc,iBAC7BrU,kBAAmB2U,EAAS5E,kBAC5B+E,eAAgBH,EAASC,iBACxBJ,MAAK,SAACO,GACP,IAAM9G,EAAOjM,GAAAA,GAAAA,aAAAA,SAAiC+S,GACtCrJ,EAAY3M,EAAAA,SAAAA,eAA4BkP,EAAK+G,MAA7CtJ,QACR,GAAI,EAAK1T,MAAMwG,MAAMyW,0BAA2B,CAC9C,IAAMC,EACJxJ,EAIEyJ,GAAY,EAChBD,EAAkBE,yBAAyB3T,SAAQ,SAAA4T,GACjDF,EAAY,EAAKnd,MAAMwG,MAAMqB,mBAAmByV,SAC9CD,EAAatF,kBAEjB,IAEIoF,IACFpX,QAAQc,KACN,yDAAwD,WACpDqW,EAAkBN,eAAc,OAG1B,IAAVtc,GAC2C,MAA3C,EAAKN,MAAMud,8BAKTL,EAAkBN,iBAClB,EAAK5c,MAAMud,+BAJb,EAAKC,qBAAqBN,GAS5B,EAAK3W,UAAS,SAAAJ,GACZ,IAAM0S,EAGF,CAAC,EAKL,OAJA1S,EAAMsX,mBAAmBhU,SAAQ,SAAAkT,GAC/B9D,EAAQ8D,EAASC,gBAAkBD,CACrC,IACA9D,EAAQqE,EAAkBN,gBAAkBM,EACrC,CAAEO,mBAAoBC,OAAOhS,OAAOmN,GAC7C,IAEJ,MACE9S,QAAQc,KACN,qCAA8B8V,EAASC,eAAc,OAArD,qFAKN,IAAGe,OAAM,SAACnY,GAER6B,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,2CAGJoB,QAAQP,MACN,qCAAoC,2BAChBmX,EAASC,eAAc,MAAI,qBACjCD,EAAS5E,kBAAiB,MAAI,oBAC/B,EAAK/X,MAAMqc,iBAAgB,OACxC7W,EAEJ,GACF,GACF,IAAGmY,OAAM,WAEPtW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,0CAGN,GACF,EAAC,EAKD6Y,qBAAuB,SACrBN,GAEA,IAAMvF,EAAe,EAAKoD,aAAa6C,qBACvC7X,QAAQc,KAAK,sCAAD,OAC4BqW,EAAkBN,eAAc,MAExE,IAAMiB,EAMF,CAAC,EACLlG,EAAalO,SAAQ,SAAAqM,GAEnB,IAAMxM,EAAawM,EAAYxM,WAC/B,EAAKyR,aAAa+C,gBAAgBxU,GAClC,EAAKyR,aAAagD,sBAAsBzU,GACxC,IAAM7B,EAAQ,EAAKsT,aAAaiD,2BAA2B1U,GAC3D,EAAKyR,aAAakD,oBAAoB3U,EAAY7B,GAElDyV,EAAkBE,yBAAyB3T,SAAQ,SAAA4T,GAMjD,IAAIa,EAAmBb,EAAac,gCACXre,IAArBoe,IACFA,EAAmBb,EAAae,8BAETte,IAArBoe,GAGJA,EAAiBzU,SAAQ,SAAA4U,GAIvB,GAHqBvI,EAAYwI,gBAAgBhB,SAC/Ce,EAAUE,0BAEM,CAChB,IAAIC,EA4DA9R,EA3DJ,GAAoD,MAAhD2Q,EAAaoB,gCAAyC,CACxD,IAAMC,EAAYrB,EAAaoB,gCAAgC,GAC/DD,EAAkB,IAAIzX,EAAAA,MAAAA,wBAAkC,CACtDxG,IAC0C,MAAxCme,EAAUC,2BACND,EAAUC,2BACV,GAENC,cACEF,EAAUG,qCACZC,gBACEJ,EAAUK,uCACZC,eACEN,EAAUO,sCACZC,QAC+C,MAA5CR,EAAUS,+BACP,IAAIC,YACJV,EAAUS,qCAEVrf,EAENuf,UACiD,MAA9CX,EAAUY,iCACP,IAAIF,YACJV,EAAUY,uCAEVxf,EAENyf,SACgD,MAA7Cb,EAAUc,gCACP,IAAIJ,YACJV,EAAUc,sCAEV1f,EAEN2f,iBACwD,MAArDf,EAAUgB,wCACP,IAAIN,YACJV,EAAUgB,8CAEV5f,EAEN6f,mBAC0D,MAAvDjB,EAAUkB,0CACP,IAAIR,YACJV,EAAUkB,gDAEV9f,EAEN+f,kBACyD,MAAtDnB,EAAUoB,yCACP,IAAIV,YACJV,EAAUoB,+CAEVhgB,GAGV,CAGA,GAA2C,MAAvCud,EAAa0C,uBAAgC,CAC/C,IAAMC,EAAa3C,EAAa0C,uBAAuB,GACjDE,EAAeD,EAAWE,aAC1BC,EAAcH,EAAWI,YAC/B1T,EAAc,CACZuT,EAA6B,GAAdE,EACfF,EAA6B,GAAdE,EAEnB,CAEAtC,EAAkBvU,GAAc,CAC9B6C,QAAS,EACTwJ,wBAAyB6I,EACzB9R,YAAaA,EAEjB,CACF,GACF,GACF,IAEA,IAAM2T,EAA8C,IAAIC,IACxD5C,OAAO6C,KAAK1C,GAAmBpU,SAAQ,SAAAH,GACrC,IAAMmD,EAAeoR,EAAkBvU,GACnB,MAAhBmD,GACF,EAAKsO,aAAakD,oBAAoB3U,EAAYmD,GAClD,EAAKsO,aAAayF,oBAAoBlX,GACtC,EAAKyR,aAAa0F,gBAAgBnX,GAClC+W,EAA+BK,IAAIpX,KAEnC,EAAKyR,aAAa+C,gBAAgBxU,GAClC,EAAKyR,aAAagD,sBAAsBzU,GAE5C,IACA,IAAMqX,EAAe,IAAIC,gBAAgB,EAAK5gB,MAAM6Z,SAASgH,QAC7DF,EAAaG,IAAI,QAAS5D,EAAkBN,gBAC5C,EAAK5c,MAAM+Z,SACT,CACEgH,SAAU,EAAK/gB,MAAM6Z,SAASkH,SAC9BF,OAAQF,EAAahY,YAEvB,CAAEqY,SAAS,IAEb,EAAKza,UAAS,SAAAJ,GAAK,MAAK,CACtBiS,6BAA8BiI,EAC9BhI,8BAA+BgI,EAC/B9C,6BAA8BL,EAAkBN,eACjD,GACH,EAAC,EAEDqE,YAAc,SAACzY,GACb,OAAW,MAAPA,EACK,EAAKiT,qBAEc3b,IAAxB,EAAKic,UAAUvT,GACV,EAAKuT,UAAUvT,GAEjB,EAAKiT,eACd,EAAC,EAODyF,eAAiB,WACfnb,QAAQc,KAAK,4CACb,IAAMG,EAAS,EAAKhH,MAAMiH,QAAQlD,EAAeod,qBACjDna,EAAOoV,mBAAmB,CACxBC,iBAAkB,EAAKrc,MAAMqc,iBAC7BC,YAAa,CACXC,SAAU,QAEXC,MAAK,SAACC,GACiB,MAApBA,IACFA,EAAmB,IAErBA,EAAiBhT,SAAQ,SAAAtB,GACvB,IACMwU,EADc5V,EAAAA,SAAAA,eAA4BoB,GAAxCuL,QAEJiJ,EAASyE,cAAgBrd,EAAeod,sBAC1Cpb,QAAQc,KAAK,yBAAD,OAA0B8V,EAASC,eAAc,MAC7D5V,EAAO6V,iBAAiB,CACtBR,iBAAkB,EAAKrc,MAAMqc,iBAC7BrU,kBAAmB2U,EAAS5E,kBAC5B+E,eAAgBH,EAASC,iBACxBJ,MAAK,SAACO,GACP,IAAM9G,EAAOjM,GAAAA,GAAAA,aAAAA,SAAiC+S,GAExC3L,EADcrK,EAAAA,SAAAA,eAA4BkP,EAAK+G,MAA7CtJ,SApuBO,SACzBtC,GAEA,IAAMiQ,EAAcjQ,EAAOkQ,wBAC3B,OAAID,EAAY3a,OAAS,GAEX,SADA2a,EAAY,GAAGE,kBAM/B,EA+tBiBC,CAAmBpQ,IAztBF,SAChCA,GAEA,IAAMlR,EAAQ4Q,GAAuB,CACnC3B,QAASiC,EAAOE,gBAChB5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,oBAGb,GAAqB,IAAjBhN,EAAMwG,OACR,OAAO,EAET,IACM+a,EADmBvhB,EAAM,GACYgK,oBAAoB,GACzDwX,EAAmB,IAAI1X,GAAAA,GAAAA,OAAAA,aAA6B,CACxD/I,MAAOwgB,EAAkB7X,UACzBsD,QAASuU,EAAkB3X,YAC3BmD,iBAAkBwU,EAAkBzT,yBAEhC2T,EAAkB,IAAI3X,GAAAA,GAAAA,OAAAA,aAA6B,CACvD/I,MAAO,SACPiM,QAAS,WACTD,iBAAkB,QAEpB,QAAIyU,EAAiBpM,OAAOqM,EAI9B,CAmsBiBC,CAA0BxQ,GAC7BrL,QAAQ8b,MACN,8BAAuBzQ,EAAOwL,eAAc,MAC5C,oDAjsBgB,SAC9BxL,GAEA,IAAM/G,EAAeyG,GAAuB,CAC1C3B,QAASiC,EAAOE,gBAChB5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,2BAGb,GAA4B,IAAxB7C,EAAa3D,OACf,OAAO,EAET,IAAMa,EAAY8C,EAAa,GACzByX,EAAoBhR,GAAuB,CAC/C3B,QAAS5H,EAAU+J,gBACnB5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,wBAIT6U,GAAc,EAkBlB,OAjBAD,EAAkBrY,SAAQ,SAACiI,GACzB,IACMsQ,EAAUlR,GAAuB,CACrC3B,QAFgBuC,EAEGJ,gBACnB5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,mBAGT8U,EAAQtb,OAAS,GACfsb,EAAQ,GAAGjY,YAAcC,GAAAA,GAAAA,WAAAA,WAAAA,WAC3B+X,GAAc,EAGpB,IAEOA,CACT,CA0pBiBE,CAAwB7Q,GAC3BrL,QAAQ8b,MACN,8BAAuBzQ,EAAOwL,eAAc,MAC5C,4DAKY,IAAIlK,GAAkBtB,GAC9B6B,KAAKxJ,SAAQ,SAAAL,GACnBrD,QAAQc,KAAK,YAAD,OAAauC,EAAI7I,IAAG,MAChC,IAAMuR,EAAW1I,EAAI0I,SACf8J,EAAQ,EAAK5b,MAAMwG,MAAMqU,aAAa,GAC5C,GAAI/I,EAASE,sBAAwB4J,EAAMsG,oBAAqB,CAU9D,IAAMC,EAAe,EAAKpH,aAAaqH,aAAaC,MAClD,SAACC,GACC,OAj6BE,SAACC,EAAgBC,GACrC,GAAID,EAAEzQ,SAAS2Q,cAAgBD,EAAE1Q,SAAS2Q,YACxC,OAAO,EAET,GAAIF,EAAEzQ,SAASE,sBAAwBwQ,EAAE1Q,SAASE,oBAChD,OAAO,EAET,GAAIuQ,EAAEzQ,SAAS4Q,YAAYhc,SAAW8b,EAAE1Q,SAAS4Q,YAAYhc,OAC3D,OAAO,EAIT,IADA,IACSyB,EAAI,EAAGA,EAAIoa,EAAEzQ,SAAS4Q,YAAYhc,SAAUyB,EACnD,GAA+B,UAA3Boa,EAAEzQ,SAAS2Q,YAAyB,CACtC,IAAME,EAAKJ,EAAEzQ,SACP8Q,EAAKJ,EAAE1Q,SAGb,GAFW6Q,EAAGD,YAAYva,GAAGsC,YALhB,KAMFmY,EAAGF,YAAYva,GAAGsC,YANhB,GAQX,OAAO,CAEX,MAGE,IAFA,IAAMkY,EAAKJ,EAAEzQ,SACP8Q,EAAKJ,EAAE1Q,SACJ+Q,EAAI,EAAGA,EAAIF,EAAGD,YAAYva,GAAGzB,SAAUmc,EAG9C,GAFWF,EAAGD,YAAYva,GAAG0a,GAAGpY,YAdrB,KAeAmY,EAAGF,YAAYva,GAAG0a,GAAGpY,YAfrB,GAiBT,OAAO,EAKf,OAAO,CACT,CA+3B2BqY,CAAcR,EAAUlZ,EACjC,IAEF,GAAK+Y,EAQHpc,QAAQ8b,MAAM,8BAAD,OAA+BzY,EAAI7I,IAAG,WAPnD,IAEE,EAAKwa,aAAagI,OAAO3Z,EAAK,CAAC,EAGjC,CAFE,SACArD,QAAQP,MAAM,sBAAD,OAAuB4D,EAAI7I,IAAG,KAC7C,CAIJ,MACEwF,QAAQ8b,MACN,oBAAazY,EAAI7I,IAAG,gCACD6Q,EAAOwL,eAAc,KACxC,sDAGN,IA3DE7W,QAAQ8b,MACN,8BAAuBzQ,EAAOwL,eAAc,MAA5C,kFA2DN,IAAGe,OAAM,SAACnY,GAER6B,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,oCAGJoB,QAAQP,MACN,uBAAsB,2BACFmX,EAASC,eAAc,MAAI,qBACjCD,EAAS5E,kBAAiB,MAAI,oBAC/B,EAAK/X,MAAMqc,iBAAgB,OACxC7W,EAEJ,IAMA,EAAKwd,cAET,GACF,IAAGrF,OAAM,WAEPtW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,mCAGN,GACF,EAAC,EAODse,oBAAsB,WACpBld,QAAQc,KAAK,2DACb,IAAMG,EAAS,EAAKhH,MAAMiH,QACxBlD,EAAemf,mCAEjBlc,EAAOmc,gBAAgB,CACrB9G,iBAAkB,EAAKrc,MAAMqc,iBAC7BC,YAAa,CACXC,SAAU,SAEXC,MAAK,SAAC4G,GACc,MAAjBA,IACFA,EAAgB,IAElBA,EAAc3Z,SAAQ,SAAA7D,GACpB,IACMyd,EADctc,EAAAA,SAAAA,eAA4BnB,GAAxC8N,QAER1M,EAAOsc,uBAAuB,CAC5BjH,iBAAkB,EAAKrc,MAAMqc,iBAC7BrU,kBAAmBqb,EAAOtL,oBACzByE,MAAK,SAAC+G,GAEOA,EAAkBnjB,KAAI,SAAA2B,GAClC,OAAO,IAAIgF,EAAAA,SAAAA,gCAA6C,CACtDhF,SAAAA,GAEJ,IAC0ByhB,QAAO,SAAAC,GAC/B,IAAMC,EAAW,EAAK1jB,MAAMwG,MAAMqU,aAAa,GAC/C,OACE4I,EAAIvB,sBAAwBwB,EAASxB,qBACrCuB,EAAI3c,sBAAwB4c,EAAS5c,mBAEzC,IACY2C,SAAQ,SAAAga,GAClB,IACE,EAAK1I,aAAakI,oBAAoBQ,EAYxC,CAXE,MAAOje,GAEP6B,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,4DAIJoB,QAAQP,MAAM,oCAAqCA,EACrD,CACAie,EAAInW,wBAAwB7D,SAAQ,SAAApJ,GAClC,IAAMiM,EAAqBjM,EAAKmN,mBAC1BmW,EAAUtjB,EAAKujB,mCAAmC,GAClDpb,EAAM6R,GAAUsJ,GAChBlc,EAAQ,EAAKsU,UAAUvT,GAEhB,MAATf,GAA+B,MAAdA,EAAMkU,MACzB,EAAKZ,aAAa8I,wBAChBvX,EACA,CAAED,MAAO5E,EAAMkU,KAAKtP,OAG1B,GACF,IAOA,EAAK2W,aACP,IAAGrF,OAAM,WAEPtW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,iFAIN,GACF,GACF,IAAGgZ,OAAM,WAEPtW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,mEAGN,GACF,EAAC,EAODmf,iBAAmB,WACjB/d,QAAQc,KAAK,qCACb,IAAMG,EAAS,EAAKhH,MAAMiH,QAAQlD,EAAeggB,cACjD/c,EAAOmc,gBAAgB,CACrB9G,iBAAkB,EAAKrc,MAAMqc,iBAC7BC,YAAa,CACXC,SAAU,SAEXC,MAAK,SAAC4G,GACc,MAAjBA,IACFA,EAAgB,IAElBA,EAAc3Z,SAAQ,SAAC7D,EAAGuC,GACxB,IACMkb,EADctc,EAAAA,SAAAA,eAA4BnB,GAAxC8N,QAER1M,EAAOsc,uBAAuB,CAC5BjH,iBAAkB,EAAKrc,MAAMqc,iBAC7BrU,kBAAmBqb,EAAOtL,oBACzByE,MAAK,SAAC+G,GACP,IAAMS,EAA6C,GAWnD,GAVAT,EAAkB9Z,SAAQ,SAAA1H,GACxB,IAAMkiB,EAAM,IAAIld,EAAAA,SAAAA,aAA0B,CAAEhF,SAAAA,IACtC2hB,EAAW,EAAK1jB,MAAMwG,MAAMqU,aAAa,GAE7CoJ,EAAI/B,sBAAwBwB,EAASxB,qBACrC+B,EAAInd,sBAAwB4c,EAAS5c,qBAErCkd,EAAc/hB,KAAKgiB,EAEvB,IACID,EAActd,OAAS,EAAG,CAC5B,IACE,EAAKqU,aAAamJ,YAAYF,EAWhC,CAVE,MAAOxe,GAEP6B,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,sCAGJoB,QAAQP,MAAM,2BAA4BA,EAC5C,CAOA,EAAKwd,aACP,CACF,IAAGrF,OAAM,WAEPtW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,2DAGN,GACF,GACF,IAAGgZ,OAAM,WAEPtW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,6CAGN,GACF,EAAC,EAODwf,kBAAoB,WAClBpe,QAAQc,KAAK,uCACb,IAAMG,EAAS,EAAKhH,MAAMiH,QAAQlD,EAAeqgB,gBACjDpd,EAAOmc,gBAAgB,CACrB9G,iBAAkB,EAAKrc,MAAMqc,iBAC7BC,YAAa,CACXC,SAAU,QAEXC,MAAK,SAAC4G,GACc,MAAjBA,IACFA,EAAgB,IAElBA,EAAc3Z,SAAQ,SAAA7D,GACpB,IACMyd,EADctc,EAAAA,SAAAA,eAA4BnB,GAAxC8N,QAER1M,EAAOsc,uBAAuB,CAC5BjH,iBAAkB,EAAKrc,MAAMqc,iBAC7BrU,kBAAmBqb,EAAOtL,oBACzByE,MAAK,SAAC+G,GACP,IAAMc,EAA+C,GAerD,GAdAd,EAAkB9Z,SAAQ,SAAA1H,GACxB,IAAMuiB,EAAK,IAAIvd,EAAAA,SAAAA,cAA2B,CAAEhF,SAAAA,IACtC2hB,EAAW,EAAK1jB,MAAMwG,MAAMqU,aAAa,GAE7CyJ,EAAGpC,sBAAwBwB,EAASxB,qBACpCoC,EAAGxd,sBAAwB4c,EAAS5c,oBAEpCud,EAAepiB,KAAKqiB,GAEpBve,QAAQ2U,KAAK,iCAAD,OACuB4J,EAAG1H,eAAc,KAGxD,IACIyH,EAAe3d,OAAS,EAAG,CAC7B,IACE,EAAKqU,aAAawJ,qBAAqBF,EAWzC,CAVE,MAAO7e,GAEP6B,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,uCAGJoB,QAAQP,MAAM,2BAA4BA,EAC5C,CAOA,EAAKwd,aACP,CACF,IAAGrF,OAAM,WAEPtW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,6DAGN,GACF,GACF,IAAGgZ,OAAM,WAEPtW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,+CAGN,GACF,EAAC,EAKD6f,kBAAoB,WAClBze,QAAQc,KAAK,yBACb,EAAKN,SAAS,CACZH,WAAW,EACXqX,mBAAoB,KAGgB,MAAlC,EAAKlC,kBAAkB5U,SACzB,EAAKoU,aAAazT,OAAO,CAAEC,UAAW,EAAKgU,kBAAkB5U,UAG5B,MAAjC,EAAK6U,iBAAiB7U,SACF,MAApB,EAAKmU,aAEL,EAAKA,YAAYxT,OAAO,CAAEC,UAAW,EAAKiU,iBAAiB7U,UAI7D,EAAKJ,SAAS,CAAEH,WAAW,IAE3B,EAAKqe,8BACL,EAAKvI,yBAEL,EAAKgF,iBACL,EAAK+B,sBACL,EAAKa,mBACL,EAAKK,mBACP,EAAC,EAEDO,cAAgB,SAACzb,GAEf,EAAK1C,UAAS,SAAAJ,GAAK,MAAK,CACtBgF,eAAgB,IAAImV,IAAIna,EAAMgF,gBAC/B,GACH,EAAC,EAEDwZ,eAAiB,SAAC1b,GAChBlD,QAAQc,KAAK,oBACb,EAAKkU,aAAavT,SACM,MAApB,EAAKsT,aACP,EAAKA,YAAYtT,QAErB,EAAC,EAEDod,WAAa,SAAC3b,GACZ,IAAMG,EAAMH,EAAM4b,OAAOngB,QACnBogB,EAAkB,EAAK3e,MAAM2e,gBAC7BC,EAAsB,EAAK5e,MAAM4e,oBACvC,QAAYjlB,IAARsJ,QAAyCtJ,IAApBglB,EAA+B,CACtD/e,QAAQ8b,MAAM,YAAD,OAAazY,EAAI7I,IAAG,MACjC,IAAMykB,EAAc,IAAIhb,GAAAA,GAAAA,WAAAA,gBAAoC,CAC1DtJ,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPiM,QAAS,UACTD,iBAAkB,QAEpBhM,MAAO6jB,EACPG,iBAAkB,aAEpB7b,EAAI8b,cAAcF,GAClBD,EAAoBtb,SAAQ,SAAC2I,GAC3B,IAAM/R,EAAO,IAAI2J,GAAAA,GAAAA,WAAAA,gBAAoC,CACnDtJ,KAAM0R,EAAW1R,KACjBO,MAAOmR,EAAWnR,MAClBgkB,iBAAkB,aAEpB7b,EAAI8b,cAAc7kB,EACpB,IACA,IAAMmI,EAAM6R,GAAUyK,GAChBrd,EAAQ,EAAKwZ,YAAYzY,GAC/B,EAAKuS,aAAagI,OAAO3Z,EAAK3B,GAC9B,EAAKlB,UAAS,SAAAJ,GACZ,IAAMgF,EAAiBhF,EAAMgF,eAE7B,OADAA,EAAeuV,IAAItX,EAAI7I,KAChB,CAAE4K,eAAAA,EACX,GACF,MACEpF,QAAQ8b,MAAM,sBAAD,OAAuBzY,EAAI7I,IAAG,KAE/C,EAAC,EAED4kB,mBAAqB,SAAClc,GAED,MADCA,EAAM4b,OAAOngB,QAE/B,EAAK6B,SAAS,CACZ6e,2BAA2B,IAG7B,EAAK7e,SAAS,CACZ6e,2BAA2B,GAGjC,EAAC,EAEDC,cAAgB,SAACpc,GACf,IAAMqc,EAAcrc,EAAM4b,OAAOngB,QACjC,GAAmB,MAAf4gB,EAAqB,CACvBvf,QAAQ8b,MAAM,iBAAD,OAAkByD,EAAY/kB,IAAG,MAC9C,EAAKwa,aAAawK,YAAYD,EAAY/kB,IAAK,EAAK0b,kBACpD,IAAMzT,EAAMgS,GAAW8K,GACvB,EAAKvK,aAAaqH,aAAa3Y,SAAQ,SAACL,GAClCA,EAAI7I,MAAQ+kB,EAAY/kB,KAC1B,EAAKwa,aAAawK,YAAYnc,EAAI7I,IAAK,EAAK0gB,YAAYzY,GAE5D,IACA,EAAKjC,SAAS,CACZkF,gBAAiB,IAAI6U,IAAI,CAACgF,EAAY/kB,MACtC+kB,YAAaA,GAEjB,MACE,EAAK/e,SAAS,CACZkF,gBAAiB,IAAI6U,IACrBgF,iBAAaxlB,GAGnB,EAAC,EAQD0lB,iBAAmB,SAACvc,GAClB,EAAK1C,SAAS,CAAEH,WAAW,GAC7B,EAAC,EAEDqf,eAAiB,SAACxc,GAChB,EAAK1C,SAAS,CAAEH,WAAW,GAC7B,EAAC,EAEDsf,sBAAwB,SAACzc,GACvB,IAAM0c,EAOF1c,EAAM4b,OAAOngB,QACX8D,EAAW,UAAMmd,EAAU7I,eAAc,YAAI6I,EAAUC,aAC7D,EAAKrf,UAAS,SAAAJ,GAEZ,OADAA,EAAM0f,cAAcnF,IAAIlY,GACjBrC,CACT,GACF,EAAC,EAED2f,oBAAsB,SAAC7c,GACrB,IAAM0c,EAQF1c,EAAM4b,OAAOngB,QACX8D,EAAG,UAAMmd,EAAU7I,eAAc,YAAI6I,EAAUC,aAYrD,GAXA,EAAKrf,UAAS,SAAAJ,GACZA,EAAM0f,cAAcE,OAAOvd,GAC3B,IAAIpC,GAAqB,EAIzB,OAHID,EAAM0f,cAAcvkB,KAAO,IAC7B8E,GAAY,GAEP,CACLA,UAAAA,EACAyf,cAAe1f,EAAM0f,cAEzB,IAEEF,EAAUK,cAAgBjiB,EAAemD,iCACzC,EAAKlH,MAAMwG,MAAMyW,0BACjB,CACA,IAAMlH,EAAwB4P,EAAUM,kBACxC,KACIlQ,KAAyB,EAAK5P,MAAM+f,sBACd,MAAxBP,EAAUQ,WACV,CAUA,IALA,IAAM7kB,EAAI,SAAG,EAAK,IACZ8kB,EAAS7P,KAAK8P,KAAKV,EAAUQ,WAAWzf,OAASpF,GACnDiO,EAAS,EACP+W,EAAsB,GACtBC,EAAsB,GACnBpe,EAAI,EAAGA,EAAIie,EAAQje,IAAK,CAC/BoH,EAASpH,EAAI7G,EACb,IAAMklB,EAASb,EAAUQ,WAAWtZ,MAAM0C,EAAQA,EAASjO,GAC3DglB,EAAUrkB,KAAKsU,KAAKhI,IAAG,MAARgI,MAAI,QAAQiQ,KAC3BD,EAAUtkB,KAAKsU,KAAK/H,IAAG,MAAR+H,MAAI,QAAQiQ,IAC7B,CACA,IAAMjY,EAAMgI,KAAKhI,IAAG,MAARgI,KAAY+P,GAClB9X,EAAM+H,KAAK/H,IAAG,MAAR+H,KAAYgQ,GACxB,EAAKhgB,UAAS,SAAAJ,GACZ,IAAMsgB,EAAQtgB,EAAM+f,oBAcpB,GAboC,MAAhCO,EAAM1Q,GACR0Q,EAAM1Q,GAAyB,CAC7BxH,IAAKgI,KAAKhI,IAAIkY,EAAM1Q,GAAuBxH,IAAKA,GAChDC,IAAK+H,KAAK/H,IAAIiY,EAAM1Q,GAAuBvH,IAAKA,GAChDkY,iBAAkBD,EAAM1Q,GAAuB2Q,iBAAmB,GAGpED,EAAM1Q,GAAyB,CAC7BxH,IAAKA,EACLC,IAAKA,EACLkY,iBAAkB,GAGoB,MAAtCvgB,EAAMoX,6BAAsC,CAC9C,IAAM9V,GAAK,UACN,EAAKsT,aAAa4L,oBAAoB5Q,IAE3CtO,EAAMiF,YAAc,CAClB+Z,EAAM1Q,GAAuBxH,IAC7BkY,EAAM1Q,GAAuBvH,KAE/B,EAAKuM,aAAakD,oBAAoBlI,EAAuBtO,EAC/D,CACA,OAAOtB,CACT,GACF,CACF,CACF,EAAC,EAEDygB,aAAe,SAAC3d,GACd,IAAMG,EAAMH,EAAM4b,OAAOngB,QACzBqB,QAAQ8b,MAAM,gBAAD,OAAiBzY,EAAI7I,IAAG,KACvC,EAAC,EA2DDsmB,QAAU,SAAC5d,GACS,WAAdA,EAAMT,KACJ,EAAKrC,MAAM2gB,oBACb/gB,QAAQc,KAAK,8BACb,EAAKkU,aAAagM,4BAClB,EAAKhM,aAAaG,0BAA0B,CAAC,IACpC,EAAK/U,MAAM6gB,yBACpBjhB,QAAQc,KAAK,mCACb,EAAKkU,aAAakM,8BAClB,EAAKlM,aAAaG,0BAA0B,CAAC,IACpC,EAAK/U,MAAM+gB,yBACpBnhB,QAAQc,KAAK,mCACb,EAAKkU,aAAaoM,iCAClB,EAAKpM,aAAaG,0BAA0B,CAAC,IAE/C,EAAK3U,SAAS,CACZ6gB,0BAA0B,EAC1BhC,2BAA2B,EAC3B8B,wBAAwB,EACxBJ,oBAAoB,EACpBE,yBAAyB,EACzBK,oBAAoB,KAEbpe,EAAMqe,SACI,SAAfre,EAAMse,KACR,EAAKC,mBACmB,SAAfve,EAAMse,KACf,EAAKE,wBACmB,SAAfxe,EAAMse,KACf,EAAKG,uBACmB,SAAfze,EAAMse,KACf,EAAKI,mBACmB,SAAf1e,EAAMse,KACf,EAAKK,4BACmB,SAAf3e,EAAMse,KACf,EAAKM,yBACmB,SAAf5e,EAAMse,MACf,EAAKO,aAGX,EAprCE/hB,QAAQc,KAAK,eAAD,OACK,EAAK7G,MAAMwG,MAAMmB,oBAAmB,OACnD,EAAK3H,MAAMwG,OAEb,IAAM8U,EAAsB,CAC1B,QACA,SACA,MACA,UACA,OACA,kBACA,gBAEFtb,EAAM8T,YAAYrK,SAAQ,SAACse,GACzB,IAAMpE,EAAU,IAAI3Z,GAAAA,GAAAA,OAAAA,aAA6B+d,EAAWpE,SAC5D,EAAKvI,eAAenZ,KAAK0hB,GACzB,IAAMnb,EAAM6R,GAAUsJ,QACW7jB,IAA7BioB,EAAWC,cACb,EAAK1M,oBAAoB9S,GAAOuf,EAAWC,cAE3C,EAAK1M,oBAAoB9S,GAAO8S,EAElC,EAAKD,kBAAkB7S,GAAO,QACC1I,IAA3BioB,EAAWve,aACbue,EAAWve,YAAYC,SAAQ,SAAA2I,GAC7B,EAAKiJ,kBAAkB7S,GAAKvG,KAAK,CAC/BvB,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6BoI,EAAW1R,MAClDgL,OAAQ0G,EAAW1G,OAAOtL,KAAI,SAAAa,GAC5B,OAAO,IAAI+I,GAAAA,GAAAA,OAAAA,aAA6B/I,EAC1C,KAEJ,SAE8BnB,IAA5BioB,EAAW1d,cACb0d,EAAW1d,aAAaZ,SAAQ,SAAAuD,GAC9B,EAAK3C,aAAapI,KAAK,CACrBvB,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6BgD,EAAYtM,MACnDO,WAAOnB,EACP4K,KAAM,IAAIV,GAAAA,GAAAA,OAAAA,aAA6BgD,EAAYtC,OAEvD,IAEsB,MAApBqd,EAAWtgB,MACb,EAAKsU,UAAUvT,GAhYC,SAACf,GAUvB,IAAMiU,EAAS,CACbrP,MAAO8N,GACP7R,MAhFqC,GAkFnB,MAAhBb,EAAMiU,SACkB,MAAtBjU,EAAMiU,OAAOrP,QACfqP,EAAOrP,MAAQ5E,EAAMiU,OAAOrP,OAEJ,MAAtB5E,EAAMiU,OAAOpT,QACfoT,EAAOpT,MAAQb,EAAMiU,OAAOpT,QAGhC,IAAMqT,EAAO,CACXtP,MAAO+N,IAOT,OALkB,MAAd3S,EAAMkU,MACgB,MAApBlU,EAAMkU,KAAKtP,QACbsP,EAAKtP,MAAQ5E,EAAMkU,KAAKtP,OAGrB,CACLqP,OAAAA,EACAC,KAAAA,EACAC,MAAO,CACLC,OAAQ,CACNC,OAAwB,MAAhBrU,EAAMqU,OACVrU,EAAMqU,OACNvF,KAAK/H,IAAI,EAAIkN,EAAOpT,MAAO,GAC/BoT,OAAAA,EACAC,KAAAA,IAIR,CAqV8BsM,CAAgBF,EAAWtgB,OAEjD,EAAKsU,UAAUvT,GAAO,EAAKiT,eAE/B,IAEA,EAAKyM,eAAiB,EAAKA,eAAenf,MAAK,WAC/C,EAAKof,iBAAmB,EAAKA,iBAAiBpf,MAAK,WAEnD,EAAK4b,eAAiB,EAAKA,eAAe5b,MAAK,WAC/C,EAAKye,iBAAmB,EAAKA,iBAAiBze,MAAK,WACnD,EAAK2e,qBAAuB,EAAKA,qBAAqB3e,MAAK,WAC3D,EAAK0e,sBAAwB,EAAKA,sBAAsB1e,MAAK,WAC7D,EAAK6e,0BAA4B,EAAKA,0BAA0B7e,MAAK,WACrE,EAAK4e,iBAAmB,EAAKA,iBAAiB5e,MAAK,WACnD,EAAKqf,+BAAiC,EAAKA,+BAA+Brf,MAAK,WAC/E,EAAKsf,0CAA4C,EAAKA,0CAA0Ctf,MAAK,WACrG,EAAKuf,sCAAwC,EAAKA,sCAAsCvf,MAAK,WAC7F,EAAKwf,sCAAwC,EAAKA,sCAAsCxf,MAAK,WAC7F,EAAKyf,iCAAmC,EAAKA,iCAAiCzf,MAAK,WACnF,EAAK0f,oCAAsC,EAAKA,oCAAoC1f,MAAK,WACzF,EAAK2f,oCAAsC,EAAKA,oCAAoC3f,MAAK,WACzF,EAAK4f,wCAA0C,EAAKA,wCAAwC5f,MAAK,WACjG,EAAK6f,0BAA4B,EAAKA,0BAA0B7f,MAAK,WACrE,EAAK8f,iCAAmC,EAAKA,iCAAiC9f,MAAK,WACnF,EAAK+f,sCAAwC,EAAKA,sCAAsC/f,MAAK,WAC7F,EAAKggB,iCAAmC,EAAKA,iCAAiChgB,MAAK,WACnF,EAAK+e,WAAa,EAAKA,WAAW/e,MAAK,WACvC,EAAKigB,2BAA6B,EAAKA,2BAA2BjgB,MAAK,WACvE,EAAKkgB,2BAA6B,EAAKA,2BAA2BlgB,MAAK,WACvE,EAAKmgB,6BAA+B,EAAKA,6BAA6BngB,MAAK,WAC3E,EAAKogB,6BAA+B,EAAKA,6BAA6BpgB,MAAK,WAC3E,EAAKqgB,yCAA2C,EAAKA,yCAAyCrgB,MAAK,WACnG,EAAK8e,uBAAyB,EAAKA,uBAAuB9e,MAAK,WAC/D,EAAKsgB,yBAA2B,EAAKA,yBAAyBtgB,MAAK,WACnE,EAAKugB,yBAA2B,EAAKA,yBAAyBvgB,MAAK,WACnE,EAAKwgB,8BAAgC,EAAKA,8BAA8BxgB,MAAK,WAC7E,EAAKygB,yBAA2B,EAAKA,yBAAyBzgB,MAAK,WACnE,EAAK0gB,8BAAgC,EAAKA,8BAA8B1gB,MAAK,WAC7E,EAAK2gB,yBAA2B,EAAKA,yBAAyB3gB,MAAK,WACnE,EAAK4gB,kCAAoC,EAAKA,kCAAkC5gB,MAAK,WACrF,EAAK6gB,6BAA+B,EAAKA,6BAA6B7gB,MAAK,WAC3E,EAAK8gB,gCAAkC,EAAKA,gCAAgC9gB,MAAK,WACjF,EAAK+gB,iCAAmC,EAAKA,iCAAiC/gB,MAAK,WACnF,EAAKghB,6BAA+B,EAAKA,6BAA6BhhB,MAAK,WAE3E,MAAsC4R,GAAkB,CACtD1T,QAAS,EAAKjH,MAAMiH,QACpBT,MAAO,EAAKxG,MAAMwG,MAClBoU,QAAS,EAAK5a,MAAM4a,UAHdG,EAAY,EAAZA,aAAcD,EAAW,EAAXA,YAKtB,EAAKC,aAAeA,EACpB,EAAKD,YAAcA,EACnB,EAAKS,kBAAoBzZ,EAAAA,YACzB,EAAK0Z,iBAAmB1Z,EAAAA,YAMxB,EAAKiZ,aAAa6C,qBAAqBnU,SAAQ,SAAAqM,GAC7C,EAAKiF,aAAagD,sBAAsBjI,EAAYxM,WACtD,IAEA,eAAuB,EAAKyR,aAAaiP,YAAW,GAA7Cza,EAAM,KAAEjO,EAAI,KAkClB,OAhCD,EAAK6E,MAAQ,CACXsF,gBAAiB,IAAI6U,IACrBnV,eAAgB,IAAImV,IACpB/G,mBAAoB,IAAI+G,IACxBvH,mBAAoB,IAAIuH,IACxBvQ,2BAA4B,IAAIuQ,IAChCjI,8BAA+B,IAAIiI,IACnClI,6BAA8B,IAAIkI,IAClC7C,mBAAoB,GACpBqH,qBAAiBhlB,EACjBilB,oBAAqB,GACrBkF,qBAAiBnqB,EACjBsG,WAAW,EACXghB,0BAA0B,EAC1BhC,2BAA2B,EAC3B8E,8BAA8B,EAC9BC,sBAAsB,EACtBrD,oBAAoB,EACpBI,wBAAwB,EACxBF,yBAAyB,EACzBK,oBAAoB,EACpB+C,4BAA4B,EAC5BC,4BAA4B,EAC5BC,yBAAqBxqB,EACrByqB,sBAAuB,CAAChb,EAAO,GAAIA,EAAO,GAAKjO,EAAK,IACpDkpB,yBAAqB1qB,EACrB2qB,sBAAuB,CAAClb,EAAO,GAAIA,EAAO,GAAKjO,EAAK,IACpDopB,2BAAuB5qB,EACvB6qB,eAAe,EACfzE,oBAAqB,CAAC,EACtB3I,6BAA8B,EAAKvd,MAAMud,6BACzCsI,cAAe,IAAIvF,KACpB,CACH,CA+4FC,OA/4FA,0CAED,SACE1K,EACAC,GACO,IAAD,OAIN,GACE9V,KAAKC,MAAM6Z,SAASkH,WAAanL,EAAciE,SAASkH,UACxDhhB,KAAKC,MAAMqc,mBAAqBzG,EAAcyG,kBAC9Ctc,KAAKC,MAAMgI,oBAAsB4N,EAAc5N,mBAC/CjI,KAAKC,MAAMwG,QAAUoP,EAAcpP,OACnCzG,KAAKC,MAAMiH,UAAY2O,EAAc3O,QACrC,CACsC,MAAlClH,KAAKwb,kBAAkB5U,UACzB5G,KAAKwb,kBAAkB5U,QAAQC,UAAY,IAE7C7G,KAAKgb,aAAa6P,UACM,MAApB7qB,KAAK+a,cAC8B,MAAjC/a,KAAKyb,iBAAiB7U,UACxB5G,KAAKyb,iBAAiB7U,QAAQC,UAAY,IAE5C7G,KAAK+a,YAAY8P,WAEnB,MAAsCjQ,GAAkB,CACtD1T,QAASlH,KAAKC,MAAMiH,QACpBT,MAAOzG,KAAKC,MAAMwG,MAClBoU,QAAS7a,KAAKC,MAAM4a,UAHdG,EAAY,EAAZA,aAAcD,EAAW,EAAXA,YAKtB/a,KAAKgb,aAAeA,EACpBhb,KAAK+a,YAAcA,EAEnB,IAAM1C,EAA4C,IAAIkI,IAChDjI,EAA6C,IAAIiI,IACvDvgB,KAAKgb,aAAa6C,qBAAqBnU,SAAQ,SAAAqM,GAC7C,IAAMxM,EAAawM,EAAYxM,WAC3B,EAAKyR,aAAa8P,qBAAqBvhB,IACzC+O,EAA8BqI,IAAIpX,GAEhC,EAAKyR,aAAa+P,oBAAoBxhB,IACxC8O,EAA6BsI,IAAIpX,EAErC,IAEA,eAAuBvJ,KAAKgb,aAAaiP,YAAW,GAA7Cza,EAAM,KAAEjO,EAAI,KAEnBvB,KAAKwG,SAAS,CACZ4E,eAAgB,IAAImV,IACpB/G,mBAAoB,IAAI+G,IACxBvH,mBAAoB,IAAIuH,IACxBvQ,2BAA4B,IAAIuQ,IAChCjI,8BAAAA,EACAD,6BAAAA,EACAqF,mBAAoB,GACpBoI,cAAe,IAAIvF,IACnBiK,sBAAuB,CAAChb,EAAO,GAAIA,EAAO,GAAKjO,EAAK,IACpDmpB,sBAAuB,CAAClb,EAAO,GAAIA,EAAO,GAAKjO,EAAK,MAEtDvB,KAAKykB,mBACP,CACF,GA6pBA,4CAwHA,WACEzkB,KAAKwG,SAAS,CACZ6e,2BAA2B,GAE/B,GAAC,8BA8GD,WACE2F,SAASC,KAAKC,oBACZ,kCACAlrB,KAAK6kB,YAEPmG,SAASC,KAAKC,oBACZ,qCACAlrB,KAAKslB,eAEP0F,SAASC,KAAKC,oBACZ,2CACAlrB,KAAKolB,oBAEP4F,SAASC,KAAKC,oBACZ,oCACAlrB,KAAK6mB,cAEPmE,SAASC,KAAKC,oBACZ,qCACAlrB,KAAK2kB,eAEPqG,SAASC,KAAKC,oBACZ,wCACAlrB,KAAKylB,kBAEPuF,SAASC,KAAKC,oBACZ,sCACAlrB,KAAK0lB,gBAEPsF,SAASC,KAAKC,oBACZ,8CACAlrB,KAAK2lB,uBAEPqF,SAASC,KAAKC,oBACZ,4CACAlrB,KAAK+lB,qBAEPiF,SAASC,KAAKC,oBACZ,QACAlrB,KAAK8mB,SAEPqE,OAAOD,oBAAoB,SAAUlrB,KAAK4kB,gBAE1C5kB,KAAKgb,aAAa6P,UACM,MAApB7qB,KAAK+a,aACP/a,KAAK+a,YAAY8P,SAUrB,GAAC,kCA4CD,WACEM,OAAOD,oBAAoB,eAAgBlrB,KAAKooB,iBAClD,GAAC,4BAED,WACE4C,SAASC,KAAKG,iBACZ,kCACAprB,KAAK6kB,YAEPmG,SAASC,KAAKG,iBACZ,qCACAprB,KAAKslB,eAEP0F,SAASC,KAAKG,iBACZ,2CACAprB,KAAKolB,oBAEP4F,SAASC,KAAKG,iBACZ,oCACAprB,KAAK6mB,cAEPmE,SAASC,KAAKG,iBACZ,qCACAprB,KAAK2kB,eAEPqG,SAASC,KAAKG,iBACZ,wCACAprB,KAAKylB,kBAEPuF,SAASC,KAAKG,iBACZ,sCACAprB,KAAK0lB,gBAEPsF,SAASC,KAAKG,iBACZ,8CACAprB,KAAK2lB,uBAEPqF,SAASC,KAAKG,iBACZ,4CACAprB,KAAK+lB,qBAEPiF,SAASC,KAAKG,iBACZ,QACAprB,KAAK8mB,SAEPqE,OAAOC,iBAAiB,SAAUprB,KAAK4kB,eACzC,GAAC,+BAED,WAKE,GAJAuG,OAAOC,iBAAiB,eAAgBprB,KAAKooB,kBAC7CpoB,KAAKmoB,iBACLnoB,KAAKykB,qBAEAzkB,KAAKC,MAAMwG,MAAMyW,0BAA2B,CAC/C,IAAImO,GAAgB,EACdxP,EAAQ7b,KAAKC,MAAMwG,MAAMqU,aAAa,GAE5C,GAA+B,MADVe,EAAM5D,oBAAoB,GAC9BqT,YACf,GAAI,wBAAyBzP,EAAM0P,mBAG7B,eADiB1P,EAAM0P,mBAAmBtT,oBAAoB,KAEhEoT,GAAgB,QAIpBA,GAAgB,EAEbA,GAEHtmB,EAAAA,GAAAA,QAAgB,4CAEpB,CACF,GAEA,8CAMA,SACE7D,EACA6L,GACO,IAAD,OACN/M,KAAKqb,eAAe3R,SAAQ,SAAAka,GACtBA,EAAQ/Z,YAAc3I,IACxB8E,QAAQc,KAAK,qBAAD,OAAsB8c,EAAQ7Z,YAAW,MACrD,EAAKvD,SAAS,CACZue,gBAAiBnB,EACjBoB,oBAAqB,KAG3B,GACF,GAEA,mDAOA,SAAuC9jB,EAAe6L,GACpD/M,KAAKwG,SAAS,CAAEglB,qBAAsBtqB,GACxC,GAEA,mDAIA,SAAuCgI,GACbA,EAAMuiB,OAAOxiB,QAEnCjJ,KAAKwG,SAAS,CAAEklB,eAAgB,gBAEhC1rB,KAAKwG,SAAS,CAAEklB,oBAAgB3rB,GAEpC,GAEA,iDAOA,SACEmB,EACA6L,GACO,IAAD,OACAgY,EAAkB/kB,KAAKoG,MAAM2e,gBACnC,QAAwBhlB,IAApBglB,EAA+B,CACjC,IAAMtc,EAAM6R,GAAUyK,GAChBpkB,EAAOoM,EAAOrM,MACpBV,KAAKsb,kBAAkB7S,GAAKiB,SAAQ,SAAA2I,GAEhCA,EAAW1R,KAAKkJ,YAAclJ,EAAKkJ,WACnCwI,EAAW1R,KAAKsN,yBAA2BtN,EAAKsN,wBAEhDoE,EAAW1G,OAAOjC,SAAQ,SAAA8d,GACxB,GAAIA,EAAK3d,YAAc3I,EAAO,CAC5B,IAAMyqB,EAAsB,EAAKvlB,MAAM4e,oBAAoBvB,QACzD,SAACnjB,GAAgB,OAAKA,EAAKK,OAAS0R,EAAW1R,IAAI,IAErD,EAAK6F,SAAS,CACZwe,oBAAoB,GAAD,gBACd2G,GAAmB,CACtB,CAAEhrB,KAAMA,EAAMO,MAAOsmB,MAG3B,CACF,GAEJ,GACF,CACF,GAEA,iDAIA,WACExnB,KAAKwG,SAAS,CACZwe,oBAAqB,IAEzB,GAAC,wCAED,SAA4B9jB,GAC1B,GAAa,MAATA,EAAe,CACjB,IAAM0qB,EAAIC,OAAO3qB,GACX4qB,EAAQ9rB,KAAKoG,MAAMokB,sBAAsB,GACzCuB,EAAM/rB,KAAKoG,MAAMokB,sBAAsB,GAC7C,GAAIoB,GAAKE,GAASF,GAAKG,EAKrB,YAJA/rB,KAAKwG,SAAS,CACZ+jB,oBAAqBqB,EACrBvB,4BAA4B,GAIlC,CACArqB,KAAKwG,SAAS,CACZ+jB,yBAAqBxqB,EACrBsqB,4BAA4B,GAEhC,GAAC,wCAED,SAA4BnpB,GAC1B,GAAa,MAATA,EAAe,CACjB,IAAM8qB,EAAIH,OAAO3qB,GACX4qB,EAAQ9rB,KAAKoG,MAAMskB,sBAAsB,GACzCqB,EAAM/rB,KAAKoG,MAAMskB,sBAAsB,GAC7C,GAAIsB,GAAKF,GAASE,GAAKD,EAKrB,YAJA/rB,KAAKwG,SAAS,CACZikB,oBAAqBuB,EACrB1B,4BAA4B,GAIlC,CACAtqB,KAAKwG,SAAS,CACZikB,yBAAqB1qB,EACrBuqB,4BAA4B,GAEhC,GAAC,0CAED,SAA8BppB,GACf,MAATA,GACEA,EAAQ,GAAKA,GAAS,GACxBlB,KAAKwG,SAAS,CACZmkB,sBAAuBkB,OAAO3qB,GAC9BipB,8BAA8B,IAKpCnqB,KAAKwG,SAAS,CACZmkB,2BAAuB5qB,EACvBoqB,8BAA8B,GAElC,GAEA,0CAIA,WACE,GACEnqB,KAAKoG,MAAMikB,4BACXrqB,KAAKoG,MAAMkkB,4BACXtqB,KAAKoG,MAAM+jB,8BACuB,MAAlCnqB,KAAKoG,MAAMmkB,qBACuB,MAAlCvqB,KAAKoG,MAAMqkB,qBACyB,MAApCzqB,KAAKoG,MAAMukB,sBACX,CACA3kB,QAAQc,KACN,yBAAwB,WACpB9G,KAAKoG,MAAMmkB,oBAAmB,MAAI,UACnCvqB,KAAKoG,MAAMqkB,oBAAmB,MAAI,aAC/BzqB,KAAKoG,MAAMukB,sBAAqB,oBAWxC,IARA,IAMMsB,EAAqB,IANZjsB,KAAKoG,MAAMukB,sBAOpBuB,EAAQ,GACL9jB,EAAI,EAAGA,EAAIpI,KAAKgb,aAAamR,UAAW/jB,IAAK,CACpD,IAAMgkB,EAAqBpsB,KAAKgb,aAAaqR,gBAAgBjkB,GAAG,GAChE8jB,EAAMhqB,KAAKsU,KAAK8V,IAAIL,EAAqBG,GAC3C,CACA,IAAMG,EAAQL,EAAMM,QAAQhW,KAAKhI,IAAG,MAARgI,KAAY0V,IACxClsB,KAAKgb,aAAahB,SAAS,CACzByS,SAAU,CACRzsB,KAAKoG,MAAMmkB,oBACXvqB,KAAKoG,MAAMqkB,qBAEb8B,MAAOA,IAET,IAAMG,EAAQ,IAAI1lB,EAAAA,SAAAA,MAAmB,CACnCmL,YAAa,CACXnS,KAAKoG,MAAMmkB,oBACXvqB,KAAKoG,MAAMqkB,oBACX,GAEFxY,oBAAqBjS,KAAKgb,aAAa/I,sBAEnC5I,EAAM,IAAIrC,EAAAA,IAAAA,IAAY,CAAE+K,SAAU2a,IACxC1sB,KAAKgb,aAAagI,OAAO3Z,EAAKrJ,KAAK0b,iBACnC1b,KAAKwG,UAAS,SAAAJ,GACZ,IAAMgF,EAAiBhF,EAAMgF,eAE7B,OADAA,EAAeuV,IAAItX,EAAI7I,KAChB,CACL4K,eAAAA,EACAkc,oBAAoB,EAExB,GACF,CACF,GAEA,sDAIA,WACEthB,QAAQ2mB,IAAI,mCACZ3sB,KAAKwG,SAAS,CACZ8gB,oBAAoB,EACpB+C,4BAA4B,EAC5BC,4BAA4B,EAC5BH,8BAA8B,EAC9BI,yBAAqBxqB,EACrB0qB,yBAAqB1qB,EACrB4qB,2BAAuB5qB,GAE3B,GAEA,qDAGA,WACEiG,QAAQ8b,MAAM,qCACd,IAAM8B,EAAU5jB,KAAKoG,MAAM2e,gBACrB6H,EAAe5sB,KAAKoG,MAAMolB,qBAC1BqB,EAAS7sB,KAAKoG,MAAMslB,oBACL3rB,IAAjB6sB,QAA0C7sB,IAAZ6jB,GAChC5jB,KAAKgb,aAAa8R,wBAAwB,CAAEF,aAAAA,EAAcC,OAAAA,IAC1D7sB,KAAKwG,SAAS,CACZ6gB,0BAA0B,EAC1BN,oBAAoB,KAGtBzf,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,+CAIR,GAEA,uDAGA,WACEoB,QAAQ8b,MAAM,mCACd9hB,KAAKwG,SAAS,CACZ6gB,0BAA0B,EAC1BN,oBAAoB,GAExB,GAEA,oCAIA,WACE/gB,QAAQc,KAAK,aACb,IAAMqE,EAAOnL,KAAKgb,aAAaqH,aACzBzK,EAAe5X,KAAKgb,aAAa6C,qBACjC7b,EAAWhC,KAAKgb,aAAa+R,uBACjCnV,EAAa,GAAGrO,YAIZoa,EAAW3hB,EAASA,EAAS2E,OAAS,GAKxCgd,EAAS1O,4BAA4BtO,OAAS,GAChDW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,4DAIN,IAGIooB,EAHEC,EAActJ,EAAS1O,4BAA4B,GAEzDjP,QAAQ8b,MAAM,mCAEU/hB,IAApBC,KAAKC,MAAMitB,KACbF,EAAW,IAAI/iB,GAAAA,GAAAA,UAAAA,oCAAuD,CACpEtJ,KAAMX,KAAKC,MAAMitB,KAAKvsB,KACtBwsB,UAAWntB,KAAKC,MAAMitB,KAAKE,SAG7BpnB,QAAQ2U,KAAK,iCACbqS,EAAW,IAAI/iB,GAAAA,GAAAA,UAAAA,oCAAuD,CACpEtJ,KAAM,eAGV,IAAM0sB,EAAqB,IAAIpjB,GAAAA,GAAAA,UAAAA,mBAAsC,CACnEqjB,sBAAuB,IAAIrjB,GAAAA,GAAAA,UAAAA,gBAAmC,CAC5DyH,aAAc,IAAIzH,GAAAA,GAAAA,OAAAA,aAA6B,CAC7C/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,WAEXogB,8BAA+BP,IAEjCQ,sBAAuB,IAAIvjB,GAAAA,GAAAA,UAAAA,gBAAmC,CAC5DyH,aAAc,IAAIzH,GAAAA,GAAAA,OAAAA,aAA6B,CAC7C/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,WAEXogB,8BACE,IAAItjB,GAAAA,GAAAA,UAAAA,oCAAuD,CACzDzJ,IAAKR,KAAKC,MAAMwtB,IAAIjtB,IACpBktB,iBAAkB,8BAClBC,UAAW3tB,KAAKC,MAAMwtB,IAAI9sB,SAGhCitB,eAAgB,IAAI3jB,GAAAA,GAAAA,UAAAA,eAAkC,CACpD4jB,aAAc,IAAI5jB,GAAAA,GAAAA,OAAAA,aAA6B,CAC7C/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,aAEX2gB,4BACE,IAAI7jB,GAAAA,GAAAA,UAAAA,uBAA0C,CAC5CzJ,IAAKysB,EAAYja,YACjBzJ,WAAY0jB,EAAYha,mBACxBrL,oBAAqB+b,EAAS5c,0BAKtCf,QAAQ8b,MAAM,+BAEd,IADA,IAAMiM,EAAkE,GAC/D3lB,EAAI,EAAGA,EAAI+C,EAAKxE,OAAQyB,IAAK,CAAC,IAAD,EAC9BiB,EAAM8B,EAAK/C,GACjB,GAAKpI,KAAKoG,MAAMgF,eAAeG,IAAIlC,EAAI7I,KAAvC,CAGA,IAAIwtB,EAAc3kB,EAAII,YAAY7D,MAChC,SAACtF,GACC,MAAqD,WAA9CA,EAAKsJ,wBAAwB,GAAGC,SACzC,SAEkB9J,IAAhBiuB,GACF1mB,EAAAA,QACEpC,EACA,IAAIL,EACFD,EAA+B,0CAAD,OACYyE,EAAI7I,IAAG,OAKvD,IAuBM8J,EAvBQ,IAAIL,GAAAA,GAAAA,UAAAA,+CAAkE,CAClFgkB,mBAAoB,IAAIhkB,GAAAA,GAAAA,UAAAA,mBAAsC,CAC5DzJ,IAA+B,QAA5B,EAAE6I,EAAImJ,WAAWC,mBAAW,QAAIpJ,EAAI7I,IACvC+I,WAAW,QAAD,OAAUnB,EAAI,KAE1B8lB,iBAAkB,IAAIjkB,GAAAA,GAAAA,aAAAA,cAAoC,CACxDyY,YAAarZ,EAAI0I,SAAS2Q,YAC1BC,YAAatZ,EAAI0I,SAAS4Q,YAC1B1Q,oBAAqB5I,EAAI0I,SAASE,sBAEpC+b,YAAa,IAAI/jB,GAAAA,GAAAA,OAAAA,aAA6B,CAC5C/I,MAAO8sB,EAAY7jB,oBAAoB,GAAGN,UAC1CqD,iBACE8gB,EAAY7jB,oBAAoB,GAAG8D,uBACrCd,QAAS6gB,EAAY7jB,oBAAoB,GAAGJ,cAE9CokB,uBAAwB9kB,EAAII,YAAYga,QACtC,SAACnjB,GACC,MAAqD,WAA9CA,EAAKsJ,wBAAwB,GAAGC,SACzC,IAEFS,aAAcjB,EAAIiB,eAGpBA,EAAa,GAAGiX,wBAA0B,CAAC,CACzC6M,gBAAiB,OACjB5M,mBAAoB,SAEtBuM,EAAoB7rB,KAAI,MAAxB6rB,GAAmB,QAASzjB,GA5C5B,CA6CF,CAEAtE,QAAQ8b,MAAM,8CACd,IAAMuM,EAAoB,IAAIpkB,GAAAA,GAAAA,UAAAA,kBAAqC,CACjEqkB,oCAAqC,IAAIrkB,GAAAA,GAAAA,UAAAA,oCAAuD,CAAC,GACjGojB,mBAAoBA,EACpBkB,kBAAmB,IAAItkB,GAAAA,GAAAA,OAAAA,aAA6B,CAClD/I,MAAO,SACPgM,iBAAkB,MAClBC,QAAS,wBAEX4gB,oBAAqBA,IAGvB/nB,QAAQc,KAAK,uCACb,IAAM6M,EAAU,IAAI1J,GAAAA,GAAAA,UAAAA,kBAAqC,CACvDmF,QAASif,EAAkB,GAC3BG,SAAU,CAAC7K,GACX1b,kBAAmBgC,GAAAA,GAAAA,oBAAAA,MACnBwkB,aAAc,EACdC,kBAAmB,aACnB3R,eAAgB9S,GAAAA,GAAAA,oBAAAA,MAChB0kB,eAAgB,EAChBC,aAAc,8BACdC,sBAAkB9uB,IAGpBC,KAAKwG,SAAS,CACZ4jB,sBAAsB,EACtBF,gBAAiBvW,GAErB,GAEA,sCAKA,WACE3N,QAAQc,KAAK,kBAEb,IAAMuK,EAASrR,KAAKoG,MAAM8jB,gBAC1B,QAAenqB,IAAXsR,EAAsB,CACxB,IAAMsC,EAAUtC,EAChBrL,QAAQ8b,MAAM,gCACd,IAAMgN,EAAkC,IAAIC,WAAW,GACvDD,EAAgC,GAAK,EACrC,IAAME,EAAW,CAEf,WAAY,CACVC,MAAO,CAACH,EAAgCI,QACxCC,GAAI,MAGN,WAAY,CACVF,MAAO,CAACtb,EAAQ0N,aAChB8N,GAAI,MAGN,WAAY,CACVF,MAAO,CAACtb,EAAQkJ,gBAChBsS,GAAI,MAGN,WAAY,CACVF,MAAO,CAAC,uBACRE,GAAI,MAGN,WAAY,CACVF,MAAO,CAACjvB,KAAKC,MAAMwtB,IAAIjtB,KACvB2uB,GAAI,OAIRnpB,QAAQc,KAAK,sCACb,IAAMsoB,EAAS,IAAInlB,GAAAA,GAAAA,UAAqB+kB,GACxCI,EAAOnS,KAAOhT,GAAAA,GAAAA,oBAAAA,oBAAmD0J,GACjE,IAAMub,EAASE,EAAOC,QACPrvB,KAAKC,MAAMiH,QAAQlD,EAAeod,qBAC1CkO,eAAe,CAAEC,SAAU,CAACL,KAAWzS,MAC5C,SAAC+S,GAAa,OAAKzqB,EAAAA,GAAAA,KAAa,0BAA0B,IAC1D6Y,OAAM,WAENtW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,kCAGN,GACF,CACA5E,KAAKwG,SAAS,CACZ4jB,sBAAsB,EACtBF,qBAAiBnqB,GAErB,GAEA,sCAGA,WACEC,KAAKwG,SAAS,CACZ4jB,sBAAsB,EACtBF,qBAAiBnqB,GAErB,GAEA,uCAIA,YAAkE,IAAD,OAApCqJ,EAAM,EAANA,OAC3BpD,QAAQ2mB,IAAI,gBAAD,OAAiBvjB,IAC5BpJ,KAAKwG,SAAS,CAAEkF,gBAAiB,IAAI6U,IAAI,CAACnX,MAC1CpJ,KAAKgb,aAAaqH,aAAa3Y,SAAQ,SAACL,GACtC,IAAI3B,EAAQ,CAAC,EACb,GAAI2B,EAAI7I,MAAQ4I,EACd1B,EAAQ,EAAKwU,iBACb,EAAK1V,UAAS,SAAAJ,GACZ,IAAMgF,EAAiBhF,EAAMgF,eAE7B,OADAA,EAAeuV,IAAItX,EAAI7I,KAChB,CAAE4K,eAAAA,EACX,SAEA,GAAI,EAAKhF,MAAMgF,eAAeG,IAAIlC,EAAI7I,KAAM,CAC1C,IAAMiI,EAAMgS,GAAWpR,GACvB3B,EAAQ,EAAKwZ,YAAYzY,EAC3B,CAEF,EAAKuS,aAAawK,YAAYnc,EAAI7I,IAAKkH,EACzC,GACF,GAEA,8CAIA,YAGU,IAH0B0B,EAAM,EAANA,OAIlC,GAJmD,EAATE,UAI3B,CACbtD,QAAQc,KAAK,YAAD,OAAasC,IACzB,IAAMC,EAAMrJ,KAAKgb,aAAayU,OAAOrmB,GAC/BX,EAAMgS,GAAWpR,GACvBrJ,KAAKgb,aAAawK,YAAYnc,EAAI7I,IAAKR,KAAKkhB,YAAYzY,IACxDzI,KAAKwG,UAAS,SAAAJ,GACZ,IAAMgF,EAAiBhF,EAAMgF,eAE7B,OADAA,EAAeuV,IAAItX,EAAI7I,KAChB,CAAE4K,eAAAA,EACX,GACF,MACEpF,QAAQc,KAAK,YAAD,OAAasC,IACzBpJ,KAAKwG,UAAS,SAAAJ,GACZ,IAAMsF,EAAkBtF,EAAMsF,gBAC9BA,EAAgBsa,OAAO5c,GACvB,IAAMgC,EAAiBhF,EAAMgF,eAE7B,OADAA,EAAe4a,OAAO5c,GACf,CAAEgC,eAAAA,EAAgBM,gBAAAA,EAC3B,IACA1L,KAAKgb,aAAawK,YAAYpc,EAAQ,CAAC,EAE3C,GAEA,mDAIA,YAGU,IAH+BmD,EAAkB,EAAlBA,mBAAoBjD,EAAS,EAATA,UAK3D,GADAtD,QAAQ2mB,IAAI,yCAAD,OAA0CpgB,IACjDjD,EAAW,CACbtD,QAAQc,KAAK,yBAAD,OAA0ByF,IACtC,IACEvM,KAAKgb,aAAa0U,oBAAoBnjB,EAWxC,CAVE,MAAO9G,GASP,MAPA6B,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,qCAGEa,CACR,CACAzF,KAAKwG,UAAS,SAAAJ,GACZ,IAAM4J,EAA6B,IAAIuQ,IACrCna,EAAM4J,4BAGR,OADAA,EAA2B2Q,IAAIpU,GACxB,CAAEyD,2BAAAA,EACX,GACF,MACEhK,QAAQc,KAAK,yBAAD,OAA0ByF,IACtCvM,KAAKgb,aAAa2U,oBAAoBpjB,GACtCvM,KAAKwG,UAAS,SAAAJ,GACZ,IAAM4J,EAA6B,IAAIuQ,IACrCna,EAAM4J,4BAGR,OADAA,EAA2BgW,OAAOzZ,GAC3B,CAAEyD,2BAAAA,EACX,GAEJ,GAEA,8CAGA,YAOU,IAP0BzD,EAAkB,EAAlBA,mBAAoBG,EAAY,EAAZA,aAQtD1G,QAAQ2mB,IAAI,oCAAD,OAAqCpgB,IAChD,IACEvM,KAAKgb,aAAa8I,wBAChBvX,EACAG,EAYJ,CAVE,MAAOjH,GASP,MAPA6B,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,gDAGEa,CACR,CACF,GAEA,2CAIA,YAGU,IAHuB2T,EAAU,EAAVA,WAAY9P,EAAS,EAATA,UAI3CtD,QAAQ2mB,IAAI,gCAAD,OAAiCvT,IACxC9P,GACFtD,QAAQc,KAAK,gBAAD,OAAiBsS,IAC7BpZ,KAAKgb,aAAa4U,YAAYxW,GAC9BpZ,KAAKwG,UAAS,SAAAJ,GACZ,IAAMoT,EAAqB,IAAI+G,IAAIna,EAAMoT,oBAEzC,OADAA,EAAmBmH,IAAIvH,GAChB,CAAEI,mBAAAA,EACX,MAEAxT,QAAQc,KAAK,gBAAD,OAAiBsS,IAC7BpZ,KAAKgb,aAAa6U,YAAYzW,GAC9BpZ,KAAKwG,UAAS,SAAAJ,GACZ,IAAMoT,EAAqB,IAAI+G,IAAIna,EAAMoT,oBAEzC,OADAA,EAAmBwM,OAAO5M,GACnB,CAAEI,mBAAAA,EACX,IAEJ,GAEA,sCAGA,YAKU,IALkBJ,EAAU,EAAVA,WAAY1M,EAAY,EAAZA,aAMtC1G,QAAQ2mB,IAAI,2BAAD,OAA4BvT,IACvCpZ,KAAKgb,aAAa8U,gBAAgB1W,EAAY1M,EAChD,GAEA,2CAIA,YAGU,IAHuBmM,EAAU,EAAVA,WAAYvP,EAAS,EAATA,UAI3CtD,QAAQ2mB,IAAI,gCAAD,OAAiC9T,IACxCvP,GACFtD,QAAQc,KAAK,gBAAD,OAAiB+R,IAC7B7Y,KAAKgb,aAAa+U,qBAAqBlX,GACvC7Y,KAAKwG,UAAS,SAAAJ,GACZ,IAAM4S,EAAqB,IAAIuH,IAAIna,EAAM4S,oBAEzC,OADAA,EAAmB2H,IAAI9H,GAChB,CAAEG,mBAAAA,EACX,MAEAhT,QAAQc,KAAK,gBAAD,OAAiB+R,IAC7B7Y,KAAKgb,aAAagV,qBAAqBnX,GACvC7Y,KAAKwG,UAAS,SAAAJ,GACZ,IAAM4S,EAAqB,IAAIuH,IAAIna,EAAM4S,oBAEzC,OADAA,EAAmBgN,OAAOnN,GACnB,CAAEG,mBAAAA,EACX,IAEJ,GAEA,sCAGA,YAKU,IALkBH,EAAU,EAAVA,WAAYnM,EAAY,EAAZA,aAMtC1G,QAAQ2mB,IAAI,2BAAD,OAA4B9T,IACvC7Y,KAAKgb,aAAaiV,yBAAyBpX,EAAYnM,EACzD,GAEA,+CAIA,YAGU,IAH2BsJ,EAAqB,EAArBA,sBAAuB1M,EAAS,EAATA,UAI1DtD,QAAQ2mB,IAAI,qCAAD,OAAsC3W,IAC7C1M,GACFtD,QAAQc,KAAK,qBAAD,OAAsBkP,IAClChW,KAAKgb,aAAa0F,gBAAgB1K,GAClChW,KAAKwG,UAAS,SAAAJ,GACZ,IAAMkS,EAAgC,IAAIiI,IACxCna,EAAMkS,+BAGR,OADAA,EAA8BqI,IAAI3K,GAC3B,CAAEsC,8BAAAA,EACX,MAEAtS,QAAQc,KAAK,qBAAD,OAAsBkP,IAClChW,KAAKgb,aAAa+C,gBAAgB/H,GAClChW,KAAKwG,UAAS,SAAAJ,GACZ,IAAMkS,EAAgC,IAAIiI,IACxCna,EAAMkS,+BAGR,OADAA,EAA8B0N,OAAOhQ,GAC9B,CAAEsC,8BAAAA,EACX,IAEJ,GAEA,0CAGA,YAOU,IAPsBtC,EAAqB,EAArBA,sBAAuBtJ,EAAY,EAAZA,aAQrD1G,QAAQ2mB,IAAI,gCAAD,OAAiC3W,IAC5ChW,KAAKgb,aAAakD,oBAAoBlI,EAAuBtJ,EAC/D,GAEA,6CAIA,YAGU,IAHyBsJ,EAAqB,EAArBA,sBAAuByB,EAAQ,EAARA,SAIxDzR,QAAQ2mB,IAAI,mCAAD,OAAoC3W,IAC3CyB,GACFzR,QAAQc,KAAK,yBAAD,OAA0BkP,IACtChW,KAAKgb,aAAayF,oBAAoBzK,GACtChW,KAAKwG,UAAS,SAAAJ,GACZ,IAAMiS,EAA+B,IAAIkI,IACvCna,EAAMiS,8BAGR,OADAA,EAA6BsI,IAAI3K,GAC1B,CAAEqC,6BAAAA,EACX,MAEArS,QAAQc,KAAK,2BAAD,OAA4BkP,IACxChW,KAAKgb,aAAagD,sBAAsBhI,GACxChW,KAAKwG,UAAS,SAAAJ,GACZ,IAAMiS,EAA+B,IAAIkI,IACvCna,EAAMiS,8BAGR,OADAA,EAA6B2N,OAAOhQ,GAC7B,CAAEqC,6BAAAA,EACX,IAEJ,GAEA,yCAIA,WAAsC,IAAD,OAC7BC,EAA6C,IAAIiI,IACjD3I,EAAe5X,KAAKgb,aAAa6C,qBAkCvC,GAjCAjG,EAAasY,MAAK,SAAC1N,EAAGC,GACpB,OAAiD,IAA7CD,EAAEjZ,WAAW4mB,cAAc1N,EAAElZ,YACxB,EAC+C,IAA7CkZ,EAAElZ,WAAW4mB,cAAc3N,EAAEjZ,aAC9B,EAEH,CACT,IACAqO,EAAalO,SAAQ,SAACpJ,GACpB,IAAMiJ,EAAajJ,EAAKiJ,WAClB7B,EAAQ,EAAKsT,aAAaiD,2BAA2B1U,GAC3D,EAAKyR,aAAakD,oBAAoB3U,EAAY7B,GAClD,EAAKsT,aAAa+C,gBAAgBxU,GAClC,EAAKyR,aAAagD,sBAAsBzU,GACpCjJ,EAAKqW,gBAKgC,MAAnCrW,EAAK8vB,4BACP9X,EAA8BqI,IAAIpX,GAIpC+O,EAA8BqI,IAAIpX,EAEtC,IAO2C,IAAvC+O,EAA8B/W,KAAY,CAC5C,IAAM8uB,EAAgB,CACpB,CAAC,IAAK,IAAK,MAEbzY,EAAalO,SAAQ,SAACpJ,GACpB,IAAMiJ,EAAajJ,EAAKiJ,WACxB,GAAIjJ,EAAKqW,gBAAiB,CACxB,IAAM2Z,EAAahY,EAA8B/W,KACjD,GAAI+uB,EAAaD,EAAc1pB,OAAQ,CACrC,IAAMe,GAAK,UACN,EAAKsT,aAAa4L,oBAAoBrd,IAErChJ,EAAQ+vB,EACd5oB,EAAM4E,MAAQ+jB,EAAc9vB,GAC5B,IAAMmmB,EAAQ,EAAKtgB,MAAM+f,oBAAoB7lB,EAAKiJ,YACrC,MAATmd,IACFhf,EAAMiF,YAAc,CAAC+Z,EAAMlY,IAAKkY,EAAMjY,MAExC,EAAKuM,aAAakD,oBAAoB5d,EAAKiJ,WAAY7B,GACvD4Q,EAA8BqI,IAAIrgB,EAAKiJ,WACzC,CACF,CACF,GACF,CAEAvD,QAAQc,KACN,qBAAcwR,EAA8B/W,KAAI,mBAChD,qBAEF+W,EAA8B5O,SAAQ,SAAAH,GACpC,EAAKyR,aAAa0F,gBAAgBnX,EACpC,IACAvJ,KAAKwG,UAAS,SAAAJ,GAAK,MAAK,CACtBiS,6BAA8B,IAAIkI,IAAIjI,GACtCA,8BAA+B,IAAIiI,IAAIjI,GACxC,GACH,GAEA,0CAIA,WACEtY,KAAKwG,SAAS,CAAEgX,kCAA8Bzd,IAC9C,IAAMwwB,EAAUvwB,KAAKC,MAAM6Z,SAASkH,SACpChhB,KAAKC,MAAM+Z,SAASuW,GACpBvwB,KAAK0kB,6BACP,GAEA,8CAIA,SACExjB,EACA6L,GAIE,IAAIoQ,EAFN,GAAa,MAATjc,EAQF,GAPA8E,QAAQc,KAAK,uCAAD,OAAwC5F,EAAK,MAEzDlB,KAAKoG,MAAMsX,mBAAmBhU,SAAQ,SAAAkT,GAChCA,EAASC,iBAAmB3b,IAC9Bic,EAAoBP,EAExB,IACyB,MAArBO,EAA2B,CAC7B,IAAIoT,EAAUvwB,KAAKC,MAAM6Z,SAASkH,SAClCuP,GAAO,iBAAcrvB,GACrBlB,KAAKC,MAAM+Z,SAASuW,GACpBvwB,KAAKyd,qBAAqBN,EAC5B,MAEE7V,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,0CAGJoB,QAAQ2mB,IACN,mDAAkD,mCACtBzrB,EAAK,WAIrClB,KAAKgqB,+BAEPhqB,KAAKwG,SAAS,CAAEgX,6BAA8Btc,GAChD,GAEA,8BAIA,WACMlB,KAAKoG,MAAM2gB,oBACb/gB,QAAQc,KAAK,8BACb9G,KAAKgb,aAAagM,4BAClBhnB,KAAKgb,aAAaG,0BAA0B,CAAC,GAC7Cnb,KAAKwG,SAAS,CACZ6gB,0BAA0B,EAC1BhC,2BAA2B,EAC3B8B,wBAAwB,EACxBJ,oBAAoB,EACpBE,yBAAyB,EACzBK,oBAAoB,MAGtBthB,QAAQc,KAAK,4BACb9G,KAAKwG,SAAS,CACZ6gB,0BAA0B,EAC1BhC,2BAA2B,EAC3B0B,oBAAoB,EACpBE,yBAAyB,EACzBE,wBAAwB,EACxBG,oBAAoB,IAEtBtnB,KAAKgb,aAAawV,8BAClBxwB,KAAKgb,aAAayV,4BAClBzwB,KAAKgb,aAAaoM,iCAClBpnB,KAAKgb,aAAakM,8BAEtB,GAEA,mCAIA,WACElhB,QAAQc,KAAK,+BACT9G,KAAKgb,aAAa0V,2BACpB1wB,KAAKgb,aAAakM,8BAClBlnB,KAAKgb,aAAayV,4BAClBzwB,KAAKgb,aAAaG,0BAA0B,CAAC,GAC7Cnb,KAAKwG,SAAS,CACZ2gB,wBAAwB,EACxBJ,oBAAoB,EACpBE,yBAAyB,MAG3BjnB,KAAKwG,SAAS,CACZygB,yBAAyB,EACzBF,oBAAoB,EACpBI,wBAAwB,IAE1BnnB,KAAKgb,aAAagM,4BAClBhnB,KAAKgb,aAAaoM,iCAClBpnB,KAAKgb,aAAawV,8BAClBxwB,KAAKgb,aAAa2V,wBAAwB,CAAC,GAC3C3wB,KAAKgb,aAAa4V,0BAA0B,CAAC,GAEjD,GAEA,kCAIA,WACE5qB,QAAQc,KAAK,8BACT9G,KAAKgb,aAAa6V,8BACpB7wB,KAAKgb,aAAaoM,iCAClBpnB,KAAKwG,SAAS,CACZ2gB,wBAAwB,EACxBJ,oBAAoB,EACpBE,yBAAyB,MAG3BjnB,KAAKwG,SAAS,CACZ2gB,wBAAwB,EACxBJ,oBAAoB,EACpBE,yBAAyB,IAE3BjnB,KAAKgb,aAAakM,8BAClBlnB,KAAKgb,aAAayV,4BAClBzwB,KAAKgb,aAAagM,4BAClBhnB,KAAKgb,aAAawV,8BAClBxwB,KAAKgb,aAAa8V,6BAA6B,CAAC,GAEpD,GAAC,wBAED,WACE9wB,KAAKgb,aAAagM,4BAClBhnB,KAAKgb,aAAakM,8BAClBlnB,KAAKgb,aAAayV,4BAClBzwB,KAAKgb,aAAaoM,iCAClBpnB,KAAKgb,aAAawV,8BAClBxwB,KAAKwG,SAAS,CACZ8gB,oBAAoB,EACpBD,0BAA0B,EAC1BhC,2BAA2B,EAC3B+E,sBAAsB,EACtBjD,wBAAwB,EACxBF,yBAAyB,EACzBF,oBAAoB,GAExB,GAEA,8BAIA,WAA2B,IAAD,OACxB/mB,KAAKgb,aAAagM,4BAClBhnB,KAAKgb,aAAayV,4BAClBzwB,KAAKgb,aAAaoM,iCAClBpnB,KAAKgb,aAAakM,8BACdlnB,KAAKoG,MAAMsF,gBAAgBnK,KAAO,GACpCvB,KAAKoG,MAAMsF,gBAAgBhC,SAAQ,SAAAlJ,QACrBT,IAARS,GAKJwF,QAAQc,KAAK,eAAD,OAAgBtG,EAAG,MAC/B,EAAKwa,aAAa+V,UAAUvwB,GAE5BuE,EAAAA,GAAAA,KAAa,2BANXA,EAAAA,GAAAA,QAAgB,yCAOpB,IACA/E,KAAKwG,SAAS,CACZkF,gBAAiB,IAAI6U,IACrB4G,wBAAwB,EACxBJ,oBAAoB,EACpBE,yBAAyB,MAG3BjnB,KAAKoG,MAAMgF,eAAe1B,SAAQ,SAAAlJ,GAChCwF,QAAQc,KAAK,eAAD,OAAgBtG,EAAG,MAC/B,EAAKwa,aAAa+V,UAAUvwB,EAC9B,IACAR,KAAKwG,SAAS,CACZ4E,eAAgB,IAAImV,IACpB4G,wBAAwB,EACxBJ,oBAAoB,EACpBE,yBAAyB,KAG7BjnB,KAAKgb,aAAaG,0BAA0B,CAAC,EAC/C,GAEA,uCAIA,WAAoC,IAAD,OACjCnV,QAAQc,KAAK,6BACT9G,KAAKgb,aAAagW,gBACpBhxB,KAAKgb,aAAagM,4BAClBhnB,KAAKgb,aAAayV,4BAClBzwB,KAAKgb,aAAaoM,iCAClBpnB,KAAKgb,aAAawV,8BAClBxwB,KAAKgb,aAAakM,8BAClBlnB,KAAKgb,aAAaiW,WAClBjxB,KAAKwG,SAAS,CACZokB,eAAe,EACf7D,oBAAoB,EACpBE,yBAAyB,EACzBE,wBAAwB,MAG1BnnB,KAAKgb,aAAakW,WAClBlxB,KAAKgb,aAAaG,0BAA0B,CAAC,GAC7Cnb,KAAKoG,MAAMsF,gBAAgBhC,SAAQ,SAAAlJ,QACrBT,IAARS,GACF,EAAKwa,aAAawK,YAAYhlB,EAAK,EAAK0b,iBAE5C,IACAlc,KAAKwG,SAAS,CAAEokB,eAAe,IAEnC,GAAC,oBAED,WAA4B,IAAD,OACnBzf,EAAsB,GACtBoO,EAAkC,GAClCR,EAA2C,GAC3ChJ,EAAqD,GAC3D5E,EAAKjJ,KAAI,MAATiJ,GAAI,QAASnL,KAAKgb,aAAaqH,eAC/B9I,EAASrX,KAAI,MAAbqX,GAAQ,QAASvZ,KAAKgb,aAAamW,mBACnCpY,EAAS7W,KAAI,MAAb6W,GAAQ,QAAS/Y,KAAKgb,aAAaoW,4BACnCrhB,EAAiB7N,KAAI,MAArB6N,GAAgB,QAAS/P,KAAKgb,aAAaqW,2BAE3C,IAIIhgB,EAMAigB,EAVEC,EAAmB,CACvB,YAAa,gBAAiB,cAAe,uBAIzC5d,EAAU3T,KAAKoG,MAAM8jB,qBACXnqB,IAAZ4T,IACFtC,GAAS,SAAC,GAAM,CAACsC,QAASA,KAIxBxI,EAAKxE,OAAS,IAChB2qB,GACE,SAAC,GAAc,CACbnmB,KAAMA,EACNO,gBAAiB1L,KAAKoG,MAAMsF,gBAC5BN,eAAgBpL,KAAKoG,MAAMgF,eAC3BE,YAAatL,KAAK6oB,0BAClB1f,mBAAoBnJ,KAAK8oB,oCAK/B,IAAMzN,EAAiBrb,KAAKqb,eAAehb,KAAI,SAAAujB,GAC7C,OACE,SAAC,YAAa,CAEZ1iB,MAAO0iB,EAAQ/Z,UAAU,SAExB+Z,EAAQ7Z,aAHJ6Z,EAAQ/Z,UAMnB,IAEM2nB,EAAiE,CACrE9E,OAAO,SAAC,YAAa,CAAaxrB,MAAM,QAAO,kBAArB,SAC1B4a,QAAQ,SAAC,YAAa,CAAc5a,MAAM,SAAQ,mBAAvB,UAC3BuwB,KAAK,SAAC,YAAa,CAAWvwB,MAAM,MAAK,gBAAjB,OACxBwwB,SAAS,SAAC,YAAa,CAAexwB,MAAM,UAAS,oBAAzB,WAC5BywB,MAAM,SAAC,YAAa,CAAYzwB,MAAM,OAAM,iBAAnB,QACzB0wB,iBACE,SAAC,YAAa,CAAuB1wB,MAAM,kBAAiB,+BAAzC,mBAIrB2wB,cACE,SAAC,YAAa,CAAoB3wB,MAAM,eAAc,4BAAnC,iBAMjB4wB,EAA8C,EAEhD,SAAC,KAAM,CACLpqB,MAAO,CAAEoH,SAAU,KACnBtG,SAAUxI,KAAKyoB,iCAEfsJ,0BAAwB,WAEvB1W,GAHG,uBAQJ0J,EAAkB/kB,KAAKoG,MAAM2e,gBACnC,QAAwBhlB,IAApBglB,EAA+B,CACjC,IAAMtc,EAAM6R,GAAUyK,GACtB/kB,KAAKsb,kBAAkB7S,GAAKiB,SAAQ,SAAA2I,GAClC,IAAMiJ,EAAoBjJ,EAAW1G,OAAOtL,KAAI,SAAAmnB,GAC9C,OACE,SAAC,YAAa,CAEZtmB,MAAOsmB,EAAK3d,UACZnJ,MAAO2R,EAAW1R,KAAK,SAEtB6mB,EAAKzd,aAJDyd,EAAK3d,UAOhB,IACAioB,EAAyB5vB,MACvB,gCACGmQ,EAAW1R,KAAKoJ,aACjB,SAAC,KAAM,CACLrC,MAAO,CAAEoH,SAAU,KACnBtG,SAAU,EAAKkgB,oCACf/P,YAAU,EACVqZ,QAAS,EAAKrJ,oCACdoJ,0BAA0B,EAAM,SAE/BzW,OAIT,IACA,IAAMC,EAAsBvb,KAAKub,oBAAoB9S,GAAKpI,KAAI,SAAAM,GAC5D,OAAO6wB,EAA2B7wB,EACpC,IACAmxB,EAAyB5vB,MACvB,qDAEE,SAAC,KAAM,CACLwF,MAAO,CAAEoH,SAAU,KACnBtG,SAAUxI,KAAKuoB,sCAAsC,SAGpDhN,GAFG,gCAMVuW,EAAyB5vB,MACvB,SAAC,KAAQ,CACP6I,SAAU/K,KAAKwoB,sCAAsC,oBACjD,0BAKV,CAEA,IAAMyJ,GACJ,SAAC,YAAY,CAAiB7wB,MAAM,YAAW,UAC7C,SAAC,GAAY,CACXY,SAAUhC,KAAKC,MAAMwG,MAAMqU,aAAa,GACxCtF,WAAW,KAHG,aAQd0c,GACJ,SAAC,YAAY,CAAiB9wB,MAAM,YAAW,UAC7C,SAAC,GAAS,CAACY,SAAUhC,KAAKC,MAAMwG,MAAMqU,aAAa,MADnC,aAKdlD,EAAe5X,KAAKgb,aAAa6C,qBACvCjG,EAAasY,MAAK,SAAC1N,EAAGC,GACpB,OAAiD,IAA7CD,EAAEjZ,WAAW4mB,cAAc1N,EAAElZ,YACxB,EAC+C,IAA7CkZ,EAAElZ,WAAW4mB,cAAc3N,EAAEjZ,aAC9B,EAEH,CACT,IACA,IAAMuU,EAOF,CAAC,EACCqU,EAEF,CAAC,EACLva,EAAalO,SAAQ,SAAAqM,GACnB,IAAMxM,EAAawM,EAAYxM,WACzBvH,EAAW,EAAKgZ,aAAa+R,uBAAuBxjB,GAC1D4oB,EAAoB5oB,GAAcvH,EAClC,IAAM0F,GAAK,UACN,EAAKsT,aAAa4L,oBAAoBrd,IAE3CuU,EAAkBvU,GAAc7B,CAClC,IACA,IAgBI0qB,EAgDAC,EAkCAC,EAiCAC,EAmCAC,EAtKEC,GACJ,SAAC,YAAY,CAAqBrxB,MAAM,gBAAe,UACrD,SAAC,GAAe,CACdY,SAAUmwB,EACVva,aAAcA,EACdW,yBAA0BuF,EAC1BxF,8BAA+BtY,KAAKoG,MAAMkS,8BAC1CD,6BAA8BrY,KAAKoG,MAAMiS,6BACzCG,8BAA+BxY,KAAK4pB,kCACpCnR,yBAA0BzY,KAAK6pB,6BAC/BrS,4BAA6BxX,KAAK8pB,gCAClCtM,6BAA8Bxd,KAAKoG,MAAMoX,gCAV3B,iBAgBpB,GAAIxd,KAAKoG,MAAMsX,mBAAmB/W,OAAS,EAAG,CAC5C,IAAM+rB,EAA2B,GACjC1yB,KAAKoG,MAAMsX,mBAAmBhU,SAAQ,SAAAkT,GACpC8V,EAAyBxwB,MACvB,SAAC,YAAa,CAEZhB,MAAO0b,EAASC,eAChB3O,0BAA0B,EAC1B3M,KAAK,QAAO,SAEXqb,EAAS+V,oBALL/V,EAASC,gBAQpB,IACA6V,EAAyBxwB,MACvB,SAAC,YAAa,CAEZhB,MAAO,KACPgN,0BAA0B,EAC1B3M,KAAK,SAHD,+BAQR6wB,GACE,SAAC,YAAY,CAA2BhxB,MAAM,sBAAqB,UACjE,UAAC,KAAK,CAACyJ,MAAM,SAAStJ,KAAM,GAAImG,MAAO,CAAEgR,QAAS,QAAS,WACzD,SAAC,KAAM,CACLhR,MAAO,CAAEoH,SAAU,IAAK8jB,SAAU,KAClCpqB,SAAUxI,KAAK+pB,iCAEf7oB,MAAOlB,KAAKoG,MAAMoX,6BAA6B,SAE9CkV,GAHG,wBAKN,SAAC,KAAO,CAACtxB,MAAM,QAAO,UACpB,SAAC,KAAG,CACFD,MAAM,SAAC0xB,GAAA,EAAY,IACnB/tB,KAAK,UACL8G,QAAS5L,KAAKgqB,qCAdJ,sBAoBtB,CAGA,GAAIzQ,EAAS5S,OAAS,EAAG,CACvB,IAAM8S,EAIF,CAAC,EACCqZ,EAEF,CAAC,EACCvZ,EAAWvZ,KAAKgb,aAAamW,iBACnC5X,EAAS7P,SAAQ,SAAA2P,GACfI,EAAqBJ,EAAQ7Y,KAAO,EAAKwa,aAAa+X,gBACpD1Z,EAAQ7Y,KAEVsyB,EAAgBzZ,EAAQ7Y,KAAO,EAAKwa,aAAagY,mBAC/C3Z,EAAQ7Y,IAEZ,IACA6xB,GACE,SAAC,YAAY,CAAqBjxB,MAAM,gBAAe,UACrD,SAAC,GAAW,CACVmY,SAAUA,EACVvX,SAAU8wB,EACVrZ,qBAAsBA,EACtBD,mBAAoBxZ,KAAKoG,MAAMoT,mBAC/BE,0BAA2B1Z,KAAKwpB,8BAChC7P,qBAAsB3Z,KAAKypB,4BAPb,iBAWpB8H,EAAiBrvB,KAAK,gBACxB,CAGA,GAAI6W,EAASpS,OAAS,EAAG,CACvB,IAAMsS,EAIF,CAAC,EACCga,EAEF,CAAC,EACLla,EAASrP,SAAQ,SAAAoP,GACfG,EAAqBH,EAAQtY,KAAO,EAAKwa,aAAakY,yBACpDpa,EAAQtY,KAEVyyB,EAAgBna,EAAQtY,KAAO,EAAKwa,aAAamY,4BAC/Cra,EAAQtY,IAEZ,IACA8xB,GACE,SAAC,YAAY,CAAsBlxB,MAAM,kBAAiB,UACxD,SAAC,GAAW,CACV2X,SAAUA,EACV/W,SAAUixB,EACVha,qBAAsBA,EACtBD,mBAAoBhZ,KAAKoG,MAAM4S,mBAC/BE,0BAA2BlZ,KAAK0pB,8BAChCvQ,qBAAsBnZ,KAAK2pB,4BAPb,kBAWpB4H,EAAiBrvB,KAAK,kBACxB,CAGA,GAAI6N,EAAiBpJ,OAAS,EAAG,CAC/B,IAAMsJ,EAKF,CAAC,EACCmjB,EAEF,CAAC,EACCrjB,EAAmB/P,KAAKgb,aAAaqW,yBAC3CthB,EAAiBrG,SAAQ,SAAA8C,GACvByD,EAA6BzD,EAAgBhM,KAAO,EAAKwa,aAAaqY,wBACpE7mB,EAAgBhM,KAElB4yB,EAAwB5mB,EAAgBhM,KAAO,EAAKwa,aAAasY,2BAC/D9mB,EAAgBhM,IAEpB,IACA+xB,GACE,SAAC,YAAY,CAAyBnxB,MAAM,oBAAmB,UAC7D,SAAC,GAAmB,CAClB2O,iBAAkBA,EAClB/N,SAAUoxB,EACVnjB,6BAA8BA,EAC9BD,2BAA4BhQ,KAAKoG,MAAM4J,2BACvCE,kCAAmClQ,KAAK+oB,sCACxC5Y,6BAA8BnQ,KAAKgpB,oCAPrB,qBAWpBuI,EAAiBrvB,KAAK,mBACxB,CAGA,IAAIqxB,EAAgB,MACdC,EAAkB,EACtB,SAAC,GAAM,CACL/iB,QAAQ,mBACRtP,KAAMsyB,EAAAA,IACN7nB,QAAS5L,KAAKynB,iBACdjX,WAAYxQ,KAAKoG,MAAM2gB,oBACnB,oBAEN,SAAC,GAAM,CACLtW,QAAQ,sBACRtP,KAAMuyB,EAAAA,IACN9nB,QAAS5L,KAAK0nB,sBACdlX,WAAYxQ,KAAKoG,MAAM6gB,yBACnB,sBAEN,SAAC,GAAM,CACLxW,QAAQ,yBACRtP,KAAMwyB,EAAAA,IACN/nB,QAAS5L,KAAK2nB,qBACdnX,WAAYxQ,KAAKoG,MAAM+gB,wBACnB,yBAEN,SAAC,GAAM,CACL1W,QAAQ,8BACR7E,QAAS5L,KAAK4nB,iBACdzmB,KAAMyyB,EAAAA,KACF,sBAEN,SAAC,GAAM,CACLnjB,QAAQ,yBACRtP,KAAMnB,KAAKoG,MAAMwkB,cAAgBiJ,EAAAA,IAAQC,EAAAA,IACzCloB,QAAS5L,KAAK6nB,0BACdrX,WAAYxQ,KAAKoG,MAAMwkB,eACnB,iCAEN,SAAC,GAAM,CACLna,QAAQ,oBACRtP,KAAM4yB,EAAAA,IACNnoB,QAAS5L,KAAK8nB,wBACV,2BAGFkM,EAAe,EACnB,SAAC,GAAM,CACLvjB,QAAQ,gBACRtP,KAAM8yB,EAAAA,GACNroB,QAAS5L,KAAK+nB,YACV,gCAGJ/nB,KAAKC,MAAMi0B,wBACb1B,GACE,UAAC,KAAG,CAACnkB,QAAQ,QAAO,UACjBmlB,EAAgBnzB,KAAI,SAACC,EAAM8H,GAC1B,OAAO,SAAC,WAAc,UAAU9H,GAAJ8H,EAC9B,IACC4rB,EAAa3zB,KAAI,SAACC,EAAM8H,GACvB,OAAO,SAAC,WAAc,UAAU9H,GAAJ8H,EAC9B,OAGJmrB,EAAgB,QAGlB,IAKIY,EALAC,EAAS,UAMb,GALIp0B,KAAKoG,MAAMC,YACb+tB,EAAS,YAImB,MAA1Bp0B,KAAKoG,MAAMmf,YAAqB,CAClC,IAAM8O,EAID,CACH,CACE1zB,KAAM,MACNO,MAAOlB,KAAKoG,MAAMmf,YAAY/kB,MAG5B8zB,EAGD,CACH,CACE3zB,KAAM,eACNO,MAAOlB,KAAKoG,MAAMmf,YAAYxT,SAAS2Q,cAGrC6R,EAGD,GACLv0B,KAAKoG,MAAMmf,YAAY9b,YAAYC,SAAQ,SAAApJ,GACzC,GAAuB,SAAnBA,EAAK0J,UAAsB,CAC7B,IAAMwqB,EAAWl0B,EACjBi0B,EAAwBryB,KAAK,CAC3BvB,KAAM6zB,EAAS5qB,wBAAwB,GAAGG,YAC1C7I,MAAOszB,EAASrqB,oBAAoB,GAAGJ,aAE3C,KAAO,CACL,IAAM0qB,EAAWn0B,EACjBi0B,EAAwBryB,KAAK,CAC3BvB,KAAM8zB,EAAS7qB,wBAAwB,GAAGG,YAC1C7I,MAAOuzB,EAASpqB,WAEpB,CACF,IACA,IAAMqqB,EAMF,CAAC,EACL10B,KAAKoG,MAAMmf,YAAYjb,aAAaZ,SAAQ,SAAApJ,GAC1C,IAAIiJ,EAAa,UACjB,GAA4B,MAAxBjJ,EAAKiR,gBAAyB,CAChC,IAAMojB,EAAW5jB,GAAuB,CACtC3B,QAAS9O,EAAKiR,gBACd5Q,KAAM,IAAIsJ,GAAAA,GAAAA,OAAAA,aAA6B,CACrC/I,MAAO,SACPiM,QAAS,wBACTD,iBAAkB,UAGlBynB,EAAShuB,OAAS,IACpB4C,EACEorB,EAAS,GAENC,sBAAsB,GACtBC,gCAGT,CACMtrB,KAAcmrB,IAClBA,EAAsCnrB,GAAc,IAEtD,IAAMurB,EAAoBx0B,EAAKkK,sBAAsB,GACrDkqB,EAAsCnrB,GAAYrH,KAAK,CACrDvB,KAAML,EAAKsJ,wBAAwB,GAAGG,YACtC7I,MAAO4zB,EAAkBrqB,aAAa7B,WACtC+B,KAAMmqB,EAAkBlqB,6BAA6B,GAAGb,aAE5D,IACA,IAAMgrB,EAAuB,SAC3B30B,GAEA,OAAOA,EAAWC,KAAI,SAAAC,GACpB,IAAIY,EAMJ,OAJEA,EADe,MAAbZ,EAAKqK,KACF,UAAMrK,EAAKY,MAAK,aAAKZ,EAAKqK,KAAI,KAE3BrK,EAAKY,OAGb,SAAC,SAAiB,CAEhBR,MAAOJ,EAAKK,KAAK,SAEhBO,GAHIZ,EAAKK,KAMhB,GACF,EACMq0B,EAAkBD,EAAqBV,GACvCY,EAAwBF,EAC5BT,GAEIY,GAA4BH,EAChCR,GAEIY,GAA6B,GACnC,IAAK,IAAM5rB,MAAcmrB,EAAuC,CAC9D,IAAMU,GAAeL,EACnBL,EAAsCnrB,KAErB,YAAfA,GACF4rB,GAA2BjzB,KAAKkzB,IAEhCD,GAA2BjzB,MACzB,iCACE,SAAC,KAAO,CAACgS,YAAY,OAAOmhB,kBAAmB,EAAGC,QAAM,EAAClnB,OAAK,WAC3D7E,KAEF6rB,MAIT,CACAjB,GACE,iCACE,SAAC,IAAY,CAACt0B,OAAO,aAAagC,OAAQ,EAAE,SACzCmzB,KAEH,SAAC,KAAO,CAAC9gB,YAAY,OAAOmhB,kBAAmB,EAAE,kCAGjD,SAAC,IAAY,CAACx1B,OAAO,aAAagC,OAAQ,EAAE,SACzCozB,KAEH,SAAC,KAAO,CAAC/gB,YAAY,OAAOmhB,kBAAmB,EAAE,0BAGjD,SAAC,IAAY,CAACx1B,OAAO,aAAagC,OAAQ,EAAE,SACzCqzB,MAEH,SAAC,KAAO,CAAChhB,YAAY,OAAOmhB,kBAAmB,EAAE,2BAGjD,SAAC,IAAY,CAACx1B,OAAO,aAAagC,OAAQ,EAAE,SACzCszB,OAIT,CAEA,OACE,UAAC,IAAM,CAACztB,MAAO,CAAEC,OAAQ,QAAU4tB,UAAQ,aACzC,UAAC,YAAc,CAAC7tB,MAAO,CAAEC,OAAQ,QAAS,UACvC6qB,GAED,gBACE9qB,MAAO,CACLC,OAAO,eAAD,OAAiB4rB,EAAa,KACpCiC,SAAU,SACVpB,OAAQA,GAEVvsB,IAAK7H,KAAKwb,qBAGZ,SAAC,KAAK,CACJia,QAASz1B,KAAKoG,MAAMihB,yBACpBjmB,MAAM,wBACNs0B,KAAM11B,KAAK4oB,wCACX+M,SAAU31B,KAAKsoB,0CACfsN,OAAO,SAAQ,UAEf,SAAC,KAAK,CAAC/qB,MAAM,QAAQqE,UAAU,WAAU,SACtC4iB,OAIL,SAAC,KAAK,CACJ2D,QAASz1B,KAAKoG,MAAMif,0BACpBjkB,MAAM,eACNu0B,SAAU31B,KAAKqoB,+BACfwN,cAAY,EACZC,OAAQ,KAAK,UAEb,SAAC,KAAK,CAACjrB,MAAM,QAAQqE,UAAU,WAAU,SACtCilB,OAIL,SAAC,KAAK,CACJsB,QAASz1B,KAAKoG,MAAMkhB,mBACpBlmB,MAAM,uBACNs0B,KAAM11B,KAAKopB,6BACXuM,SAAU31B,KAAKqpB,yCACfuM,OAAO,SAAQ,UAEf,UAAC,KAAK,CAAC/qB,MAAM,QAAQqE,UAAU,WAAU,WACvC,SAAC,KAAW,CACV6mB,YACE,IAAG,UACA/1B,KAAKoG,MAAMokB,sBAAsB,IACpC,KAAI,UACDxqB,KAAKoG,MAAMokB,sBAAsB,IACpC,IAEFwL,OAAO,oBACPjrB,SAAU/K,KAAKipB,2BACfgN,aAAcj2B,KAAKipB,2BACnB/N,UAAU,EACVgb,WACEl2B,KAAKoG,MAAMikB,4BACP,SAAC8L,GAAA,EAAa,CAACzuB,MAAO,CAAE4E,MAAO,sBAC/B,SAAC8pB,GAAA,EAAY,CAAC1uB,MAAO,CAAE4E,MAAO,wBAGtC,SAAC,KAAW,CACVypB,YACE,IAAG,UACA/1B,KAAKoG,MAAMskB,sBAAsB,IACpC,KAAI,UACD1qB,KAAKoG,MAAMskB,sBAAsB,IACpC,IAEFsL,OAAO,oBACPjrB,SAAU/K,KAAKkpB,2BACf+M,aAAcj2B,KAAKkpB,2BACnBhO,UAAU,EACVgb,WACEl2B,KAAKoG,MAAMkkB,4BACP,SAAC6L,GAAA,EAAa,CAACzuB,MAAO,CAAE4E,MAAO,sBAC/B,SAAC8pB,GAAA,EAAY,CAAC1uB,MAAO,CAAE4E,MAAO,wBAGtC,SAAC,KAAW,CACVypB,YAAY,WACZC,OAAO,gBACPjrB,SAAU/K,KAAKmpB,6BACf8M,aAAcj2B,KAAKmpB,6BACnBjO,UAAU,EACVgb,WACEl2B,KAAKoG,MAAM+jB,8BACP,SAACgM,GAAA,EAAa,CAACzuB,MAAO,CAAE4E,MAAO,sBAC/B,SAAC8pB,GAAA,EAAY,CAAC1uB,MAAO,CAAE4E,MAAO,6BAM1C,SAAC,KAAK,CACJmpB,QAASz1B,KAAKoG,MAAMgkB,qBACpBhpB,MAAM,yBACNs0B,KAAM11B,KAAKspB,yBACXqM,SAAU31B,KAAKupB,yBACfqM,OAAO,OAAM,SAEZvkB,QAIL,SAAC,UAAY,CACX9I,MAAO,IACP8tB,cAAY,EACZ3uB,MAAO,CACL4uB,WAAY,QACZC,gBAAiB,IACjBf,SAAU,SACVgB,WAAY,QACZ,UAEF,UAAC,IAAI,CACH3tB,KAAK,SACL4tB,gBAAiBlF,EACjB7pB,MAAO,CAAEC,OAAQ,QACjBmB,aAAc,GACd4tB,oBAAkB,EAClBC,aAAc,WAEZC,YACE,WAC0B,MAApB,EAAK7b,aACP,EAAKA,YAAYtT,QAErB,GACA,IAEJ,EAAE,WAEF,SAAC,YAAY,CAAarG,MAAM,cAAa,UAC3C,SAAC,SAAS,CAACsG,MAAO,CAAEC,OAAQ,QAAS,UACnC,gBACED,MAAO,CAAEC,OAAQ,SACjBE,IAAK7H,KAAKyb,oBAH4B,UAD1B,SAQjBwW,EACAC,EACAO,EACAL,GACD,SAAC,YAAY,CAAmBhxB,MAAM,cAAa,SAChDkwB,GADe,eAGjBiB,EACAF,EACAC,SAKX,KAAC,EAjlGc,CAASvwB,EAAAA,YCtZiB,IAEtC80B,IAAY,SAAZA,GAAAA,EAAY,gBAAZA,EAAY,cAAZA,EAAY,oBAAZA,EAAY,uBAAZA,KAAAA,GAAY,KAOjB,IAAMC,GAAiB,SACrBjb,EACAkb,GAEA,OAAOlb,EAAMmb,UAAU,KAAOD,CAChC,EAEME,GAAqB,SACzBpb,EACA8H,GAEA,OAA4B,MAAxB9H,EAAMqb,gBACDrb,EAAMqb,iBAAmBvT,EAASuT,cAG7C,EAoBMC,IAAK,QAkBT,WACEC,GACC,IAAD,4BAnBOlxB,iBAAW,OACXmxB,oBAAc,OACdplB,yBAAmB,OACnBrK,yBAAmB,OACnBE,wBAAkB,OAClBwvB,4BAAsB,OACtBC,YAAwB,GAAE,KAC1Bra,+BAAyB,OACzBpC,kBAAY,OACZM,iBAAW,OACX1U,oBAAc,EAUS,IAA1B0wB,EAAQrf,OAAOpR,QACjBW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,wDAKN,IAAMkD,EAAqB,IAAIyY,IAAI,IAC7BiX,EAAkB,IAAIjX,IAAI,IAC1B+W,EAAyB,IAAI/W,IAAI,IACjCkX,EAAuB,IAAIlX,IAAI,IAC/BmX,EAAuB,CAC3BC,OAAQ,IAAIpX,IAAI,IAChBqX,MAAO,IAAIrX,IAAI,IACfsX,SAAU,IAAItX,IAAI,KAEdgX,EAEF,CACFI,OAAQ,CAAC,GAEL7c,EAA2D,GAC3DM,EAA0D,GAC1D1U,EAA6D,GA6BnE,GA5BA0wB,EAAQrf,OAAOrO,SAAQ,SAACmS,GAStB,GARA4b,EAAqB9W,IAAI9E,EAAM9U,qBAC/Be,EAAmB6Y,IAAI9E,EAAM7D,mBAC7B6D,EAAM5D,oBAAoBvO,SAAQ,SAAApJ,GAChCg3B,EAAuB3W,IAAIrgB,EAAK6X,sBAClC,IAC4B,MAAxB0D,EAAMqb,gBACRM,EAAgB7W,IAAI9E,EAAMqb,gBAG1BJ,GAAejb,EAAOgb,GAAac,SACnCb,GAAejb,EAAOgb,GAAaiB,WACnC,CAEA,GADAJ,EAAqBC,OAAOhX,IAAI9E,EAAMsG,qBACd,MAApBtG,EAAMkc,WACR,IAAK,IAAMxuB,KAAc+tB,EACvBC,EAAYI,OAAOpuB,GAAYoX,IAAI9E,EAAMkc,YAG7Cjd,EAAa5Y,KAAK2Z,EACpB,MAAWib,GAAejb,EAAOgb,GAAae,QAC5CF,EAAqBE,MAAMjX,IAAI9E,EAAMsG,qBACrC/G,EAAYlZ,KAAK2Z,IACRib,GAAejb,EAAOgb,GAAagB,YAC5CH,EAAqBG,SAASlX,IAAI9E,EAAMsG,qBACxCzb,EAAexE,KAAK2Z,GAExB,IAC4B,IAAxBf,EAAanU,OACfW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,gEAGC,CACD4yB,EAAgBj2B,KAAO,GACzB+F,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,iFAKN,IAAMozB,EAAkB,IAAIzX,IAAI,IAChCzF,EAAapR,SAAQ,SAACmS,GACpBmc,EAAgBrX,IAAI9E,EAAMoc,gBAC5B,IACID,EAAgBz2B,KAAO,GACzB+F,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,iFAKiBkW,EAAa2I,QAAO,SAAA5H,GACzC,MAA8B,cAAvBA,EAAMmb,UAAU,EACzB,IACmBrwB,OAAS2wB,EAAuB/1B,MACjDyE,QAAQ2U,KACN,oHAIN,CACA3a,KAAK8a,aAAeA,EACpB9a,KAAKob,YAAcA,EACnBpb,KAAK0G,eAAiBA,EAEtB1G,KAAK8H,oBAAkB,QAAOA,GAC9B9H,KAAKs3B,wBAAsB,QAAOA,GAEA,IAA9BG,EAAqBl2B,MACvB+F,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,mEAIN5E,KAAK4H,qBAAsB,QAAI6vB,GAAsB,GAEZ,IAArCC,EAAqBC,OAAOp2B,MAC9B+F,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,4EAKN5E,KAAKiS,qBAAsB,QAAIylB,EAAqBC,QAAQ,GAE5D,IAAIO,GAAoB,EACpBva,OAAO6C,KAAK+W,EAAYI,QAAQhxB,OAAS,IAC3CuxB,GAAoB,GAEtBl4B,KAAKs3B,uBAAuB5tB,SAAQ,SAAAH,GACI,MAAlCguB,EAAYI,OAAOpuB,GACjBguB,EAAYI,OAAOpuB,GAAYhI,KAAO,EACxC+F,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,8CAAuC2E,EAAU,KACjD,uDAG6C,IAAxCguB,EAAYI,OAAOpuB,GAAYhI,KACxC,EAAKg2B,YAAYr1B,MAAK,QAAIq1B,EAAYI,OAAOpuB,IAAa,IAE1DjC,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,8CAAuC2E,EAAU,MAAjD,+EAOF2uB,GACF5wB,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,8CAAuC2E,EAAU,MAAjD,8EAOV,IAEIiuB,EAAgBj2B,KAAO,EACzB+F,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,0GAI8B,IAAzB4yB,EAAgBj2B,KACzBvB,KAAKq3B,gBAAiB,QAAIG,GAAiB,GAE3Cx3B,KAAKq3B,eAAiB,KAGxBr3B,KAAKkd,0BACsC,IAAzCld,KAAK8a,aAAa,GAAGmd,iBAC8B,gBAAnDj4B,KAAK8a,aAAa,GAAGqd,0BAGvBn4B,KAAKkG,iBACqBnG,IAAxBq3B,EAAQlxB,YAA4BkxB,EAAQlxB,YAAc,EAE9D,IAUIkyB,GAAe,SACnBrgB,GAEA,IAAMsgB,EAAwC,GAC9CtgB,EAAOrO,SAAQ,SAAC4Z,GACd,GAAIA,EAAO3c,OAAS,EAAG,CACrB,IAAMmU,EAAewI,EAAOG,QAAO,SAAC5H,GAClC,OACEib,GAAejb,EAAOgb,GAAac,SACnCb,GAAejb,EAAOgb,GAAaiB,UAEvC,IACA,GAAIhd,EAAanU,OAAS,EAAG,CAC3B,IAWI2xB,EAXE3U,EAAW7I,EAAa,GACxByd,EAAuBzd,EAAa2I,QAAO,SAAC5H,GAChD,OAAO8H,EAASsU,kBAAoBpc,EAAMoc,eAC5C,IACMO,EAAqBH,EAAc7qB,WAAU,SAAC/G,GAClD,OA4EV,SACEA,EACAoV,GAEA,GACEpV,EAAMwL,sBAAwB4J,EAAMsG,qBACpC1b,EAAMmB,sBAAwBiU,EAAM9U,qBACpCN,EAAM4wB,iBAAmBxb,EAAMqb,eAE/B,OAAO,EAET,OAAO,CACT,CAxFiBuB,CAAwBhyB,EAAOkd,EACxC,IAEMvI,EAAckI,EAAOG,QAAO,SAAC5H,GACjC,OAAOib,GAAejb,EAAOgb,GAAae,MAC5C,IAGEU,EADEld,EAAYzU,OAAS,EACDyU,EAAYqI,QAAO,SAAC5H,GACxC,OAAOob,GAAmBpb,EAAO8H,EACnC,IAEsBvI,EAExB,IAGIsd,EAHEhyB,EAAiB4c,EAAOG,QAAO,SAAC5H,GACpC,OAAOib,GAAejb,EAAOgb,GAAagB,SAC5C,IAUA,GAPEa,EADEhyB,EAAeC,OAAS,EACDD,EAAe+c,QAAO,SAAC5H,GAC9C,OAAOob,GAAmBpb,EAAO8H,EACnC,IAEyBjd,GAGC,IAAxB8xB,EAA2B,CAC7B,IAAMG,EAA0C,CAC9CtB,eAAgB1T,EAASuT,eACzBjlB,oBAAqB0R,EAASxB,oBAC9Bva,oBAAqB+b,EAAS5c,oBAC9B+T,aAAcyd,EACdnd,YAAakd,EACb5xB,eAAgBgyB,GAElBL,EAAcn2B,KAAKy2B,EACrB,KAAO,CAAC,IAAD,MACCA,EAAoBN,EAAcG,IACxC,EAAAG,EAAkB7d,cAAa5Y,KAAI,iBAAIq2B,KACvC,EAAAI,EAAkBvd,aAAYlZ,KAAI,iBAAIo2B,KACtC,EAAAK,EAAkBjyB,gBAAexE,KAAI,iBAAIw2B,GAC3C,CACF,CACF,CACF,IAEA,IAAIE,EAAkBP,EAAch4B,KAAI,SAACC,GACvC,OAAO,IAAI62B,GAAM,CACfpf,OAAO,GAAD,gBACDzX,EAAKwa,eAAY,QACjBxa,EAAK8a,cAAW,QAChB9a,EAAKoG,kBAGd,IAWA,OAVAkyB,EAASA,EAAO1I,MAAK,SAAC1N,EAAGC,GACvB,IAAMoW,EAAOrW,EAAE1H,aAAa,GACtBge,EAAOrW,EAAE3H,aAAa,GAC5B,OAAgC,MAA5B+d,EAAK9xB,qBAA2D,MAA5B+xB,EAAK/xB,oBACpC8kB,OAAOgN,EAAK9xB,qBAAuB8kB,OAAOiN,EAAK/xB,qBAE/C,CAEX,GAGF,EC9UA,SAASgyB,GAAuB,GAqBR,IAUlBC,EA9BJ9xB,EAAO,EAAPA,QACA0xB,EAAM,EAANA,OACA1L,EAAI,EAAJA,KACAO,EAAG,EAAHA,IACA5S,EAAO,EAAPA,QACAqZ,EAAqB,EAArBA,sBACAngB,EAAW,EAAXA,YAeA,GAAgDoG,EAAAA,EAAAA,MAAxCmC,EAAgB,EAAhBA,iBAAkBrU,EAAiB,EAAjBA,kBACpB6R,GAAWC,EAAAA,EAAAA,MAEXkf,EAAgBL,EAAOhzB,MAAK,SAACa,GACjC,OAAOA,EAAMqB,mBAAmBlC,MAAK,SAACpF,GACpC,OAAOA,IAAQyH,CACjB,GACF,IACM2Y,EAAe,IAAIC,gBAAgB/G,EAASgH,QAE7CF,EAAarV,IAAI,iBAES,QAD7BytB,EAAuBpY,EAAasY,IAAI,YAEtCF,OAAuBj5B,GAG3B,IAAIo5B,EAAS,KAiBb,OAhBqB,MAAjBF,IACFE,GACE,SAAC,GAAW,CACVjyB,QAASA,EACToV,iBAAkBA,EAClBrU,kBAAmBA,EACnBuV,6BAA8Bwb,EAC9BvyB,MAAOwyB,EACPpe,QAASA,EACT9G,YAAaA,EACbmgB,sBAAuBA,EACvBzG,IAAKA,EACLP,KAAMA,KAILiM,CACT,CA4NA,SAAevf,GAnMH,0CAMV,WAAa3Z,GAAqB,IAAD,EAEmC,OAFnC,gBAC/B,cAAMA,IANRmG,MAAQ,CACNwyB,OAAQ,GACRvyB,WAAW,GAKX,EAAK+yB,sBAAwB,EAAKA,sBAAsBpwB,MAAK,WAAK,CACpE,CAuLC,OAvLA,yCAED,WAA4B,IAAD,OACzBhJ,KAAKq5B,qBAAqB5c,MACxB,SAACza,GACC,EAAKwE,SAAS,CACZoyB,OAAQR,GAAap2B,GACrBqE,WAAW,GAEf,IACAuX,OAAM,WAENtW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,sDAEJ,EAAK4B,SAAS,CAAEH,WAAW,GAC7B,GACF,GAEA,yEAKA,sGAMG,OALK0R,EAAuD,GACvDuE,EAAmBtc,KAAKC,MAAMqc,iBACpCtW,QAAQc,KAAK,+BAAD,OAAgCwV,EAAgB,SACtDrV,EAASjH,KAAKC,MAAMiH,QACxBlD,EAAemD,iCAChB,SAC2BF,EAAOmc,gBAAgB,CACjD7G,YAAa,CACXC,SAAU,KACV8c,iBAAkBhd,KAEpB,OALiB,OAAb+G,EAAa,gBAObkW,QAAQC,IAAInW,EAAchjB,IAAG,yCAAC,WAAOwF,GAAC,oFAKzC,OALyC,EACtBmB,EAAAA,SAAAA,eAA4BnB,GAAxC8N,EAAO,EAAPA,QACF8lB,EAAgB9lB,EACtB3N,QAAQc,KAAK,gCAAD,OACsB2yB,EAAczhB,kBAAiB,MAChE,SAC+B/Q,EAAOsc,uBAAuB,CAC5DjH,iBAAkB,EAAKrc,MAAMqc,iBAC7BrU,kBAAmBwxB,EAAczhB,oBACjC,OAHIwL,EAAiB,OAKjBkW,EAA2D,GACjElW,EAAkB9Z,SAAQ,SAACpJ,EAAMC,GAC/B,GAAwB,MAApBD,EAAK,YAAqB,CAC5B,IAAMqL,EAASrL,EAAK,YAAY2uB,MAChC,GAAc,MAAVtjB,EAEF,GADoBA,EAAO,KACP3H,EAAemD,gCAAiC,CAClE,IAAM0U,EAAQ,IAAI7U,EAAAA,SAAAA,4BAAyC,CACzDhF,SAAU1B,IAEZo5B,EAAax3B,KAAK2Z,EACpB,CAEJ,CACF,IAEI6d,EAAa/yB,OAAS,GACxBoR,EAAO7V,KAAKw3B,GACb,2CACF,mDA9BkC,KA8BhC,gCAEI3hB,GAAM,iDACd,kDApDD,IAoDC,mCAED,YAES,IADL9P,EAAiB,EAAjBA,kBAEFjC,QAAQc,KAAK,qBAAD,OAAsBmB,EAAiB,MACnD,IAAIsoB,EACF,mBAAYvwB,KAAKC,MAAMqc,kBAAgB,kBAC5BrU,GAGXjI,KAAKC,MAAM6Z,SAASkH,SAASzD,SAAS,aACR,MAA9Bvd,KAAKC,MAAM6Z,SAASgH,SAEpByP,GAAWvwB,KAAKC,MAAM6Z,SAASgH,QAEjC9gB,KAAKC,MAAM+Z,SAASuW,EAAS,CAAEtP,SAAS,GAC1C,GAAC,oBAED,WACE,GAAIjhB,KAAKoG,MAAMC,UACb,OAAO,KAGT,GAAiC,IAA7BrG,KAAKoG,MAAMwyB,OAAOjyB,OACpB,OAAO,KAET,IACMgzB,EADa35B,KAAKoG,MAAMwyB,OAAO,GACF9d,aACnC,GAA+B,IAA3B6e,EAAgBhzB,OAClB,OAAO,KAET,IAMIoB,EAQA6xB,EAdEjW,EAAWgW,EAAgB,GAO7B35B,KAAKC,MAAM6Z,SAASkH,SAASzD,SAAS,WAExCxV,EADkB/H,KAAKC,MAAM6Z,SAASkH,SAASve,MAAM,KACf,GAEtCsF,EAA4B4xB,EAAgB,GAAG3hB,kBAYjD,OARyC,MAArC2L,EAAS1hB,2BACX23B,GACE,SAAC,YAAY,CAAsBx4B,MAAM,iBAAgB,UACvD,SAAC,EAAa,CAACY,SAAU2hB,KADT,oBAOpB,UAAC,IAAM,CAACjc,MAAO,CAAEC,OAAQ,QAAU4tB,UAAQ,aACzC,SAAC,UAAY,CACXhtB,MAAO,IACPb,MAAO,CACLC,OAAQ,OACRkyB,YAAa,QACbC,iBAAkB,IAClBtE,SAAU,SACVgB,WAAY,QACZ,UAEF,UAAC,IAAI,CACH3tB,KAAK,SACL4tB,gBAAiB,CAAC,UAAW,QAAS,iBAAkB,UACxD/uB,MAAO,CAAEC,OAAQ,QACjBmB,aAAc,GAAG,WAEjB,SAAC,YAAY,CAAe1H,MAAM,UAAS,UACzC,SAAC,EAAO,CAACY,SAAU2hB,KADH,YAGlB,SAAC,YAAY,CAAaviB,MAAM,QAAO,UACrC,SAAC,EAAK,CAACY,SAAU2hB,KADD,SAGjBiW,GACD,SAAC,YAAY,CAAcx4B,MAAM,SAAQ,UACvC,SAAC,GAAS,CACR8F,QAASlH,KAAKC,MAAMiH,QACpBlF,SAAUhC,KAAKoG,MAAMwyB,OACrB7wB,0BAA2BA,EAC3BC,kBAAmBhI,KAAKo5B,yBALV,gBAWtB,SAAC,KAAM,WACL,SAAC,KAAK,CACJW,KAAK,6BACLC,SACE,SAACjB,GAAuB,CACtB7xB,QAASlH,KAAKC,MAAMiH,QACpB0xB,OAAQ54B,KAAKoG,MAAMwyB,OACnB/d,QAAS7a,KAAKC,MAAM4a,QACpB9G,YAAa/T,KAAKC,MAAM8T,YACxBmgB,sBAAuBl0B,KAAKC,MAAMi0B,sBAClCzG,IAAKztB,KAAKC,MAAMwtB,IAChBP,KAAMltB,KAAKC,MAAMitB,aAO/B,KAAC,EAhMS,CAASnrB,EAAAA,Y,wFCkSrB,SAAe6X,GA7UH,0CACV,WAAa3Z,GAAqB,IAAD,mBAC/B,cAAMA,IAwBRg6B,sBAAwB,WACtB,IAAMC,GAAUC,EAAAA,GAAAA,MACVC,EAQF,CACFF,QAAS,CAAC,EACVG,GAAI,CAAC,GAEQ,MAAXH,IACFE,EAAYF,QAAU,CACpBv5B,KAAsB,MAAhBu5B,EAAQv5B,KAAeu5B,EAAQv5B,UAAOZ,EAC5Cu6B,QAA4B,MAAnBJ,EAAQI,QAAkBJ,EAAQI,aAAUv6B,GAEvDq6B,EAAYC,GAAK,CACf15B,KAAoB,MAAdu5B,EAAQG,GAAaH,EAAQG,QAAKt6B,IAI5Cw6B,GAAAA,EAAAA,KAAW,CACTn5B,MAAO,QACPmH,MAAO,IACP6G,SACE,iCACE,UAAC,IAAY,CAAChO,MAAM,cAAcS,OAAQ,EAAE,WAC1C,SAAC,SAAiB,CAACnB,MAAM,OAAM,SAC5B,EAAKT,MAAMwtB,IAAI9sB,QAElB,SAAC,SAAiB,CAACD,MAAM,UAAS,SAC/B,EAAKT,MAAMwtB,IAAI6M,WAElB,SAAC,SAAiB,CAAC55B,MAAM,WAAU,SAChC,EAAKT,MAAMwtB,IAAI+M,eAGpB,UAAC,IAAY,CAACp5B,MAAM,UAAUS,OAAQ,EAAE,WACtC,SAAC,SAAiB,CAACnB,MAAM,OAAM,SAC5B05B,EAAYF,QAAQv5B,QAEvB,SAAC,SAAiB,CAACD,MAAM,UAAS,SAC/B05B,EAAYF,QAAQI,cAGzB,SAAC,IAAY,CAACl5B,MAAM,mBAAmBS,OAAQ,EAAE,UAC/C,SAAC,SAAiB,CAACnB,MAAM,OAAM,SAC5B05B,EAAYC,GAAG15B,YAKxB+0B,KAAI,WAAW,GAEnB,EAAC,EAED+E,uBAAyB,WACvB,IAAMC,EAKF,CACFC,eAAgB,GAChBC,cAAe,GACfC,iBAAkB,GAClBC,cAAe,IAIXC,EAAW,EAAK30B,MAAM40B,SAASr0B,OAErC,GAAIo0B,EAAW,EACb,IAAK,IAAI3yB,EAAI,EAAGA,EAAI2yB,EAAU3yB,IAAK,CAEjCsyB,EADiB,EAAKt0B,MAAMT,cAAcyC,IACtBlG,KAAK,EAAKkE,MAAM40B,SAAS5yB,GAAGrD,QAClD,CAGF,IAAQk2B,EAAUC,GAAAA,EAAAA,MAEZC,EAAiB,SAACC,GAAgB,OACtC,SAAC,KAAK,CAAC3rB,MAAO2rB,GAAY,EAG5Bb,GAAAA,EAAAA,KAAW,CACTn5B,MAAO,2DACPmH,MAAO,IACP6G,SACE,UAAC,KAAQ,YACP,SAAC6rB,EAAK,CACJ55B,OAAO,sBAEPC,MAAO65B,EAAeT,EAAUE,cAAcj0B,QAAQ,UAEtD,wBACG+zB,EAAUE,cAAcv6B,KAAI,SAAAg7B,GAAC,OAC5B,wBAAoBA,IAAXC,EAAAA,EAAAA,KAAkB,OAL3B,uBASN,SAACL,EAAK,CACJ55B,OAAO,+BAEPC,MAAO65B,EAAeT,EAAUG,iBAAiBl0B,QAAQ,UAEzD,wBACG+zB,EAAUG,iBAAiBx6B,KAAI,SAAAg7B,GAAC,OAC/B,wBAAoBA,IAAXC,EAAAA,EAAAA,KAAkB,OAL3B,sBASN,SAACL,EAAK,CACJ55B,OAAO,sBAEPC,MAAO65B,EAAeT,EAAUI,cAAcn0B,QAAQ,UAEtD,wBACG+zB,EAAUI,cAAcz6B,KAAI,SAAAg7B,GAAC,OAC5B,wBAAoBA,IAAXC,EAAAA,EAAAA,KAAkB,OAL3B,uBASN,SAACL,EAAK,CACJ55B,OAAO,uBAEPC,MAAO65B,EAAeT,EAAUC,eAAeh0B,QAAQ,UAEvD,wBACG+zB,EAAUC,eAAet6B,KAAI,SAAAg7B,GAAC,OAC7B,wBAAoBA,IAAXC,EAAAA,EAAAA,KAAkB,OAL3B,gBAWV5F,KAAI,WAAW,GAEnB,EAAC,EAED6F,iCAAmC,WACjC,EAAK/0B,SAAS,CAAEg1B,+BAA+B,GACjD,EAxKE,EAAKp1B,MAAQ,CACXo1B,+BAA+B,EAC/BC,2BAA2B,EAC3BT,SAAU,GACVr1B,cAAe,IAgBhB,OAHD2B,EAAAA,UACErC,GAXqB,SAAH,GAGP,IAHaQ,EAAK,EAALA,MAIxB,EAAKe,SAAS,CACZw0B,SAAS,GAAD,gBAAM,EAAK50B,MAAM40B,UAAQ,CAAEv1B,IACnCE,cAAc,GAAD,gBAAM,EAAKS,MAAMT,eAAa,CAAEF,EAAMX,QAEvD,IAKC,CACH,CAkTC,OAlTA,8BAqJD,WAA4B,IA6BtB42B,EA7BqB,OACrBxO,EAAO,KACX,QAAwBntB,IAApBC,KAAKC,MAAMitB,KAAoB,CACjC,IAAMyO,EAAgB,QACU57B,IAA5BC,KAAKC,MAAM27B,cACbD,EAAcz5B,KACZ,CACExB,MAAO,SACP+H,IAAK,cACLmD,QAAS,gBACyB7L,IAA5B,EAAKE,MAAM27B,cACb,EAAK37B,MAAM27B,cAEf,IAIN,IAAMC,GAAW,SAAC,IAAI,CAAC17B,MAAOw7B,IAC9BzO,GACE,SAAC,KAAQ,CAAC4O,QAASD,EAAUE,QAAS,CAAC,SAAS,UAC9C,SAAC,GAAM,CACL56B,KAAM66B,GAAAA,EACNpwB,QAAS,SAAAyvB,GAAC,OAAIA,EAAEY,gBAAgB,EAChCv7B,MAAK,UAAKV,KAAKC,MAAMitB,KAAKvsB,KAAI,aAAKX,KAAKC,MAAMitB,KAAKE,MAAK,QAIhE,CAGIptB,KAAKC,MAAMi8B,qBACbR,GACE,SAAC,KAAO,CAACS,GAAG,IAAG,UACb,SAAC,GAAM,CAACh7B,KAAMi7B,GAAAA,EAAuB3rB,QAAQ,sBAKnD,IAkBI4rB,EAlBEC,GACJ,SAAC,GAAM,CACLn7B,KAAMo7B,GAAAA,EACN9rB,QAAQ,eACR7E,QAAS5L,KAAKi6B,wBAIZuC,GACJ,SAAC,KAAK,CAAC/sB,MAAOzP,KAAKoG,MAAM40B,SAASr0B,OAAO,UACvC,SAAC,GAAM,CACLxF,KAAMoO,GAAAA,EACNkB,QAAQ,aACR7E,QAAS5L,KAAKy6B,2BAMhBz6B,KAAKC,MAAMw8B,4BACbJ,GACE,SAAC,GAAM,CACLl7B,KAAMu7B,GAAAA,EACNjsB,QAAQ,gBACR7E,QAAS5L,KAAKu7B,oCAKpB,IA2BMoB,EAAwB,SAACzzB,GAC7B,IAAM0zB,EAAM,EAAKx2B,MAAMy2B,kBACnBC,GAAa,EACN,MAAPF,GAAuB,KAARA,IACbA,EAAIG,WAAW,YAAcH,EAAIG,WAAW,eAC9C,EAAK98B,MAAM+8B,kBAAkB,CAAEJ,IAAAA,IAC/BE,GAAa,GAGjB,EAAKt2B,SAAS,CACZq2B,uBAAmB98B,EACnBy7B,+BAAgCsB,EAChCrB,2BAA2B,GAE/B,EAIA,OACE,iCACE,SAAC,WAAa,CAAC/zB,MAAO,CAAEa,MAAO,OAAQmQ,QAAS,UAAW,UACzD,UAAC,KAAG,YACF,SAAC,KAAG,WACF,SAAC,KAAK,CAAC7N,MAAM,SAASqE,UAAU,aAAY,UAC1C,gBACE+tB,IATEC,qDAUFC,IAAI,GACJz1B,MAAO,CAAEC,OAAQ,OAAQy1B,OAAQ,gBAIvC,SAAC,KAAG,CAACC,KAAK,UACV,SAAC,KAAG,WACF,UAAC,KAAK,CAACnuB,UAAU,aAAY,UAC1BwsB,EACAY,EACAE,EACAH,EACAnP,aAMT,SAAC,KAAK,CACJuI,QAASz1B,KAAKoG,MAAMo1B,8BACpBp6B,MAAM,yBACNs0B,KAAMiH,EACNhH,SAxDoC,SAACzsB,GACzC,EAAK1C,SAAS,CACZq2B,uBAAmB98B,EACnBy7B,+BAA+B,EAC/BC,2BAA2B,GAE/B,EAkDkD,UAE5C,SAAC,KAAK,CACJ1F,YAAY,2CACZhrB,SA/E2B,SACjC7B,GAEA,IAAMhI,EAAQgI,EAAMo0B,cAAcp8B,MAC9Bq8B,GAAa,EACjB,GAAa,MAATr8B,EACF,IACE,IAAM07B,EAAM,IAAIY,IAAIt8B,GAChB07B,EAAIa,SAASV,WAAW,SAAWH,EAAI5b,SAASra,OAAS,IAC3D42B,GAAa,EAEI,CAAnB,MAAOG,GAAY,CAEvB,EAAKl3B,SAAS,CACZq2B,kBAAmB37B,EACnBu6B,0BAA2B8B,GAE/B,EA+DQtH,aAAc0G,EACdzG,WACEl2B,KAAKoG,MAAMq1B,2BACP,SAACrF,GAAA,EAAY,CAAC1uB,MAAO,CAAE4E,MAAO,sBAC9B,SAAC6pB,GAAA,EAAa,CAACzuB,MAAO,CAAE4E,MAAO,2BAM/C,KAAC,EA1US,CAASvK,EAAAA,Y,eCnCrB,SAjBiB,SAAH,GAAwD,IAAlDX,EAAK,EAALA,MAAO2D,EAAO,EAAPA,QACzB,OACE,gBAAK2C,MAAO,CACVC,OAAQ,QACRg2B,QAAS,OACTC,WAAY,SACZC,eAAgB,UAChB,UAEA,SAAC,MAAM,CACLz8B,MAAOA,EACP08B,SAAU/4B,KAIlB,E,0BC+RA,SAAe6U,GA3RD,0CAGZ,WAAa3Z,GAAuB,IAAD,EAUhC,OAVgC,gBACjC,cAAMA,IAHS89B,gBAAkB,GAAE,EA+HrCC,aAAe,SACb11B,EACA21B,EACAC,GAEAD,GACF,EAAC,EAEDE,YAAc,SAACC,GACbA,GACF,EAAC,EAoGDC,qBAAuB,SAACH,GAAiB,MAAc,CACrDI,eAAgB,gBAAGC,EAAe,EAAfA,gBAAiBj2B,EAAY,EAAZA,aAAc21B,EAAO,EAAPA,QAASG,EAAY,EAAZA,aAAY,OAMrE,iBAAK12B,MAAO,CAAEgR,QAAS,GAAI,WACzB,SAAC,KAAK,CACJqd,YAAY,SACZ70B,MAAOoH,EAAa,GACpByC,SAAU,SAAAswB,GAAC,OAAIkD,OACMx+B,IAAnBs7B,EAAE5P,OAAOvqB,MAAsB,CAACm6B,EAAE5P,OAAOvqB,OAAS,GACnD,EACD+0B,aAAc,kBAAM,EAAK+H,aAAa11B,EAAc21B,EAASC,EAAU,EACvEx2B,MAAO,CAAEa,MAAO,IAAKi2B,aAAc,EAAGb,QAAS,YAEjD,UAAC,KAAK,YACJ,SAAC,KAAM,CACL74B,KAAK,UACL8G,QAAS,kBAAM,EAAKoyB,aAAa11B,EAAc21B,EAASC,EAAU,EAClE/8B,MAAM,SAACs9B,GAAA,EAAc,IACrBl9B,KAAK,QACLmG,MAAO,CAAEa,MAAO,IAAK,qBAIvB,SAAC,KAAM,CACLqD,QAAS,kBAAM,EAAKuyB,YAAYC,EAAa,EAC7C78B,KAAK,QACLmG,MAAO,CAAEa,MAAO,IAAK,wBAKrB,EAERm2B,WAAY,SAACC,GAAiB,OAC5B,SAACF,GAAA,EAAc,CACb/2B,MAAO,CAAE4E,MAAOqyB,EAAW,eAAY5+B,IACvC,EAEL,EAnRC,EAAK6+B,UAAY,EAAKA,UAAU51B,MAAK,WACrC,EAAKoH,YAAc,EAAKA,YAAYpH,MAAK,WACzC,EAAK61B,aAAe,EAAKA,aAAa71B,MAAK,WAC3C,EAAK5C,MAAQ,CACX04B,QAAS,GACTz4B,WAAW,EACX04B,WAAY,EACZC,SAAU,EAAKjB,iBAChB,CACH,CA8NC,OA9NA,wCAED,WAA2B,IAAD,OAElBkB,EAAgB,CAAE1iB,YADoB,CAAE2iB,kBAAmB,OAGlDl/B,KAAKC,MAAMiH,QACxBlD,EAAemD,iCAEVg4B,iBAAiBF,GAAexiB,MAAK,SAACqiB,GAC3C,EAAKt4B,SAAS,CACZu4B,WAAYD,EAAQn4B,OACpBm4B,QAASA,EAAQhyB,MAAM,EAAG,EAAK1G,MAAM44B,UAAU3+B,KAAI,SAAA++B,GAEjD,OADoBp4B,EAAAA,SAAAA,eAA4Bo4B,GAAxCzrB,OAEV,KAEJ,IACGiK,OAAM,WAELtW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,gDAGN,GACJ,GAAC,+BAED,WACE5E,KAAKm/B,kBACP,GAAC,gCAED,SAAoBtpB,GACd7V,KAAKC,MAAMiH,UAAY2O,EAAc3O,SACvClH,KAAKm/B,kBAET,GAAC,yBAED,SAAaj2B,EAA6Bk2B,GACxCp/B,KAAKC,MAAM+Z,SAAS,YAAD,OAAaolB,EAAM9F,kBACxC,GAAC,uBAED,YAIU,IAAD,OAJI9pB,EAAM,EAANA,OAAQ6vB,EAAK,EAALA,MAAOC,EAAc,EAAdA,eAKpB/iB,EAAsC,CAC1C2iB,kBAAmB,KACnB1vB,OAAQA,EACR6vB,MAAOA,GAET,QAAuBt/B,IAAnBu/B,EAA8B,CAChC,IAAK,IAAM72B,KAAO62B,EAAgB,CAChC,IAAMp+B,EAAQo+B,EAAe72B,GAE3B8T,EAAY9T,GADF,eAARA,EACc,WAAOvH,EAAK,KAETA,CAEvB,CACAqb,EAAYgjB,cAAgB,MAC9B,CACA,IAAMN,EAAgB,CAAE1iB,YAAAA,GACTvc,KAAKC,MAAMiH,QACxBlD,EAAemD,iCAEVg4B,iBAAiBF,GAAexiB,MAAK,SAACqiB,GAC3C,EAAKt4B,SAAS,CACZs4B,QAASA,EAAQz+B,KAAI,SAAA++B,GAEnB,OADoBp4B,EAAAA,SAAAA,eAA4Bo4B,GAAxCzrB,OAEV,KAEJ,IACGiK,OAAM,WACLtW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,yCAGN,GACJ,GAAC,0BAED,SACE46B,EACAC,GAEAz/B,KAAKwG,SAAS,CAAEH,WAAW,IAC3B,IAAI9F,EAAQi/B,EAAW54B,aACT7G,IAAVQ,IACFA,EAAQ,GAEV,IAAIy+B,EAAWQ,EAAWR,cACTj/B,IAAbi/B,IACFA,EAAWh/B,KAAKoG,MAAM44B,UAExB,IAAMxvB,EAASwvB,GAAYz+B,EAAQ,GAC7B8+B,EAAQL,EACdh5B,QAAQ8b,MAAM,+BAAD,OAAgCvhB,EAAK,QAClD,IAAM++B,EAAkD,CAAC,EACzD,IAAK,IAAMpB,KAAauB,EACK,OAAvBA,EAAQvB,KACVoB,EAAepB,GAAauB,EAAQvB,GAAW,GAAGt1B,YAGtD5I,KAAK4+B,UAAU,CAAEpvB,OAAAA,EAAQ6vB,MAAAA,EAAOC,eAAAA,IAChCt/B,KAAKwG,SAAS,CAAEH,WAAW,EAAO24B,SAAUA,GAC9C,GAAC,oBAcD,WAA4B,IAAD,OACnBU,EAA2C,EAAC,QAE9Ct+B,MAAO,mBACP88B,UAAW,mBACRl+B,KAAKq+B,qBAAqB,qBAAkB,QAG/Cj9B,MAAO,WACP88B,UAAW,WACRl+B,KAAKq+B,qBAAqB,YAE/B,CACEj9B,MAAO,aACP88B,UAAW,YACX32B,OAAQ,SAACrG,GAAa,OAAayB,EAAUzB,EAAM,GAErD,CACEE,MAAO,aACP88B,UAAW,YACX32B,OAAQ,SAACrG,GAAa,OAAa8B,EAAU9B,EAAM,IACnD,QAEAE,MAAO,aACP88B,UAAW,aACRl+B,KAAKq+B,qBAAqB,eAAY,QAGzCj9B,MAAO,iBACP88B,UAAW,cACX32B,OAAQ,SAACrG,GAA8B,OAAaqB,EAAUrB,EAAM,GACjElB,KAAKq+B,qBAAqB,gBAE/B,CACEj9B,MAAO,gBACP88B,UAAW,aACX32B,OAAQ,SAACrG,GAAa,OAAakC,EAASlC,EAAM,GAEpD,CACEE,MAAO,sBACP88B,UAAW,mBACX32B,OAAQ,SAACrG,GAAa,OAAayB,EAAUzB,EAAM,GAErD,CACEE,MAAO,6BACP88B,UAAW,yBACX32B,OAAQ,SAACrG,GAA8B,OAAaqB,EAAUrB,EAAM,GAEtE,CACEE,MAAO,sBACP88B,UAAW,oBACX32B,OAAQ,SAACrG,GACP,YAAcnB,IAAVmB,EAKK,GAEA6E,OAAO7E,EAElB,IAIEs+B,EAAa,CACjBzB,gBAAiB/9B,KAAK+9B,gBACtBiB,SAAUh/B,KAAKoG,MAAM44B,SACrBW,kBAAkB,EAClBC,iBAAiB,EACjBC,iBAAiB,EACjBC,UAAW,SAACC,EAAexxB,GACzB,MAAM,GAAN,OAAUA,EAAM,GAAE,YAAIA,EAAM,GAAE,eAAOwxB,EAAK,WAC5C,EACAA,MAAO//B,KAAKoG,MAAM24B,YAGpB,OACE,SAAC,KAAK,CACJr3B,MAAO,CAAE0sB,OAAQ,WACjBsL,QAASA,EACTM,OAAQ,SAAAC,GAAM,OAAIA,EAAO3G,gBAAgB,EACzC4G,WAAYlgC,KAAKoG,MAAM04B,QACvBU,WAAYA,EACZW,MAAO,SAACF,GACN,MAAO,CACLr0B,QAAS,SAAC1C,GACR,OAAO,EAAKkH,YAAYlH,EAAO+2B,EACjC,EAEJ,EACAl1B,SAAU/K,KAAK6+B,aACft9B,KAAK,QACL6+B,QAASpgC,KAAKoG,MAAMC,WAG1B,KAAC,EA5OW,CAAStE,EAAAA,Y,eCtBVs+B,GAAU,SAACtG,EAAcuG,GACpC,IAAIC,EAAUD,EAKd,OAJKC,EAAQC,SAAS,OACpBD,GAAW,KAED,IAAI/C,IAAIzD,EAAMwG,GACf33B,UACb,EAQa63B,GAA2B,SAAC3mB,GAGzB,IAAD,UACP8G,EAAe,IAAIC,gBAAgB/G,EAASgH,QAC5C4f,EAAa,IAAI7f,gBAAgB/G,EAAS6mB,KAAK1f,QAAQ,IAAK,MAElE,OAAO2f,QAKqB,QALd,EAIU,QAJV,EAGqB,QAHrB,EAEgB,QAFhB,EACY,QADZ,EACZhgB,EAAasY,IAAI,eAAO,QACxBtY,EAAasY,IAAI,mBAAW,QAC5BtY,EAAasY,IAAI,wBAAgB,QACjCwH,EAAWxH,IAAI,eAAO,QACtBwH,EAAWxH,IAAI,mBAAW,QAC1BwH,EAAWxH,IAAI,iBAEnB,EC3BM2H,GAAa,SAACC,GAClB,IAAIC,EAKJ,GAJiB,OAAbD,IACFC,EAAUD,EAASC,cAGLhhC,IAAZghC,EAAuB,CACzB,QAAqBhhC,IAAjBghC,EAAQpgC,WAAwCZ,IAAlBghC,EAAQ3T,MASxC,MAAO,CACLzsB,KAAMogC,EAAQpgC,KACdysB,MAAO2T,EAAQ3T,OAVjB9lB,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,6CASR,MACE0C,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,mCAIN,MAAO,CACLjE,UAAMZ,EACNqtB,WAAOrtB,EAEX,EAEqBihC,IAAW,QAG9B,WAAaT,EAAiBvxB,GAAyB,IAAD,4BAF9CiyB,WAAK,OA0DbC,OAAM,yCAAG,gGAYN,GAZeC,EAAQ,EAARA,SAGVC,EAAe,SAACN,GACpB,IAAM5T,EAAO2T,GAAWC,GAClBO,EAAa,UAAMP,EAASQ,WAAU,YAAIR,EAASS,cACzC,MAAZJ,GACFn7B,QAAQc,KAAK,qDACbq6B,EAAS,CAAEjU,KAAMA,EAAMmU,cAAeA,KAEtCr7B,QAAQ2U,KAAK,sDAEjB,GAEI8lB,GAAyBtV,OAAOrR,UAAU,CAAD,gBAKJ,OAAvC9T,QAAQc,KAAK,2BAA0B,SAChB,EAAKm6B,MAAMO,iBAAgB,OAClC,OADVV,EAAQ,UAEZ96B,QAAQc,KAAK,uBAAwBg6B,GACrCM,EAAaN,IACd,yCAMsB,EAAKG,MAAMQ,UAAS,QAA7B,GACG,QADXX,EAAQ,UACWA,EAASY,QAAO,iBACJ,OAAnC17B,QAAQc,KAAK,uBAAsB,UAC7B,EAAKm6B,MAAMU,iBAAgB,gCAEjC37B,QAAQc,KAAK,uCACbs6B,EAAaN,GAAS,4CAG3B,mDAvCK,GAuCL,KAKDc,SAAO,uBAAG,mFACkD,OAA1D57B,QAAQ2mB,IAAI,+CAA8C,SAC7C,EAAKsU,MAAMY,kBAAiB,mFAC1C,KAKDC,kBAAgB,uBAAG,mGACJ,EAAKb,MAAMQ,UAAUhlB,MAAK,SAACqkB,GACtC,GAAiB,OAAbA,EACF,OAAOA,EAASS,aAEhBj6B,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,kCAIR,IAAE,mFACH,KAKD68B,SAAO,uBAAG,mGACK,EAAKR,MAAMQ,UAAUhlB,MAAK,SAACqkB,GAUtC,OATiB,OAAbA,GACFx5B,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,uCAICi8B,GAAWC,EACpB,IAAE,mFA1IF,IAAIiB,EAAe,YACQhiC,IAAvBiP,EAASgzB,WACgB,aAAvBhzB,EAASgzB,YACXD,EAAe,kBAGnB/hC,KAAKihC,MAAQ,IAAIgB,GAAAA,YAAY,CAC3BC,UAAWlzB,EAASkzB,UACpBC,UAAWnzB,EAASozB,SACpBC,aAAc9B,EACd+B,MAAOtzB,EAASszB,MAChBC,cAAeR,EACfS,cAAc,EACdC,sBAAsB,EACtBC,4BAA4B,EAC5BC,yBAAyB,GAAD,OAAKpC,EAAO,aAEH,MAA/BvxB,EAAS4zB,oBAUX5iC,KAAKihC,MAAM4B,gBAAgBC,cAAcrmB,MAAK,SAAAza,GACT,MAA/BgN,EAAS4zB,qBACX5gC,EAAS+gC,qBAAuB/zB,EAAS4zB,mBACzC,EAAK3B,MAAQ,IAAIgB,GAAAA,YAAY,CAC3BC,UAAWlzB,EAASkzB,UACpBC,UAAWnzB,EAASozB,SACpBC,aAAc9B,EACd+B,MAAOtzB,EAASszB,MAChBC,cAAeR,EACfS,cAAc,EACdC,sBAAsB,EACtBC,4BAA4B,EAC5BC,yBAAyB,GAAD,OAAKpC,EAAO,WACpCv+B,SAAAA,IAGN,IAAG4b,OAAM,SAACnY,GACRO,QAAQP,MACN,qDACAA,EAEJ,GAEJ,I,sBCqBF,SAxF+B,WAOX,IAPY2xB,EAA6B,uDAAG,CAC9D4L,QAAS,EACTC,OAAQ,EACRC,WAAY,IACZC,WAAY,IACZC,WAAW,EACXC,qBAAsB,CAAC,IAAK,MAEtBC,EAAelM,EAEE,MAAnBA,EAAQ4L,UACVM,EAAaN,QAAU5L,EAAQ4L,SAGX,MAAlB5L,EAAQ6L,SACVK,EAAaL,OAAS7L,EAAQ6L,QAGN,MAAtB7L,EAAQ8L,aACVI,EAAaJ,WAAa9L,EAAQ8L,YAGV,MAAtB9L,EAAQ+L,aACVG,EAAaH,WAAa/L,EAAQ+L,YAGX,MAArB/L,EAAQgM,YACVE,EAAaF,UAAYhM,EAAQgM,WAGC,MAAhChM,EAAQiM,uBACVC,EAAaD,qBAAuBjM,EAAQiM,sBAY9C,IAAME,EAAe,SACnBC,EACAxhC,GAEA,IAAQ46B,EAAgB56B,EAAhB46B,IAAK6G,EAAWzhC,EAAXyhC,OAgCb,IAAMC,EAAsBF,EAAQG,KAGpC,OAFAH,EAAQG,KA/BR,WACE,IAAMC,EAAYC,GAAMD,UAAUN,GAElCM,EAAUE,SAAQ,SAA2BC,GAC3C,IAAMC,EAA6BR,EAAQS,mBAG3CT,EAAQS,mBAAqB,WAC3B,GAAkC,MAA9BD,EAAoC,CAAC,IAAD,uBADmBE,EAAI,yBAAJA,EAAI,gBAE7DF,EAA2BG,MAAMX,EAASU,EAC5C,CAEA,GAAIZ,EAAaD,qBAAqB9lB,SAASimB,EAAQY,QAAS,CAC9D,IAAMC,EAAY,6BAAyBzH,EAAG,YACxC0H,EAAqB,IAAI//B,MAAM8/B,GACrCT,EAAUC,MAAMS,EAClB,CACF,EAGIP,EAAiB,IACnB/9B,QAAQ2U,KAAK,cAAD,OAAeiiB,EAAG,yBAAiBmH,EAAc,MAC7DP,EAAQe,KAAKd,EAAQ7G,GAAK,GAE9B,IAAE,2BAxBkCsH,EAAI,yBAAJA,EAAI,gBA0BxCR,EAAoBS,MAAMX,EAASU,EACrC,EAMOV,CACT,EAEA,OAAOD,CACT,EC9G0C,IASrBiB,GAAe,WAKlC,cAII,IAAD,OAJYjE,EAAO,EAAPA,QAASvxB,EAAQ,EAARA,SAAUy1B,EAAO,EAAPA,SAAO,oBAJxBC,OAAkB,GAAE,KAEpBC,iBAAW,OAmF5BC,cAAgB,SAACC,GACf,IAAK,IAAMC,KAAKD,EACd,EAAKH,OAAO,GAAGz9B,OAAO89B,QAAQD,GAAKD,EAAOC,EAE9C,EAAC,KAMDxV,eAAc,yCAAG,WACf8H,GAAsC,0EAElC,EAAKsN,OAAO,GAAGrV,MAAM,CAAD,+BACT,EAAKqV,OAAO,GAAGz9B,OAAOqoB,eAAe8H,GAAQ,OAIzD,wCAJyD,uBAE7CmC,QAAQyL,OACnB,IAAIzgC,MAAM,2BACX,2CAEJ,mDAVa,GAUb,KAED46B,iBAAgB,yCAAG,WACjB/H,GAAwC,sFAE3B,EAAKsN,OAAO,GAAGz9B,OAAOk4B,iBAAiB/H,GAAQ,mFAC7D,mDAJe,GAIf,KAEDhU,gBAAe,yCAAG,WAChBgU,GAAuC,sFAE1B,EAAKsN,OAAO,GAAGz9B,OAAOmc,gBAAgBgU,GAAQ,mFAC5D,mDAJc,GAId,KAED/a,mBAAkB,yCAAG,WACnB+a,GAA0C,sFAE7B,EAAKsN,OAAO,GAAGz9B,OAAOoV,mBAAmB+a,GAAQ,mFAC/D,mDAJiB,GAIjB,KAED6N,sBAAqB,yCAAG,WACtB7N,GAA6C,sFAEhC,EAAKsN,OAAO,GAAGz9B,OAAOg+B,sBAAsB7N,GAAQ,mFAClE,mDAJoB,GAIpB,KAED7T,uBAAsB,yCAAG,WACvB6T,GAA8C,sFAEjC,EAAKsN,OAAO,GAAGz9B,OAAOsc,uBAAuB6T,GAAQ,mFACnE,mDAJqB,GAIrB,KAED8N,yBAAwB,yCAAG,WACzB9N,GAAgD,sFAEnC,EAAKsN,OAAO,GAAGz9B,OAAOi+B,yBAAyB9N,GAAQ,mFACrE,mDAJuB,GAIvB,KAEDta,iBAAgB,yCAAG,WACjBsa,GAAwC,sFAE3B,EAAKsN,OAAO,GAAGz9B,OAAO6V,iBAAiBsa,GAAQ,mFAC7D,mDAJe,GAIf,KAED+N,uBAAsB,yCAAG,WACvB/N,GAA8C,sFAEjC,EAAKsN,OAAO,GAAGz9B,OAAOk+B,uBAAuB/N,GAAQ,mFACnE,mDAJqB,GAIrB,KAEDgO,yBAAwB,yCAAG,WACzBhO,GAAgD,sFAEnC,EAAKsN,OAAO,GAAGz9B,OAAOm+B,yBAAyBhO,GAAQ,mFACrE,mDAJuB,GAIvB,KAEDiO,+BAA8B,yCAAG,WAC/BjO,GAAsD,sFAEzC,EAAKsN,OAAO,GAAGz9B,OAAOo+B,+BAA+BjO,GAAQ,mFAC3E,mDAJ6B,GAI7B,KAEDkO,iBAAgB,yCAAG,WACjBlO,GAAwC,sFAE3B,EAAKsN,OAAO,GAAGz9B,OAAOq+B,iBAAiBlO,GAAQ,mFAC7D,mDAJe,GA7JZp3B,KAAK2kC,YADQ,MAAXF,EACiBA,EAEA,SAACh/B,EAAO8/B,GACzBv/B,QAAQP,MAAMA,EAAO8/B,EACvB,EAGFv2B,EAAStF,SAAQ,SAAA67B,GAAmB,IAAD,IAW7BC,OAVmBzlC,IAAnBwlC,GACFj+B,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,qDAMqB7E,IAAvBwlC,EAAe3I,IACjB4I,EAAaD,EAAe3I,SACK78B,IAAxBwlC,EAAexL,KACxByL,EAAanF,GAAQkF,EAAexL,KAAMwG,GAE1Cj5B,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,+DAIN,IAAM6gC,EAAgD,CACpD7I,IAAK4I,QAE+BzlC,IAAlCwlC,EAAeG,iBACjBD,EAAeE,cAAgBJ,EAAeG,qBAEV3lC,IAAlCwlC,EAAeK,iBACjBH,EAAeI,cAAgBN,EAAeK,qBAEV7lC,IAAlCwlC,EAAeO,iBACjBL,EAAeM,cAAgBR,EAAeO,qBAEnB/lC,IAAzBwlC,EAAe1B,QACjB4B,EAAeO,aAAe,CAACC,GAAgBV,EAAe1B,SAGhE4B,EAAep+B,iBAAmB,SAAC5B,GACjC,EAAKk/B,YAAYl/B,EAAO8/B,EAC1B,EAEA,EAAKb,OAAOxiC,KAAK,CACf8R,GAAIuxB,EAAevxB,GACnBqb,MAA2B,QAAtB,EAAEkW,EAAelW,aAAK,SAC3B6W,KAAyB,QAArB,EAAEX,EAAeW,YAAI,SACzBj/B,OAAQ,IAAIk/B,GAAAA,GAAAA,eAAuBV,IAEvC,IAEIzlC,KAAK0kC,OAAO/9B,OAAS,GACvBW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,wCAIR,CAcC,OAdA,6BAED,WACE,OAAO5E,KAAK0kC,OAAO,GAAGz9B,OAAOm/B,OAC/B,GAAC,mBAQD,WACE,OAAOpmC,KAAK0kC,OAAO,GAAGz9B,OAAO89B,OAC/B,KAAC,EA9FiC,GCWpC,SAASsB,GAAsB,GAUd,IAAD,IAVmBn/B,EAAO,EAAPA,QAASgmB,EAAI,EAAJA,KAAMO,EAAG,EAAHA,IAAK6Y,EAAM,EAANA,OAW7ChqB,GAAqBnC,EAAAA,EAAAA,MAArBmC,iBAEF4X,IAAuD,QAA/B,EAAEoS,EAAOC,8BAAsB,UACvD1rB,EAAwB,QAAjB,EAAGyrB,EAAOzrB,eAAO,SAC9B,OACE,SAAC2rB,GAAU,CACTt/B,QAASA,EACTgmB,KAAMA,EACNnZ,YAAauyB,EAAOvyB,YACpB8G,QAASA,EACT4S,IAAKA,EACLyG,sBAAuBA,EACvB5X,iBAAkBA,GAGxB,CAEA,SAASmqB,GAAoB,GAOmB,IAPflG,EAAO,EAAPA,QAASvxB,EAAQ,EAARA,SAAUy1B,EAAO,EAAPA,QAQ5CiC,EAAiD,CAAEC,QAAS,GAC5D1rB,EAA4D,CAAC,EAuCnE,IAAK,IAAMxS,KArCXuG,EAAStF,SAAQ,SAAA67B,GACsB,MAAjCA,EAAeqB,eACjBrB,EAAeqB,eAAel9B,SAAQ,SAAAuc,GAChCtI,OAAOhS,OAAe3H,GAAgBuZ,SAAS0I,GAC7CA,KAAeygB,EACjBA,EAAoBzgB,IAAgB,EAEpCygB,EAAoBzgB,GAAe,EAGrCjgB,QAAQ2U,KACN,iCAA0BsL,EAAW,iDACXsf,EAAevxB,GAAE,KAGjD,KAEA0yB,EAAoBC,SAAW,EAC/B1rB,EAAc0rB,QAAU,IAAInC,GAAgB,CAC1CjE,QAAAA,EACAvxB,SAAU,CAACu2B,GACXd,QAAAA,IAGN,IAEIiC,EAAoBC,QAAU,GAChCr/B,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,wFAMY8hC,EACJ,YAARj+B,GAGAi+B,EAAoBj+B,GAAO,GAC7BnB,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,iEAAgE,yBAC9C6D,EAAG,oCACrB,+BA0BR,OApBIkV,OAAO6C,KAAKkmB,GAAqB//B,OAAS,GAC5CqI,EAAStF,SAAQ,SAAAm9B,GACf,IAAM5/B,EAAS,IAAIu9B,GAAgB,CACjCjE,QAAAA,EACAvxB,SAAU,CAAC63B,GACXpC,QAAAA,IAE2B,MAAzBoC,EAAOD,gBACTC,EAAOD,eAAel9B,SAAQ,SAAAuc,GAC5BhL,EAAcgL,GAAehf,CAC/B,GAEJ,IAGF0W,OAAOhS,OAAO3H,GAAgB0F,SAAQ,SAAAuc,GAC9BA,KAAehL,IACnBA,EAAcgL,GAAehL,EAAc0rB,QAE/C,IACO1rB,CACT,CA0XA,SAxWS,0CAwCP,WAAahb,GAAkB,IAAD,mBAC5B,cAAMA,IAxCS6mC,UAAI,IAEJC,oBAAsB,SACrCthC,EACA8/B,GAEqB,MAAjB9/B,EAAM2+B,OACR,EAAKlD,SACqB,MAAjBz7B,EAAM2+B,QAEf98B,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,8DAG+B7E,IAAjCwlC,EAAeyB,eACjBzB,EAAeyB,cAAct9B,SAAQ,SAACu9B,GAChCxhC,EAAM2+B,SAAW6C,EAAQ7C,OAC3B,EAAK59B,SAAS,CACZf,MAAO,CACL2+B,OAAQ3+B,EAAM2+B,OACdr/B,QAASkiC,EAAQliC,WAGK,MAAjBU,EAAM2+B,QAEf98B,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,uCAGR,GAEJ,EAAC,EAgHDw8B,aAAe,YAGF,IAHKlU,EAAI,EAAJA,KAAMmU,EAAa,EAAbA,cAItB,IAAK,IAAM54B,KAAO,EAAKrC,MAAMc,QAAS,CACrB,EAAKd,MAAMc,QAAQuB,GAC3Bm8B,cAAc,CAAEsC,cAAe7F,GACxC,CACA,IAAM8F,EAAahc,OAAOic,aAAaC,QAAQ,aACzCC,EAAenc,OAAOic,aAAaC,QAAQ,eACjD,GAAkB,MAAdF,GAEEA,IADgBhc,OAAOrR,SAASkH,SACJ,CAC9B,IAAI+Y,EAAOoN,EACS,MAAhBG,IACFvN,GAAQuN,GAEVnc,OAAOrR,SAASytB,KAAOxN,CACzB,CAEF5O,OAAOic,aAAaI,WAAW,aAC/Brc,OAAOic,aAAaI,WAAW,eAC/B,EAAKhhC,SAAS,CAAE0mB,KAAMA,GACxB,EAlIElnB,QAAQc,KAAK,kBACbd,QAAQc,KAAK,sBAAD,OAAuB7G,EAAMqmC,OAAOvM,KAAI,MACpD,MAA2B5O,OAAOrR,SAA1B2jB,EAAQ,EAARA,SAAUgK,EAAI,EAAJA,KACZlH,EAAO,UAAM9C,EAAQ,aAAKgK,GAC1BC,EAASrH,GAAQpgC,EAAMqmC,OAAOvM,KAAMwG,GAEpCoH,EAAe1nC,EAAMqmC,OAAOsB,KAmCjC,YAlCoB7nC,IAAjB4nC,IACF3hC,QAAQc,KACN,8CACA7G,EAAMqmC,OAAOsB,MAEf,EAAKd,KAAO,IAAI9F,GAAY0G,EAAQC,IAGF,IAAhC1nC,EAAMqmC,OAAOuB,QAAQlhC,QACvBW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,uCAGNoB,QAAQc,KACN,yDACA7G,EAAMqmC,OAAOuB,SAGf,EAAKlL,sBAAwB,EAAKA,sBAAsB3zB,MAAK,WAE7DjE,EAAAA,GAAAA,OAAe,CAAEoB,SAAU,IAC3B,EAAK2hC,gCAAgC7nC,EAAMqmC,QAE3C,EAAKlgC,MAAQ,CACXc,QAASu/B,GAAqB,CAC5BlG,QAAAA,EACAvxB,SAAU/O,EAAMqmC,OAAOuB,QACvBpD,QAAS,EAAKsC,sBAEhB1gC,WAAW,EACX0hC,mBAAmB,GACpB,CACH,CAgRC,OAhRA,uDAED,SAAiCzB,GAC/B,IAAM0B,EAAW,kCAEXpL,EADY,IAAI/b,gBAAgBsK,OAAOrR,SAASgH,QAChCoY,IAAI,YAIWn5B,IAHAumC,EAAOuB,QAAQjiC,MAClD,SAACihC,GAAM,OAAKA,EAAO7yB,KAAOg0B,CAAQ,KAE6B,kBAARpL,GACvD0J,EAAOuB,QAAQ3lC,KAAK,CAClB8R,GAAIg0B,EACJ3Y,OAAO,EACPuN,IAAAA,EACAgK,eAAgB,CACd5iC,EAAeikC,iBACfjkC,EAAeod,oBACfpd,EAAeggB,aACfhgB,EAAemf,kCACfnf,EAAeqgB,eACfrgB,EAAeoY,qCACfpY,EAAekkC,kCACflkC,EAAemkC,sCACfnkC,EAAeokC,0CAIvB,GAAC,mCAED,YAAwD,IAA/BxL,EAAG,EAAHA,IACvB52B,QAAQc,KAAK,2BAA4B81B,GACzC,IAAMyL,EAAY,IAAI7D,GAAgB,CACpCjE,QAAS,GACTvxB,SAAU,CAAC,CACTgF,GAAI,MACJ4oB,IAAAA,EACAsJ,MAAM,EACN7W,OAAO,IAEToV,QAASzkC,KAAK+mC,sBAEhBsB,EAAUzD,cAAc5kC,KAAKoG,MAAMc,QAAQy/B,QAAQ5B,SAMnD/kC,KAAKwG,UAAS,SAAAJ,GACZ,IAAMc,EAA8C,CAAC,EACrD,IAAK,IAAMuB,KAAOrC,EAAMc,QACtBA,EAAQuB,GAAO4/B,EAEjB,MAAO,CAAEnhC,QAAAA,EACX,GACF,GAEA,oBAkCA,WAAiB,IAAD,YACInH,IAAdC,KAAK8mC,MACP9gC,QAAQc,KAAK,uBACb9G,KAAK8mC,KAAK5F,OAAO,CAAEC,SAAUnhC,KAAKohC,eAAgB3kB,MAAK,WACrDzW,QAAQc,KAAK,0BACb,EAAKN,SAAS,CACZH,WAAW,EACX0hC,mBAAmB,GAEvB,IAAGnqB,OAAM,WAEPtW,EAAAA,QACEpC,EACA,IAAIL,EACFD,EACA,4BAEJ,EAAK4B,SAAS,CACZH,WAAW,EACXiiC,gBAAYvoC,EACZgoC,mBAAmB,GAEvB,KAEA/nC,KAAKwG,SAAS,CACZH,WAAW,EACXiiC,gBAAYvoC,EACZgoC,mBAAmB,GAGzB,GAAC,+BAED,WAEc,MADC5c,OAAOic,aAAaC,QAAQ,eAEvClc,OAAOic,aAAamB,QAAQ,YAAapd,OAAOrR,SAASkH,UACzDmK,OAAOic,aAAamB,QAAQ,cAAepd,OAAOrR,SAASgH,SAE7D9gB,KAAKkhC,QACP,GAAC,oBAED,WAA4B,IAAD,IAgBrBsH,EAhBqB,OACnBC,EAAU,CACd9nC,KAAMX,KAAKC,MAAMU,KACjB25B,QAASt6B,KAAKC,MAAMq6B,QACpBE,SAAUx6B,KAAKC,MAAMu6B,SACrBh6B,IAAK,iCACLkoC,aAAc1oC,KAAKC,MAAMqmC,OAAOoC,cAG5BC,IAC6B,QADZ,EACrB3oC,KAAKC,MAAMqmC,OAAOsC,uBAAe,UAE7BC,EACmC,QADd,EACzB7oC,KAAKC,MAAMqmC,OAAOuC,6BAAqB,SAKvCL,EADEG,GACS,SAAC,GAAQ,CAACzhC,QAASlH,KAAKoG,MAAMc,WAE9B,yDAGb,IACI4hC,EADAC,GAAmB,EAIK,MAA1B/oC,KAAKC,MAAMqmC,OAAOsB,MAC2B,MAA7C5nC,KAAKC,MAAMqmC,OAAOsB,KAAKhF,oBAEvBkG,EAAW,WACQ,MAAb,EAAKhC,MAEP,EAAKA,KAAKlF,SAEd,EACAmH,GAAmB,IAEnBD,EAAW,WAAO,EAClBC,GAAmB,GAGrB,IAAMC,EAAc,CAAErhC,OAAQ,SACxBshC,EAAqB,CAAEthC,OAAQ,QAErC,YAA8B5H,IAA1BC,KAAKoG,MAAMkiC,YAEX,SAAC,KAAa,CAACY,SAAUlpC,KAAKC,MAAMqmC,OAAOvM,KAAK,UAC9C,SAAC,KAAQ,CAACoC,GAAIn8B,KAAKoG,MAAMkiC,WAAYrnB,SAAO,MAGvCjhB,KAAKoG,MAAMC,WAElB,SAAC,KAAa,CAAC6iC,SAAUlpC,KAAKC,MAAMqmC,OAAOvM,KAAK,UAC9C,UAAC,IAAM,CAACryB,MAAOshC,EAAY,WACzB,SAAC,GAAM,CACLvb,IAAKgb,EACLvb,KAAMltB,KAAKoG,MAAM8mB,KACjBgP,oBAAoB,EACpBc,kBAAmBh9B,KAAK28B,sBACxBF,2BAA2B,KAE7B,SAAC,YAAc,CAAC/0B,MAAOuhC,EAAmB,UACxC,SAAC,MAAS,WAKRjpC,KAAKoG,MAAM2hC,kBAIQ,MAApB/nC,KAAKoG,MAAMX,OAElB,SAAC,GAAQ,CAACX,KAAK,QAAQC,QAAS/E,KAAKoG,MAAMX,MAAMV,WAIjD,SAAC,KAAa,CAACmkC,SAAUlpC,KAAKC,MAAMqmC,OAAOvM,KAAK,UAC9C,UAAC,KAAM,YACL,SAAC,KAAK,CACJA,KAAK,IACLC,SACE,UAAC,IAAM,CAACtyB,MAAOshC,EAAY,WACzB,SAAC,GAAM,CACLvb,IAAKgb,EACLvb,KAAMltB,KAAKoG,MAAM8mB,KACjBgP,oBAAoB,EACpBc,kBAAmBh9B,KAAK28B,sBACxBf,aAAcmN,EAAmBD,OAAW/oC,EAC5C08B,0BAA2BoM,KAE7B,SAAC,YAAc,CAACnhC,MAAOuhC,EAAmB,SACvCT,UAKT,SAAC,KAAK,CACJzO,KAAK,+BACLC,SACE,UAAC,IAAM,CAACtyB,MAAOshC,EAAY,WACzB,SAAC,GAAM,CACLvb,IAAKgb,EACLvb,KAAMltB,KAAKoG,MAAM8mB,KACjBgP,mBAAoByM,EACpB3L,kBAAmBh9B,KAAK28B,sBACxBf,aAAcmN,EAAmBD,OAAW/oC,EAC5C08B,0BAA2BoM,KAE7B,SAAC,YAAc,CAACnhC,MAAOuhC,EAAmB,UACxC,SAAC5C,GAAsB,CACrBn/B,QAASlH,KAAKoG,MAAMc,QACpBgmB,KAAMltB,KAAKoG,MAAM8mB,KACjBoZ,OAAQtmC,KAAKC,MAAMqmC,OACnB7Y,IAAKgb,YAMf,SAAC,KAAK,CACJ1O,KAAK,UACLC,SACE,UAAC,IAAM,CAACtyB,MAAOshC,EAAY,WACzB,SAAC,GAAM,CACLvb,IAAKgb,EACLvb,KAAMltB,KAAKoG,MAAM8mB,KACjBgP,oBAAoB,EACpBc,kBAAmBh9B,KAAK28B,sBACxBf,aAAcmN,EAAmBD,OAAW/oC,EAC5C08B,0BAA2BoM,IAC3B,wBA9DZ,SAAC,GAAQ,CAAC/jC,KAAK,QAAQC,QAAQ,mBAuErC,KAAC,EArWM,CAAShD,EAAAA,U","sources":["components/Description.tsx","components/ClinicalTrial.tsx","utils/values.ts","components/Patient.tsx","components/Study.tsx","data/uids.tsx","utils/PubSub.js","utils/CustomError.js","services/NotificationMiddleware.js","components/SlideItem.tsx","components/SlideList.tsx","components/AnnotationItem.tsx","components/AnnotationList.tsx","components/AnnotationGroupItem.tsx","components/AnnotationGroupList.tsx","components/Button.tsx","components/Equipment.tsx","utils/sr.tsx","components/Report.tsx","components/Item.tsx","data/specimens.tsx","components/SpecimenItem.tsx","components/SpecimenList.tsx","components/OpticalPathItem.tsx","components/OpticalPathList.tsx","components/MappingItem.tsx","components/MappingList.tsx","components/SegmentItem.tsx","components/SegmentList.tsx","utils/router.tsx","components/SlideViewer.tsx","data/slides.tsx","components/CaseViewer.tsx","components/Header.tsx","components/InfoPage.tsx","components/Worklist.tsx","utils/url.tsx","auth/OidcManager.tsx","utils/xhrRetryHook.ts","DicomWebManager.ts","App.tsx"],"sourcesContent":["import React from 'react'\nimport { v4 as generateUUID } from 'uuid'\nimport { Card, Descriptions } from 'antd'\n\nexport interface Attribute {\n name: string\n value: any\n}\n\nexport interface AttributeGroup {\n name: string\n attributes: Attribute[]\n}\n\ninterface DescriptionProps {\n header?: string\n icon?: any\n attributes: Attribute[]\n selectable?: boolean\n hasLongValues?: boolean\n methods?: React.ReactNode[]\n children?: React.ReactNode\n}\n\n/**\n * React component for a description consisting of a header containing a\n * header and a body containing a list of name-value pairs.\n */\nclass Description extends React.Component {\n render (): React.ReactNode {\n let layout: 'horizontal' | 'vertical' = 'horizontal'\n let labelLineHeight = '14px'\n const contentLineHeight = '14px'\n if (this.props.hasLongValues !== undefined && this.props.hasLongValues) {\n layout = 'vertical'\n labelLineHeight = '20px'\n }\n const items = this.props.attributes.map((item: Attribute, index: number) => {\n const uid = generateUUID()\n return (\n \n {item.value}\n \n )\n })\n let icon = null\n if (this.props.icon !== undefined) {\n icon = \n }\n return (\n \n \n {items}\n \n {this.props.children}\n \n )\n }\n}\n\nexport default Description\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\n\nimport Description from './Description'\n\ninterface ClinicalTrialProps {\n metadata: dmv.metadata.SOPClass\n}\n\n/**\n * React component representing a DICOM ClinicalTrial Information Entity that displays\n * common study-level attributes of contained DICOM Slide Microscopy images.\n */\nclass ClinicalTrial extends React.Component {\n render (): React.ReactNode {\n const attributes = []\n if (this.props.metadata.ClinicalTrialSponsorName != null) {\n // Attributes of Clinical Trial Subject module\n attributes.push(\n ...[\n {\n name: 'Sponsor Name',\n value: this.props.metadata.ClinicalTrialSponsorName\n },\n {\n name: 'Protocol ID',\n value: this.props.metadata.ClinicalTrialProtocolID\n },\n {\n name: 'Protocol Name',\n value: this.props.metadata.ClinicalTrialProtocolName\n },\n {\n name: 'Site Name',\n value: this.props.metadata.ClinicalTrialSiteName\n }\n ]\n )\n }\n if (this.props.metadata.ClinicalTrialTimePointID != null) {\n // Attributes of Clinical Trial Study module\n attributes.push(\n {\n name: 'Time Point ID',\n value: this.props.metadata.ClinicalTrialTimePointID\n }\n )\n }\n // Attributes of Clinical Trial Subject module\n return \n }\n}\n\nexport default ClinicalTrial\n","import * as dmv from 'dicom-microscopy-viewer'\n\nfunction parseName (value: dmv.metadata.PersonName|null|undefined): string {\n if (typeof value === 'object' && value !== null && value !== undefined) {\n if (value.Alphabetic !== undefined) {\n return value.Alphabetic.split('^').join(' ')\n }\n return ''\n }\n return ''\n}\n\nfunction parseDate (value: string|null|undefined): string {\n if (value !== null && value !== undefined) {\n const year = value.substring(0, 4)\n const month = value.substring(4, 6)\n const day = value.substring(6, 8)\n return `${year}-${month}-${day}`\n }\n return ''\n}\n\nfunction parseTime (value: string|null|undefined): string {\n if (value !== null && value !== undefined) {\n const hours = value.substring(0, 2)\n const minutes = value.substring(2, 4)\n const seconds = value.substring(4, 6)\n return `${hours}:${minutes}:${seconds}`\n }\n return ''\n}\n\nfunction parseDateTime (value: string|null|undefined): string {\n if (value !== null && value !== undefined) {\n const year = value.substring(0, 4)\n const month = value.substring(4, 6)\n const day = value.substring(6, 8)\n const hours = value.substring(8, 10)\n const minutes = value.substring(10, 12)\n const seconds = value.substring(12, 14)\n return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`\n }\n return ''\n}\n\nfunction parseSex (value: string|null|undefined): string {\n const lut: { [key: string]: string } = {\n F: 'Female',\n M: 'Male',\n O: 'Other'\n }\n if (value !== null && value !== undefined) {\n return lut[value]\n }\n return ''\n}\n\nexport { parseDate, parseDateTime, parseName, parseSex, parseTime }\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\n\nimport Description from './Description'\nimport { parseName, parseSex, parseDate } from '../utils/values'\n\ninterface PatientProps {\n metadata: dmv.metadata.Study|dmv.metadata.SOPClass\n}\n\n/**\n * React component representing a DICOM Patient Information Entity that\n * displays common study-level, patient-related attributes of contained\n * DICOM Slide Microscopy images.\n */\nclass Patient extends React.Component {\n render (): React.ReactNode {\n const attributes = [\n {\n name: 'ID',\n value: this.props.metadata.PatientID\n },\n {\n name: 'Name',\n value: parseName(this.props.metadata.PatientName)\n },\n {\n name: 'Gender',\n value: parseSex(this.props.metadata.PatientSex)\n },\n {\n name: 'Birthdate',\n value: parseDate(this.props.metadata.PatientBirthDate)\n }\n ]\n return (\n \n )\n }\n}\n\nexport default Patient\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\n\nimport Description from './Description'\nimport { parseDate, parseTime } from '../utils/values'\n\ninterface StudyProps {\n metadata: dmv.metadata.Study|dmv.metadata.SOPClass\n}\n\n/**\n * React component representing a DICOM Study Information Entity that displays\n * common study-level attributes of contained DICOM Slide Microscopy images.\n */\nclass Study extends React.Component {\n render (): React.ReactNode {\n const attributes = [\n {\n name: 'Accession #',\n value: this.props.metadata.AccessionNumber\n },\n {\n name: 'ID',\n value: this.props.metadata.StudyID\n },\n {\n name: 'Date',\n value: parseDate(this.props.metadata.StudyDate)\n },\n {\n name: 'Time',\n value: parseTime(this.props.metadata.StudyTime)\n }\n ]\n return \n }\n}\n\nexport default Study\n","export enum StorageClasses {\n VL_WHOLE_SLIDE_MICROSCOPY_IMAGE = '1.2.840.10008.5.1.4.1.1.77.1.6',\n COMPREHENSIVE_SR = '1.2.840.10008.5.1.4.1.1.88.33',\n COMPREHENSIVE_3D_SR = '1.2.840.10008.5.1.4.1.1.88.34',\n SEGMENTATION = '1.2.840.10008.5.1.4.1.1.66.4',\n MICROSCOPY_BULK_SIMPLE_ANNOTATION = '1.2.840.10008.5.1.4.1.1.91.1',\n PARAMETRIC_MAP = '1.2.840.10008.5.1.4.1.1.30',\n ADVANCED_BLENDING_PRESENTATION_STATE = '1.2.840.10008.5.1.4.1.1.11.8',\n COLOR_SOFTCOPY_PRESENTATION_STATE = '1.2.840.10008.5.1.4.1.1.11.2',\n GRAYSCALE_SOFTCOPY_PRESENTATION_STATE = '1.2.840.10008.5.1.4.1.1.11.1',\n PSEUDOCOLOR_SOFTCOPY_PRESENTATION_STATE = '1.2.840.10008.5.1.4.1.1.11.3'\n}\n","// Use symbols to prevent exposing private attributes\nconst _subscriptions = Symbol('subscriptions')\nconst _lastSubscriptionId = Symbol('lastSubscriptionId')\n\n/**\n * Class to enable implementation of publish/subscribe pattern\n * @class\n * @classdesc Enables publishing/subscribing\n */\nexport default class PubSub {\n constructor () {\n this[_subscriptions] = {}\n this[_lastSubscriptionId] = 0\n }\n\n /**\n * Adds a subscription callback to the provided event name\n * @param {string} eventName Event name that will trigger the callback\n * @param {Function} callback Function to be executed when event is published\n * @returns {void}\n */\n subscribe (eventName, callback) {\n if (eventName === undefined) {\n throw new Error('Trying to subscribe to an inexistent event')\n }\n\n if (typeof callback !== 'function') {\n throw new Error('The provided callback must be a function')\n }\n\n if (!this[_subscriptions].hasOwnProperty(eventName)) {\n this[_subscriptions][eventName] = {}\n }\n\n const subscriptionId = `sub${this[_lastSubscriptionId]++}`\n this[_subscriptions][eventName][subscriptionId] = callback\n }\n\n /**\n * Removes a subscription callback for the provided event name\n * @param {string} eventName Event name for the registerd callback\n * @param {Function} [callback] Function to have its subscription removed\n * @returns {void}\n */\n unsubscribe (eventName, callback) {\n const callbacks = this[_subscriptions][eventName] || {}\n for (const subscriptionId in callbacks) {\n if (!callback) {\n delete callbacks[subscriptionId]\n } else if (callbacks[subscriptionId] === callback) {\n delete callbacks[subscriptionId]\n }\n }\n }\n\n /**\n * Trigger all registered subscription callbacks for a specific event name\n * @param {String} eventName Event name to trigger subscriptions from\n * @param {any} [payload] Payload that will be passed to the callback fuction\n * @returns {void}\n */\n publish (eventName, ...payload) {\n if (eventName === undefined) {\n throw new Error('Trying to publish an inexistent event')\n }\n\n const callbacks = this[_subscriptions][eventName] || {}\n for (const subscriptionId in callbacks) {\n callbacks[subscriptionId](...payload)\n }\n }\n\n /**\n * Cleares all subscriptions for current instance\n * @returns {void}\n */\n unsubscribeFromAll () {\n for (const eventName in this[_subscriptions]) {\n const callbacks = this[_subscriptions][eventName]\n for (const subscriptionId in callbacks) {\n delete callbacks[subscriptionId]\n }\n }\n }\n}\n","const errorTypes = {\n AUTHENTICATION: 'Authentication',\n COMMUNICATION: 'Communication',\n ENCODINGANDDECODING: 'EncodingDecoding',\n VISUALIZATION: 'Visualization'\n}\n\nclass CustomError extends Error {\n constructor (type, message) {\n super()\n this.message = message\n this.stack = new Error().stack\n this.type = type\n }\n}\n\nexport { errorTypes, CustomError }\n","import PubSub from '../utils/PubSub'\nimport { notification } from 'antd'\nimport { CustomError, errorTypes } from '../utils/CustomError'\n\nexport const NotificationMiddlewareEvents = {\n OnError: 'onError'\n}\n\nexport const NotificationMiddlewareContext = {\n DICOMWEB: 'dicomweb-client',\n DMV: 'dicom-microscopy-viewer',\n DCMJS: 'dcmjs',\n SLIM: 'slim',\n AUTH: 'authentication'\n}\n\nconst NotificationType = {\n TOAST: 'toast',\n CONSOLE: 'console'\n}\n\n/* Sources of Error:\n 1. 'dicomweb-client': Error while requesting/fetching data, tagged as 'Communication'\n 2. 'slim' and 'dicom-microscopy-viewer' library: Error related to dicom data encoding/decoding,\n could directly/indirectly impact image-related visualization, tagged as 'Visualization' or\n 'Encoding/Decoding' accordingly\n 3. 'dcmjs' library: Data parsing error, tagged as 'DICOMError'\n 4. 'authentication': Error during user authentication, tagged as 'Authentication'\n */\nconst NotificationSourceDefinition = {\n sources: [\n {\n category: errorTypes.AUTHENTICATION,\n notificationType: NotificationType.TOAST\n },\n {\n category: errorTypes.COMMUNICATION,\n notificationType: NotificationType.TOAST\n },\n {\n category: errorTypes.VISUALIZATION,\n notificationType: NotificationType.TOAST\n },\n {\n category: errorTypes.ENCODINGANDDECODING,\n notificationType: NotificationType.CONSOLE\n }\n ]\n}\n\nclass NotificationMiddleware extends PubSub {\n /**\n * Error handling middleware function\n *\n * @param source - source of error - dicomweb-client, dmv, dcmjs or slim itself\n * @param error - error object\n */\n onError (source, error) {\n const errorCategory = error.type\n const sourceConfig = NotificationSourceDefinition.sources.find(\n s => s.category === errorCategory\n )\n const { notificationType } = sourceConfig\n\n this.publish(NotificationMiddlewareEvents.OnError, {\n source,\n error\n })\n\n let notificationMsg\n if (error instanceof CustomError) {\n notificationMsg = error.message\n } else {\n notificationMsg = String(error)\n }\n\n switch (notificationType) {\n case NotificationType.TOAST:\n console.error(`A ${errorCategory} error occurred: `, error)\n return notification.error({\n message: `${errorCategory} error`,\n description: notificationMsg,\n duration: 3\n })\n\n case NotificationType.CONSOLE:\n console.error(`A ${errorCategory} error occurred: `, error)\n break\n\n default:\n }\n }\n}\n\nexport default new NotificationMiddleware()\n","import React from 'react'\nimport { FaSpinner } from 'react-icons/fa'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport { Menu } from 'antd'\n\nimport DicomWebManager from '../DicomWebManager'\nimport Description from './Description'\nimport { Slide } from '../data/slides'\nimport { StorageClasses } from '../data/uids'\nimport NotificationMiddleware, {\n NotificationMiddlewareContext\n} from '../services/NotificationMiddleware'\nimport { CustomError } from '../utils/CustomError'\n\ninterface SlideItemProps {\n clients: { [key: string]: DicomWebManager }\n slide: Slide\n}\n\ninterface SlideItemState {\n isLoading: boolean\n}\n\n/**\n * React component representing a DICOM Series Information Entity that displays\n * common series-level attributes of contained DICOM Slide Microscopy images\n * as well as the OVERVIEW image (if available).\n * When selected a Slide Viewer instance is created for the display of the\n * contained images.\n */\nclass SlideItem extends React.Component {\n state = { isLoading: false }\n\n private readonly overviewViewportRef = React.createRef()\n\n private overviewViewer?: dmv.viewer.OverviewImageViewer\n\n constructor (props: SlideItemProps) {\n super(props)\n this.overviewViewer = undefined\n }\n\n componentDidMount (): void {\n this.setState({ isLoading: true })\n if (this.props.slide.overviewImages.length > 0) {\n const metadata = this.props.slide.overviewImages[0]\n if (this.overviewViewportRef.current !== null) {\n this.overviewViewportRef.current.innerHTML = ''\n console.info(\n 'instantiate viewer for OVERVIEW image of slide ' +\n `\"${metadata.ContainerIdentifier}\"`\n )\n this.overviewViewer = new dmv.viewer.OverviewImageViewer({\n client: this.props.clients[\n StorageClasses.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE\n ],\n metadata: metadata,\n resizeFactor: 1,\n errorInterceptor: (error: CustomError) =>\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.DMV,\n error\n )\n })\n this.overviewViewer.render({\n container: this.overviewViewportRef.current\n })\n }\n }\n\n this.setState({ isLoading: false })\n }\n\n render (): React.ReactNode {\n if (this.overviewViewer !== undefined) {\n this.overviewViewer.resize()\n }\n const attributes = []\n const description = this.props.slide.description\n if (description != null && description !== '') {\n attributes.push({\n name: 'Description',\n value: description\n })\n }\n if (this.state.isLoading) {\n return ()\n }\n\n /* Properties need to be propagated down to Menu.Item:\n * https://github.com/react-component/menu/issues/142\n */\n return (\n \n \n
\n \n \n )\n }\n}\n\nexport default SlideItem\n","import React from 'react'\nimport { Menu } from 'antd'\n\nimport DicomWebManager from '../DicomWebManager'\nimport SlideItem from './SlideItem'\nimport { Slide } from '../data/slides'\n\ninterface SlideListProps {\n metadata: Slide[]\n clients: { [key: string]: DicomWebManager }\n selectedSeriesInstanceUID: string\n onSeriesSelection: (\n { seriesInstanceUID }: { seriesInstanceUID: string }\n ) => void\n}\n\ninterface SlideListState {\n selectedSeriesInstanceUID: string\n}\n\n/**\n * React component representing a list of DICOM Series Information Entities.\n */\nclass SlideList extends React.Component {\n state = {\n selectedSeriesInstanceUID: this.props.selectedSeriesInstanceUID\n }\n\n componentDidMount (): void {\n this.props.onSeriesSelection({\n seriesInstanceUID: this.state.selectedSeriesInstanceUID\n })\n }\n\n render (): React.ReactNode {\n const slideList = this.props.metadata\n const slideItemList = []\n for (let i = 0; i < slideList.length; ++i) {\n const slide = slideList[i]\n const slideItem = (\n \n )\n\n slideItemList.push(slideItem)\n }\n\n const handleMenuItemSelection = ({ key, keyPath, domEvent, selectedKeys }: {\n key: React.ReactText\n keyPath: React.ReactText[]\n domEvent: React.MouseEvent | React.KeyboardEvent\n selectedKeys?: React.ReactText[]\n }): void => {\n console.info(`select slide \"${key}\"`)\n this.setState({ selectedSeriesInstanceUID: key.toString() })\n this.props.onSeriesSelection({ seriesInstanceUID: key.toString() })\n }\n\n let selectedKeys\n if (this.state.selectedSeriesInstanceUID !== undefined &&\n this.state.selectedSeriesInstanceUID !== null) {\n selectedKeys = [this.state.selectedSeriesInstanceUID]\n }\n\n return (\n \n {slideItemList}\n \n )\n }\n}\n\nexport default SlideList\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport * as dcmjs from 'dcmjs'\nimport { Menu, Space, Switch } from 'antd'\nimport { FaEye, FaEyeSlash } from 'react-icons/fa'\n\nimport Description from './Description'\n\ninterface AnnotationItemProps {\n roi: dmv.roi.ROI\n index: number\n isVisible: boolean\n onVisibilityChange: ({ roiUID, isVisible }: {\n roiUID: string\n isVisible: boolean\n }) => void\n}\n\n/**\n * React component representing a Region of Interest (ROI) annotation.\n */\nclass AnnotationItem extends React.Component {\n constructor (props: AnnotationItemProps) {\n super(props)\n this.handleVisibilityChange = this.handleVisibilityChange.bind(this)\n }\n\n handleVisibilityChange (\n checked: boolean,\n event: React.MouseEvent\n ): void {\n this.props.onVisibilityChange({\n roiUID: this.props.roi.uid,\n isVisible: checked\n })\n }\n\n render (): React.ReactNode {\n const identifier = `ROI ${this.props.index + 1}`\n const attributes: Array<{ name: string, value: string }> = []\n /**\n * This hack is required for Menu.Item to work properly:\n * https://github.com/react-component/menu/issues/142\n */\n const { isVisible, onVisibilityChange, ...otherProps } = this.props\n this.props.roi.evaluations.forEach((\n item: (\n dcmjs.sr.valueTypes.TextContentItem |\n dcmjs.sr.valueTypes.CodeContentItem\n )\n ) => {\n const nameValue = item.ConceptNameCodeSequence[0].CodeValue\n const nameMeaning = item.ConceptNameCodeSequence[0].CodeMeaning\n const name = `${nameMeaning}`\n if (item.ValueType === dcmjs.sr.valueTypes.ValueTypes.CODE) {\n const codeContentItem = item as dcmjs.sr.valueTypes.CodeContentItem\n const valueMeaning = codeContentItem.ConceptCodeSequence[0].CodeMeaning\n // For consistency with Segment and Annotation Group\n if (nameValue === '276214006') {\n attributes.push({\n name: 'Property category',\n value: `${valueMeaning}`\n })\n } else if (nameValue === '121071') {\n attributes.push({\n name: 'Property type',\n value: `${valueMeaning}`\n })\n } else if (nameValue === '111001') {\n attributes.push({\n name: 'Algorithm Name',\n value: `${valueMeaning}`\n })\n } else {\n attributes.push({\n name: name,\n value: `${valueMeaning}`\n })\n }\n } else if (item.ValueType === dcmjs.sr.valueTypes.ValueTypes.TEXT) {\n const textContentItem = item as dcmjs.sr.valueTypes.TextContentItem\n attributes.push({\n name: name,\n value: textContentItem.TextValue\n })\n }\n })\n this.props.roi.measurements.forEach(item => {\n const nameMeaning = item.ConceptNameCodeSequence[0].CodeMeaning\n const name = `${nameMeaning}`\n const seq = item.MeasuredValueSequence[0]\n const value = seq.NumericValue.toPrecision(6)\n const unit = seq.MeasurementUnitsCodeSequence[0].CodeValue\n attributes.push({\n name: name,\n value: `${value} ${unit}`\n })\n })\n return (\n \n
\n }\n unCheckedChildren={}\n />\n
\n \n \n \n
\n )\n }\n}\n\nexport default AnnotationItem\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport { Menu, Switch } from 'antd'\nimport { FaEye, FaEyeSlash } from 'react-icons/fa'\n\nimport AnnotationItem from './AnnotationItem'\n\ninterface AnnotationListProps {\n rois: dmv.roi.ROI[]\n selectedRoiUIDs: Set\n visibleRoiUIDs: Set\n onVisibilityChange: ({ roiUID, isVisible }: {\n roiUID: string\n isVisible: boolean\n }) => void\n onSelection: ({ roiUID }: { roiUID: string }) => void\n}\n\n/**\n * React component representing a list of Region of Interest (ROI)\n * annotations.\n */\nclass AnnotationList extends React.Component {\n constructor (props: AnnotationListProps) {\n super(props)\n this.handleMenuItemSelection = this.handleMenuItemSelection.bind(this)\n this.handleVisibilityChange = this.handleVisibilityChange.bind(this)\n }\n\n handleVisibilityChange (\n checked: boolean,\n event: React.MouseEvent\n ): void {\n if (checked) {\n this.props.rois.forEach(roi => {\n this.props.onVisibilityChange({ roiUID: roi.uid, isVisible: checked })\n })\n } else {\n this.props.visibleRoiUIDs.forEach(roiUID => {\n this.props.onVisibilityChange({ roiUID, isVisible: checked })\n })\n }\n }\n\n handleMenuItemSelection (object: any): void {\n this.props.onSelection({ roiUID: object.key })\n }\n\n render (): React.ReactNode {\n const items = this.props.rois.map((roi, index) => (\n \n ))\n\n return (\n <>\n
\n 0}\n checkedChildren={}\n unCheckedChildren={}\n />\n
\n \n {items}\n \n \n )\n }\n}\n\nexport default AnnotationList\n","import React from 'react'\nimport {\n Badge,\n Button,\n Col,\n Divider,\n InputNumber,\n Menu,\n Popover,\n Row,\n Select,\n Slider,\n Space,\n Switch\n} from 'antd'\nimport { SettingOutlined } from '@ant-design/icons'\nimport { FaEye, FaEyeSlash } from 'react-icons/fa'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport * as dcmjs from 'dcmjs'\n\nimport Description from './Description'\n\ninterface AnnotationGroupItemProps {\n annotationGroup: dmv.annotation.AnnotationGroup\n isVisible: boolean\n metadata: dmv.metadata.MicroscopyBulkSimpleAnnotations\n defaultStyle: {\n opacity: number\n color: number[]\n }\n onVisibilityChange: ({ annotationGroupUID, isVisible }: {\n annotationGroupUID: string\n isVisible: boolean\n }) => void\n onStyleChange: ({ annotationGroupUID, styleOptions }: {\n annotationGroupUID: string\n styleOptions: {\n opacity?: number\n color?: number[]\n limitValues?: number[]\n measurement?: dcmjs.sr.coding.CodedConcept\n }\n }) => void\n}\n\ninterface AnnotationGroupItemState {\n isVisible: boolean\n currentStyle: {\n opacity: number\n color?: number[]\n limitValues?: number[]\n measurement?: dcmjs.sr.coding.CodedConcept\n }\n}\n\n/**\n * React component representing an Annotation Group.\n */\nclass AnnotationGroupItem extends React.Component {\n constructor (props: AnnotationGroupItemProps) {\n super(props)\n this.handleVisibilityChange = this.handleVisibilityChange.bind(this)\n this.handleMeasurementSelection = this.handleMeasurementSelection.bind(this)\n this.handleOpacityChange = this.handleOpacityChange.bind(this)\n this.handleColorRChange = this.handleColorRChange.bind(this)\n this.handleColorGChange = this.handleColorGChange.bind(this)\n this.handleColorBChange = this.handleColorBChange.bind(this)\n this.getCurrentColor = this.getCurrentColor.bind(this)\n this.state = {\n isVisible: this.props.isVisible,\n currentStyle: {\n opacity: this.props.defaultStyle.opacity,\n color: this.props.defaultStyle.color\n }\n }\n }\n\n handleVisibilityChange (\n checked: boolean,\n event: React.MouseEvent\n ): void {\n this.props.onVisibilityChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n isVisible: checked\n })\n this.setState({ isVisible: checked })\n }\n\n handleOpacityChange (value: number | null): void {\n if (value != null) {\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: {\n opacity: value\n }\n })\n this.setState({\n currentStyle: {\n opacity: value,\n color: this.state.currentStyle.color,\n limitValues: this.state.currentStyle.limitValues\n }\n })\n }\n }\n\n handleColorRChange (\n value: number | number[] | null\n ): void {\n if (value != null && this.state.currentStyle.color !== undefined) {\n const color = [\n Array.isArray(value) ? value[0] : value,\n this.state.currentStyle.color[1],\n this.state.currentStyle.color[2]\n ]\n this.setState(state => ({\n currentStyle: {\n color: color,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }))\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: { color: color }\n })\n }\n }\n\n handleColorGChange (\n value: number | number[] | null\n ): void {\n if (value != null && this.state.currentStyle.color !== undefined) {\n const color = [\n this.state.currentStyle.color[0],\n Array.isArray(value) ? value[0] : value,\n this.state.currentStyle.color[2]\n ]\n this.setState(state => ({\n currentStyle: {\n color: color,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }))\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: { color: color }\n })\n }\n }\n\n handleColorBChange (\n value: number | number[] | null\n ): void {\n if (value != null && this.state.currentStyle.color !== undefined) {\n const color = [\n this.state.currentStyle.color[0],\n this.state.currentStyle.color[1],\n Array.isArray(value) ? value[0] : value\n ]\n this.setState(state => ({\n currentStyle: {\n color: color,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }))\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: { color: color }\n })\n }\n }\n\n getCurrentColor (): string {\n const rgb2hex = (values: number[]): string => {\n const r = values[0]\n const g = values[1]\n const b = values[2]\n return '#' + (0x1000000 + (r << 16) + (g << 8) + b).toString(16).slice(1)\n }\n\n if (this.state.currentStyle.color != null) {\n return rgb2hex(this.state.currentStyle.color)\n } else {\n return 'white'\n }\n }\n\n handleLowerLimitChange (\n value: number | null\n ): void {\n if (value != null && this.state.currentStyle.limitValues !== undefined) {\n this.setState(state => {\n if (state.currentStyle.limitValues !== undefined) {\n return {\n currentStyle: {\n color: state.currentStyle.color,\n opacity: state.currentStyle.opacity,\n limitValues: [value, state.currentStyle.limitValues[1]]\n }\n }\n } else {\n return {\n currentStyle: {\n color: state.currentStyle.color,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }\n }\n })\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: {\n limitValues: [\n value,\n this.state.currentStyle.limitValues[1]\n ]\n }\n })\n }\n }\n\n handleUpperLimitChange (\n value: number | null\n ): void {\n if (value != null && this.state.currentStyle.limitValues !== undefined) {\n this.setState(state => {\n if (state.currentStyle.limitValues !== undefined) {\n return {\n currentStyle: {\n color: state.currentStyle.color,\n opacity: state.currentStyle.opacity,\n limitValues: [state.currentStyle.limitValues[0], value]\n }\n }\n } else {\n return {\n currentStyle: {\n color: state.currentStyle.color,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }\n }\n })\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: {\n limitValues: [\n this.state.currentStyle.limitValues[0],\n value\n ]\n }\n })\n }\n }\n\n handleLimitChange (\n values: number[]\n ): void {\n this.setState(state => ({\n currentStyle: {\n color: state.currentStyle.color,\n opacity: state.currentStyle.opacity,\n limitValues: values\n }\n }))\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: { limitValues: values }\n })\n }\n\n handleMeasurementSelection (value?: string, option?: any): void {\n if (value != null && option.children != null) {\n const codeComponents = value.split('-')\n const measurement = new dcmjs.sr.coding.CodedConcept({\n value: codeComponents[1],\n schemeDesignator: codeComponents[0],\n meaning: option.children\n })\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: { measurement }\n })\n this.setState(state => ({\n currentStyle: {\n opacity: state.currentStyle.opacity,\n measurement\n }\n }))\n } else {\n this.props.onStyleChange({\n annotationGroupUID: this.props.annotationGroup.uid,\n styleOptions: {\n color: this.props.defaultStyle.color\n }\n })\n this.setState(state => ({\n currentStyle: {\n opacity: state.currentStyle.opacity,\n color: this.props.defaultStyle.color,\n limitValues: undefined\n }\n }))\n }\n }\n\n render (): React.ReactNode {\n const index = this.props.metadata.AnnotationGroupSequence.findIndex(\n item => (item.AnnotationGroupUID === this.props.annotationGroup.uid)\n )\n const item = this.props.metadata.AnnotationGroupSequence[index]\n const attributes: Array<{ name: string, value: string }> = [\n {\n name: 'Property type',\n value: this.props.annotationGroup.propertyType.CodeMeaning\n },\n {\n name: 'Property category',\n value: this.props.annotationGroup.propertyCategory.CodeMeaning\n },\n // {\n // name: 'Algorithm Name',\n // value: this.props.annotationGroup.algorithmName\n // },\n {\n name: 'Graphic type',\n value: item.GraphicType\n }\n ]\n\n const measurementsSequence = item.MeasurementsSequence ?? []\n const measurementOptions = measurementsSequence.map((measurementItem, i) => {\n const name = measurementItem.ConceptNameCodeSequence[0]\n return (\n \n {name.CodeMeaning}\n \n )\n })\n measurementOptions.push(\n \n {}\n \n )\n\n let colorSettings\n if (this.state.currentStyle.color != null) {\n colorSettings = (\n <>\n \n Color\n \n \n \n Red\n \n \n \n \n \n \n \n \n\n \n \n Green\n \n \n \n \n \n \n \n \n\n \n \n Blue\n \n \n \n \n \n \n \n \n \n \n )\n }\n\n let windowSettings\n let explorationSettings\n if (measurementsSequence.length > 0) {\n if (this.state.currentStyle.limitValues != null) {\n // TODO: need to get default min/max values from viewer first\n const minValue = 0\n const maxValue = 1000\n windowSettings = (\n <>\n \n Values of interest\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n explorationSettings = (\n <>\n \n Exploration\n \n \n \n Measurement\n \n \n \n {measurementOptions}\n \n \n \n \n )\n }\n\n const settings = (\n
\n {colorSettings}\n {windowSettings}\n \n \n Opacity\n \n \n \n \n \n \n \n \n {explorationSettings}\n
\n )\n\n const color = this.getCurrentColor()\n const isBadgeVisible = (\n this.state.isVisible && this.state.currentStyle.measurement == null\n )\n const {\n annotationGroup,\n defaultStyle,\n isVisible,\n metadata,\n onVisibilityChange,\n onStyleChange,\n ...otherProps\n } = this.props\n return (\n \n \n
\n \n }\n unCheckedChildren={}\n />\n \n }\n />\n \n \n
\n \n \n \n
\n \n )\n }\n}\n\nexport default AnnotationGroupItem\n","import React from 'react'\nimport { Menu } from 'antd'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport * as dcmjs from 'dcmjs'\n\nimport AnnotationGroupItem from './AnnotationGroupItem'\n\ninterface AnnotationGroupListProps {\n annotationGroups: dmv.annotation.AnnotationGroup[]\n visibleAnnotationGroupUIDs: Set\n metadata: {\n [annotationGroupUID: string]: dmv.metadata.MicroscopyBulkSimpleAnnotations\n }\n defaultAnnotationGroupStyles: {\n [annotationGroupUID: string]: {\n opacity: number\n color: number[]\n }\n }\n onAnnotationGroupVisibilityChange: ({ annotationGroupUID, isVisible }: {\n annotationGroupUID: string\n isVisible: boolean\n }) => void\n onAnnotationGroupStyleChange: ({ annotationGroupUID, styleOptions }: {\n annotationGroupUID: string\n styleOptions: {\n opacity?: number\n color?: number[]\n measurement?: dcmjs.sr.coding.CodedConcept\n }\n }) => void\n}\n\n/**\n * React component representing a list of Annotation Groups.\n */\nclass AnnotationGroupList extends React.Component {\n render (): React.ReactNode {\n const items = this.props.annotationGroups.map((annotationGroup, index) => {\n const uid = annotationGroup.uid\n return (\n \n )\n })\n\n return (\n \n {items}\n \n )\n }\n}\n\nexport default AnnotationGroupList\n","import React from 'react'\nimport { Button as Btn, Divider, Tooltip } from 'antd'\n\ninterface ButtonProps {\n icon: any\n tooltip?: string\n label?: string\n onClick?: (options: any) => void\n isSelected?: boolean\n}\n\n/**\n * React component for a button.\n */\nclass Button extends React.Component {\n constructor (props: ButtonProps) {\n super(props)\n this.handleClick = this.handleClick.bind(this)\n }\n\n handleClick (event: React.SyntheticEvent): void {\n if (this.props.onClick !== undefined) {\n this.props.onClick(event)\n }\n }\n\n render (): React.ReactNode {\n const Icon = this.props.icon\n if (Icon === undefined) {\n return null\n }\n\n let text\n if (this.props.label != null) {\n text = (\n <>\n \n {this.props.label}\n \n )\n }\n\n let button\n if (this.props.isSelected ?? false) {\n button = (\n }\n type='primary'\n style={{ lineHeight: '1.0' }}\n >\n {text}\n \n )\n } else {\n button = (\n }\n type='default'\n style={{ lineHeight: '1.0' }}\n >\n {text}\n \n )\n }\n\n if (this.props.tooltip !== undefined) {\n return (\n \n {button}\n \n )\n } else {\n return button\n }\n }\n}\n\nexport default Button\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\n\nimport Description from './Description'\n\ninterface EquipmentProps {\n metadata?: dmv.metadata.VLWholeSlideMicroscopyImage\n}\n\n/**\n * React component representing a list of DICOM Equipment Entities.\n */\nclass Equipment extends React.Component {\n render (): React.ReactNode {\n if (this.props.metadata === undefined) {\n return null\n }\n const attributes = [\n {\n name: 'Manufacturer',\n value: this.props.metadata.Manufacturer\n },\n {\n name: 'Model Name',\n value: this.props.metadata.ManufacturerModelName\n },\n {\n name: 'Device Serial Number',\n value: this.props.metadata.DeviceSerialNumber\n },\n {\n name: 'Software Versions',\n value: this.props.metadata.SoftwareVersions\n }\n ]\n if (this.props.metadata.InstitutionName != null) {\n attributes.push({\n name: 'Institution Name',\n value: this.props.metadata.InstitutionName\n })\n }\n return \n }\n}\n\nexport default Equipment\n","import * as dcmjs from 'dcmjs'\n\n/**\n * Check whether a DICOM SR content item has a given name.\n *\n * @param item - Content item\n * @param name - Coded name that should be compared\n * @returns Whether the content item has the given name\n */\nconst hasName = (\n item: dcmjs.sr.valueTypes.ContentItem,\n name: dcmjs.sr.coding.CodedConcept\n): boolean => {\n const concept = item.ConceptNameCodeSequence[0]\n return (\n concept.CodeValue === name.CodeValue &&\n concept.CodingSchemeDesignator === name.CodingSchemeDesignator\n )\n}\n\n/**\n * Check whether a DICOM SR content item has a given value type.\n *\n * @param item - Content item\n * @param valueType - Value Type\n * @returns Whether the content item has the given value type\n */\nconst hasValueType = (\n item: dcmjs.sr.valueTypes.ContentItem,\n valueType: dcmjs.sr.valueTypes.ValueTypes\n): boolean => {\n console.log(item.ValueType, valueType)\n return item.ValueType === valueType\n}\n\n/**\n * Find content items in a DICOM SR document given their name.\n *\n * Only finds content items at the root level, but not any nested content items.\n *\n * @param content - Document content, i.e., sequence of content items\n * @param name - Coded name that should be compared\n * @returns Matched content items\n */\nexport const findContentItemsByName = (\n { content, name }: {\n content: dcmjs.sr.valueTypes.ContentItem[]\n name: dcmjs.sr.coding.CodedConcept\n }\n): dcmjs.sr.valueTypes.ContentItem[] => {\n const items: dcmjs.sr.valueTypes.ContentItem[] = []\n content.forEach(i => {\n if (hasName(i, name)) {\n items.push(i)\n }\n })\n return items\n}\n\n/**\n * Find content items in a DICOM SR document given their value type.\n *\n * Only finds content items at the root level, but not any nested content items.\n *\n * @param content - Document content, i.e., sequence of content items\n * @param valueType - Value Type\n * @returns Matched content items\n */\nexport const findContentItemsByValueType = (\n { content, valueType }: {\n content: dcmjs.sr.valueTypes.ContentItem[]\n valueType: dcmjs.sr.valueTypes.ValueTypes\n }\n): dcmjs.sr.valueTypes.ContentItem[] => {\n const items: dcmjs.sr.valueTypes.ContentItem[] = []\n content.forEach(i => {\n if (hasValueType(i, valueType)) {\n items.push(i)\n }\n })\n return items\n}\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport * as dcmjs from 'dcmjs'\nimport { Divider } from 'antd'\nimport { v4 as generateUUID } from 'uuid'\n\nimport Description from './Description'\nimport Patient from './Patient'\nimport Study from './Study'\nimport { findContentItemsByName } from '../utils/sr'\nimport { CustomError, errorTypes } from '../utils/CustomError'\nimport NotificationMiddleware, {\n NotificationMiddlewareContext\n} from '../services/NotificationMiddleware'\n\nexport const hasValueType = (\n item: dcmjs.sr.valueTypes.ContentItem,\n valueType: string\n): boolean => {\n return item.ValueType === valueType\n}\n\nconst findMeasurementItems = (\n { content }: { content: dcmjs.sr.valueTypes.ContentItem[] }\n): dcmjs.sr.valueTypes.NumContentItem[] => {\n const items: dcmjs.sr.valueTypes.NumContentItem[] = []\n content.forEach(i => {\n if (hasValueType(i, dcmjs.sr.valueTypes.ValueTypes.NUM)) {\n const measurement = i as dcmjs.sr.valueTypes.NumContentItem\n items.push(measurement)\n }\n })\n return items\n}\n\nconst findEvaluationItems = (\n { content }: { content: dcmjs.sr.valueTypes.ContentItem[] }\n): dcmjs.sr.valueTypes.CodeContentItem[] => {\n const items: dcmjs.sr.valueTypes.CodeContentItem[] = []\n content.forEach(i => {\n if (hasValueType(i, dcmjs.sr.valueTypes.ValueTypes.CODE)) {\n const evaluation = i as dcmjs.sr.valueTypes.CodeContentItem\n items.push(evaluation)\n }\n })\n return items\n}\n\nconst getROIs = (report: dmv.metadata.Comprehensive3DSR): dmv.roi.ROI[] => {\n // TID 1500 Measurement Report\n const matches = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '126010',\n schemeDesignator: 'DCM',\n meaning: 'Imaging Measurements'\n })\n })\n if (matches.length !== 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Content item \"Imaging Measurements\" not found.' +\n 'Content of Comprehensive 3D SR document is not structured based on ' +\n 'TID 1500 \"Measurement Report\".'\n )\n )\n }\n const measurementsItem = matches[0] as dcmjs.sr.valueTypes.ContainerContentItem\n // TID 1410 Planar ROI Measurements and Qualitative Evaluations\n const measurementGroupItems = findContentItemsByName({\n content: measurementsItem.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '125007',\n schemeDesignator: 'DCM',\n meaning: 'Measurement Group'\n })\n })\n\n const rois: dmv.roi.ROI[] = []\n measurementGroupItems.forEach((item) => {\n const evaluations = []\n let observerType: string\n const group = item as dcmjs.sr.valueTypes.ContainerContentItem\n let items = findContentItemsByName({\n content: group.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '112040',\n schemeDesignator: 'DCM',\n meaning: 'Tracking Unique Identifier'\n })\n })\n if (items.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Content item \"Tracking Unique Identifier\" not found. ' +\n 'Content of Comprehensive 3D SR document is not structured ' +\n 'based on TID 1500 \"Measurement Report\" -> ' +\n 'TID 1410 \"Planar ROI Measurements and Qualitative Evaluations\".'\n )\n )\n }\n const trackingUIDItem = items[0] as dcmjs.sr.valueTypes.UIDRefContentItem\n\n items = findContentItemsByName({\n content: group.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121071',\n schemeDesignator: 'DCM',\n meaning: 'Finding'\n })\n })\n if (items.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Content item \"Finding\" not found. ' +\n 'Content of Comprehensive 3D SR document is not structured ' +\n 'based on TID 1500 \"Measurement Report\" -> ' +\n 'TID 1410 \"Planar ROI Measurements and Qualitative Evaluations\".'\n )\n )\n }\n\n items = findContentItemsByName({\n content: group.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '111001',\n schemeDesignator: 'DCM',\n meaning: 'Algorithm Name'\n })\n })\n if (items.length !== 0) {\n const algorithmNameItem = items[0] as dcmjs.sr.valueTypes.CodeContentItem\n evaluations.push(algorithmNameItem)\n observerType = 'Device'\n } else {\n observerType = 'Person'\n }\n\n items = findContentItemsByName({\n content: group.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '111003',\n schemeDesignator: 'DCM',\n meaning: 'Algorithm Version'\n })\n })\n if (items.length !== 0) {\n const algorithmVersionItem = items[0] as dcmjs.sr.valueTypes.CodeContentItem\n evaluations.push(algorithmVersionItem)\n }\n\n items = findContentItemsByName({\n content: group.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '111030',\n schemeDesignator: 'DCM',\n meaning: 'Image Region'\n })\n })\n if (items.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Content item \"Image Region\" not found. ' +\n 'Content of Comprehensive 3D SR document is not structured ' +\n 'based on TID 1500 \"Measurement Report\" -> ' +\n 'TID 1410 \"Planar ROI Measurements and Qualitative Evaluations\".'\n )\n )\n }\n const regionItem = items[0] as dcmjs.sr.valueTypes.Scoord3DContentItem\n let scoord3d: any\n if (regionItem.GraphicType === 'POINT') {\n scoord3d = new dmv.scoord3d.Point({\n frameOfReferenceUID: regionItem.ReferencedFrameOfReferenceUID,\n coordinates: regionItem.GraphicData\n })\n } else {\n const coordinates: number[][] = []\n for (let i = 0; i < regionItem.GraphicData.length; i += 3) {\n coordinates.push(regionItem.GraphicData.slice(i, i + 3))\n }\n if (regionItem.GraphicType === 'POLYGON') {\n scoord3d = new dmv.scoord3d.Polygon({\n frameOfReferenceUID: regionItem.ReferencedFrameOfReferenceUID,\n coordinates: coordinates\n })\n } else if (regionItem.GraphicType === 'MULTIPOINT') {\n scoord3d = new dmv.scoord3d.MultiPoint({\n frameOfReferenceUID: regionItem.ReferencedFrameOfReferenceUID,\n coordinates: coordinates\n })\n } else if (regionItem.GraphicType === 'POLYLINE') {\n scoord3d = new dmv.scoord3d.Polyline({\n frameOfReferenceUID: regionItem.ReferencedFrameOfReferenceUID,\n coordinates: coordinates\n })\n } else if (regionItem.GraphicType === 'ELLIPSE') {\n scoord3d = new dmv.scoord3d.Ellipse({\n frameOfReferenceUID: regionItem.ReferencedFrameOfReferenceUID,\n coordinates: coordinates\n })\n } else if (regionItem.GraphicType === 'ELLIPSOID') {\n scoord3d = new dmv.scoord3d.Ellipsoid({\n frameOfReferenceUID: regionItem.ReferencedFrameOfReferenceUID,\n coordinates: coordinates\n })\n } else {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Content item \"Image Region\" has unknown graphic type ' +\n `\"${regionItem.GraphicType}\". ` +\n 'Content of Comprehensive 3D SR document is not structured ' +\n 'based on TID 1500 \"Measurement Report\" -> ' +\n 'TID 1410 \"Planar ROI Measurements and Qualitative Evaluations\".'\n )\n )\n }\n }\n\n evaluations.push(\n ...findEvaluationItems({ content: group.ContentSequence })\n )\n const measurements = findMeasurementItems({\n content: group.ContentSequence\n })\n\n const roi = new dmv.roi.ROI({\n scoord3d: scoord3d,\n uid: generateUUID(),\n properties: {\n trackingUID: trackingUIDItem.UID,\n observerType: observerType,\n evaluations: evaluations,\n measurements: measurements\n }\n })\n rois.push(roi)\n })\n return rois\n}\n\nclass MeasurementReport {\n public PersonObserverName?: string\n\n public PersonObserverLoginName?: string\n\n public DeviceObserverUID?: string\n\n public DeviceObserverName?: string\n\n public SpecimenUID: string\n\n public SpecimenIdentifier: string\n\n public ContainerIdentifier: string\n\n public ROIs: dmv.roi.ROI[] = []\n\n constructor (report: dmv.metadata.Comprehensive3DSR) {\n let items = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121039',\n schemeDesignator: 'DCM',\n meaning: 'Specimen UID'\n })\n })\n if (items.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Content item \"Specimen UID\" not found. ' +\n 'Content of Comprehensive 3D SR document is not structured based on ' +\n 'TID 1500 \"Measurement Report\" -> TID 1001 \"Observation Context\" -> ' +\n 'TID 1006 \"Subject Context\" -> TID 1009 \"Subject Context, Specimen\".'\n )\n )\n }\n const specimenUIDItem = (\n items[0] as unknown as dcmjs.sr.valueTypes.UIDRefContentItem\n )\n this.SpecimenUID = specimenUIDItem.UID\n\n items = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121041',\n schemeDesignator: 'DCM',\n meaning: 'Specimen Identifier'\n })\n })\n if (items.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Content item \"Specimen Identifier\" not found. ' +\n 'Content of Comprehensive 3D SR document is not structured based on ' +\n 'TID 1500 \"Measurement Report\" -> TID 1001 \"Observation Context\" -> ' +\n 'TID 1006 \"Subject Context\" -> TID 1009 \"Subject Context, Specimen\".'\n )\n )\n }\n const specimenIdItem = (\n items[0] as unknown as dcmjs.sr.valueTypes.TextContentItem\n )\n this.SpecimenIdentifier = specimenIdItem.TextValue\n\n items = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '111700',\n schemeDesignator: 'DCM',\n meaning: 'Specimen Container Identifier'\n })\n })\n if (items.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Content item \"Specimen Container Identifier\" not found. ' +\n 'Content of Comprehensive 3D SR document is not structured based on ' +\n 'TID 1500 \"Measurement Report\" -> TID 1001 \"Observation Context\" -> ' +\n 'TID 1006 \"Subject Context\" -> TID 1009 \"Subject Context, Specimen\".'\n )\n )\n }\n const containerIdItem = (\n items[0] as unknown as dcmjs.sr.valueTypes.TextContentItem\n )\n this.ContainerIdentifier = containerIdItem.TextValue\n\n items = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121008',\n schemeDesignator: 'DCM',\n meaning: 'Person Observer Name'\n })\n })\n if (items.length !== 0) {\n const personNameItem = (\n items[0] as unknown as dcmjs.sr.valueTypes.PNameContentItem\n )\n this.PersonObserverName = personNameItem.PersonName\n }\n\n items = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '128774',\n schemeDesignator: 'DCM',\n meaning: \"Person Observer's Login Name\"\n })\n })\n if (items.length !== 0) {\n const personLoginNameItem = (\n items[0] as unknown as dcmjs.sr.valueTypes.TextContentItem\n )\n this.PersonObserverLoginName = personLoginNameItem.TextValue\n }\n\n items = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121012',\n schemeDesignator: 'DCM',\n meaning: 'Device Observer UID'\n })\n })\n if (items.length > 0) {\n const deviceUIDItem = (\n items[0] as unknown as dcmjs.sr.valueTypes.UIDRefContentItem\n )\n this.DeviceObserverUID = deviceUIDItem.UID\n }\n\n items = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121013',\n schemeDesignator: 'DCM',\n meaning: 'Device Observer Name'\n })\n })\n if (items.length !== 0) {\n const deviceNameItem = (\n items[0] as unknown as dcmjs.sr.valueTypes.TextContentItem\n )\n this.DeviceObserverName = deviceNameItem.TextValue\n }\n\n this.ROIs = getROIs(report)\n }\n}\n\ninterface ReportProps {\n dataset: dmv.metadata.Comprehensive3DSR\n}\n\n/**\n * React component representing a DICOM SR document that displays the\n * document content (a selected subset of content items).\n */\nclass Report extends React.Component {\n render (): React.ReactNode {\n const report = new MeasurementReport(this.props.dataset)\n const containerAttrs = [\n {\n name: 'ID',\n value: report.ContainerIdentifier\n }\n ]\n const specimenAttrs = [\n {\n name: 'ID',\n value: report.SpecimenIdentifier\n }\n ]\n const observerAttrs = [\n {\n name: 'Name',\n value: report.PersonObserverName\n }\n ]\n const annotations = report.ROIs.map(\n (roi, index): React.ReactNode => {\n const id = `Region ${index + 1}`\n const attrs: Array<{ name: string, value: string }> = []\n roi.evaluations.forEach((\n item: (\n dcmjs.sr.valueTypes.CodeContentItem |\n dcmjs.sr.valueTypes.TextContentItem\n )\n ) => {\n if (item.ValueType === dcmjs.sr.valueTypes.ValueTypes.CODE) {\n item = item as dcmjs.sr.valueTypes.CodeContentItem\n attrs.push({\n name: item.ConceptNameCodeSequence[0].CodeMeaning,\n value: item.ConceptCodeSequence[0].CodeMeaning\n })\n } else if (item.ValueType === dcmjs.sr.valueTypes.ValueTypes.TEXT) {\n item = item as dcmjs.sr.valueTypes.TextContentItem\n attrs.push({\n name: item.ConceptNameCodeSequence[0].CodeMeaning,\n value: item.TextValue\n })\n }\n })\n return \n }\n )\n\n return (\n
\n Patient\n \n Case\n \n Slide\n \n Specimen\n \n Observer\n \n Annotations\n {annotations}\n
\n )\n }\n}\n\nexport default Report\nexport { MeasurementReport }\n","import React from 'react'\nimport { List } from 'antd'\n\nimport Description, { Attribute, AttributeGroup } from './Description'\n\ninterface ItemProps {\n uid: string\n identifier: string\n attributes: Attribute[]\n groups?: AttributeGroup[]\n children?: React.ReactElement[]\n type?: string\n hasLongValues?: boolean\n}\n\n/**\n * React component for a list item that consists of a header element\n * containing an identifier and a body element containing a description list\n * of attributes rendered as name-value pairs.\n */\nclass Item extends React.Component {\n render (): React.ReactNode {\n let groups = null\n if (this.props.groups !== undefined) {\n groups = this.props.groups.map((item, index: number) => (\n \n ))\n }\n let title\n if (this.props.type !== undefined) {\n title = `${this.props.type}: ${this.props.identifier}`\n } else {\n title = this.props.identifier\n }\n return (\n \n \n {groups}\n
\n {this.props.children}\n \n )\n }\n}\n\nexport default Item\n","import * as dcmjs from 'dcmjs'\n\nexport const SpecimenPreparationTypes: {\n [key: string]: dcmjs.sr.coding.CodedConcept\n} = {\n COLLECTION: new dcmjs.sr.coding.CodedConcept({\n value: '17636008',\n schemeDesignator: 'SCT',\n meaning: 'Specimen collection'\n }),\n SAMPLING: new dcmjs.sr.coding.CodedConcept({\n value: '433465004',\n schemeDesignator: 'SCT',\n meaning: 'Sampling of tissue specimen'\n }),\n STAINING: new dcmjs.sr.coding.CodedConcept({\n value: '127790008',\n schemeDesignator: 'SCT',\n meaning: 'Specimen staining'\n }),\n PROCESSING: new dcmjs.sr.coding.CodedConcept({\n value: '9265001',\n schemeDesignator: 'SCT',\n meaning: 'Specimen processing'\n })\n}\n\nexport const SpecimenPreparationAdditives: {\n [key: string]: dcmjs.sr.coding.CodedConcept\n} = {\n FIXATIVE: new dcmjs.sr.coding.CodedConcept({\n value: '430864009',\n schemeDesignator: 'SCT',\n meaning: 'Tissue fixative'\n }),\n EMBEDDING_MEDIUM: new dcmjs.sr.coding.CodedConcept({\n value: '430863003',\n schemeDesignator: 'SCT',\n meaning: 'Embedding medium'\n })\n}\n\nexport const SpecimenPreparationStepItems: {\n [key: string]: dcmjs.sr.coding.CodedConcept\n} = {\n SPECIMEN_IDENTIFIER: new dcmjs.sr.coding.CodedConcept({\n value: '121041',\n schemeDesignator: 'DCM',\n meaning: 'Specimen identifier'\n }),\n PARENT_SPECIMEN_IDENTIFIER: new dcmjs.sr.coding.CodedConcept({\n value: '111705',\n schemeDesignator: 'DCM',\n meaning: 'Parent specimen identifier'\n }),\n PROCESSING_TYPE: new dcmjs.sr.coding.CodedConcept({\n value: '111701',\n schemeDesignator: 'DCM',\n meaning: 'Processing type'\n }),\n DATETIME_OF_PROCESSING: new dcmjs.sr.coding.CodedConcept({\n value: '111702',\n schemeDesignator: 'DCM',\n meaning: 'Datetime of processing'\n }),\n PROCESSING_STEP_DESCRIPTION: new dcmjs.sr.coding.CodedConcept({\n value: '111703',\n schemeDesignator: 'DCM',\n meaning: 'Processing step description'\n }),\n COLLECTION_METHOD: new dcmjs.sr.coding.CodedConcept({\n value: '17636008',\n schemeDesignator: 'SCT',\n meaning: 'Specimen collection'\n }),\n SAMPLING_METHOD: new dcmjs.sr.coding.CodedConcept({\n value: '111704',\n schemeDesignator: 'DCM',\n meaning: 'Sampling method'\n }),\n STAIN: new dcmjs.sr.coding.CodedConcept({\n value: '424361007',\n schemeDesignator: 'SCT',\n meaning: 'Using substance'\n }),\n ...SpecimenPreparationAdditives\n}\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport * as dcmjs from 'dcmjs'\n\nimport Item from './Item'\nimport { Attribute } from './Description'\nimport { SpecimenPreparationStepItems } from '../data/specimens'\n\ninterface SpecimenItemProps {\n index: number\n metadata?: dmv.metadata.VLWholeSlideMicroscopyImage\n showstain: boolean\n}\n\n/**\n * React component representing a DICOM Specimen Information Entity and\n * displays specimen-related attributes of a DICOM Slide Microscopy image.\n */\nclass SpecimenItem extends React.Component {\n render (): React.ReactNode {\n if (this.props.metadata === undefined) {\n return null\n }\n const specimenDescription = this.props.metadata.SpecimenDescriptionSequence[\n this.props.index\n ]\n const attributes: Attribute[] = []\n if (specimenDescription.SpecimenShortDescription !== undefined) {\n attributes.push({\n name: 'Description',\n value: specimenDescription.SpecimenShortDescription\n })\n }\n if (specimenDescription.PrimaryAnatomicStructureSequence !== undefined) {\n if (specimenDescription.PrimaryAnatomicStructureSequence.length > 0) {\n const structures = specimenDescription.PrimaryAnatomicStructureSequence\n attributes.push({\n name: 'Anatomical structure',\n value: structures.map(item => item.CodeMeaning).join(', ')\n })\n }\n }\n\n // TID 8001 \"Specimen Preparation\"\n const preparationSteps: dmv.metadata.SpecimenPreparation[] = (\n specimenDescription.SpecimenPreparationSequence ?? []\n )\n preparationSteps.forEach(\n (step: dmv.metadata.SpecimenPreparation, index: number): void => {\n step.SpecimenPreparationStepContentItemSequence.forEach((\n item: (\n dcmjs.sr.valueTypes.CodeContentItem |\n dcmjs.sr.valueTypes.TextContentItem |\n dcmjs.sr.valueTypes.UIDRefContentItem |\n dcmjs.sr.valueTypes.PNameContentItem |\n dcmjs.sr.valueTypes.DateTimeContentItem\n ),\n index: number\n ) => {\n const name = new dcmjs.sr.coding.CodedConcept({\n value: item.ConceptNameCodeSequence[0].CodeValue,\n schemeDesignator:\n item.ConceptNameCodeSequence[0].CodingSchemeDesignator,\n meaning: item.ConceptNameCodeSequence[0].CodeMeaning\n })\n if (item.ValueType === dcmjs.sr.valueTypes.ValueTypes.CODE) {\n item = item as dcmjs.sr.valueTypes.CodeContentItem\n const value = new dcmjs.sr.coding.CodedConcept({\n value: item.ConceptCodeSequence[0].CodeValue,\n schemeDesignator:\n item.ConceptCodeSequence[0].CodingSchemeDesignator,\n meaning: item.ConceptCodeSequence[0].CodeMeaning\n })\n if (!name.equals(SpecimenPreparationStepItems.PROCESSING_TYPE)) {\n if (\n name.equals(SpecimenPreparationStepItems.COLLECTION_METHOD)\n ) {\n attributes.push({\n name: 'Collection method',\n value: value.CodeMeaning\n })\n } else if (\n name.equals(SpecimenPreparationStepItems.FIXATIVE)\n ) {\n attributes.push({\n name: 'Tissue fixative',\n value: value.CodeMeaning\n })\n } else if (\n name.equals(SpecimenPreparationStepItems.EMBEDDING_MEDIUM)\n ) {\n attributes.push({\n name: 'Tissue embedding medium',\n value: value.CodeMeaning\n })\n } else if (\n name.equals(SpecimenPreparationStepItems.STAIN) &&\n this.props.showstain\n ) {\n attributes.push({\n name: 'Tissue stain',\n value: value.CodeMeaning\n })\n }\n }\n } else if (item.ValueType === dcmjs.sr.valueTypes.ValueTypes.TEXT) {\n item = item as dcmjs.sr.valueTypes.TextContentItem\n if (\n name.equals(SpecimenPreparationStepItems.STAIN) &&\n this.props.showstain\n ) {\n attributes.push({\n name: 'Tissue stain',\n value: item.TextValue\n })\n } else if (\n name.equals(SpecimenPreparationStepItems.PARENT_SPECIMEN_IDENTIFIER)\n ) {\n attributes.push({\n name: 'Parent specimen',\n value: item.TextValue\n })\n }\n }\n })\n }\n )\n const uid = specimenDescription.SpecimenUID\n const identifier = specimenDescription.SpecimenIdentifier\n return (\n \n )\n }\n}\n\nexport default SpecimenItem\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport { List } from 'antd'\n\nimport SpecimenItem from './SpecimenItem'\n\ninterface SpecimenListProps {\n metadata?: dmv.metadata.VLWholeSlideMicroscopyImage\n showstain: boolean\n}\n\n/**\n * React component representing a list of DICOM Specimen Information Entities.\n */\nclass SpecimenList extends React.Component {\n render (): React.ReactNode {\n if (this.props.metadata === undefined) {\n return null\n }\n /*\n * Specimen Description Sequence is a type 1 attribute. However, it is\n * nevertheless missing in some data sets. This is a violation of the\n * standard, but it may be better to facilitate display of the data.\n */\n const descriptions = this.props.metadata.SpecimenDescriptionSequence ?? []\n const items = descriptions.map(\n (item: dmv.metadata.SpecimenDescription, index: number) => {\n return (\n \n )\n }\n )\n return (\n \n {items}\n \n )\n }\n}\n\nexport default SpecimenList\n","import React from 'react'\nimport {\n Badge,\n Button,\n Col,\n Divider,\n InputNumber,\n Menu,\n Popover,\n Row,\n Slider,\n Space,\n Switch,\n Tooltip\n} from 'antd'\nimport {\n DeleteOutlined,\n EyeOutlined,\n EyeInvisibleOutlined,\n SettingOutlined\n} from '@ant-design/icons'\nimport Description from './Description'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport * as dcmjs from 'dcmjs'\n\nimport { SpecimenPreparationStepItems } from '../data/specimens'\nimport NotificationMiddleware, {\n NotificationMiddlewareContext\n} from '../services/NotificationMiddleware'\nimport { CustomError, errorTypes } from '../utils/CustomError'\n\ninterface OpticalPathItemProps {\n opticalPath: dmv.opticalPath.OpticalPath\n metadata: dmv.metadata.VLWholeSlideMicroscopyImage[]\n isVisible: boolean\n isRemovable: boolean\n defaultStyle: {\n opacity: number\n color?: number[]\n paletteColorLookupTable?: dmv.color.PaletteColorLookupTable\n limitValues?: number[]\n }\n onVisibilityChange: ({ opticalPathIdentifier, isVisible }: {\n opticalPathIdentifier: string\n isVisible: boolean\n }) => void\n onStyleChange: ({ opticalPathIdentifier, styleOptions }: {\n opticalPathIdentifier: string\n styleOptions: {\n opacity?: number\n color?: number[]\n paletteColorLookupTable?: dmv.color.PaletteColorLookupTable\n limitValues?: number[]\n }\n }) => void\n onRemoval: (opticalPathIdentifier: string) => void\n}\n\ninterface OpticalPathItemState {\n isVisible: boolean\n currentStyle: {\n opacity: number\n color?: number[]\n paletteColorLookupTable?: dmv.color.PaletteColorLookupTable\n limitValues?: number[]\n }\n}\n\n/**\n * React component representing an optical path of a\n * multi-channel acquistion with control of visualization parameters.\n */\nclass OpticalPathItem extends React.Component {\n constructor (props: OpticalPathItemProps) {\n super(props)\n this.handleVisibilityChange = this.handleVisibilityChange.bind(this)\n this.handleOpacityChange = this.handleOpacityChange.bind(this)\n this.handleLimitChange = this.handleLimitChange.bind(this)\n this.handleLowerLimitChange = this.handleLowerLimitChange.bind(this)\n this.handleUpperLimitChange = this.handleUpperLimitChange.bind(this)\n this.handleColorRChange = this.handleColorRChange.bind(this)\n this.handleColorGChange = this.handleColorGChange.bind(this)\n this.handleColorBChange = this.handleColorBChange.bind(this)\n this.handleRemoval = this.handleRemoval.bind(this)\n this.getCurrentColors = this.getCurrentColors.bind(this)\n this.state = {\n isVisible: this.props.isVisible,\n currentStyle: {\n opacity: this.props.defaultStyle.opacity,\n color: this.props.defaultStyle.color,\n paletteColorLookupTable: this.props.defaultStyle.paletteColorLookupTable,\n limitValues: this.props.defaultStyle.limitValues\n }\n }\n }\n\n componentDidUpdate (\n previousProps: OpticalPathItemProps,\n previousState: OpticalPathItemState\n ): void {\n if (this.props.defaultStyle !== previousProps.defaultStyle) {\n this.setState({\n currentStyle: this.props.defaultStyle\n })\n }\n }\n\n handleVisibilityChange (\n checked: boolean,\n event: React.MouseEvent\n ): void {\n const identifier = this.props.opticalPath.identifier\n this.setState({\n isVisible: checked\n })\n this.props.onVisibilityChange({\n opticalPathIdentifier: identifier,\n isVisible: checked\n })\n }\n\n handleOpacityChange (\n value: number | null\n ): void {\n if (value != null) {\n const identifier = this.props.opticalPath.identifier\n this.props.onStyleChange({\n opticalPathIdentifier: identifier,\n styleOptions: { opacity: value }\n })\n this.setState(state => ({\n currentStyle: {\n color: state.currentStyle.color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: value,\n limitValues: state.currentStyle.limitValues\n }\n }))\n }\n }\n\n handleColorRChange (\n value: number | number[] | null\n ): void {\n const identifier = this.props.opticalPath.identifier\n if (value != null && this.state.currentStyle.color !== undefined) {\n const color = [\n Array.isArray(value) ? value[0] : value,\n this.state.currentStyle.color[1],\n this.state.currentStyle.color[2]\n ]\n this.setState(state => ({\n currentStyle: {\n color: color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }))\n this.props.onStyleChange({\n opticalPathIdentifier: identifier,\n styleOptions: { color: color }\n })\n }\n }\n\n handleColorGChange (\n value: number | number[] | null\n ): void {\n const identifier = this.props.opticalPath.identifier\n if (value != null && this.state.currentStyle.color !== undefined) {\n const color = [\n this.state.currentStyle.color[0],\n Array.isArray(value) ? value[0] : value,\n this.state.currentStyle.color[2]\n ]\n this.setState(state => ({\n currentStyle: {\n color: color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }))\n this.props.onStyleChange({\n opticalPathIdentifier: identifier,\n styleOptions: { color: color }\n })\n }\n }\n\n handleColorBChange (\n value: number | number[] | null\n ): void {\n const identifier = this.props.opticalPath.identifier\n if (value != null && this.state.currentStyle.color !== undefined) {\n const color = [\n this.state.currentStyle.color[0],\n this.state.currentStyle.color[1],\n Array.isArray(value) ? value[0] : value\n ]\n this.setState(state => ({\n currentStyle: {\n color: color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }))\n this.props.onStyleChange({\n opticalPathIdentifier: identifier,\n styleOptions: { color: color }\n })\n }\n }\n\n getCurrentColors (): string[] {\n const rgb2hex = (values: number[]): string => {\n const r = values[0]\n const g = values[1]\n const b = values[2]\n return '#' + (0x1000000 + (r << 16) + (g << 8) + b).toString(16).slice(1)\n }\n\n if (this.props.defaultStyle.paletteColorLookupTable != null) {\n const colormap = this.props.defaultStyle.paletteColorLookupTable.data\n return colormap.map(values => rgb2hex(values))\n } else if (this.state.currentStyle.color != null) {\n return [\n '#000000',\n rgb2hex(this.state.currentStyle.color)\n ]\n } else {\n return ['white', 'white']\n }\n }\n\n handleLowerLimitChange (\n value: number | null\n ): void {\n const identifier = this.props.opticalPath.identifier\n if (value != null && this.state.currentStyle.limitValues !== undefined) {\n this.setState(state => {\n if (state.currentStyle.limitValues !== undefined) {\n return {\n currentStyle: {\n color: state.currentStyle.color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: state.currentStyle.opacity,\n limitValues: [value, state.currentStyle.limitValues[1]]\n }\n }\n } else {\n return {\n currentStyle: {\n color: state.currentStyle.color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }\n }\n })\n this.props.onStyleChange({\n opticalPathIdentifier: identifier,\n styleOptions: {\n limitValues: [\n value,\n this.state.currentStyle.limitValues[1]\n ]\n }\n })\n }\n }\n\n handleUpperLimitChange (\n value: number | null\n ): void {\n const identifier = this.props.opticalPath.identifier\n if (value != null && this.state.currentStyle.limitValues !== undefined) {\n this.setState(state => {\n if (state.currentStyle.limitValues !== undefined) {\n return {\n currentStyle: {\n color: state.currentStyle.color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: state.currentStyle.opacity,\n limitValues: [state.currentStyle.limitValues[0], value]\n }\n }\n } else {\n return {\n currentStyle: {\n color: state.currentStyle.color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: state.currentStyle.opacity,\n limitValues: state.currentStyle.limitValues\n }\n }\n }\n })\n this.props.onStyleChange({\n opticalPathIdentifier: identifier,\n styleOptions: {\n limitValues: [\n this.state.currentStyle.limitValues[0],\n value\n ]\n }\n })\n }\n }\n\n handleLimitChange (\n values: number[]\n ): void {\n const identifier = this.props.opticalPath.identifier\n this.setState(state => ({\n currentStyle: {\n color: state.currentStyle.color,\n paletteColorLookupTable: state.currentStyle.paletteColorLookupTable,\n opacity: state.currentStyle.opacity,\n limitValues: values\n }\n }))\n this.props.onStyleChange({\n opticalPathIdentifier: identifier,\n styleOptions: { limitValues: values }\n })\n }\n\n handleRemoval (): void {\n const identifier = this.props.opticalPath.identifier\n this.props.onRemoval(identifier)\n }\n\n render (): React.ReactNode {\n const identifier = this.props.opticalPath.identifier\n const description = this.props.opticalPath.description\n const attributes: Array<{ name: string, value: string }> = []\n if (this.props.opticalPath.illuminationWaveLength !== undefined) {\n attributes.push(\n {\n name: 'Illumination wavelength',\n value: `${this.props.opticalPath.illuminationWaveLength} nm`\n }\n )\n }\n if (this.props.opticalPath.illuminationColor !== undefined) {\n attributes.push(\n {\n name: 'Illumination color',\n value: this.props.opticalPath.illuminationColor.CodeMeaning\n }\n )\n }\n\n // TID 8001 \"Specimen Preparation\"\n const specimenDescriptions: dmv.metadata.SpecimenDescription[] = (\n this.props.metadata[0].SpecimenDescriptionSequence ?? []\n )\n try {\n specimenDescriptions.forEach(description => {\n const specimenPreparationSteps: dmv.metadata.SpecimenPreparation[] =\n description.SpecimenPreparationSequence ?? []\n specimenPreparationSteps.forEach(\n (step: dmv.metadata.SpecimenPreparation, index: number): void => {\n step.SpecimenPreparationStepContentItemSequence.forEach((\n item: (\n dcmjs.sr.valueTypes.CodeContentItem |\n dcmjs.sr.valueTypes.TextContentItem |\n dcmjs.sr.valueTypes.UIDRefContentItem |\n dcmjs.sr.valueTypes.PNameContentItem |\n dcmjs.sr.valueTypes.DateTimeContentItem\n ),\n index: number\n ) => {\n const name = new dcmjs.sr.coding.CodedConcept({\n value: item.ConceptNameCodeSequence[0].CodeValue,\n schemeDesignator:\n item.ConceptNameCodeSequence[0].CodingSchemeDesignator,\n meaning: item.ConceptNameCodeSequence[0].CodeMeaning\n })\n if (item.ValueType === dcmjs.sr.valueTypes.ValueTypes.CODE) {\n item = item as dcmjs.sr.valueTypes.CodeContentItem\n const value = new dcmjs.sr.coding.CodedConcept({\n value: item.ConceptCodeSequence[0].CodeValue,\n schemeDesignator:\n item.ConceptCodeSequence[0].CodingSchemeDesignator,\n meaning: item.ConceptCodeSequence[0].CodeMeaning\n })\n if (!name.equals(SpecimenPreparationStepItems.PROCESSING_TYPE)) {\n if (name.equals(SpecimenPreparationStepItems.STAIN)) {\n attributes.push({\n name: 'Tissue stain',\n value: value.CodeMeaning\n })\n }\n }\n } else if (item.ValueType === dcmjs.sr.valueTypes.ValueTypes.TEXT) {\n item = item as dcmjs.sr.valueTypes.TextContentItem\n if (!name.equals(SpecimenPreparationStepItems.PROCESSING_TYPE)) {\n if (name.equals(SpecimenPreparationStepItems.STAIN)) {\n attributes.push({\n name: 'Tissue stain',\n value: item.TextValue\n })\n }\n }\n }\n })\n }\n )\n })\n } catch (error: any) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.DCMJS,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n error.message\n )\n )\n }\n\n const maxValue = Math.pow(2, this.props.metadata[0].BitsAllocated) - 1\n\n const title = (\n description != null ? `${identifier}: ${description}` : identifier\n )\n let settings\n let item\n if (this.props.opticalPath.isMonochromatic) {\n // monochrome images that can be pseudo-colored\n let colorSettings\n if (this.state.currentStyle.color != null) {\n colorSettings = (\n <>\n \n Color\n \n \n \n Red\n \n \n \n \n \n \n \n \n\n \n \n Green\n \n \n \n \n \n \n \n \n\n \n \n Blue\n \n \n \n \n \n \n \n \n \n )\n } else {\n colorSettings = (\n <>\n \n Color\n \n Custom pseudo-coloring is disabled because pixels are colorized via\n a provided palette color lookup table.\n \n )\n }\n\n let windowSettings\n if (this.state.currentStyle.limitValues != null) {\n windowSettings = (\n <>\n \n Values of interest\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n }\n settings = (\n
\n {windowSettings}\n {colorSettings}\n \n \n \n Opacity\n \n \n \n \n \n \n \n \n
\n )\n const colors = this.getCurrentColors()\n item = (\n \n \n \n )\n } else {\n // color images\n settings = (\n
\n \n \n Opacity\n \n \n \n \n \n \n \n \n
\n )\n item = (\n \n )\n }\n\n const buttons = []\n if (this.props.isRemovable) {\n buttons.push(\n \n }\n onClick={this.handleRemoval}\n />\n \n )\n }\n\n const {\n defaultStyle,\n isRemovable,\n isVisible,\n metadata,\n onVisibilityChange,\n onStyleChange,\n onRemoval,\n opticalPath,\n ...otherProps\n } = this.props\n return (\n \n \n
\n \n }\n unCheckedChildren={}\n />\n \n }\n />\n \n {buttons}\n \n
\n {item}\n
\n \n )\n }\n}\n\nexport default OpticalPathItem\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport { Button as Btn, Menu, Select, Space, Tooltip } from 'antd'\nimport { AppstoreAddOutlined } from '@ant-design/icons'\n\nimport OpticalPathItem from './OpticalPathItem'\n\nconst { Option } = Select\n\ninterface OpticalPathListProps {\n opticalPaths: dmv.opticalPath.OpticalPath[]\n metadata: {\n [opticalPathIdentifier: string]: dmv.metadata.VLWholeSlideMicroscopyImage[]\n }\n visibleOpticalPathIdentifiers: Set\n activeOpticalPathIdentifiers: Set\n defaultOpticalPathStyles: {\n [opticalPathIdentifier: string]: {\n opacity: number\n color?: number[]\n limitValues?: number[]\n paletteColorLookupTable?: dmv.color.PaletteColorLookupTable\n }\n }\n onOpticalPathVisibilityChange: ({ opticalPathIdentifier, isVisible }: {\n opticalPathIdentifier: string\n isVisible: boolean\n }) => void\n onOpticalPathStyleChange: ({ opticalPathIdentifier, styleOptions }: {\n opticalPathIdentifier: string\n styleOptions: {\n opacity?: number\n color?: number[]\n limitValues?: number[]\n }\n }) => void\n onOpticalPathActivityChange: ({ opticalPathIdentifier, isActive }: {\n opticalPathIdentifier: string\n isActive: boolean\n }) => void\n selectedPresentationStateUID?: string\n}\n\ninterface OpticalPathListState {\n selectedOpticalPathIdentifier?: string\n}\n\n/**\n * React component representing a list of optical paths.\n */\nclass OpticalPathList extends React.Component {\n state = {\n selectedOpticalPathIdentifier: undefined\n }\n\n constructor (props: OpticalPathListProps) {\n super(props)\n this.handleItemAddition = this.handleItemAddition.bind(this)\n this.handleItemRemoval = this.handleItemRemoval.bind(this)\n this.handleItemSelectionChange = this.handleItemSelectionChange.bind(this)\n }\n\n /**\n * Handler that gets called when an optical path should be removed.\n */\n handleItemRemoval (opticalPathIdentifier: string): void {\n this.props.onOpticalPathActivityChange({\n opticalPathIdentifier,\n isActive: false\n })\n }\n\n /**\n * Handler that gets called when the selection of an optical path should change.\n */\n handleItemSelectionChange (\n value: string\n ): void {\n this.setState({ selectedOpticalPathIdentifier: value })\n }\n\n /**\n * Handler that gets called when an optical path should be added.\n */\n handleItemAddition (): void {\n const identifier = this.state.selectedOpticalPathIdentifier\n if (identifier !== undefined) {\n this.props.onOpticalPathActivityChange({\n opticalPathIdentifier: identifier,\n isActive: true\n })\n this.setState({ selectedOpticalPathIdentifier: undefined })\n }\n }\n\n render (): React.ReactNode {\n if (this.props.metadata === undefined) {\n return null\n }\n\n const isSelectable = this.props.opticalPaths.length > 1\n const opticalPathItems: React.ReactNode[] = []\n const optionItems: React.ReactNode[] = []\n this.props.opticalPaths.forEach(opticalPath => {\n const opticalPathIdentifier = opticalPath.identifier\n const images = this.props.metadata[opticalPathIdentifier]\n const seriesInstanceUID = images[0].SeriesInstanceUID\n images[0].OpticalPathSequence.forEach(opticalPathItem => {\n const id = opticalPathItem.OpticalPathIdentifier\n const description = opticalPathItem.OpticalPathDescription\n if (opticalPath.identifier === id) {\n if (this.props.activeOpticalPathIdentifiers.has(id)) {\n opticalPathItems.push(\n \n )\n } else {\n let title\n if (description !== '') {\n title = `${id} - ${description}`\n } else {\n title = `${id}`\n }\n optionItems.push(\n \n )\n }\n }\n })\n })\n\n let opticalPathSelector\n if (isSelectable) {\n opticalPathSelector = (\n \n \n {optionItems}\n \n \n }\n type='primary'\n onClick={this.handleItemAddition}\n />\n \n \n )\n }\n\n return (\n \n {opticalPathItems}\n {opticalPathSelector}\n \n )\n }\n}\n\nexport default OpticalPathList\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport {\n Button,\n Col,\n InputNumber,\n Menu,\n Popover,\n Row,\n Slider,\n Space,\n Switch\n} from 'antd'\nimport { SettingOutlined } from '@ant-design/icons'\nimport { FaEye, FaEyeSlash } from 'react-icons/fa'\n\nimport Description from './Description'\n\ninterface MappingItemProps {\n mapping: dmv.mapping.ParameterMapping\n metadata: dmv.metadata.ParametricMap[]\n isVisible: boolean\n defaultStyle: {\n opacity: number\n }\n onVisibilityChange: ({ mappingUID, isVisible }: {\n mappingUID: string\n isVisible: boolean\n }) => void\n onStyleChange: ({ mappingUID, styleOptions }: {\n mappingUID: string\n styleOptions: {\n opacity?: number\n }\n }) => void\n}\n\ninterface MappingItemState {\n isVisible: boolean\n currentStyle: {\n opacity: number\n }\n}\n\n/**\n * React component representing a Real World Value Mapping.\n */\nclass MappingItem extends React.Component {\n constructor (props: MappingItemProps) {\n super(props)\n this.handleVisibilityChange = this.handleVisibilityChange.bind(this)\n this.handleOpacityChange = this.handleOpacityChange.bind(this)\n this.state = {\n isVisible: this.props.isVisible,\n currentStyle: {\n opacity: this.props.defaultStyle.opacity\n }\n }\n }\n\n handleVisibilityChange (\n checked: boolean,\n event: React.MouseEvent\n ): void {\n this.props.onVisibilityChange({\n mappingUID: this.props.mapping.uid,\n isVisible: checked\n })\n this.setState({ isVisible: checked })\n }\n\n handleOpacityChange (value: number | null): void {\n if (value != null) {\n this.props.onStyleChange({\n mappingUID: this.props.mapping.uid,\n styleOptions: {\n opacity: value\n }\n })\n this.setState(state => ({\n currentStyle: {\n opacity: value\n }\n }))\n }\n }\n\n render (): React.ReactNode {\n const attributes: Array<{ name: string, value: string }> = [\n {\n name: 'Description',\n value: this.props.mapping.description\n }\n ]\n\n const settings = (\n
\n \n \n Opacity\n \n \n \n \n \n \n \n \n
\n )\n\n /**\n * This hack is required for Menu.Item to work properly:\n * https://github.com/react-component/menu/issues/142\n */\n const {\n defaultStyle,\n isVisible,\n mapping,\n metadata,\n onVisibilityChange,\n onStyleChange,\n ...otherProps\n } = this.props\n return (\n \n \n
\n \n \n }\n unCheckedChildren={}\n />\n \n }\n />\n \n \n \n
\n \n
\n \n )\n }\n}\n\nexport default MappingItem\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport { Menu } from 'antd'\n\nimport MappingItem from './MappingItem'\n\ninterface MappingListProps {\n mappings: dmv.mapping.ParameterMapping[]\n metadata: {\n [mappingUID: string]: dmv.metadata.ParametricMap[]\n }\n visibleMappingUIDs: Set\n defaultMappingStyles: {\n [mappingUID: string]: { opacity: number }\n }\n onMappingVisibilityChange: ({ mappingUID, isVisible }: {\n mappingUID: string\n isVisible: boolean\n }) => void\n onMappingStyleChange: ({ mappingUID, styleOptions }: {\n mappingUID: string\n styleOptions: {\n opacity?: number\n }\n }) => void\n}\n\n/**\n * React component representing a list of Real World Value Mappings.\n */\nclass MappingList extends React.Component {\n render (): React.ReactNode {\n const items = this.props.mappings.map((mapping, index) => {\n const uid = mapping.uid\n return (\n \n )\n })\n\n return (\n \n {items}\n \n )\n }\n}\n\nexport default MappingList\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport {\n Button,\n Col,\n InputNumber,\n Menu,\n Popover,\n Row,\n Slider,\n Space,\n Switch\n} from 'antd'\nimport { SettingOutlined } from '@ant-design/icons'\nimport { FaEye, FaEyeSlash } from 'react-icons/fa'\n\nimport Description from './Description'\n\ninterface SegmentItemProps {\n segment: dmv.segment.Segment\n isVisible: boolean\n metadata: dmv.metadata.Segmentation[]\n defaultStyle: {\n opacity: number\n }\n onVisibilityChange: ({ segmentUID, isVisible }: {\n segmentUID: string\n isVisible: boolean\n }) => void\n onStyleChange: ({ segmentUID, styleOptions }: {\n segmentUID: string\n styleOptions: {\n opacity: number\n }\n }) => void\n}\n\ninterface SegmentItemState {\n isVisible: boolean\n currentStyle: {\n opacity: number\n }\n}\n\n/**\n * React component representing a Segment.\n */\nclass SegmentItem extends React.Component {\n constructor (props: SegmentItemProps) {\n super(props)\n this.handleVisibilityChange = this.handleVisibilityChange.bind(this)\n this.handleOpacityChange = this.handleOpacityChange.bind(this)\n this.state = {\n isVisible: this.props.isVisible,\n currentStyle: { opacity: this.props.defaultStyle.opacity }\n }\n }\n\n handleVisibilityChange (\n checked: boolean,\n event: React.MouseEvent\n ): void {\n this.props.onVisibilityChange({\n segmentUID: this.props.segment.uid,\n isVisible: checked\n })\n this.setState({ isVisible: checked })\n }\n\n handleOpacityChange (value: number | null): void {\n if (value != null) {\n this.props.onStyleChange({\n segmentUID: this.props.segment.uid,\n styleOptions: {\n opacity: value\n }\n })\n this.setState({ currentStyle: { opacity: value } })\n }\n }\n\n render (): React.ReactNode {\n const attributes: Array<{ name: string, value: string }> = [\n {\n name: 'Property Type',\n value: this.props.segment.propertyType.CodeMeaning\n },\n {\n name: 'Property Category',\n value: this.props.segment.propertyCategory.CodeMeaning\n },\n {\n name: 'Algorithm Name',\n value: this.props.segment.algorithmName\n }\n ]\n\n const settings = (\n
\n \n \n Opacity\n \n \n \n \n \n \n \n \n
\n )\n\n /**\n * This hack is required for Menu.Item to work properly:\n * https://github.com/react-component/menu/issues/142\n */\n const {\n defaultStyle,\n isVisible,\n segment,\n metadata,\n onVisibilityChange,\n onStyleChange,\n ...otherProps\n } = this.props\n return (\n \n \n
\n \n }\n unCheckedChildren={}\n />\n \n }\n />\n \n \n
\n \n
\n \n )\n }\n}\n\nexport default SegmentItem\n","import React from 'react'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport { Menu } from 'antd'\n\nimport SegmentItem from './SegmentItem'\n\ninterface SegmentListProps {\n segments: dmv.segment.Segment[]\n visibleSegmentUIDs: Set\n metadata: {\n [segmentUID: string]: dmv.metadata.Segmentation[]\n }\n defaultSegmentStyles: {\n [segmentUID: string]: {\n opacity: number\n }\n }\n onSegmentVisibilityChange: ({ segmentUID, isVisible }: {\n segmentUID: string\n isVisible: boolean\n }) => void\n onSegmentStyleChange: ({ segmentUID, styleOptions }: {\n segmentUID: string\n styleOptions: {\n opacity: number\n }\n }) => void\n}\n\n/**\n * React component representing a list of Segments.\n */\nclass SegmentList extends React.Component {\n render (): React.ReactNode {\n const items = this.props.segments.map((segment, index) => {\n const uid = segment.uid\n return (\n \n )\n })\n\n return (\n \n {items}\n \n )\n }\n}\n\nexport default SegmentList\n","import React from 'react'\nimport {\n NavigateFunction,\n Params,\n useLocation,\n useNavigate,\n useParams,\n Location\n} from 'react-router-dom'\n\nexport interface RouteComponentProps {\n location: Location\n navigate: NavigateFunction\n params: Params\n}\n\nexport function withRouter (Component: React.ComponentType): Function {\n function ComponentWithRouterProp (props: any): JSX.Element {\n const location = useLocation()\n const navigate = useNavigate()\n const params = useParams()\n return (\n \n )\n }\n return ComponentWithRouterProp\n}\n","import React from 'react'\nimport {\n FaCrosshairs,\n FaDrawPolygon,\n FaEye,\n FaEyeSlash,\n FaHandPaper,\n FaHandPointer,\n FaTrash,\n FaSave\n} from 'react-icons/fa'\nimport {\n Button as Btn,\n Checkbox,\n Descriptions,\n Divider,\n InputNumber,\n message,\n Menu,\n Modal,\n Layout,\n Row,\n Select,\n Space,\n Tooltip\n} from 'antd'\nimport { UndoOutlined, CheckOutlined, StopOutlined } from '@ant-design/icons'\nimport * as dmv from 'dicom-microscopy-viewer'\nimport * as dcmjs from 'dcmjs'\nimport * as dwc from 'dicomweb-client'\n\nimport DicomWebManager from '../DicomWebManager'\nimport AnnotationList from './AnnotationList'\nimport AnnotationGroupList from './AnnotationGroupList'\nimport Button from './Button'\nimport Equipment from './Equipment'\nimport Report, { MeasurementReport } from './Report'\nimport SpecimenList from './SpecimenList'\nimport OpticalPathList from './OpticalPathList'\nimport MappingList from './MappingList'\nimport SegmentList from './SegmentList'\nimport { AnnotationSettings } from '../AppConfig'\nimport { Slide } from '../data/slides'\nimport { StorageClasses } from '../data/uids'\nimport { findContentItemsByName } from '../utils/sr'\nimport { RouteComponentProps, withRouter } from '../utils/router'\nimport { CustomError, errorTypes } from '../utils/CustomError'\nimport NotificationMiddleware, {\n NotificationMiddlewareContext\n} from '../services/NotificationMiddleware'\n\nconst DEFAULT_ROI_STROKE_COLOR: number[] = [0, 126, 163]\nconst DEFAULT_ROI_FILL_COLOR: number[] = [0, 126, 163, 0.2]\nconst DEFAULT_ROI_STROKE_WIDTH: number = 2\nconst DEFAULT_ROI_RADIUS: number = 5\n\nconst _buildKey = (concept: {\n CodeValue: string\n CodeMeaning: string\n CodingSchemeDesignator: string\n CodingSchemeVersion?: string\n}): string => {\n const codingScheme = concept.CodingSchemeDesignator\n const codeValue = concept.CodeValue\n return `${codingScheme}-${codeValue}`\n}\n\nconst _getRoiKey = (roi: dmv.roi.ROI): string | undefined => {\n const matches = findContentItemsByName({\n content: roi.evaluations,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121071',\n meaning: 'Finding',\n schemeDesignator: 'DCM'\n })\n })\n if (matches.length === 0) {\n console.warn(`no finding found for ROI ${roi.uid}`)\n return\n }\n const finding = matches[0] as dcmjs.sr.valueTypes.CodeContentItem\n const findingName = finding.ConceptCodeSequence[0]\n return _buildKey(findingName)\n}\n\nconst _areROIsEqual = (a: dmv.roi.ROI, b: dmv.roi.ROI): boolean => {\n if (a.scoord3d.graphicType !== b.scoord3d.graphicType) {\n return false\n }\n if (a.scoord3d.frameOfReferenceUID !== b.scoord3d.frameOfReferenceUID) {\n return false\n }\n if (a.scoord3d.graphicData.length !== b.scoord3d.graphicData.length) {\n return false\n }\n\n const decimals = 6\n for (let i = 0; i < a.scoord3d.graphicData.length; ++i) {\n if (a.scoord3d.graphicType === 'POINT') {\n const s1 = a.scoord3d as dmv.scoord3d.Point\n const s2 = b.scoord3d as dmv.scoord3d.Point\n const c1 = s1.graphicData[i].toPrecision(decimals)\n const c2 = s2.graphicData[i].toPrecision(decimals)\n if (c1 !== c2) {\n return false\n }\n } else {\n const s1 = a.scoord3d as dmv.scoord3d.Polygon\n const s2 = b.scoord3d as dmv.scoord3d.Polygon\n for (let j = 0; j < s1.graphicData[i].length; ++j) {\n const c1 = s1.graphicData[i][j].toPrecision(decimals)\n const c2 = s2.graphicData[i][j].toPrecision(decimals)\n if (c1 !== c2) {\n return false\n }\n }\n }\n }\n return true\n}\n\nconst _formatRoiStyle = (style: {\n stroke?: {\n color?: number[]\n width?: number\n }\n fill?: {\n color?: number[]\n }\n radius?: number\n}): dmv.viewer.ROIStyleOptions => {\n const stroke = {\n color: DEFAULT_ROI_STROKE_COLOR,\n width: DEFAULT_ROI_STROKE_WIDTH\n }\n if (style.stroke != null) {\n if (style.stroke.color != null) {\n stroke.color = style.stroke.color\n }\n if (style.stroke.width != null) {\n stroke.width = style.stroke.width\n }\n }\n const fill = {\n color: DEFAULT_ROI_FILL_COLOR\n }\n if (style.fill != null) {\n if (style.fill.color != null) {\n fill.color = style.fill.color\n }\n }\n return {\n stroke,\n fill,\n image: {\n circle: {\n radius: style.radius != null\n ? style.radius\n : Math.max(5 - stroke.width, 1),\n stroke,\n fill\n }\n }\n }\n}\n\nconst _constructViewers = ({ clients, slide, preload }: {\n clients: { [key: string]: dwc.api.DICOMwebClient }\n slide: Slide\n preload?: boolean\n}): {\n volumeViewer: dmv.viewer.VolumeImageViewer\n labelViewer?: dmv.viewer.LabelImageViewer\n} => {\n console.info(\n 'instantiate viewer for VOLUME images of slide ' +\n `\"${slide.volumeImages[0].ContainerIdentifier}\"`\n )\n try {\n const volumeViewer = new dmv.viewer.VolumeImageViewer({\n clientMapping: clients,\n metadata: slide.volumeImages,\n controls: ['overview', 'position'],\n preload: preload,\n errorInterceptor: (error: CustomError) =>\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.DMV, error\n )\n })\n volumeViewer.activateSelectInteraction({})\n\n let labelViewer\n if (slide.labelImages.length > 0) {\n console.info(\n 'instantiate viewer for LABEL image of slide ' +\n `\"${slide.labelImages[0].ContainerIdentifier}\"`\n )\n labelViewer = new dmv.viewer.LabelImageViewer({\n client: clients[StorageClasses.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE],\n metadata: slide.labelImages[0],\n resizeFactor: 1,\n orientation: 'vertical',\n errorInterceptor: (error: CustomError) =>\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.DMV,\n error\n )\n })\n }\n\n return { volumeViewer, labelViewer }\n } catch (error) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Failed to instantiate viewer'\n )\n )\n throw error\n }\n}\n\n/*\n * Check whether the report is structured according to template\n * TID 1500 \"MeasurementReport\".\n */\nconst _implementsTID1500 = (\n report: dmv.metadata.Comprehensive3DSR\n): boolean => {\n const templateSeq = report.ContentTemplateSequence\n if (templateSeq.length > 0) {\n const tid = templateSeq[0].TemplateIdentifier\n if (tid === '1500') {\n return true\n }\n }\n return false\n}\n\n/*\n * Check whether the subject described in the report is a specimen as compared\n * to a patient, fetus, or device.\n */\nconst _describesSpecimenSubject = (\n report: dmv.metadata.Comprehensive3DSR\n): boolean => {\n const items = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121024',\n schemeDesignator: 'DCM',\n meaning: 'Subject Class'\n })\n })\n if (items.length === 0) {\n return false\n }\n const subjectClassItem = items[0] as dcmjs.sr.valueTypes.CodeContentItem\n const subjectClassValue = subjectClassItem.ConceptCodeSequence[0]\n const retrievedConcept = new dcmjs.sr.coding.CodedConcept({\n value: subjectClassValue.CodeValue,\n meaning: subjectClassValue.CodeMeaning,\n schemeDesignator: subjectClassValue.CodingSchemeDesignator\n })\n const expectedConcept = new dcmjs.sr.coding.CodedConcept({\n value: '121027',\n meaning: 'Specimen',\n schemeDesignator: 'DCM'\n })\n if (retrievedConcept.equals(expectedConcept)) {\n return true\n }\n return false\n}\n\n/*\n * Check whether the report contains appropriate graphic ROI annotations.\n */\nconst _containsROIAnnotations = (\n report: dmv.metadata.Comprehensive3DSR\n): boolean => {\n const measurements = findContentItemsByName({\n content: report.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '126010',\n schemeDesignator: 'DCM',\n meaning: 'Imaging Measurements'\n })\n })\n if (measurements.length === 0) {\n return false\n }\n const container = measurements[0] as dcmjs.sr.valueTypes.ContainerContentItem\n const measurementGroups = findContentItemsByName({\n content: container.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '125007',\n schemeDesignator: 'DCM',\n meaning: 'Measurement Group'\n })\n })\n\n let foundRegion = false\n measurementGroups.forEach((group) => {\n const container = group as dcmjs.sr.valueTypes.ContainerContentItem\n const regions = findContentItemsByName({\n content: container.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '111030',\n schemeDesignator: 'DCM',\n meaning: 'Image Region'\n })\n })\n if (regions.length > 0) {\n if (regions[0].ValueType === dcmjs.sr.valueTypes.ValueTypes.SCOORD3D) {\n foundRegion = true\n }\n }\n })\n\n return foundRegion\n}\n\ninterface EvaluationOptions {\n name: dcmjs.sr.coding.CodedConcept\n values: dcmjs.sr.coding.CodedConcept[]\n}\n\ninterface Evaluation {\n name: dcmjs.sr.coding.CodedConcept\n value: dcmjs.sr.coding.CodedConcept\n}\n\ninterface Measurement {\n name: dcmjs.sr.coding.CodedConcept\n value?: number\n unit: dcmjs.sr.coding.CodedConcept\n}\n\ninterface SlideViewerProps extends RouteComponentProps {\n slide: Slide\n clients: { [key: string]: DicomWebManager }\n studyInstanceUID: string\n seriesInstanceUID: string\n app: {\n name: string\n version: string\n uid: string\n organization?: string\n }\n preload?: boolean\n annotations: AnnotationSettings[]\n enableAnnotationTools: boolean\n user?: {\n name: string\n email: string\n }\n selectedPresentationStateUID?: string\n}\n\ninterface SlideViewerState {\n visibleRoiUIDs: Set\n visibleSegmentUIDs: Set\n visibleMappingUIDs: Set\n visibleAnnotationGroupUIDs: Set\n visibleOpticalPathIdentifiers: Set\n activeOpticalPathIdentifiers: Set\n presentationStates: dmv.metadata.AdvancedBlendingPresentationState[]\n selectedPresentationStateUID?: string\n selectedFinding?: dcmjs.sr.coding.CodedConcept\n selectedEvaluations: Evaluation[]\n selectedGeometryType?: string\n selectedMarkup?: string\n selectedRoi?: dmv.roi.ROI\n selectedRoiUIDs: Set\n generatedReport?: dmv.metadata.Comprehensive3DSR\n isLoading: boolean\n isAnnotationModalVisible: boolean\n isSelectedRoiModalVisible: boolean\n isReportModalVisible: boolean\n isRoiDrawingActive: boolean\n isRoiModificationActive: boolean\n isRoiTranslationActive: boolean\n isGoToModalVisible: boolean\n isSelectedMagnificationValid: boolean\n isSelectedXCoordinateValid: boolean\n isSelectedYCoordinateValid: boolean\n selectedXCoordinate?: number\n validXCoordinateRange: number[]\n selectedYCoordinate?: number\n validYCoordinateRange: number[]\n selectedMagnification?: number\n areRoisHidden: boolean\n pixelDataStatistics: {\n [opticalPathIdentifier: string]: {\n min: number\n max: number\n numFramesSampled: number\n }\n }\n loadingFrames: Set\n}\n\n/**\n * React component for interactive viewing of an individual digital slide,\n * which corresponds to one DICOM Series of DICOM Slide Microscopy images and\n * potentially one or more associated DICOM Series of DICOM SR documents.\n */\nclass SlideViewer extends React.Component {\n private readonly findingOptions: dcmjs.sr.coding.CodedConcept[] = []\n\n private readonly evaluationOptions: { [key: string]: EvaluationOptions[] } = {}\n\n private readonly measurements: Measurement[] = []\n\n private readonly geometryTypeOptions: { [key: string]: string[] } = {}\n\n private readonly volumeViewportRef: React.RefObject\n\n private readonly labelViewportRef: React.RefObject\n\n private volumeViewer: dmv.viewer.VolumeImageViewer\n\n private labelViewer?: dmv.viewer.LabelImageViewer\n\n private readonly defaultRoiStyle: dmv.viewer.ROIStyleOptions = {\n stroke: {\n color: DEFAULT_ROI_STROKE_COLOR,\n width: DEFAULT_ROI_STROKE_WIDTH\n },\n fill: {\n color: DEFAULT_ROI_FILL_COLOR\n },\n image: {\n circle: {\n fill: {\n color: DEFAULT_ROI_STROKE_COLOR\n },\n radius: DEFAULT_ROI_RADIUS\n }\n }\n }\n\n private roiStyles: {[key: string]: dmv.viewer.ROIStyleOptions} = {}\n\n private readonly selectionColor: number[] = [140, 184, 198]\n\n private readonly selectedRoiStyle: dmv.viewer.ROIStyleOptions = {\n stroke: { color: [...this.selectionColor, 1], width: 3 },\n fill: { color: [...this.selectionColor, 0.2] },\n image: {\n circle: {\n radius: 5,\n fill: { color: [...this.selectionColor, 1] }\n }\n }\n }\n\n constructor (props: SlideViewerProps) {\n super(props)\n console.info(\n `view slide \"${this.props.slide.containerIdentifier}\": `,\n this.props.slide\n )\n const geometryTypeOptions = [\n 'point',\n 'circle',\n 'box',\n 'polygon',\n 'line',\n 'freehandpolygon',\n 'freehandline'\n ]\n props.annotations.forEach((annotation: AnnotationSettings) => {\n const finding = new dcmjs.sr.coding.CodedConcept(annotation.finding)\n this.findingOptions.push(finding)\n const key = _buildKey(finding)\n if (annotation.geometryTypes !== undefined) {\n this.geometryTypeOptions[key] = annotation.geometryTypes\n } else {\n this.geometryTypeOptions[key] = geometryTypeOptions\n }\n this.evaluationOptions[key] = []\n if (annotation.evaluations !== undefined) {\n annotation.evaluations.forEach(evaluation => {\n this.evaluationOptions[key].push({\n name: new dcmjs.sr.coding.CodedConcept(evaluation.name),\n values: evaluation.values.map(value => {\n return new dcmjs.sr.coding.CodedConcept(value)\n })\n })\n })\n }\n if (annotation.measurements !== undefined) {\n annotation.measurements.forEach(measurement => {\n this.measurements.push({\n name: new dcmjs.sr.coding.CodedConcept(measurement.name),\n value: undefined,\n unit: new dcmjs.sr.coding.CodedConcept(measurement.unit)\n })\n })\n }\n if (annotation.style != null) {\n this.roiStyles[key] = _formatRoiStyle(annotation.style)\n } else {\n this.roiStyles[key] = this.defaultRoiStyle\n }\n })\n\n this.componentSetup = this.componentSetup.bind(this)\n this.componentCleanup = this.componentCleanup.bind(this)\n\n this.onWindowResize = this.onWindowResize.bind(this)\n this.handleRoiDrawing = this.handleRoiDrawing.bind(this)\n this.handleRoiTranslation = this.handleRoiTranslation.bind(this)\n this.handleRoiModification = this.handleRoiModification.bind(this)\n this.handleRoiVisibilityChange = this.handleRoiVisibilityChange.bind(this)\n this.handleRoiRemoval = this.handleRoiRemoval.bind(this)\n this.handleRoiSelectionCancellation = this.handleRoiSelectionCancellation.bind(this)\n this.handleAnnotationConfigurationCancellation = this.handleAnnotationConfigurationCancellation.bind(this)\n this.handleAnnotationGeometryTypeSelection = this.handleAnnotationGeometryTypeSelection.bind(this)\n this.handleAnnotationMeasurementActivation = this.handleAnnotationMeasurementActivation.bind(this)\n this.handleAnnotationFindingSelection = this.handleAnnotationFindingSelection.bind(this)\n this.handleAnnotationEvaluationSelection = this.handleAnnotationEvaluationSelection.bind(this)\n this.handleAnnotationEvaluationClearance = this.handleAnnotationEvaluationClearance.bind(this)\n this.handleAnnotationConfigurationCompletion = this.handleAnnotationConfigurationCompletion.bind(this)\n this.handleAnnotationSelection = this.handleAnnotationSelection.bind(this)\n this.handleAnnotationVisibilityChange = this.handleAnnotationVisibilityChange.bind(this)\n this.handleAnnotationGroupVisibilityChange = this.handleAnnotationGroupVisibilityChange.bind(this)\n this.handleAnnotationGroupStyleChange = this.handleAnnotationGroupStyleChange.bind(this)\n this.handleGoTo = this.handleGoTo.bind(this)\n this.handleXCoordinateSelection = this.handleXCoordinateSelection.bind(this)\n this.handleYCoordinateSelection = this.handleYCoordinateSelection.bind(this)\n this.handleMagnificationSelection = this.handleMagnificationSelection.bind(this)\n this.handleSlidePositionSelection = this.handleSlidePositionSelection.bind(this)\n this.handleSlidePositionSelectionCancellation = this.handleSlidePositionSelectionCancellation.bind(this)\n this.handleReportGeneration = this.handleReportGeneration.bind(this)\n this.handleReportVerification = this.handleReportVerification.bind(this)\n this.handleReportCancellation = this.handleReportCancellation.bind(this)\n this.handleSegmentVisibilityChange = this.handleSegmentVisibilityChange.bind(this)\n this.handleSegmentStyleChange = this.handleSegmentStyleChange.bind(this)\n this.handleMappingVisibilityChange = this.handleMappingVisibilityChange.bind(this)\n this.handleMappingStyleChange = this.handleMappingStyleChange.bind(this)\n this.handleOpticalPathVisibilityChange = this.handleOpticalPathVisibilityChange.bind(this)\n this.handleOpticalPathStyleChange = this.handleOpticalPathStyleChange.bind(this)\n this.handleOpticalPathActivityChange = this.handleOpticalPathActivityChange.bind(this)\n this.handlePresentationStateSelection = this.handlePresentationStateSelection.bind(this)\n this.handlePresentationStateReset = this.handlePresentationStateReset.bind(this)\n\n const { volumeViewer, labelViewer } = _constructViewers({\n clients: this.props.clients,\n slide: this.props.slide,\n preload: this.props.preload\n })\n this.volumeViewer = volumeViewer\n this.labelViewer = labelViewer\n this.volumeViewportRef = React.createRef()\n this.labelViewportRef = React.createRef()\n\n /**\n * Deactivate all optical paths. Visibility will be set later, potentially\n * using based on available presentation state instances.\n */\n this.volumeViewer.getAllOpticalPaths().forEach(opticalPath => {\n this.volumeViewer.deactivateOpticalPath(opticalPath.identifier)\n })\n\n const [offset, size] = this.volumeViewer.boundingBox\n\n this.state = {\n selectedRoiUIDs: new Set(),\n visibleRoiUIDs: new Set(),\n visibleSegmentUIDs: new Set(),\n visibleMappingUIDs: new Set(),\n visibleAnnotationGroupUIDs: new Set(),\n visibleOpticalPathIdentifiers: new Set(),\n activeOpticalPathIdentifiers: new Set(),\n presentationStates: [],\n selectedFinding: undefined,\n selectedEvaluations: [],\n generatedReport: undefined,\n isLoading: false,\n isAnnotationModalVisible: false,\n isSelectedRoiModalVisible: false,\n isSelectedMagnificationValid: false,\n isReportModalVisible: false,\n isRoiDrawingActive: false,\n isRoiTranslationActive: false,\n isRoiModificationActive: false,\n isGoToModalVisible: false,\n isSelectedXCoordinateValid: false,\n isSelectedYCoordinateValid: false,\n selectedXCoordinate: undefined,\n validXCoordinateRange: [offset[0], offset[0] + size[0]],\n selectedYCoordinate: undefined,\n validYCoordinateRange: [offset[1], offset[1] + size[1]],\n selectedMagnification: undefined,\n areRoisHidden: false,\n pixelDataStatistics: {},\n selectedPresentationStateUID: this.props.selectedPresentationStateUID,\n loadingFrames: new Set()\n }\n }\n\n componentDidUpdate (\n previousProps: SlideViewerProps,\n previousState: SlideViewerState\n ): void {\n /** Fetch data and update the viewports if the route has changed (\n * i.e., if another series has been selected) or if the client has changed.\n */\n if (\n this.props.location.pathname !== previousProps.location.pathname ||\n this.props.studyInstanceUID !== previousProps.studyInstanceUID ||\n this.props.seriesInstanceUID !== previousProps.seriesInstanceUID ||\n this.props.slide !== previousProps.slide ||\n this.props.clients !== previousProps.clients\n ) {\n if (this.volumeViewportRef.current != null) {\n this.volumeViewportRef.current.innerHTML = ''\n }\n this.volumeViewer.cleanup()\n if (this.labelViewer != null) {\n if (this.labelViewportRef.current != null) {\n this.labelViewportRef.current.innerHTML = ''\n }\n this.labelViewer.cleanup()\n }\n const { volumeViewer, labelViewer } = _constructViewers({\n clients: this.props.clients,\n slide: this.props.slide,\n preload: this.props.preload\n })\n this.volumeViewer = volumeViewer\n this.labelViewer = labelViewer\n\n const activeOpticalPathIdentifiers: Set = new Set()\n const visibleOpticalPathIdentifiers: Set = new Set()\n this.volumeViewer.getAllOpticalPaths().forEach(opticalPath => {\n const identifier = opticalPath.identifier\n if (this.volumeViewer.isOpticalPathVisible(identifier)) {\n visibleOpticalPathIdentifiers.add(identifier)\n }\n if (this.volumeViewer.isOpticalPathActive(identifier)) {\n activeOpticalPathIdentifiers.add(identifier)\n }\n })\n\n const [offset, size] = this.volumeViewer.boundingBox\n\n this.setState({\n visibleRoiUIDs: new Set(),\n visibleSegmentUIDs: new Set(),\n visibleMappingUIDs: new Set(),\n visibleAnnotationGroupUIDs: new Set(),\n visibleOpticalPathIdentifiers,\n activeOpticalPathIdentifiers,\n presentationStates: [],\n loadingFrames: new Set(),\n validXCoordinateRange: [offset[0], offset[0] + size[0]],\n validYCoordinateRange: [offset[1], offset[1] + size[1]]\n })\n this.populateViewports()\n }\n }\n\n /**\n * Retrieve Presentation State instances that reference the any images of\n * the currently selected series.\n */\n loadPresentationStates = (): void => {\n console.info('search for Presentation State instances')\n const client = this.props.clients[\n StorageClasses.ADVANCED_BLENDING_PRESENTATION_STATE\n ]\n client.searchForInstances({\n studyInstanceUID: this.props.studyInstanceUID,\n queryParams: {\n Modality: 'PR'\n }\n }).then((matchedInstances): void => {\n if (matchedInstances == null) {\n matchedInstances = []\n }\n matchedInstances.forEach((rawInstance, index) => {\n const { dataset } = dmv.metadata.formatMetadata(rawInstance)\n const instance = dataset as dmv.metadata.Instance\n console.info(`retrieve PR instance \"${instance.SOPInstanceUID}\"`)\n client.retrieveInstance({\n studyInstanceUID: this.props.studyInstanceUID,\n seriesInstanceUID: instance.SeriesInstanceUID,\n sopInstanceUID: instance.SOPInstanceUID\n }).then((retrievedInstance): void => {\n const data = dcmjs.data.DicomMessage.readFile(retrievedInstance)\n const { dataset } = dmv.metadata.formatMetadata(data.dict)\n if (this.props.slide.areVolumeImagesMonochrome) {\n const presentationState = (\n dataset as\n unknown as\n dmv.metadata.AdvancedBlendingPresentationState\n )\n let doesMatch = false\n presentationState.AdvancedBlendingSequence.forEach(blendingItem => {\n doesMatch = this.props.slide.seriesInstanceUIDs.includes(\n blendingItem.SeriesInstanceUID\n )\n }\n )\n if (doesMatch) {\n console.info(\n 'include Advanced Blending Presentation State instance ' +\n `\"${presentationState.SOPInstanceUID}\"`\n )\n if (\n index === 0 &&\n this.props.selectedPresentationStateUID == null\n ) {\n this.setPresentationState(presentationState)\n } else {\n if (\n presentationState.SOPInstanceUID ===\n this.props.selectedPresentationStateUID\n ) {\n this.setPresentationState(presentationState)\n }\n }\n this.setState(state => {\n const mapping: {\n [sopInstanceUID: string]:\n dmv.metadata.AdvancedBlendingPresentationState\n } = {}\n state.presentationStates.forEach(instance => {\n mapping[instance.SOPInstanceUID] = instance\n })\n mapping[presentationState.SOPInstanceUID] = presentationState\n return { presentationStates: Object.values(mapping) }\n })\n }\n } else {\n console.info(\n `ignore presentation state \"${instance.SOPInstanceUID}\", ` +\n 'application of presentation states for color images ' +\n 'has not (yet) been implemented'\n )\n }\n }).catch((error) => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Presentation State could not be loaded'\n )\n )\n console.error(\n 'failed to load presentation state ' +\n `of SOP instance \"${instance.SOPInstanceUID}\" ` +\n `of series \"${instance.SeriesInstanceUID}\" ` +\n `of study \"${this.props.studyInstanceUID}\": `,\n error\n )\n })\n })\n }).catch(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Presentation State could not be loaded'\n )\n )\n })\n }\n\n /**\n * Set presentation state as specified by a DICOM Presentation State instance.\n */\n setPresentationState = (\n presentationState: dmv.metadata.AdvancedBlendingPresentationState\n ): void => {\n const opticalPaths = this.volumeViewer.getAllOpticalPaths()\n console.info(\n `apply Presentation State instance \"${presentationState.SOPInstanceUID}\"`\n )\n const opticalPathStyles: {\n [opticalPathIdentifier: string]: {\n opacity: number\n paletteColorLookupTable?: dmv.color.PaletteColorLookupTable\n limitValues?: number[]\n } | null\n } = {}\n opticalPaths.forEach(opticalPath => {\n // First, deactivate and hide all optical paths and reset style\n const identifier = opticalPath.identifier\n this.volumeViewer.hideOpticalPath(identifier)\n this.volumeViewer.deactivateOpticalPath(identifier)\n const style = this.volumeViewer.getOpticalPathDefaultStyle(identifier)\n this.volumeViewer.setOpticalPathStyle(identifier, style)\n\n presentationState.AdvancedBlendingSequence.forEach(blendingItem => {\n /**\n * Referenced Instance Sequence should be used instead of Referenced\n * Image Sequence, but that's easy to mix up and we have encountered\n * implementations that get it wrong.\n */\n let refInstanceItems = blendingItem.ReferencedInstanceSequence\n if (refInstanceItems === undefined) {\n refInstanceItems = blendingItem.ReferencedImageSequence\n }\n if (refInstanceItems === undefined) {\n return\n }\n refInstanceItems.forEach(imageItem => {\n const isReferenced = opticalPath.sopInstanceUIDs.includes(\n imageItem.ReferencedSOPInstanceUID\n ) as boolean\n if (isReferenced) {\n let paletteColorLUT\n if (blendingItem.PaletteColorLookupTableSequence != null) {\n const cpLUTItem = blendingItem.PaletteColorLookupTableSequence[0]\n paletteColorLUT = new dmv.color.PaletteColorLookupTable({\n uid: (\n cpLUTItem.PaletteColorLookupTableUID != null\n ? cpLUTItem.PaletteColorLookupTableUID\n : ''\n ),\n redDescriptor:\n cpLUTItem.RedPaletteColorLookupTableDescriptor,\n greenDescriptor:\n cpLUTItem.GreenPaletteColorLookupTableDescriptor,\n blueDescriptor:\n cpLUTItem.BluePaletteColorLookupTableDescriptor,\n redData: (\n (cpLUTItem.RedPaletteColorLookupTableData != null)\n ? new Uint16Array(\n cpLUTItem.RedPaletteColorLookupTableData\n )\n : undefined\n ),\n greenData: (\n (cpLUTItem.GreenPaletteColorLookupTableData != null)\n ? new Uint16Array(\n cpLUTItem.GreenPaletteColorLookupTableData\n )\n : undefined\n ),\n blueData: (\n (cpLUTItem.BluePaletteColorLookupTableData != null)\n ? new Uint16Array(\n cpLUTItem.BluePaletteColorLookupTableData\n )\n : undefined\n ),\n redSegmentedData: (\n (cpLUTItem.SegmentedRedPaletteColorLookupTableData != null)\n ? new Uint16Array(\n cpLUTItem.SegmentedRedPaletteColorLookupTableData\n )\n : undefined\n ),\n greenSegmentedData: (\n (cpLUTItem.SegmentedGreenPaletteColorLookupTableData != null)\n ? new Uint16Array(\n cpLUTItem.SegmentedGreenPaletteColorLookupTableData\n )\n : undefined\n ),\n blueSegmentedData: (\n (cpLUTItem.SegmentedBluePaletteColorLookupTableData != null)\n ? new Uint16Array(\n cpLUTItem.SegmentedBluePaletteColorLookupTableData\n )\n : undefined\n )\n })\n }\n\n let limitValues\n if (blendingItem.SoftcopyVOILUTSequence != null) {\n const voiLUTItem = blendingItem.SoftcopyVOILUTSequence[0]\n const windowCenter = voiLUTItem.WindowCenter\n const windowWidth = voiLUTItem.WindowWidth\n limitValues = [\n windowCenter - windowWidth * 0.5,\n windowCenter + windowWidth * 0.5\n ]\n }\n\n opticalPathStyles[identifier] = {\n opacity: 1,\n paletteColorLookupTable: paletteColorLUT,\n limitValues: limitValues\n }\n }\n })\n })\n })\n\n const selectedOpticalPathIdentifiers: Set = new Set()\n Object.keys(opticalPathStyles).forEach(identifier => {\n const styleOptions = opticalPathStyles[identifier]\n if (styleOptions != null) {\n this.volumeViewer.setOpticalPathStyle(identifier, styleOptions)\n this.volumeViewer.activateOpticalPath(identifier)\n this.volumeViewer.showOpticalPath(identifier)\n selectedOpticalPathIdentifiers.add(identifier)\n } else {\n this.volumeViewer.hideOpticalPath(identifier)\n this.volumeViewer.deactivateOpticalPath(identifier)\n }\n })\n const searchParams = new URLSearchParams(this.props.location.search)\n searchParams.set('state', presentationState.SOPInstanceUID)\n this.props.navigate(\n {\n pathname: this.props.location.pathname,\n search: searchParams.toString()\n },\n { replace: true }\n )\n this.setState(state => ({\n activeOpticalPathIdentifiers: selectedOpticalPathIdentifiers,\n visibleOpticalPathIdentifiers: selectedOpticalPathIdentifiers,\n selectedPresentationStateUID: presentationState.SOPInstanceUID\n }))\n }\n\n getRoiStyle = (key?: string): dmv.viewer.ROIStyleOptions => {\n if (key == null) {\n return this.defaultRoiStyle\n }\n if (this.roiStyles[key] !== undefined) {\n return this.roiStyles[key]\n }\n return this.defaultRoiStyle\n }\n\n /**\n * Retrieve Structured Report instances that contain regions of interests\n * with 3D spatial coordinates defined in the same frame of reference as the\n * currently selected series and add them to the VOLUME image viewer.\n */\n addAnnotations = (): void => {\n console.info('search for Comprehensive 3D SR instances')\n const client = this.props.clients[StorageClasses.COMPREHENSIVE_3D_SR]\n client.searchForInstances({\n studyInstanceUID: this.props.studyInstanceUID,\n queryParams: {\n Modality: 'SR'\n }\n }).then((matchedInstances): void => {\n if (matchedInstances == null) {\n matchedInstances = []\n }\n matchedInstances.forEach(i => {\n const { dataset } = dmv.metadata.formatMetadata(i)\n const instance = dataset as dmv.metadata.Instance\n if (instance.SOPClassUID === StorageClasses.COMPREHENSIVE_3D_SR) {\n console.info(`retrieve SR instance \"${instance.SOPInstanceUID}\"`)\n client.retrieveInstance({\n studyInstanceUID: this.props.studyInstanceUID,\n seriesInstanceUID: instance.SeriesInstanceUID,\n sopInstanceUID: instance.SOPInstanceUID\n }).then((retrievedInstance): void => {\n const data = dcmjs.data.DicomMessage.readFile(retrievedInstance)\n const { dataset } = dmv.metadata.formatMetadata(data.dict)\n const report = dataset as unknown as dmv.metadata.Comprehensive3DSR\n /*\n * Perform a couple of checks to ensure the document content of the\n * report fullfils the requirements of the application.\n */\n if (!_implementsTID1500(report)) {\n console.debug(\n `ignore SR document \"${report.SOPInstanceUID}\" ` +\n 'because it is not structured according to template ' +\n 'TID 1500 \"MeasurementReport\"'\n )\n return\n }\n if (!_describesSpecimenSubject(report)) {\n console.debug(\n `ignore SR document \"${report.SOPInstanceUID}\" ` +\n 'because it does not describe a specimen subject'\n )\n return\n }\n if (!_containsROIAnnotations(report)) {\n console.debug(\n `ignore SR document \"${report.SOPInstanceUID}\" ` +\n 'because it does not contain any suitable ROI annotations'\n )\n return\n }\n\n const content = new MeasurementReport(report)\n content.ROIs.forEach(roi => {\n console.info(`add ROI \"${roi.uid}\"`)\n const scoord3d = roi.scoord3d\n const image = this.props.slide.volumeImages[0]\n if (scoord3d.frameOfReferenceUID === image.FrameOfReferenceUID) {\n /*\n * ROIs may get assigned new UIDs upon re-rendering of the\n * page and we need to ensure that we don't add them twice.\n * The same ROI may be stored in multiple SR documents and\n * we don't want them to show up twice.\n * TODO: We should probably either \"merge\" measurements and\n * quantitative evaluations or pick the ROI from the \"best\"\n * available report (COMPLETE and VERIFIED).\n */\n const doesROIExist = this.volumeViewer.getAllROIs().some(\n (otherROI: dmv.roi.ROI): boolean => {\n return _areROIsEqual(otherROI, roi)\n }\n )\n if (!doesROIExist) {\n try {\n // Add ROI without style such that it won't be visible.\n this.volumeViewer.addROI(roi, {})\n } catch {\n console.error(`could not add ROI \"${roi.uid}\"`)\n }\n } else {\n console.debug(`skip already existing ROI \"${roi.uid}\"`)\n }\n } else {\n console.debug(\n `skip ROI \"${roi.uid}\" ` +\n `of SR document \"${report.SOPInstanceUID}\"` +\n 'because it is defined in another frame of reference'\n )\n }\n })\n }).catch((error) => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Annotations could not be loaded'\n )\n )\n console.error(\n 'failed to load ROIs ' +\n `of SOP instance \"${instance.SOPInstanceUID}\" ` +\n `of series \"${instance.SeriesInstanceUID}\" ` +\n `of study \"${this.props.studyInstanceUID}\": `,\n error\n )\n })\n /*\n * React is not aware of the fact that ROIs have been added via the\n * viewer (the viewport is a ref object) and won't show the\n * annotations in the user interface unless an update is forced.\n */\n this.forceUpdate()\n }\n })\n }).catch(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Annotations could not be loaded'\n )\n )\n })\n }\n\n /**\n * Retrieve Microscopy Bulk Simple Annotations instances that contain\n * annotation groups defined in the same frame of reference as the currently\n * selected series and add them to the VOLUME image viewer.\n */\n addAnnotationGroups = (): void => {\n console.info('search for Microscopy Bulk Simple Annotations instances')\n const client = this.props.clients[\n StorageClasses.MICROSCOPY_BULK_SIMPLE_ANNOTATION\n ]\n client.searchForSeries({\n studyInstanceUID: this.props.studyInstanceUID,\n queryParams: {\n Modality: 'ANN'\n }\n }).then((matchedSeries): void => {\n if (matchedSeries == null) {\n matchedSeries = []\n }\n matchedSeries.forEach(s => {\n const { dataset } = dmv.metadata.formatMetadata(s)\n const series = dataset as dmv.metadata.Series\n client.retrieveSeriesMetadata({\n studyInstanceUID: this.props.studyInstanceUID,\n seriesInstanceUID: series.SeriesInstanceUID\n }).then((retrievedMetadata): void => {\n let annotations: dmv.metadata.MicroscopyBulkSimpleAnnotations[]\n annotations = retrievedMetadata.map(metadata => {\n return new dmv.metadata.MicroscopyBulkSimpleAnnotations({\n metadata\n })\n })\n annotations = annotations.filter(ann => {\n const refImage = this.props.slide.volumeImages[0]\n return (\n ann.FrameOfReferenceUID === refImage.FrameOfReferenceUID &&\n ann.ContainerIdentifier === refImage.ContainerIdentifier\n )\n })\n annotations.forEach(ann => {\n try {\n this.volumeViewer.addAnnotationGroups(ann)\n } catch (error: any) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Microscopy Bulk Simple Annotations cannot be displayed.'\n )\n )\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n console.error('failed to add annotation groups: ', error)\n }\n ann.AnnotationGroupSequence.forEach(item => {\n const annotationGroupUID = item.AnnotationGroupUID\n const finding = item.AnnotationPropertyTypeCodeSequence[0]\n const key = _buildKey(finding)\n const style = this.roiStyles[key]\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n if (style != null && style.fill != null) {\n this.volumeViewer.setAnnotationGroupStyle(\n annotationGroupUID,\n { color: style.fill.color }\n )\n }\n })\n })\n /*\n * React is not aware of the fact that annotation groups have been\n * added via the viewer (the underlying HTML viewport element is a\n * ref object) and won't show the annotation groups in the user\n * interface unless an update is forced.\n */\n this.forceUpdate()\n }).catch(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Retrieval of metadata of Microscopy Bulk Simple Annotations ' +\n 'instances failed.'\n )\n )\n })\n })\n }).catch(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Search for Microscopy Bulk Simple Annotations instances failed.'\n )\n )\n })\n }\n\n /**\n * Retrieve Segmentation instances that contain segments defined in the same\n * frame of reference as the currently selected series and add them to the\n * VOLUME image viewer.\n */\n addSegmentations = (): void => {\n console.info('search for Segmentation instances')\n const client = this.props.clients[StorageClasses.SEGMENTATION]\n client.searchForSeries({\n studyInstanceUID: this.props.studyInstanceUID,\n queryParams: {\n Modality: 'SEG'\n }\n }).then((matchedSeries): void => {\n if (matchedSeries == null) {\n matchedSeries = []\n }\n matchedSeries.forEach((s, i) => {\n const { dataset } = dmv.metadata.formatMetadata(s)\n const series = dataset as dmv.metadata.Series\n client.retrieveSeriesMetadata({\n studyInstanceUID: this.props.studyInstanceUID,\n seriesInstanceUID: series.SeriesInstanceUID\n }).then((retrievedMetadata): void => {\n const segmentations: dmv.metadata.Segmentation[] = []\n retrievedMetadata.forEach(metadata => {\n const seg = new dmv.metadata.Segmentation({ metadata })\n const refImage = this.props.slide.volumeImages[0]\n if (\n seg.FrameOfReferenceUID === refImage.FrameOfReferenceUID &&\n seg.ContainerIdentifier === refImage.ContainerIdentifier\n ) {\n segmentations.push(seg)\n }\n })\n if (segmentations.length > 0) {\n try {\n this.volumeViewer.addSegments(segmentations)\n } catch (error: any) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Segmentations cannot be displayed'\n )\n )\n console.error('failed to add segments: ', error)\n }\n /*\n * React is not aware of the fact that segments have been added via\n * the viewer (the underlying HTML viewport element is a ref object)\n * and won't show the segments in the user interface unless an update\n * is forced.\n */\n this.forceUpdate()\n }\n }).catch(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Retrieval of metadata of Segmentation instances failed.'\n )\n )\n })\n })\n }).catch(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Search for Segmentation instances failed.'\n )\n )\n })\n }\n\n /**\n * Retrieve Parametric Map instances that contain mappings defined in the same\n * frame of reference as the currently selected series and add them to the\n * VOLUME image viewer.\n */\n addParametricMaps = (): void => {\n console.info('search for Parametric Map instances')\n const client = this.props.clients[StorageClasses.PARAMETRIC_MAP]\n client.searchForSeries({\n studyInstanceUID: this.props.studyInstanceUID,\n queryParams: {\n Modality: 'OT'\n }\n }).then((matchedSeries): void => {\n if (matchedSeries == null) {\n matchedSeries = []\n }\n matchedSeries.forEach(s => {\n const { dataset } = dmv.metadata.formatMetadata(s)\n const series = dataset as dmv.metadata.Series\n client.retrieveSeriesMetadata({\n studyInstanceUID: this.props.studyInstanceUID,\n seriesInstanceUID: series.SeriesInstanceUID\n }).then((retrievedMetadata): void => {\n const parametricMaps: dmv.metadata.ParametricMap[] = []\n retrievedMetadata.forEach(metadata => {\n const pm = new dmv.metadata.ParametricMap({ metadata })\n const refImage = this.props.slide.volumeImages[0]\n if (\n pm.FrameOfReferenceUID === refImage.FrameOfReferenceUID &&\n pm.ContainerIdentifier === refImage.ContainerIdentifier\n ) {\n parametricMaps.push(pm)\n } else {\n console.warn(\n `skip Parametric Map instance \"${pm.SOPInstanceUID}\"`\n )\n }\n })\n if (parametricMaps.length > 0) {\n try {\n this.volumeViewer.addParameterMappings(parametricMaps)\n } catch (error: any) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Parametric Map cannot be displayed'\n )\n )\n console.error('failed to add mappings: ', error)\n }\n /*\n * React is not aware of the fact that mappings have been added via\n * the viewer (the underlying HTML viewport element is a ref object)\n * and won't show the mappings in the user interface unless an update\n * is forced.\n */\n this.forceUpdate()\n }\n }).catch(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Retrieval of metadata of Parametric Map instances failed.'\n )\n )\n })\n })\n }).catch(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Search for Parametric Map instances failed.'\n )\n )\n })\n }\n\n /**\n * Populate viewports of the VOLUME and LABEL image viewers.\n */\n populateViewports = (): void => {\n console.info('populate viewports...')\n this.setState({\n isLoading: true,\n presentationStates: []\n })\n\n if (this.volumeViewportRef.current != null) {\n this.volumeViewer.render({ container: this.volumeViewportRef.current })\n }\n if (\n this.labelViewportRef.current != null &&\n this.labelViewer != null\n ) {\n this.labelViewer.render({ container: this.labelViewportRef.current })\n }\n\n // State update will also ensure that the component is re-rendered.\n this.setState({ isLoading: false })\n\n this.setDefaultPresentationState()\n this.loadPresentationStates()\n\n this.addAnnotations()\n this.addAnnotationGroups()\n this.addSegmentations()\n this.addParametricMaps()\n }\n\n onRoiModified = (event: CustomEventInit): void => {\n // Update state to trigger rendering\n this.setState(state => ({\n visibleRoiUIDs: new Set(state.visibleRoiUIDs)\n }))\n }\n\n onWindowResize = (event: Event): void => {\n console.info('resize viewports')\n this.volumeViewer.resize()\n if (this.labelViewer != null) {\n this.labelViewer.resize()\n }\n }\n\n onRoiDrawn = (event: CustomEventInit): void => {\n const roi = event.detail.payload as dmv.roi.ROI\n const selectedFinding = this.state.selectedFinding\n const selectedEvaluations = this.state.selectedEvaluations\n if (roi !== undefined && selectedFinding !== undefined) {\n console.debug(`add ROI \"${roi.uid}\"`)\n const findingItem = new dcmjs.sr.valueTypes.CodeContentItem({\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121071',\n meaning: 'Finding',\n schemeDesignator: 'DCM'\n }),\n value: selectedFinding,\n relationshipType: 'CONTAINS'\n })\n roi.addEvaluation(findingItem)\n selectedEvaluations.forEach((evaluation: Evaluation) => {\n const item = new dcmjs.sr.valueTypes.CodeContentItem({\n name: evaluation.name,\n value: evaluation.value,\n relationshipType: 'CONTAINS'\n })\n roi.addEvaluation(item)\n })\n const key = _buildKey(selectedFinding)\n const style = this.getRoiStyle(key)\n this.volumeViewer.addROI(roi, style)\n this.setState(state => {\n const visibleRoiUIDs = state.visibleRoiUIDs\n visibleRoiUIDs.add(roi.uid)\n return { visibleRoiUIDs }\n })\n } else {\n console.debug(`could not add ROI \"${roi.uid}\"`)\n }\n }\n\n onRoiDoubleClicked = (event: CustomEventInit): void => {\n const selectedRoi = event.detail.payload as dmv.roi.ROI\n if (selectedRoi != null) {\n this.setState({\n isSelectedRoiModalVisible: true\n })\n } else {\n this.setState({\n isSelectedRoiModalVisible: false\n })\n }\n }\n\n onRoiSelected = (event: CustomEventInit): void => {\n const selectedRoi = event.detail.payload as dmv.roi.ROI\n if (selectedRoi != null) {\n console.debug(`selected ROI \"${selectedRoi.uid}\"`)\n this.volumeViewer.setROIStyle(selectedRoi.uid, this.selectedRoiStyle)\n const key = _getRoiKey(selectedRoi)\n this.volumeViewer.getAllROIs().forEach((roi) => {\n if (roi.uid !== selectedRoi.uid) {\n this.volumeViewer.setROIStyle(roi.uid, this.getRoiStyle(key))\n }\n })\n this.setState({\n selectedRoiUIDs: new Set([selectedRoi.uid]),\n selectedRoi: selectedRoi\n })\n } else {\n this.setState({\n selectedRoiUIDs: new Set(),\n selectedRoi: undefined\n })\n }\n }\n\n handleRoiSelectionCancellation (): void {\n this.setState({\n isSelectedRoiModalVisible: false\n })\n }\n\n onLoadingStarted = (event: CustomEventInit): void => {\n this.setState({ isLoading: true })\n }\n\n onLoadingEnded = (event: CustomEventInit): void => {\n this.setState({ isLoading: false })\n }\n\n onFrameLoadingStarted = (event: CustomEventInit): void => {\n const frameInfo: {\n studyInstanceUID: string\n seriesInstanceUID: string\n sopInstanceUID: string\n sopClassUID: string\n frameNumber: string\n channelIdentifier: string\n } = event.detail.payload\n const key: string = `${frameInfo.sopInstanceUID}-${frameInfo.frameNumber}`\n this.setState(state => {\n state.loadingFrames.add(key)\n return state\n })\n }\n\n onFrameLoadingEnded = (event: CustomEventInit): void => {\n const frameInfo: {\n studyInstanceUID: string\n seriesInstanceUID: string\n sopInstanceUID: string\n sopClassUID: string\n frameNumber: string\n channelIdentifier: string\n pixelArray: Uint8Array|Uint16Array|Float32Array|null\n } = event.detail.payload\n const key = `${frameInfo.sopInstanceUID}-${frameInfo.frameNumber}`\n this.setState(state => {\n state.loadingFrames.delete(key)\n let isLoading: boolean = false\n if (state.loadingFrames.size > 0) {\n isLoading = true\n }\n return {\n isLoading,\n loadingFrames: state.loadingFrames\n }\n })\n if (\n frameInfo.sopClassUID === StorageClasses.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE &&\n this.props.slide.areVolumeImagesMonochrome\n ) {\n const opticalPathIdentifier = frameInfo.channelIdentifier\n if (\n !(opticalPathIdentifier in this.state.pixelDataStatistics) &&\n frameInfo.pixelArray != null\n ) {\n /*\n * There are limits on the number of arguments Math.min and Math.max\n * functions can accept. Therefore, we compute values in smaller chunks.\n */\n const size = 2 ** 16\n const chunks = Math.ceil(frameInfo.pixelArray.length / size)\n let offset = 0\n const minValues: number[] = []\n const maxValues: number[] = []\n for (let i = 0; i < chunks; i++) {\n offset = i * size\n const pixels = frameInfo.pixelArray.slice(offset, offset + size)\n minValues.push(Math.min(...pixels))\n maxValues.push(Math.max(...pixels))\n }\n const min = Math.min(...minValues)\n const max = Math.max(...maxValues)\n this.setState(state => {\n const stats = state.pixelDataStatistics\n if (stats[opticalPathIdentifier] != null) {\n stats[opticalPathIdentifier] = {\n min: Math.min(stats[opticalPathIdentifier].min, min),\n max: Math.max(stats[opticalPathIdentifier].max, max),\n numFramesSampled: stats[opticalPathIdentifier].numFramesSampled + 1\n }\n } else {\n stats[opticalPathIdentifier] = {\n min: min,\n max: max,\n numFramesSampled: 1\n }\n }\n if (state.selectedPresentationStateUID == null) {\n const style = {\n ...this.volumeViewer.getOpticalPathStyle(opticalPathIdentifier)\n }\n style.limitValues = [\n stats[opticalPathIdentifier].min,\n stats[opticalPathIdentifier].max\n ]\n this.volumeViewer.setOpticalPathStyle(opticalPathIdentifier, style)\n }\n return state\n })\n }\n }\n }\n\n onRoiRemoved = (event: CustomEventInit): void => {\n const roi = event.detail.payload as dmv.roi.ROI\n console.debug(`removed ROI \"${roi.uid}\"`)\n }\n\n componentCleanup (): void {\n document.body.removeEventListener(\n 'dicommicroscopyviewer_roi_drawn',\n this.onRoiDrawn\n )\n document.body.removeEventListener(\n 'dicommicroscopyviewer_roi_selected',\n this.onRoiSelected\n )\n document.body.removeEventListener(\n 'dicommicroscopyviewer_roi_double_clicked',\n this.onRoiDoubleClicked\n )\n document.body.removeEventListener(\n 'dicommicroscopyviewer_roi_removed',\n this.onRoiRemoved\n )\n document.body.removeEventListener(\n 'dicommicroscopyviewer_roi_modified',\n this.onRoiModified\n )\n document.body.removeEventListener(\n 'dicommicroscopyviewer_loading_started',\n this.onLoadingStarted\n )\n document.body.removeEventListener(\n 'dicommicroscopyviewer_loading_ended',\n this.onLoadingEnded\n )\n document.body.removeEventListener(\n 'dicommicroscopyviewer_frame_loading_started',\n this.onFrameLoadingStarted\n )\n document.body.removeEventListener(\n 'dicommicroscopyviewer_frame_loading_ended',\n this.onFrameLoadingEnded\n )\n document.body.removeEventListener(\n 'keyup',\n this.onKeyUp\n )\n window.removeEventListener('resize', this.onWindowResize)\n\n this.volumeViewer.cleanup()\n if (this.labelViewer != null) {\n this.labelViewer.cleanup()\n }\n /*\n * FIXME: React appears to not clean the content of referenced\n * HTMLDivElement objects when the page is reloaded. As a consequence,\n * optical paths and other display items cannot be toggled or updated after\n * a manual page reload. I have tried using ref callbacks and passing the\n * ref objects from the parent component via the props. Both didn't work\n * either.\n */\n }\n\n onKeyUp = (event: KeyboardEvent): void => {\n if (event.key === 'Escape') {\n if (this.state.isRoiDrawingActive) {\n console.info('deactivate drawing of ROIs')\n this.volumeViewer.deactivateDrawInteraction()\n this.volumeViewer.activateSelectInteraction({})\n } else if (this.state.isRoiModificationActive) {\n console.info('deactivate modification of ROIs')\n this.volumeViewer.deactivateModifyInteraction()\n this.volumeViewer.activateSelectInteraction({})\n } else if (this.state.isRoiTranslationActive) {\n console.info('deactivate modification of ROIs')\n this.volumeViewer.deactivateTranslateInteraction()\n this.volumeViewer.activateSelectInteraction({})\n }\n this.setState({\n isAnnotationModalVisible: false,\n isSelectedRoiModalVisible: false,\n isRoiTranslationActive: false,\n isRoiDrawingActive: false,\n isRoiModificationActive: false,\n isGoToModalVisible: false\n })\n } else if (event.altKey) {\n if (event.code === 'KeyD') {\n this.handleRoiDrawing()\n } else if (event.code === 'KeyM') {\n this.handleRoiModification()\n } else if (event.code === 'KeyT') {\n this.handleRoiTranslation()\n } else if (event.code === 'KeyR') {\n this.handleRoiRemoval()\n } else if (event.code === 'KeyV') {\n this.handleRoiVisibilityChange()\n } else if (event.code === 'KeyS') {\n this.handleReportGeneration()\n } else if (event.code === 'KeyG') {\n this.handleGoTo()\n }\n }\n }\n\n componentWillUnmount (): void {\n window.removeEventListener('beforeunload', this.componentCleanup)\n }\n\n componentSetup (): void {\n document.body.addEventListener(\n 'dicommicroscopyviewer_roi_drawn',\n this.onRoiDrawn\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_roi_selected',\n this.onRoiSelected\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_roi_double_clicked',\n this.onRoiDoubleClicked\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_roi_removed',\n this.onRoiRemoved\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_roi_modified',\n this.onRoiModified\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_loading_started',\n this.onLoadingStarted\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_loading_ended',\n this.onLoadingEnded\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_frame_loading_started',\n this.onFrameLoadingStarted\n )\n document.body.addEventListener(\n 'dicommicroscopyviewer_frame_loading_ended',\n this.onFrameLoadingEnded\n )\n document.body.addEventListener(\n 'keyup',\n this.onKeyUp\n )\n window.addEventListener('resize', this.onWindowResize)\n }\n\n componentDidMount (): void {\n window.addEventListener('beforeunload', this.componentCleanup)\n this.componentSetup()\n this.populateViewports()\n\n if (!this.props.slide.areVolumeImagesMonochrome) {\n let hasICCProfile = false\n const image = this.props.slide.volumeImages[0]\n const metadataItem = image.OpticalPathSequence[0]\n if (metadataItem.ICCProfile == null) {\n if ('OpticalPathSequence' in image.bulkdataReferences) {\n // @ts-expect-error\n const bulkdataItem = image.bulkdataReferences.OpticalPathSequence[0]\n if ('ICCProfile' in bulkdataItem) {\n hasICCProfile = true\n }\n }\n } else {\n hasICCProfile = true\n }\n if (!hasICCProfile) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n message.warning('No ICC Profile was found for color images')\n }\n }\n }\n\n /**\n * Handler that gets called when a finding has been selected for annotation.\n *\n * @param value - Code value of the coded finding that got selected\n * @param option - Option that got selected\n */\n handleAnnotationFindingSelection (\n value: string,\n option: any\n ): void {\n this.findingOptions.forEach(finding => {\n if (finding.CodeValue === value) {\n console.info(`selected finding \"${finding.CodeMeaning}\"`)\n this.setState({\n selectedFinding: finding,\n selectedEvaluations: []\n })\n }\n })\n }\n\n /**\n * Handler that gets called when a geometry type has been selected for\n * annotation.\n *\n * @param value - Code value of the coded finding that got selected\n * @param option - Option that got selected\n */\n handleAnnotationGeometryTypeSelection (value: string, option: any): void {\n this.setState({ selectedGeometryType: value })\n }\n\n /**\n * Handler that gets called when measurements have been selected for\n * annotation.\n */\n handleAnnotationMeasurementActivation (event: any): void {\n const active: boolean = event.target.checked\n if (active) {\n this.setState({ selectedMarkup: 'measurement' })\n } else {\n this.setState({ selectedMarkup: undefined })\n }\n }\n\n /**\n * Handler that gets called when an evaluation has been selected for an\n * annotation.\n *\n * @param value - Code value of the coded evaluation that got selected\n * @param option - Option that got selected\n */\n handleAnnotationEvaluationSelection (\n value: string,\n option: any\n ): void {\n const selectedFinding = this.state.selectedFinding\n if (selectedFinding !== undefined) {\n const key = _buildKey(selectedFinding)\n const name = option.label\n this.evaluationOptions[key].forEach(evaluation => {\n if (\n evaluation.name.CodeValue === name.CodeValue &&\n evaluation.name.CodingSchemeDesignator === name.CodingSchemeDesignator\n ) {\n evaluation.values.forEach(code => {\n if (code.CodeValue === value) {\n const filteredEvaluations = this.state.selectedEvaluations.filter(\n (item: Evaluation) => item.name !== evaluation.name\n )\n this.setState({\n selectedEvaluations: [\n ...filteredEvaluations,\n { name: name, value: code }\n ]\n })\n }\n })\n }\n })\n }\n }\n\n /**\n * Handler that gets called when an evaluation has been cleared for an\n * annotation.\n */\n handleAnnotationEvaluationClearance (): void {\n this.setState({\n selectedEvaluations: []\n })\n }\n\n handleXCoordinateSelection (value: any): void {\n if (value != null) {\n const x = Number(value)\n const start = this.state.validXCoordinateRange[0]\n const end = this.state.validXCoordinateRange[1]\n if (x >= start && x <= end) {\n this.setState({\n selectedXCoordinate: x,\n isSelectedXCoordinateValid: true\n })\n return\n }\n }\n this.setState({\n selectedXCoordinate: undefined,\n isSelectedXCoordinateValid: false\n })\n }\n\n handleYCoordinateSelection (value: any): void {\n if (value != null) {\n const y = Number(value)\n const start = this.state.validYCoordinateRange[0]\n const end = this.state.validYCoordinateRange[1]\n if (y >= start && y <= end) {\n this.setState({\n selectedYCoordinate: y,\n isSelectedYCoordinateValid: true\n })\n return\n }\n }\n this.setState({\n selectedYCoordinate: undefined,\n isSelectedYCoordinateValid: false\n })\n }\n\n handleMagnificationSelection (value: any): void {\n if (value != null) {\n if (value > 0 && value <= 40) {\n this.setState({\n selectedMagnification: Number(value),\n isSelectedMagnificationValid: true\n })\n return\n }\n }\n this.setState({\n selectedMagnification: undefined,\n isSelectedMagnificationValid: false\n })\n }\n\n /**\n * Handler that gets called when the selection of slide position was\n * completed.\n */\n handleSlidePositionSelection (): void {\n if (\n this.state.isSelectedXCoordinateValid &&\n this.state.isSelectedYCoordinateValid &&\n this.state.isSelectedMagnificationValid &&\n this.state.selectedXCoordinate != null &&\n this.state.selectedYCoordinate != null &&\n this.state.selectedMagnification != null\n ) {\n console.info(\n 'select slide position ' +\n `(${this.state.selectedXCoordinate}, ` +\n `${this.state.selectedYCoordinate}) ` +\n `at ${this.state.selectedMagnification}x magnification`\n )\n\n const factor = this.state.selectedMagnification\n /**\n * On an optical microscope an objective with 1x magnification\n * corresponds to approximately 10 micrometer pixel spacing\n * (due to the ocular).\n */\n const targetPixelSpacing = 0.01 / factor\n const diffs = []\n for (let i = 0; i < this.volumeViewer.numLevels; i++) {\n const actualPixelSpacing = this.volumeViewer.getPixelSpacing(i)[0]\n diffs.push(Math.abs(targetPixelSpacing - actualPixelSpacing))\n }\n const level = diffs.indexOf(Math.min(...diffs))\n this.volumeViewer.navigate({\n position: [\n this.state.selectedXCoordinate,\n this.state.selectedYCoordinate\n ],\n level: level\n })\n const point = new dmv.scoord3d.Point({\n coordinates: [\n this.state.selectedXCoordinate,\n this.state.selectedYCoordinate,\n 0\n ],\n frameOfReferenceUID: this.volumeViewer.frameOfReferenceUID\n })\n const roi = new dmv.roi.ROI({ scoord3d: point })\n this.volumeViewer.addROI(roi, this.defaultRoiStyle)\n this.setState(state => {\n const visibleRoiUIDs = state.visibleRoiUIDs\n visibleRoiUIDs.add(roi.uid)\n return {\n visibleRoiUIDs,\n isGoToModalVisible: false\n }\n })\n }\n }\n\n /**\n * Handler that gets called when the selection of a slide position was\n * canceled.\n */\n handleSlidePositionSelectionCancellation (): void {\n console.log('cancel slide position selection')\n this.setState({\n isGoToModalVisible: false,\n isSelectedXCoordinateValid: false,\n isSelectedYCoordinateValid: false,\n isSelectedMagnificationValid: false,\n selectedXCoordinate: undefined,\n selectedYCoordinate: undefined,\n selectedMagnification: undefined\n })\n }\n\n /**\n * Handler that gets called when annotation configuration has been completed.\n */\n handleAnnotationConfigurationCompletion (): void {\n console.debug('complete annotation configuration')\n const finding = this.state.selectedFinding\n const geometryType = this.state.selectedGeometryType\n const markup = this.state.selectedMarkup\n if (geometryType !== undefined && finding !== undefined) {\n this.volumeViewer.activateDrawInteraction({ geometryType, markup })\n this.setState({\n isAnnotationModalVisible: false,\n isRoiDrawingActive: true\n })\n } else {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Could not complete annotation configuration'\n )\n )\n }\n }\n\n /**\n * Handler that gets called when annotation configuration has been cancelled.\n */\n handleAnnotationConfigurationCancellation (): void {\n console.debug('cancel annotation configuration')\n this.setState({\n isAnnotationModalVisible: false,\n isRoiDrawingActive: false\n })\n }\n\n /**\n * Handler that gets called when a report should be generated for the current\n * set of annotations.\n */\n handleReportGeneration (): void {\n console.info('save ROIs')\n const rois = this.volumeViewer.getAllROIs()\n const opticalPaths = this.volumeViewer.getAllOpticalPaths()\n const metadata = this.volumeViewer.getOpticalPathMetadata(\n opticalPaths[0].identifier\n )\n // Metadata should be sorted such that the image with the highest\n // resolution is the last item in the array.\n const refImage = metadata[metadata.length - 1]\n // We assume that there is only one specimen (tissue section) per\n // ontainer (slide). Only the tissue section is tracked with a unique\n // identifier, even if the section may be composed of different biological\n // samples.\n if (refImage.SpecimenDescriptionSequence.length > 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'More than one specimen has been described for the slide'\n )\n )\n }\n const refSpecimen = refImage.SpecimenDescriptionSequence[0]\n\n console.debug('create Observation Context')\n let observer\n if (this.props.user !== undefined) {\n observer = new dcmjs.sr.templates.PersonObserverIdentifyingAttributes({\n name: this.props.user.name,\n loginName: this.props.user.email\n })\n } else {\n console.warn('no user information available')\n observer = new dcmjs.sr.templates.PersonObserverIdentifyingAttributes({\n name: 'ANONYMOUS'\n })\n }\n const observationContext = new dcmjs.sr.templates.ObservationContext({\n observerPersonContext: new dcmjs.sr.templates.ObserverContext({\n observerType: new dcmjs.sr.coding.CodedConcept({\n value: '121006',\n schemeDesignator: 'DCM',\n meaning: 'Person'\n }),\n observerIdentifyingAttributes: observer\n }),\n observerDeviceContext: new dcmjs.sr.templates.ObserverContext({\n observerType: new dcmjs.sr.coding.CodedConcept({\n value: '121007',\n schemeDesignator: 'DCM',\n meaning: 'Device'\n }),\n observerIdentifyingAttributes:\n new dcmjs.sr.templates.DeviceObserverIdentifyingAttributes({\n uid: this.props.app.uid,\n manufacturerName: 'MGH Computational Pathology',\n modelName: this.props.app.name\n })\n }),\n subjectContext: new dcmjs.sr.templates.SubjectContext({\n subjectClass: new dcmjs.sr.coding.CodedConcept({\n value: '121027',\n schemeDesignator: 'DCM',\n meaning: 'Specimen'\n }),\n subjectClassSpecificContext:\n new dcmjs.sr.templates.SubjectContextSpecimen({\n uid: refSpecimen.SpecimenUID,\n identifier: refSpecimen.SpecimenIdentifier,\n containerIdentifier: refImage.ContainerIdentifier\n })\n })\n })\n\n console.debug('encode Imaging Measurements')\n const imagingMeasurements: dcmjs.sr.valueTypes.ContainerContentItem[] = []\n for (let i = 0; i < rois.length; i++) {\n const roi = rois[i]\n if (!this.state.visibleRoiUIDs.has(roi.uid)) {\n continue\n }\n let findingType = roi.evaluations.find(\n (item: dcmjs.sr.valueTypes.ContentItem) => {\n return item.ConceptNameCodeSequence[0].CodeValue === '121071'\n }\n )\n if (findingType === undefined) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n `No finding type was specified for ROI \"${roi.uid}\"`\n )\n )\n }\n findingType = findingType as dcmjs.sr.valueTypes.CodeContentItem\n const group = new dcmjs.sr.templates.PlanarROIMeasurementsAndQualitativeEvaluations({\n trackingIdentifier: new dcmjs.sr.templates.TrackingIdentifier({\n uid: roi.properties.trackingUID ?? roi.uid,\n identifier: `ROI #${i + 1}`\n }),\n referencedRegion: new dcmjs.sr.contentItems.ImageRegion3D({\n graphicType: roi.scoord3d.graphicType,\n graphicData: roi.scoord3d.graphicData,\n frameOfReferenceUID: roi.scoord3d.frameOfReferenceUID\n }),\n findingType: new dcmjs.sr.coding.CodedConcept({\n value: findingType.ConceptCodeSequence[0].CodeValue,\n schemeDesignator:\n findingType.ConceptCodeSequence[0].CodingSchemeDesignator,\n meaning: findingType.ConceptCodeSequence[0].CodeMeaning\n }),\n qualitativeEvaluations: roi.evaluations.filter(\n (item: dcmjs.sr.valueTypes.ContentItem) => {\n return item.ConceptNameCodeSequence[0].CodeValue !== '121071'\n }\n ),\n measurements: roi.measurements\n })\n const measurements = group as dcmjs.sr.valueTypes.ContainerContentItem[]\n measurements[0].ContentTemplateSequence = [{\n MappingResource: 'DCMR',\n TemplateIdentifier: '1410'\n }]\n imagingMeasurements.push(...measurements)\n }\n\n console.debug('create Measurement Report document content')\n const measurementReport = new dcmjs.sr.templates.MeasurementReport({\n languageOfContentItemAndDescendants: new dcmjs.sr.templates.LanguageOfContentItemAndDescendants({}),\n observationContext: observationContext,\n procedureReported: new dcmjs.sr.coding.CodedConcept({\n value: '112703',\n schemeDesignator: 'DCM',\n meaning: 'Whole Slide Imaging'\n }),\n imagingMeasurements: imagingMeasurements\n })\n\n console.info('create Comprehensive 3D SR document')\n const dataset = new dcmjs.sr.documents.Comprehensive3DSR({\n content: measurementReport[0],\n evidence: [refImage],\n seriesInstanceUID: dcmjs.data.DicomMetaDictionary.uid(),\n seriesNumber: 1,\n seriesDescription: 'Annotation',\n sopInstanceUID: dcmjs.data.DicomMetaDictionary.uid(),\n instanceNumber: 1,\n manufacturer: 'MGH Computational Pathology',\n previousVersions: undefined // TODO\n })\n\n this.setState({\n isReportModalVisible: true,\n generatedReport: dataset as dmv.metadata.Comprehensive3DSR\n })\n }\n\n /**\n * Handler that gets called when a report should be verified. The current\n * list of annotations will be presented to the user together with other\n * pertinent metadata about the patient, study, and specimen.\n */\n handleReportVerification (): void {\n console.info('verfied report')\n\n const report = this.state.generatedReport\n if (report !== undefined) {\n const dataset = report as unknown as dmv.metadata.Comprehensive3DSR\n console.debug('create File Meta Information')\n const fileMetaInformationVersionArray = new Uint8Array(2)\n fileMetaInformationVersionArray[1] = 1\n const fileMeta = {\n // FileMetaInformationVersion\n '00020001': {\n Value: [fileMetaInformationVersionArray.buffer],\n vr: 'OB'\n },\n // MediaStorageSOPClassUID\n '00020002': {\n Value: [dataset.SOPClassUID],\n vr: 'UI'\n },\n // MediaStorageSOPInstanceUID\n '00020003': {\n Value: [dataset.SOPInstanceUID],\n vr: 'UI'\n },\n // TransferSyntaxUID\n '00020010': {\n Value: ['1.2.840.10008.1.2.1'],\n vr: 'UI'\n },\n // ImplementationClassUID\n '00020012': {\n Value: [this.props.app.uid],\n vr: 'UI'\n }\n }\n\n console.info('store Comprehensive 3D SR document')\n const writer = new dcmjs.data.DicomDict(fileMeta)\n writer.dict = dcmjs.data.DicomMetaDictionary.denaturalizeDataset(dataset)\n const buffer = writer.write()\n const client = this.props.clients[StorageClasses.COMPREHENSIVE_3D_SR]\n client.storeInstances({ datasets: [buffer] }).then(\n (response: any) => message.info('Annotations were saved.')\n ).catch(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Annotations could not be saved'\n )\n )\n })\n }\n this.setState({\n isReportModalVisible: false,\n generatedReport: undefined\n })\n }\n\n /**\n * Handler that gets called when report generation has been cancelled.\n */\n handleReportCancellation (): void {\n this.setState({\n isReportModalVisible: false,\n generatedReport: undefined\n })\n }\n\n /**\n * Handler that gets called when an annotation has been selected from the\n * current list of annotations.\n */\n handleAnnotationSelection ({ roiUID }: { roiUID: string }): void {\n console.log(`selected ROI ${roiUID}`)\n this.setState({ selectedRoiUIDs: new Set([roiUID]) })\n this.volumeViewer.getAllROIs().forEach((roi) => {\n let style = {}\n if (roi.uid === roiUID) {\n style = this.selectedRoiStyle\n this.setState(state => {\n const visibleRoiUIDs = state.visibleRoiUIDs\n visibleRoiUIDs.add(roi.uid)\n return { visibleRoiUIDs }\n })\n } else {\n if (this.state.visibleRoiUIDs.has(roi.uid)) {\n const key = _getRoiKey(roi)\n style = this.getRoiStyle(key)\n }\n }\n this.volumeViewer.setROIStyle(roi.uid, style)\n })\n }\n\n /**\n * Handle toggling of annotation visibility, i.e., whether a given\n * annotation should be either displayed or hidden by the viewer.\n */\n handleAnnotationVisibilityChange ({ roiUID, isVisible }: {\n roiUID: string\n isVisible: boolean\n }): void {\n if (isVisible) {\n console.info(`show ROI ${roiUID}`)\n const roi = this.volumeViewer.getROI(roiUID)\n const key = _getRoiKey(roi)\n this.volumeViewer.setROIStyle(roi.uid, this.getRoiStyle(key))\n this.setState(state => {\n const visibleRoiUIDs = state.visibleRoiUIDs\n visibleRoiUIDs.add(roi.uid)\n return { visibleRoiUIDs }\n })\n } else {\n console.info(`hide ROI ${roiUID}`)\n this.setState(state => {\n const selectedRoiUIDs = state.selectedRoiUIDs\n selectedRoiUIDs.delete(roiUID)\n const visibleRoiUIDs = state.visibleRoiUIDs\n visibleRoiUIDs.delete(roiUID)\n return { visibleRoiUIDs, selectedRoiUIDs }\n })\n this.volumeViewer.setROIStyle(roiUID, {})\n }\n }\n\n /**\n * Handle toggling of annotation group visibility, i.e., whether a given\n * annotation group should be either displayed or hidden by the viewer.\n */\n handleAnnotationGroupVisibilityChange ({ annotationGroupUID, isVisible }: {\n annotationGroupUID: string\n isVisible: boolean\n }): void {\n console.log(`change visibility of annotation group ${annotationGroupUID}`)\n if (isVisible) {\n console.info(`show annotation group ${annotationGroupUID}`)\n try {\n this.volumeViewer.showAnnotationGroup(annotationGroupUID)\n } catch (error) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Failed to show annotation group.'\n )\n )\n throw error\n }\n this.setState(state => {\n const visibleAnnotationGroupUIDs = new Set(\n state.visibleAnnotationGroupUIDs\n )\n visibleAnnotationGroupUIDs.add(annotationGroupUID)\n return { visibleAnnotationGroupUIDs }\n })\n } else {\n console.info(`hide annotation group ${annotationGroupUID}`)\n this.volumeViewer.hideAnnotationGroup(annotationGroupUID)\n this.setState(state => {\n const visibleAnnotationGroupUIDs = new Set(\n state.visibleAnnotationGroupUIDs\n )\n visibleAnnotationGroupUIDs.delete(annotationGroupUID)\n return { visibleAnnotationGroupUIDs }\n })\n }\n }\n\n /**\n * Handle change of annotation group style.\n */\n handleAnnotationGroupStyleChange ({ annotationGroupUID, styleOptions }: {\n annotationGroupUID: string\n styleOptions: {\n opacity?: number\n color?: number[]\n measurement?: dcmjs.sr.coding.CodedConcept\n }\n }): void {\n console.log(`change style of annotation group ${annotationGroupUID}`)\n try {\n this.volumeViewer.setAnnotationGroupStyle(\n annotationGroupUID,\n styleOptions\n )\n } catch (error) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Failed to change style of annotation group.'\n )\n )\n throw error\n }\n }\n\n /**\n * Handle toggling of segment visibility, i.e., whether a given\n * segment should be either displayed or hidden by the viewer.\n */\n handleSegmentVisibilityChange ({ segmentUID, isVisible }: {\n segmentUID: string\n isVisible: boolean\n }): void {\n console.log(`change visibility of segment ${segmentUID}`)\n if (isVisible) {\n console.info(`show segment ${segmentUID}`)\n this.volumeViewer.showSegment(segmentUID)\n this.setState(state => {\n const visibleSegmentUIDs = new Set(state.visibleSegmentUIDs)\n visibleSegmentUIDs.add(segmentUID)\n return { visibleSegmentUIDs }\n })\n } else {\n console.info(`hide segment ${segmentUID}`)\n this.volumeViewer.hideSegment(segmentUID)\n this.setState(state => {\n const visibleSegmentUIDs = new Set(state.visibleSegmentUIDs)\n visibleSegmentUIDs.delete(segmentUID)\n return { visibleSegmentUIDs }\n })\n }\n }\n\n /**\n * Handle change of segment style.\n */\n handleSegmentStyleChange ({ segmentUID, styleOptions }: {\n segmentUID: string\n styleOptions: {\n opacity?: number\n }\n }): void {\n console.log(`change style of segment ${segmentUID}`)\n this.volumeViewer.setSegmentStyle(segmentUID, styleOptions)\n }\n\n /**\n * Handle toggling of mapping visibility, i.e., whether a given\n * mapping should be either displayed or hidden by the viewer.\n */\n handleMappingVisibilityChange ({ mappingUID, isVisible }: {\n mappingUID: string\n isVisible: boolean\n }): void {\n console.log(`change visibility of mapping ${mappingUID}`)\n if (isVisible) {\n console.info(`show mapping ${mappingUID}`)\n this.volumeViewer.showParameterMapping(mappingUID)\n this.setState(state => {\n const visibleMappingUIDs = new Set(state.visibleMappingUIDs)\n visibleMappingUIDs.add(mappingUID)\n return { visibleMappingUIDs }\n })\n } else {\n console.info(`hide mapping ${mappingUID}`)\n this.volumeViewer.hideParameterMapping(mappingUID)\n this.setState(state => {\n const visibleMappingUIDs = new Set(state.visibleMappingUIDs)\n visibleMappingUIDs.delete(mappingUID)\n return { visibleMappingUIDs }\n })\n }\n }\n\n /**\n * Handle change of mapping style.\n */\n handleMappingStyleChange ({ mappingUID, styleOptions }: {\n mappingUID: string\n styleOptions: {\n opacity?: number\n }\n }): void {\n console.log(`change style of mapping ${mappingUID}`)\n this.volumeViewer.setParameterMappingStyle(mappingUID, styleOptions)\n }\n\n /**\n * Handle toggling of optical path visibility, i.e., whether a given\n * optical path should be either displayed or hidden by the viewer.\n */\n handleOpticalPathVisibilityChange ({ opticalPathIdentifier, isVisible }: {\n opticalPathIdentifier: string\n isVisible: boolean\n }): void {\n console.log(`change visibility of optical path ${opticalPathIdentifier}`)\n if (isVisible) {\n console.info(`show optical path ${opticalPathIdentifier}`)\n this.volumeViewer.showOpticalPath(opticalPathIdentifier)\n this.setState(state => {\n const visibleOpticalPathIdentifiers = new Set(\n state.visibleOpticalPathIdentifiers\n )\n visibleOpticalPathIdentifiers.add(opticalPathIdentifier)\n return { visibleOpticalPathIdentifiers }\n })\n } else {\n console.info(`hide optical path ${opticalPathIdentifier}`)\n this.volumeViewer.hideOpticalPath(opticalPathIdentifier)\n this.setState(state => {\n const visibleOpticalPathIdentifiers = new Set(\n state.visibleOpticalPathIdentifiers\n )\n visibleOpticalPathIdentifiers.delete(opticalPathIdentifier)\n return { visibleOpticalPathIdentifiers }\n })\n }\n }\n\n /**\n * Handle change of optical path style.\n */\n handleOpticalPathStyleChange ({ opticalPathIdentifier, styleOptions }: {\n opticalPathIdentifier: string\n styleOptions: {\n opacity?: number\n color?: number[]\n limitValues?: number[]\n }\n }): void {\n console.log(`change style of optical path ${opticalPathIdentifier}`)\n this.volumeViewer.setOpticalPathStyle(opticalPathIdentifier, styleOptions)\n }\n\n /**\n * Handle toggling of optical path activity, i.e., whether a given\n * optical path should be either added or removed from the viewport.\n */\n handleOpticalPathActivityChange ({ opticalPathIdentifier, isActive }: {\n opticalPathIdentifier: string\n isActive: boolean\n }): void {\n console.log(`change activity of optical path ${opticalPathIdentifier}`)\n if (isActive) {\n console.info(`activate optical path ${opticalPathIdentifier}`)\n this.volumeViewer.activateOpticalPath(opticalPathIdentifier)\n this.setState(state => {\n const activeOpticalPathIdentifiers = new Set(\n state.activeOpticalPathIdentifiers\n )\n activeOpticalPathIdentifiers.add(opticalPathIdentifier)\n return { activeOpticalPathIdentifiers }\n })\n } else {\n console.info(`deactivate optical path ${opticalPathIdentifier}`)\n this.volumeViewer.deactivateOpticalPath(opticalPathIdentifier)\n this.setState(state => {\n const activeOpticalPathIdentifiers = new Set(\n state.activeOpticalPathIdentifiers\n )\n activeOpticalPathIdentifiers.delete(opticalPathIdentifier)\n return { activeOpticalPathIdentifiers }\n })\n }\n }\n\n /**\n * Set default presentation state that is either defined by metadata included\n * in the DICOM Slide Microscopy instance or by the viewer.\n */\n setDefaultPresentationState (): void {\n const visibleOpticalPathIdentifiers: Set = new Set()\n const opticalPaths = this.volumeViewer.getAllOpticalPaths()\n opticalPaths.sort((a, b) => {\n if (a.identifier.localeCompare(b.identifier) === 1) {\n return 1\n } else if (b.identifier.localeCompare(a.identifier) === 1) {\n return -1\n }\n return 0\n })\n opticalPaths.forEach((item: dmv.opticalPath.OpticalPath) => {\n const identifier = item.identifier\n const style = this.volumeViewer.getOpticalPathDefaultStyle(identifier)\n this.volumeViewer.setOpticalPathStyle(identifier, style)\n this.volumeViewer.hideOpticalPath(identifier)\n this.volumeViewer.deactivateOpticalPath(identifier)\n if (item.isMonochromatic) {\n /*\n * If the image metadata contains a palette color lookup table for the\n * optical path, then it will be displayed by default.\n */\n if (item.paletteColorLookupTableUID != null) {\n visibleOpticalPathIdentifiers.add(identifier)\n }\n } else {\n /* Color images will always be displayed by default. */\n visibleOpticalPathIdentifiers.add(identifier)\n }\n })\n\n /*\n * If no optical paths have been selected for visualization so far, select\n * first n optical paths and set a default value of interest (VOI) window\n * (using pre-computed pixel data statistics) and a default color.\n */\n if (visibleOpticalPathIdentifiers.size === 0) {\n const defaultColors = [\n [255, 255, 255]\n ]\n opticalPaths.forEach((item: dmv.opticalPath.OpticalPath) => {\n const identifier = item.identifier\n if (item.isMonochromatic) {\n const numVisible = visibleOpticalPathIdentifiers.size\n if (numVisible < defaultColors.length) {\n const style = {\n ...this.volumeViewer.getOpticalPathStyle(identifier)\n }\n const index = numVisible\n style.color = defaultColors[index]\n const stats = this.state.pixelDataStatistics[item.identifier]\n if (stats != null) {\n style.limitValues = [stats.min, stats.max]\n }\n this.volumeViewer.setOpticalPathStyle(item.identifier, style)\n visibleOpticalPathIdentifiers.add(item.identifier)\n }\n }\n })\n }\n\n console.info(\n `selected n=${visibleOpticalPathIdentifiers.size} optical paths ` +\n 'for visualization'\n )\n visibleOpticalPathIdentifiers.forEach(identifier => {\n this.volumeViewer.showOpticalPath(identifier)\n })\n this.setState(state => ({\n activeOpticalPathIdentifiers: new Set(visibleOpticalPathIdentifiers),\n visibleOpticalPathIdentifiers: new Set(visibleOpticalPathIdentifiers)\n }))\n }\n\n /**\n * Handler that gets called when a presentation state has been selected from\n * the current list of available presentation states.\n */\n handlePresentationStateReset (): void {\n this.setState({ selectedPresentationStateUID: undefined })\n const urlPath = this.props.location.pathname\n this.props.navigate(urlPath)\n this.setDefaultPresentationState()\n }\n\n /**\n * Handler that gets called when a presentation state has been selected from\n * the current list of available presentation states.\n */\n handlePresentationStateSelection (\n value?: string,\n option?: any\n ): void {\n if (value != null) {\n console.info(`select Presentation State instance \"${value}\"`)\n let presentationState\n this.state.presentationStates.forEach(instance => {\n if (instance.SOPInstanceUID === value) {\n presentationState = instance\n }\n })\n if (presentationState != null) {\n let urlPath = this.props.location.pathname\n urlPath += `?state=${value}`\n this.props.navigate(urlPath)\n this.setPresentationState(presentationState)\n } else {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.VISUALIZATION,\n 'Presentation State could not be found'\n )\n )\n console.log(\n 'failed to handle section of presentation state: ' +\n `could not find instance \"${value}\"`\n )\n }\n } else {\n this.handlePresentationStateReset()\n }\n this.setState({ selectedPresentationStateUID: value })\n }\n\n /**\n * Handler that will toggle the ROI drawing tool, i.e., either activate or\n * de-activate it, depending on its current state.\n */\n handleRoiDrawing (): void {\n if (this.state.isRoiDrawingActive) {\n console.info('deactivate drawing of ROIs')\n this.volumeViewer.deactivateDrawInteraction()\n this.volumeViewer.activateSelectInteraction({})\n this.setState({\n isAnnotationModalVisible: false,\n isSelectedRoiModalVisible: false,\n isRoiTranslationActive: false,\n isRoiDrawingActive: false,\n isRoiModificationActive: false,\n isGoToModalVisible: false\n })\n } else {\n console.info('activate drawing of ROIs')\n this.setState({\n isAnnotationModalVisible: true,\n isSelectedRoiModalVisible: false,\n isRoiDrawingActive: true,\n isRoiModificationActive: false,\n isRoiTranslationActive: false,\n isGoToModalVisible: false\n })\n this.volumeViewer.deactivateSelectInteraction()\n this.volumeViewer.deactivateSnapInteraction()\n this.volumeViewer.deactivateTranslateInteraction()\n this.volumeViewer.deactivateModifyInteraction()\n }\n }\n\n /**\n * Handler that will toggle the ROI modification tool, i.e., either activate\n * or de-activate it, depending on its current state.\n */\n handleRoiModification (): void {\n console.info('toggle modification of ROIs')\n if (this.volumeViewer.isModifyInteractionActive) {\n this.volumeViewer.deactivateModifyInteraction()\n this.volumeViewer.deactivateSnapInteraction()\n this.volumeViewer.activateSelectInteraction({})\n this.setState({\n isRoiTranslationActive: false,\n isRoiDrawingActive: false,\n isRoiModificationActive: false\n })\n } else {\n this.setState({\n isRoiModificationActive: true,\n isRoiDrawingActive: false,\n isRoiTranslationActive: false\n })\n this.volumeViewer.deactivateDrawInteraction()\n this.volumeViewer.deactivateTranslateInteraction()\n this.volumeViewer.deactivateSelectInteraction()\n this.volumeViewer.activateSnapInteraction({})\n this.volumeViewer.activateModifyInteraction({})\n }\n }\n\n /**\n * Handler that will toggle the ROI translation tool, i.e., either activate\n * or de-activate it, depending on its current state.\n */\n handleRoiTranslation (): void {\n console.info('toggle translation of ROIs')\n if (this.volumeViewer.isTranslateInteractionActive) {\n this.volumeViewer.deactivateTranslateInteraction()\n this.setState({\n isRoiTranslationActive: false,\n isRoiDrawingActive: false,\n isRoiModificationActive: false\n })\n } else {\n this.setState({\n isRoiTranslationActive: true,\n isRoiDrawingActive: false,\n isRoiModificationActive: false\n })\n this.volumeViewer.deactivateModifyInteraction()\n this.volumeViewer.deactivateSnapInteraction()\n this.volumeViewer.deactivateDrawInteraction()\n this.volumeViewer.deactivateSelectInteraction()\n this.volumeViewer.activateTranslateInteraction({})\n }\n }\n\n handleGoTo (): void {\n this.volumeViewer.deactivateDrawInteraction()\n this.volumeViewer.deactivateModifyInteraction()\n this.volumeViewer.deactivateSnapInteraction()\n this.volumeViewer.deactivateTranslateInteraction()\n this.volumeViewer.deactivateSelectInteraction()\n this.setState({\n isGoToModalVisible: true,\n isAnnotationModalVisible: false,\n isSelectedRoiModalVisible: false,\n isReportModalVisible: false,\n isRoiTranslationActive: false,\n isRoiModificationActive: false,\n isRoiDrawingActive: false\n })\n }\n\n /**\n * Handler that will toggle the ROI removal tool, i.e., either activate\n * or de-activate it, depending on its current state.\n */\n handleRoiRemoval (): void {\n this.volumeViewer.deactivateDrawInteraction()\n this.volumeViewer.deactivateSnapInteraction()\n this.volumeViewer.deactivateTranslateInteraction()\n this.volumeViewer.deactivateModifyInteraction()\n if (this.state.selectedRoiUIDs.size > 0) {\n this.state.selectedRoiUIDs.forEach(uid => {\n if (uid === undefined) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n message.warning('No annotation was selected for removal')\n return\n }\n console.info(`remove ROI \"${uid}\"`)\n this.volumeViewer.removeROI(uid)\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n message.info('Annotation was removed')\n })\n this.setState({\n selectedRoiUIDs: new Set(),\n isRoiTranslationActive: false,\n isRoiDrawingActive: false,\n isRoiModificationActive: false\n })\n } else {\n this.state.visibleRoiUIDs.forEach(uid => {\n console.info(`remove ROI \"${uid}\"`)\n this.volumeViewer.removeROI(uid)\n })\n this.setState({\n visibleRoiUIDs: new Set(),\n isRoiTranslationActive: false,\n isRoiDrawingActive: false,\n isRoiModificationActive: false\n })\n }\n this.volumeViewer.activateSelectInteraction({})\n }\n\n /**\n * Handler that will toggle the ROI visibility tool, i.e., either activate\n * or de-activate it, depending on its current state.\n */\n handleRoiVisibilityChange (): void {\n console.info('toggle visibility of ROIs')\n if (this.volumeViewer.areROIsVisible) {\n this.volumeViewer.deactivateDrawInteraction()\n this.volumeViewer.deactivateSnapInteraction()\n this.volumeViewer.deactivateTranslateInteraction()\n this.volumeViewer.deactivateSelectInteraction()\n this.volumeViewer.deactivateModifyInteraction()\n this.volumeViewer.hideROIs()\n this.setState({\n areRoisHidden: true,\n isRoiDrawingActive: false,\n isRoiModificationActive: false,\n isRoiTranslationActive: false\n })\n } else {\n this.volumeViewer.showROIs()\n this.volumeViewer.activateSelectInteraction({})\n this.state.selectedRoiUIDs.forEach(uid => {\n if (uid !== undefined) {\n this.volumeViewer.setROIStyle(uid, this.selectedRoiStyle)\n }\n })\n this.setState({ areRoisHidden: false })\n }\n }\n\n render (): React.ReactNode {\n const rois: dmv.roi.ROI[] = []\n const segments: dmv.segment.Segment[] = []\n const mappings: dmv.mapping.ParameterMapping[] = []\n const annotationGroups: dmv.annotation.AnnotationGroup[] = []\n rois.push(...this.volumeViewer.getAllROIs())\n segments.push(...this.volumeViewer.getAllSegments())\n mappings.push(...this.volumeViewer.getAllParameterMappings())\n annotationGroups.push(...this.volumeViewer.getAllAnnotationGroups())\n\n const openSubMenuItems = [\n 'specimens', 'optical-paths', 'annotations', 'presentation-states'\n ]\n\n let report: React.ReactNode\n const dataset = this.state.generatedReport\n if (dataset !== undefined) {\n report = \n }\n\n let annotationMenuItems: React.ReactNode\n if (rois.length > 0) {\n annotationMenuItems = (\n \n )\n }\n\n const findingOptions = this.findingOptions.map(finding => {\n return (\n \n {finding.CodeMeaning}\n \n )\n })\n\n const geometryTypeOptionsMapping: { [key: string]: React.ReactNode } = {\n point: Point,\n circle: Circle,\n box: Box,\n polygon: Polygon,\n line: Line,\n freehandpolygon: (\n \n Polygon (freehand)\n \n ),\n freehandline: (\n \n Line (freehand)\n \n )\n }\n\n const annotationConfigurations: React.ReactNode[] = [\n (\n \n {findingOptions}\n \n )\n ]\n\n const selectedFinding = this.state.selectedFinding\n if (selectedFinding !== undefined) {\n const key = _buildKey(selectedFinding)\n this.evaluationOptions[key].forEach(evaluation => {\n const evaluationOptions = evaluation.values.map(code => {\n return (\n \n {code.CodeMeaning}\n \n )\n })\n annotationConfigurations.push(\n <>\n {evaluation.name.CodeMeaning}\n \n {evaluationOptions}\n \n \n )\n })\n const geometryTypeOptions = this.geometryTypeOptions[key].map(name => {\n return geometryTypeOptionsMapping[name]\n })\n annotationConfigurations.push(\n <>\n ROI geometry type\n \n {geometryTypeOptions}\n \n \n )\n annotationConfigurations.push(\n \n measure\n \n )\n }\n\n const specimenMenu = (\n \n \n \n )\n\n const equipmentMenu = (\n \n \n \n )\n\n const opticalPaths = this.volumeViewer.getAllOpticalPaths()\n opticalPaths.sort((a, b) => {\n if (a.identifier.localeCompare(b.identifier) === 1) {\n return 1\n } else if (b.identifier.localeCompare(a.identifier) === 1) {\n return -1\n }\n return 0\n })\n const opticalPathStyles: {\n [identifier: string]: {\n opacity: number\n color?: number[]\n limitValues?: number[]\n paletteColorLookupTable?: dmv.color.PaletteColorLookupTable\n }\n } = {}\n const opticalPathMetadata: {\n [identifier: string]: dmv.metadata.VLWholeSlideMicroscopyImage[]\n } = {}\n opticalPaths.forEach(opticalPath => {\n const identifier = opticalPath.identifier\n const metadata = this.volumeViewer.getOpticalPathMetadata(identifier)\n opticalPathMetadata[identifier] = metadata\n const style = {\n ...this.volumeViewer.getOpticalPathStyle(identifier)\n }\n opticalPathStyles[identifier] = style\n })\n const opticalPathMenu = (\n \n \n \n )\n\n let presentationStateMenu\n if (this.state.presentationStates.length > 0) {\n const presentationStateOptions = []\n this.state.presentationStates.forEach(instance => {\n presentationStateOptions.push(\n \n {instance.ContentDescription}\n \n )\n })\n presentationStateOptions.push(\n \n {}\n \n )\n presentationStateMenu = (\n \n \n \n {presentationStateOptions}\n \n \n }\n type='primary'\n onClick={this.handlePresentationStateReset}\n />\n \n \n \n )\n }\n\n let segmentationMenu\n if (segments.length > 0) {\n const defaultSegmentStyles: {\n [segmentUID: string]: {\n opacity: number\n }\n } = {}\n const segmentMetadata: {\n [segmentUID: string]: dmv.metadata.Segmentation[]\n } = {}\n const segments = this.volumeViewer.getAllSegments()\n segments.forEach(segment => {\n defaultSegmentStyles[segment.uid] = this.volumeViewer.getSegmentStyle(\n segment.uid\n )\n segmentMetadata[segment.uid] = this.volumeViewer.getSegmentMetadata(\n segment.uid\n )\n })\n segmentationMenu = (\n \n \n \n )\n openSubMenuItems.push('segmentations')\n }\n\n let parametricMapMenu\n if (mappings.length > 0) {\n const defaultMappingStyles: {\n [mappingUID: string]: {\n opacity: number\n }\n } = {}\n const mappingMetadata: {\n [mappingUID: string]: dmv.metadata.ParametricMap[]\n } = {}\n mappings.forEach(mapping => {\n defaultMappingStyles[mapping.uid] = this.volumeViewer.getParameterMappingStyle(\n mapping.uid\n )\n mappingMetadata[mapping.uid] = this.volumeViewer.getParameterMappingMetadata(\n mapping.uid\n )\n })\n parametricMapMenu = (\n \n \n \n )\n openSubMenuItems.push('parametric-maps')\n }\n\n let annotationGroupMenu\n if (annotationGroups.length > 0) {\n const defaultAnnotationGroupStyles: {\n [annotationGroupUID: string]: {\n opacity: number\n color: number[]\n }\n } = {}\n const annotationGroupMetadata: {\n [annotationGroupUID: string]: dmv.metadata.MicroscopyBulkSimpleAnnotations\n } = {}\n const annotationGroups = this.volumeViewer.getAllAnnotationGroups()\n annotationGroups.forEach(annotationGroup => {\n defaultAnnotationGroupStyles[annotationGroup.uid] = this.volumeViewer.getAnnotationGroupStyle(\n annotationGroup.uid\n )\n annotationGroupMetadata[annotationGroup.uid] = this.volumeViewer.getAnnotationGroupMetadata(\n annotationGroup.uid\n )\n })\n annotationGroupMenu = (\n \n \n \n )\n openSubMenuItems.push('annotationGroups')\n }\n\n let toolbar\n let toolbarHeight = '0px'\n const annotationTools = [\n ,\n ,\n ,\n ,\n ,\n \n ]\n const controlTools = [\n \n ]\n if (this.props.enableAnnotationTools) {\n toolbar = (\n \n {annotationTools.map((item, i) => {\n return {item}\n })}\n {controlTools.map((item, i) => {\n return {item}\n })}\n \n )\n toolbarHeight = '50px'\n }\n\n let cursor = 'default'\n if (this.state.isLoading) {\n cursor = 'progress'\n }\n\n let selectedRoiInformation\n if (this.state.selectedRoi != null) {\n const roiAttributes: Array<{\n name: string\n value: string\n unit?: string\n }> = [\n {\n name: 'UID',\n value: this.state.selectedRoi.uid\n }\n ]\n const roiScoordAttributes: Array<{\n name: string\n value: string\n }> = [\n {\n name: 'Graphic type',\n value: this.state.selectedRoi.scoord3d.graphicType\n }\n ]\n const roiEvaluationAttributes: Array<{\n name: string\n value: string\n }> = []\n this.state.selectedRoi.evaluations.forEach(item => {\n if (item.ValueType === 'CODE') {\n const codeItem = item as dcmjs.sr.valueTypes.CodeContentItem\n roiEvaluationAttributes.push({\n name: codeItem.ConceptNameCodeSequence[0].CodeMeaning,\n value: codeItem.ConceptCodeSequence[0].CodeMeaning\n })\n } else {\n const textItem = item as dcmjs.sr.valueTypes.TextContentItem\n roiEvaluationAttributes.push({\n name: textItem.ConceptNameCodeSequence[0].CodeMeaning,\n value: textItem.TextValue\n })\n }\n })\n const roiMeasurmentAttributesPerOpticalPath: {\n [identifier: string]: Array<{\n name: string\n value: string\n unit?: string\n }>\n } = {}\n this.state.selectedRoi.measurements.forEach(item => {\n let identifier = 'default'\n if (item.ContentSequence != null) {\n const refItems = findContentItemsByName({\n content: item.ContentSequence,\n name: new dcmjs.sr.coding.CodedConcept({\n value: '121112',\n meaning: 'Source of Measurement',\n schemeDesignator: 'DCM'\n })\n })\n if (refItems.length > 0) {\n identifier = (\n refItems[0]\n // @ts-expect-error\n .ReferencedSOPSequence[0]\n .ReferencedOpticalPathIdentifier\n )\n }\n }\n if (!(identifier in roiMeasurmentAttributesPerOpticalPath)) {\n roiMeasurmentAttributesPerOpticalPath[identifier] = []\n }\n const measuredValueItem = item.MeasuredValueSequence[0]\n roiMeasurmentAttributesPerOpticalPath[identifier].push({\n name: item.ConceptNameCodeSequence[0].CodeMeaning,\n value: measuredValueItem.NumericValue.toString(),\n unit: measuredValueItem.MeasurementUnitsCodeSequence[0].CodeMeaning\n })\n })\n const createRoiDescription = (\n attributes: Array<{ name: string, value: string, unit?: string }>\n ): React.ReactNode[] => {\n return attributes.map(item => {\n let value\n if (item.unit != null) {\n value = `${item.value} [${item.unit}]`\n } else {\n value = item.value\n }\n return (\n \n {value}\n \n )\n })\n }\n const roiDescriptions = createRoiDescription(roiAttributes)\n const roiScoordDescriptions = createRoiDescription(\n roiScoordAttributes\n )\n const roiEvaluationDescriptions = createRoiDescription(\n roiEvaluationAttributes\n )\n const roiMeasurementDescriptions = []\n for (const identifier in roiMeasurmentAttributesPerOpticalPath) {\n const descriptions = createRoiDescription(\n roiMeasurmentAttributesPerOpticalPath[identifier]\n )\n if (identifier === 'default') {\n roiMeasurementDescriptions.push(descriptions)\n } else {\n roiMeasurementDescriptions.push(\n <>\n \n {identifier}\n \n {descriptions}\n \n )\n }\n }\n selectedRoiInformation = (\n <>\n \n {roiDescriptions}\n \n \n Spatial coordinates\n \n \n {roiScoordDescriptions}\n \n \n Evaluations\n \n \n {roiEvaluationDescriptions}\n \n \n Measurements\n \n \n {roiMeasurementDescriptions}\n \n \n )\n }\n\n return (\n \n \n {toolbar}\n\n \n\n \n \n {annotationConfigurations}\n \n \n\n \n \n {selectedRoiInformation}\n \n \n\n \n \n \n : \n }\n />\n \n : \n }\n />\n \n : \n }\n />\n \n \n\n \n {report}\n \n \n\n \n {\n // Give menu item time to render before updating viewer size\n setTimeout(\n () => {\n if (this.labelViewer != null) {\n this.labelViewer.resize()\n }\n },\n 100\n )\n }}\n >\n \n \n \n \n \n {specimenMenu}\n {equipmentMenu}\n {opticalPathMenu}\n {presentationStateMenu}\n \n {annotationMenuItems}\n \n {annotationGroupMenu}\n {segmentationMenu}\n {parametricMapMenu}\n \n \n \n )\n }\n}\n\nexport default withRouter(SlideViewer)\n","import * as dmv from 'dicom-microscopy-viewer'\nimport { CustomError, errorTypes } from '../utils/CustomError'\nimport NotificationMiddleware, {\n NotificationMiddlewareContext\n} from '../services/NotificationMiddleware'\n\nenum ImageFlavors {\n VOLUME = 'VOLUME',\n LABEL = 'LABEL',\n OVERVIEW = 'OVERVIEW',\n THUMBNAIL = 'THUMBNAIL'\n}\n\nconst hasImageFlavor = (\n image: dmv.metadata.VLWholeSlideMicroscopyImage,\n imageFlavor: ImageFlavors\n): boolean => {\n return image.ImageType[2] === imageFlavor\n}\n\nconst areSameAcquisition = (\n image: dmv.metadata.VLWholeSlideMicroscopyImage,\n refImage: dmv.metadata.VLWholeSlideMicroscopyImage\n): boolean => {\n if (image.AcquisitionUID != null) {\n return image.AcquisitionUID === refImage.AcquisitionUID\n }\n return false\n}\n\ninterface SlideImageCollection {\n acquisitionUID?: string\n frameOfReferenceUID: string\n containerIdentifier: string\n volumeImages: dmv.metadata.VLWholeSlideMicroscopyImage[]\n labelImages: dmv.metadata.VLWholeSlideMicroscopyImage[]\n overviewImages: dmv.metadata.VLWholeSlideMicroscopyImage[]\n}\n\ninterface SlideOptions {\n images: dmv.metadata.VLWholeSlideMicroscopyImage[]\n description?: string\n}\n\n/**\n * Slide - collection of images with the same Frame of Reference UID and\n * Container Identifier.\n */\nclass Slide {\n readonly description: string\n readonly acquisitionUID: string | null | undefined\n readonly frameOfReferenceUID: string\n readonly containerIdentifier: string\n readonly seriesInstanceUIDs: string[]\n readonly opticalPathIdentifiers: string[]\n readonly pyramidUIDs: string[] = []\n readonly areVolumeImagesMonochrome: boolean\n readonly volumeImages: dmv.metadata.VLWholeSlideMicroscopyImage[]\n readonly labelImages: dmv.metadata.VLWholeSlideMicroscopyImage[]\n readonly overviewImages: dmv.metadata.VLWholeSlideMicroscopyImage[]\n\n /**\n * @param options\n * @param options.images - Metadata of images associated with the slide\n * @param options.description - Description of the slide\n */\n constructor (\n options: SlideOptions\n ) {\n if (options.images.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Value of option \"images\" have been non-zero length.'\n )\n )\n }\n\n const seriesInstanceUIDs = new Set([] as string[])\n const acquisitionUIDs = new Set([] as string[])\n const opticalPathIdentifiers = new Set([] as string[])\n const containerIdentifiers = new Set([] as string[])\n const frameOfReferenceUIDs = {\n VOLUME: new Set([] as string[]),\n LABEL: new Set([] as string[]),\n OVERVIEW: new Set([] as string[])\n }\n const pyramidUIDs: {\n [key: string]: { [opticalPathIdentifier: string]: Set }\n } = {\n VOLUME: {}\n }\n const volumeImages: dmv.metadata.VLWholeSlideMicroscopyImage[] = []\n const labelImages: dmv.metadata.VLWholeSlideMicroscopyImage[] = []\n const overviewImages: dmv.metadata.VLWholeSlideMicroscopyImage[] = []\n options.images.forEach((image) => {\n containerIdentifiers.add(image.ContainerIdentifier)\n seriesInstanceUIDs.add(image.SeriesInstanceUID)\n image.OpticalPathSequence.forEach(item => {\n opticalPathIdentifiers.add(item.OpticalPathIdentifier)\n })\n if (image.AcquisitionUID != null) {\n acquisitionUIDs.add(image.AcquisitionUID)\n }\n if (\n hasImageFlavor(image, ImageFlavors.VOLUME) ||\n hasImageFlavor(image, ImageFlavors.THUMBNAIL)\n ) {\n frameOfReferenceUIDs.VOLUME.add(image.FrameOfReferenceUID)\n if (image.PyramidUID != null) {\n for (const identifier in opticalPathIdentifiers) {\n pyramidUIDs.VOLUME[identifier].add(image.PyramidUID)\n }\n }\n volumeImages.push(image)\n } else if (hasImageFlavor(image, ImageFlavors.LABEL)) {\n frameOfReferenceUIDs.LABEL.add(image.FrameOfReferenceUID)\n labelImages.push(image)\n } else if (hasImageFlavor(image, ImageFlavors.OVERVIEW)) {\n frameOfReferenceUIDs.OVERVIEW.add(image.FrameOfReferenceUID)\n overviewImages.push(image)\n }\n })\n if (volumeImages.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'At least one VOLUME image must be provided for a slide.'\n )\n )\n } else {\n if (acquisitionUIDs.size > 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'All VOLUME images of a slide must have the same number of ' +\n 'Samples per Pixel.'\n )\n )\n }\n const samplesPerPixel = new Set([] as number[])\n volumeImages.forEach((image) => {\n samplesPerPixel.add(image.SamplesPerPixel)\n })\n if (samplesPerPixel.size > 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'All VOLUME images of a slide must have the same number of ' +\n 'Samples per Pixel.'\n )\n )\n }\n const isNotResampled = volumeImages.filter(image => {\n return image.ImageType[3] !== 'RESAMPLED'\n })\n if (isNotResampled.length > opticalPathIdentifiers.size) {\n console.warn(\n 'the set of VOLUME images of a slide must contain only a single ' +\n 'image that has not been resampled per optical path'\n )\n }\n }\n this.volumeImages = volumeImages\n this.labelImages = labelImages\n this.overviewImages = overviewImages\n\n this.seriesInstanceUIDs = [...seriesInstanceUIDs]\n this.opticalPathIdentifiers = [...opticalPathIdentifiers]\n\n if (containerIdentifiers.size !== 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'All images of a slide must have the same Container Identifier.'\n )\n )\n }\n this.containerIdentifier = [...containerIdentifiers][0]\n\n if (frameOfReferenceUIDs.VOLUME.size !== 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'All VOLUME images of a slide must have ' +\n 'the same Frame of Reference UID.'\n )\n )\n }\n this.frameOfReferenceUID = [...frameOfReferenceUIDs.VOLUME][0]\n\n let requirePyramidUID = false\n if (Object.keys(pyramidUIDs.VOLUME).length > 0) {\n requirePyramidUID = true\n }\n this.opticalPathIdentifiers.forEach(identifier => {\n if (pyramidUIDs.VOLUME[identifier] != null) {\n if (pyramidUIDs.VOLUME[identifier].size > 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n `All VOLUME images for optical path \"${identifier}\"` +\n 'must be part of the same multi-resolution pyramid.'\n )\n )\n } else if (pyramidUIDs.VOLUME[identifier].size === 1) {\n this.pyramidUIDs.push([...pyramidUIDs.VOLUME[identifier]][0])\n } else {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n `The VOLUME images for optical path \"${identifier}\" ` +\n 'lack the Pyramid UID, while the images for other optical paths ' +\n 'contain it.'\n )\n )\n }\n } else {\n if (requirePyramidUID) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n `The VOLUME images for optical path \"${identifier}\" ` +\n 'lack the Pyramid UID, while the images for other optical paths ' +\n 'contain it.'\n )\n )\n }\n }\n })\n\n if (acquisitionUIDs.size > 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'All VOLUME images of a slide must be part of the same ' +\n 'acquisition and have the same Acquisition UID.'\n )\n )\n } else if (acquisitionUIDs.size === 1) {\n this.acquisitionUID = [...acquisitionUIDs][0]\n } else {\n this.acquisitionUID = null\n }\n\n this.areVolumeImagesMonochrome = (\n this.volumeImages[0].SamplesPerPixel === 1 &&\n this.volumeImages[0].PhotometricInterpretation === 'MONOCHROME2'\n )\n\n this.description = (\n options.description !== undefined ? options.description : ''\n )\n }\n}\n\n/**\n * Create slides.\n *\n * @param imagesPerSeries - Image instances grouped per series\n * @param referenceSeriesInstanceUID - Unique identifier of the series that serves as a reference for the slide\n * @returns Slides\n */\nconst createSlides = (\n images: dmv.metadata.VLWholeSlideMicroscopyImage[][]\n): Slide[] => {\n const slideMetadata: SlideImageCollection[] = []\n images.forEach((series) => {\n if (series.length > 0) {\n const volumeImages = series.filter((image) => {\n return (\n hasImageFlavor(image, ImageFlavors.VOLUME) ||\n hasImageFlavor(image, ImageFlavors.THUMBNAIL)\n )\n })\n if (volumeImages.length > 0) {\n const refImage = volumeImages[0]\n const filteredVolumeImages = volumeImages.filter((image) => {\n return refImage.SamplesPerPixel === image.SamplesPerPixel\n })\n const slideMetadataIndex = slideMetadata.findIndex((slide) => {\n return _doesImageBelongToSlide(slide, refImage)\n })\n\n const labelImages = series.filter((image) => {\n return hasImageFlavor(image, ImageFlavors.LABEL)\n })\n let filteredLabelImages: dmv.metadata.VLWholeSlideMicroscopyImage[]\n if (labelImages.length > 1) {\n filteredLabelImages = labelImages.filter((image) => {\n return areSameAcquisition(image, refImage)\n })\n } else {\n filteredLabelImages = labelImages\n }\n const overviewImages = series.filter((image) => {\n return hasImageFlavor(image, ImageFlavors.OVERVIEW)\n })\n let filteredOverviewImages: dmv.metadata.VLWholeSlideMicroscopyImage[]\n if (overviewImages.length > 1) {\n filteredOverviewImages = overviewImages.filter((image) => {\n return areSameAcquisition(image, refImage)\n })\n } else {\n filteredOverviewImages = overviewImages\n }\n\n if (slideMetadataIndex === -1) {\n const slideMetadataItem: SlideImageCollection = {\n acquisitionUID: refImage.AcquisitionUID,\n frameOfReferenceUID: refImage.FrameOfReferenceUID,\n containerIdentifier: refImage.ContainerIdentifier,\n volumeImages: filteredVolumeImages,\n labelImages: filteredLabelImages,\n overviewImages: filteredOverviewImages\n }\n slideMetadata.push(slideMetadataItem)\n } else {\n const slideMetadataItem = slideMetadata[slideMetadataIndex]\n slideMetadataItem.volumeImages.push(...filteredVolumeImages)\n slideMetadataItem.labelImages.push(...filteredLabelImages)\n slideMetadataItem.overviewImages.push(...filteredOverviewImages)\n }\n }\n }\n })\n\n let slides: Slide[] = slideMetadata.map((item) => {\n return new Slide({\n images: [\n ...item.volumeImages,\n ...item.labelImages,\n ...item.overviewImages\n ]\n })\n })\n slides = slides.sort((a, b) => {\n const imgA = a.volumeImages[0]\n const imgB = b.volumeImages[0]\n if (imgA.ContainerIdentifier != null && imgB.ContainerIdentifier != null) {\n return Number(imgA.ContainerIdentifier) - Number(imgB.ContainerIdentifier)\n } else {\n return 0\n }\n })\n\n return slides\n}\n\n/**\n * Check if instance belongs to the slide.\n *\n * Compares values of Frame of Reference UID and Container Identifier attributes.\n *\n * @param slide - Slide metadata object\n * @param image - Metadata of VOLUME, LABEL or OVERVIEW image instance\n */\nfunction _doesImageBelongToSlide (\n slide: SlideImageCollection,\n image: dmv.metadata.VLWholeSlideMicroscopyImage\n): boolean {\n if (\n slide.frameOfReferenceUID === image.FrameOfReferenceUID &&\n slide.containerIdentifier === image.ContainerIdentifier &&\n slide.acquisitionUID === image.AcquisitionUID\n ) {\n return true\n }\n return false\n}\n\nexport { Slide, createSlides }\n","import React from 'react'\nimport { Routes, Route, useLocation, useParams } from 'react-router-dom'\nimport { Layout, Menu } from 'antd'\n\nimport * as dmv from 'dicom-microscopy-viewer'\n\nimport { AnnotationSettings } from '../AppConfig'\nimport ClinicalTrial from './ClinicalTrial'\nimport DicomWebManager from '../DicomWebManager'\nimport Patient from './Patient'\nimport Study from './Study'\nimport SlideList from './SlideList'\nimport SlideViewer from './SlideViewer'\n\nimport { User } from '../auth'\nimport { Slide, createSlides } from '../data/slides'\nimport { StorageClasses } from '../data/uids'\nimport { RouteComponentProps, withRouter } from '../utils/router'\nimport { CustomError, errorTypes } from '../utils/CustomError'\nimport NotificationMiddleware, {\n NotificationMiddlewareContext\n} from '../services/NotificationMiddleware'\n\nfunction ParametrizedSlideViewer ({\n clients,\n slides,\n user,\n app,\n preload,\n enableAnnotationTools,\n annotations\n}: {\n clients: { [key: string]: DicomWebManager }\n slides: Slide[]\n user?: User\n app: {\n name: string\n version: string\n uid: string\n organization?: string\n }\n preload: boolean\n enableAnnotationTools: boolean\n annotations: AnnotationSettings[]\n}): JSX.Element | null {\n const { studyInstanceUID, seriesInstanceUID } = useParams()\n const location = useLocation()\n\n const selectedSlide = slides.find((slide: Slide) => {\n return slide.seriesInstanceUIDs.find((uid: string) => {\n return uid === seriesInstanceUID\n })\n })\n const searchParams = new URLSearchParams(location.search)\n let presentationStateUID: string | null | undefined\n if (!searchParams.has('access_token')) {\n presentationStateUID = searchParams.get('state')\n if (presentationStateUID === null) {\n presentationStateUID = undefined\n }\n }\n let viewer = null\n if (selectedSlide != null) {\n viewer = (\n \n )\n }\n return viewer\n}\n\ninterface ViewerProps extends RouteComponentProps {\n clients: { [key: string]: DicomWebManager }\n studyInstanceUID: string\n app: {\n name: string\n version: string\n uid: string\n organization?: string\n }\n annotations: AnnotationSettings[]\n enableAnnotationTools: boolean\n preload: boolean\n user?: {\n name: string\n email: string\n }\n}\n\ninterface ViewerState {\n slides: Slide[]\n isLoading: boolean\n}\n\nclass Viewer extends React.Component {\n state = {\n slides: [],\n isLoading: true\n }\n\n constructor (props: ViewerProps) {\n super(props)\n this.handleSeriesSelection = this.handleSeriesSelection.bind(this)\n }\n\n componentDidMount (): void {\n this.fetchImageMetadata().then(\n (metadata: dmv.metadata.VLWholeSlideMicroscopyImage[][]) => {\n this.setState({\n slides: createSlides(metadata),\n isLoading: false\n })\n }\n ).catch(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.ENCODINGANDDECODING,\n 'Image metadata could not be retrieved or decoded.')\n )\n this.setState({ isLoading: false })\n })\n }\n\n /**\n * Fetch metadata for VL Whole Slide Microscopy Image instances of the study.\n *\n * @returns Metadata of image instances of the study grouped per series\n */\n async fetchImageMetadata (): Promise {\n const images: dmv.metadata.VLWholeSlideMicroscopyImage[][] = []\n const studyInstanceUID = this.props.studyInstanceUID\n console.info(`search for series of study \"${studyInstanceUID}\"...`)\n const client = this.props.clients[\n StorageClasses.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE\n ]\n const matchedSeries = await client.searchForSeries({\n queryParams: {\n Modality: 'SM',\n StudyInstanceUID: studyInstanceUID\n }\n })\n\n await Promise.all(matchedSeries.map(async (s) => {\n const { dataset } = dmv.metadata.formatMetadata(s)\n const loadingSeries = dataset as dmv.metadata.Series\n console.info(\n `retrieve metadata of series \"${loadingSeries.SeriesInstanceUID}\"`\n )\n const retrievedMetadata = await client.retrieveSeriesMetadata({\n studyInstanceUID: this.props.studyInstanceUID,\n seriesInstanceUID: loadingSeries.SeriesInstanceUID\n })\n\n const seriesImages: dmv.metadata.VLWholeSlideMicroscopyImage[] = []\n retrievedMetadata.forEach((item, index) => {\n if (item['00080016'] != null) {\n const values = item['00080016'].Value\n if (values != null) {\n const sopClassUID = values[0]\n if (sopClassUID === StorageClasses.VL_WHOLE_SLIDE_MICROSCOPY_IMAGE) {\n const image = new dmv.metadata.VLWholeSlideMicroscopyImage({\n metadata: item\n })\n seriesImages.push(image)\n }\n }\n }\n })\n\n if (seriesImages.length > 0) {\n images.push(seriesImages)\n }\n }))\n\n return images\n }\n\n handleSeriesSelection (\n { seriesInstanceUID }: { seriesInstanceUID: string }\n ): void {\n console.info(`switch to series \"${seriesInstanceUID}\"`)\n let urlPath = (\n `/studies/${this.props.studyInstanceUID}` +\n `/series/${seriesInstanceUID}`\n )\n if (\n this.props.location.pathname.includes('/series/') &&\n this.props.location.search != null\n ) {\n urlPath += this.props.location.search\n }\n this.props.navigate(urlPath, { replace: true })\n }\n\n render (): React.ReactNode {\n if (this.state.isLoading) {\n return null\n }\n\n if (this.state.slides.length === 0) {\n return null\n }\n const firstSlide = this.state.slides[0] as Slide\n const volumeInstances = firstSlide.volumeImages\n if (volumeInstances.length === 0) {\n return null\n }\n const refImage = volumeInstances[0]\n\n /* If a series is encoded in the path, route the viewer to this series.\n * Otherwise select the first series correspondent to\n * the first slide contained in the study.\n */\n let selectedSeriesInstanceUID: string\n if (this.props.location.pathname.includes('series/')) {\n const fragments = this.props.location.pathname.split('/')\n selectedSeriesInstanceUID = fragments[4]\n } else {\n selectedSeriesInstanceUID = volumeInstances[0].SeriesInstanceUID\n }\n\n let clinicalTrialMenu\n if (refImage.ClinicalTrialSponsorName != null) {\n clinicalTrialMenu = (\n \n \n \n )\n }\n\n return (\n \n \n \n \n \n \n \n \n \n {clinicalTrialMenu}\n \n \n \n \n \n\n \n \n }\n />\n \n \n )\n }\n}\n\nexport default withRouter(Viewer)\n","import React from 'react'\nimport { NavLink } from 'react-router-dom'\nimport {\n Col,\n Descriptions,\n Dropdown,\n Input,\n Layout,\n Menu,\n Modal,\n Row,\n Space,\n Badge,\n Collapse\n} from 'antd'\nimport {\n ApiOutlined,\n CheckOutlined,\n InfoOutlined,\n StopOutlined,\n UnorderedListOutlined,\n UserOutlined,\n SettingOutlined\n} from '@ant-design/icons'\nimport { detect } from 'detect-browser'\n\nimport Button from './Button'\nimport { RouteComponentProps, withRouter } from '../utils/router'\nimport NotificationMiddleware, { NotificationMiddlewareEvents } from '../services/NotificationMiddleware'\nimport { CustomError } from '../utils/CustomError'\nimport { v4 as uuidv4 } from 'uuid'\n\ninterface HeaderProps extends RouteComponentProps {\n app: {\n name: string\n version: string\n homepage: string\n uid: string\n organization?: string\n }\n user?: {\n name: string\n email: string\n }\n showWorklistButton: boolean\n onServerSelection: ({ url }: { url: string }) => void\n onUserLogout?: () => void\n showServerSelectionButton: boolean\n}\n\ninterface HeaderState {\n selectedServerUrl?: string\n isServerSelectionModalVisible: boolean\n isServerSelectionDisabled: boolean\n errorObj: CustomError[]\n errorCategory: string[]\n}\n\n/**\n * React component for the application header.\n */\nclass Header extends React.Component {\n constructor (props: HeaderProps) {\n super(props)\n this.state = {\n isServerSelectionModalVisible: false,\n isServerSelectionDisabled: true,\n errorObj: [],\n errorCategory: []\n }\n\n const onErrorHandler = ({ error }: {\n category: string\n error: CustomError\n }): void => {\n this.setState({\n errorObj: [...this.state.errorObj, error],\n errorCategory: [...this.state.errorCategory, error.type]\n })\n }\n\n NotificationMiddleware.subscribe(\n NotificationMiddlewareEvents.OnError,\n onErrorHandler\n )\n }\n\n handleInfoButtonClick = (): void => {\n const browser = detect()\n const environment: {\n browser: {\n name?: string\n version?: string\n }\n os: {\n name?: string\n }\n } = {\n browser: {},\n os: {}\n }\n if (browser != null) {\n environment.browser = {\n name: browser.name != null ? browser.name : undefined,\n version: browser.version != null ? browser.version : undefined\n }\n environment.os = {\n name: browser.os != null ? browser.os : undefined\n }\n }\n\n Modal.info({\n title: 'About',\n width: 600,\n content: (\n <>\n \n \n {this.props.app.name}\n \n \n {this.props.app.version}\n \n \n {this.props.app.homepage}\n \n \n \n \n {environment.browser.name}\n \n \n {environment.browser.version}\n \n \n \n \n {environment.os.name}\n \n \n \n ),\n onOk (): void {}\n })\n }\n\n handleDebugButtonClick = (): void => {\n const errorMsgs: {\n Authentication: string[]\n Communication: string[]\n EncodingDecoding: string[]\n Visualization: string[]\n } = {\n Authentication: [],\n Communication: [],\n EncodingDecoding: [],\n Visualization: []\n }\n\n type ObjectKey = keyof typeof errorMsgs\n const errorNum = this.state.errorObj.length\n\n if (errorNum > 0) {\n for (let i = 0; i < errorNum; i++) {\n const category = this.state.errorCategory[i] as ObjectKey\n errorMsgs[category].push(this.state.errorObj[i].message)\n }\n }\n\n const { Panel } = Collapse\n\n const showErrorCount = (errcount: number): JSX.Element => (\n \n )\n\n Modal.info({\n title: 'Debug Information\\n (Check console for more information)',\n width: 800,\n content: (\n \n \n
    \n {errorMsgs.Communication.map(e => (\n
  1. {e}
  2. \n ))}\n
\n \n \n
    \n {errorMsgs.EncodingDecoding.map(e => (\n
  1. {e}
  2. \n ))}\n
\n \n \n
    \n {errorMsgs.Visualization.map(e => (\n
  1. {e}
  2. \n ))}\n
\n \n \n
    \n {errorMsgs.Authentication.map(e => (\n
  1. {e}
  2. \n ))}\n
\n \n
\n ),\n onOk (): void {}\n })\n }\n\n handleServerSelectionButtonClick = (): void => {\n this.setState({ isServerSelectionModalVisible: true })\n }\n\n render (): React.ReactNode {\n let user = null\n if (this.props.user !== undefined) {\n const userMenuItems = []\n if (this.props.onUserLogout !== undefined) {\n userMenuItems.push(\n {\n label: 'Logout',\n key: 'user-logout',\n onClick: () => {\n if (this.props.onUserLogout !== undefined) {\n this.props.onUserLogout()\n }\n }\n }\n )\n }\n const userMenu = \n user = (\n \n e.preventDefault()}\n label={`${this.props.user.name} (${this.props.user.email})`}\n />\n \n )\n }\n\n let worklistButton\n if (this.props.showWorklistButton) {\n worklistButton = (\n \n \n this.handleReset(clearFilters)}\n size='small'\n style={{ width: 90 }}\n >\n Reset\n \n \n
\n ),\n filterIcon: (filtered: boolean) => (\n \n )\n })\n}\n\nexport default withRouter(Worklist)\n","/**\n * Join a URI with a path to form a full URL.\n *\n * @param path - Path component\n * @param uri - Base URI to which the path component should be added\n */\nexport const joinUrl = (path: string, uri: string): string => {\n let baseUri = uri\n if (!baseUri.endsWith('/')) {\n baseUri += '/'\n }\n const url = new URL(path, baseUri)\n return url.toString()\n}\n\n/**\n * Check whether a URL contains an OAuth 2.0 authorization code.\n *\n * @param location - URL components (JavaScript location object)\n * @returns Whether the URL contains a code\n */\nexport const isAuthorizationCodeInUrl = (location: {\n search: string\n hash: string\n}): boolean => {\n const searchParams = new URLSearchParams(location.search)\n const hashParams = new URLSearchParams(location.hash.replace('#', '?'))\n\n return Boolean(\n searchParams.get('code') ??\n searchParams.get('id_token') ??\n searchParams.get('session_state') ??\n hashParams.get('code') ??\n hashParams.get('id_token') ??\n hashParams.get('session_state')\n )\n}\n","import { UserManager, User as UserData } from 'oidc-client'\n\nimport { OidcSettings } from '../AppConfig'\nimport { isAuthorizationCodeInUrl } from '../utils/url'\nimport { User, AuthManager, SignInCallback } from './'\nimport NotificationMiddleware,\n{ NotificationMiddlewareContext } from '../services/NotificationMiddleware'\nimport { CustomError, errorTypes } from '../utils/CustomError'\n\nconst createUser = (userData: UserData | null): User => {\n let profile\n if (userData !== null) {\n profile = userData.profile\n }\n\n if (profile !== undefined) {\n if (profile.name === undefined || profile.email === undefined) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.AUTH,\n new CustomError(\n errorTypes.AUTHENTICATION,\n 'Failed to obtain user \"name\" and \"email\".'\n )\n )\n } else {\n return {\n name: profile.name,\n email: profile.email\n }\n }\n } else {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.AUTH,\n new CustomError(\n errorTypes.AUTHENTICATION,\n 'Failed to obtain user profile.'\n )\n )\n }\n return {\n name: undefined,\n email: undefined\n }\n}\n\nexport default class OidcManager implements AuthManager {\n private _oidc: UserManager\n\n constructor (baseUri: string, settings: OidcSettings) {\n let responseType = 'code'\n if (settings.grantType !== undefined) {\n if (settings.grantType === 'implicit') {\n responseType = 'id_token token'\n }\n }\n this._oidc = new UserManager({\n authority: settings.authority,\n client_id: settings.clientId,\n redirect_uri: baseUri,\n scope: settings.scope,\n response_type: responseType,\n loadUserInfo: true,\n automaticSilentRenew: true,\n revokeAccessTokenOnSignout: true,\n post_logout_redirect_uri: `${baseUri}/logout`\n })\n if (settings.endSessionEndpoint != null) {\n /*\n * Unfortunately, the end session endpoint alone cannot be provided to\n * the construction of UserManager and the other metadata parameters\n * would need to be provided as well. However, configuring all of them\n * individually would not be desirable and they will be automatically\n * determined anyways. Therefore, we first construct an object, get the\n * metadata, update the metadata, and then reconstruct an object with the\n * updated metadata.\n */\n this._oidc.metadataService.getMetadata().then(metadata => {\n if (settings.endSessionEndpoint != null) {\n metadata.end_session_endpoint = settings.endSessionEndpoint\n this._oidc = new UserManager({\n authority: settings.authority,\n client_id: settings.clientId,\n redirect_uri: baseUri,\n scope: settings.scope,\n response_type: responseType,\n loadUserInfo: true,\n automaticSilentRenew: true,\n revokeAccessTokenOnSignout: true,\n post_logout_redirect_uri: `${baseUri}/logout`,\n metadata\n })\n }\n }).catch((error) => {\n console.error(\n 'failed to get metadata from authorization server: ',\n error\n )\n })\n }\n }\n\n /**\n * Sign-in to authenticate the user and obtain authorization.\n */\n signIn = async ({ onSignIn }: {\n onSignIn?: SignInCallback\n }): Promise => {\n const handleSignIn = (userData: UserData): void => {\n const user = createUser(userData)\n const authorization = `${userData.token_type} ${userData.access_token}`\n if (onSignIn != null) {\n console.info('handling sign-in using provided callback function')\n onSignIn({ user: user, authorization: authorization })\n } else {\n console.warn('no callback function was provided to handle sign-in')\n }\n }\n\n if (isAuthorizationCodeInUrl(window.location)) {\n /* Handle the callback from the authorization server: extract the code\n * from the callback URL, obtain user information and the access token\n * for the DICOMweb server.\n */\n console.info('obtaining authorization')\n const userData = await this._oidc.signinCallback()\n if (userData != null) {\n console.info('obtained user data: ', userData)\n handleSignIn(userData)\n }\n } else {\n /* Redirect to the authorization server to authenticate the user\n * and authorize the application to obtain user information and access\n * the DICOMweb server.\n */\n const userData = await this._oidc.getUser()\n if (userData === null || userData.expired) {\n console.info('authenticating user')\n await this._oidc.signinRedirect()\n } else {\n console.info('user has already been authenticated')\n handleSignIn(userData)\n }\n }\n }\n\n /**\n * Sign-out to revoke authorization.\n */\n signOut = async (): Promise => {\n console.log('signing out user and revoking authorization')\n return await this._oidc.signoutRedirect()\n }\n\n /**\n * Get authorization. Requires prior sign-in.\n */\n getAuthorization = async (): Promise => {\n return await this._oidc.getUser().then((userData) => {\n if (userData !== null) {\n return userData.access_token\n } else {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.AUTH,\n new CustomError(\n errorTypes.AUTHENTICATION,\n 'Failed to obtain user profile.'\n )\n )\n }\n })\n }\n\n /**\n * Get user information. Requires prior sign-in.\n */\n getUser = async (): Promise => {\n return await this._oidc.getUser().then((userData) => {\n if (userData === null) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.AUTH,\n new CustomError(\n errorTypes.AUTHENTICATION,\n 'Failed to obtain user information.'\n )\n )\n }\n return createUser(userData)\n })\n }\n}\n","import retry from 'retry'\n\nimport {\n RetryRequestSettings,\n DICOMwebClientRequestHookMetadata\n} from '../AppConfig'\n\ntype RequestHook = (\n request: XMLHttpRequest,\n metadata: DICOMwebClientRequestHookMetadata\n) => XMLHttpRequest\n\n/**\n * Returns a configured retry request hook function\n * that can be used to add retry functionality to XHR request.\n *\n * Default options:\n * retries: 5\n * factor: 3\n * minTimeout: 1 * 1000\n * maxTimeout: 60 * 1000\n * randomize: true\n *\n * @param options\n * @param options.retires - Number of retries\n * @param options.factor - Factor\n * @param options.minTimeout - Min number of seconds to wait before next retry\n * @param options.maxTimeout - Max number of seconds to wait before next retry\n * @param options.randomize - Whether randomization should be applied\n * @param options.retryableStatusCodes HTTP status codes that can trigger a retry\n * @returns Configured retry request function\n */\nexport const getXHRRetryHook = (options: RetryRequestSettings = {\n retries: 5,\n factor: 3,\n minTimeout: 1 * 1000,\n maxTimeout: 60 * 1000,\n randomize: true,\n retryableStatusCodes: [429, 500]\n}): RequestHook => {\n const retryOptions = options\n\n if (options.retries != null) {\n retryOptions.retries = options.retries\n }\n\n if (options.factor != null) {\n retryOptions.factor = options.factor\n }\n\n if (options.minTimeout != null) {\n retryOptions.minTimeout = options.minTimeout\n }\n\n if (options.maxTimeout != null) {\n retryOptions.maxTimeout = options.maxTimeout\n }\n\n if (options.randomize != null) {\n retryOptions.randomize = options.randomize\n }\n\n if (options.retryableStatusCodes != null) {\n retryOptions.retryableStatusCodes = options.retryableStatusCodes\n }\n\n /**\n * Request hook used to add retry functionality to XHR requests.\n *\n * @param request - XHR request instance\n * @param metadata - Metadata about the request\n * @param metadata.url - URL\n * @param metadata.method - HTTP method\n * @returns - XHR request instance (potentially modified)\n */\n const xhrRetryHook = (\n request: XMLHttpRequest,\n metadata: DICOMwebClientRequestHookMetadata\n ): XMLHttpRequest => {\n const { url, method } = metadata\n\n function faultTolerantRequestSend (...args: any): void {\n const operation = retry.operation(retryOptions)\n\n operation.attempt(function operationAttempt (currentAttempt) {\n const originalOnReadyStateChange = request.onreadystatechange\n\n /** Overriding/extending XHR function */\n request.onreadystatechange = function onReadyStateChange (...args: any): void {\n if (originalOnReadyStateChange != null) {\n originalOnReadyStateChange.apply(request, args)\n }\n\n if (retryOptions.retryableStatusCodes.includes(request.status)) {\n const errorMessage = `Attempt to request ${url} failed.`\n const attemptFailedError = new Error(errorMessage)\n operation.retry(attemptFailedError)\n }\n }\n\n /** Call open only on retry (after headers and other things were set in the xhr instance) */\n if (currentAttempt > 1) {\n console.warn(`Requesting ${url}... (attempt: ${currentAttempt})`)\n request.open(method, url, true)\n }\n })\n\n originalRequestSend.apply(request, args)\n }\n\n /** Overriding/extending XHR function */\n const originalRequestSend = request.send\n request.send = faultTolerantRequestSend\n\n return request\n }\n\n return xhrRetryHook\n}\n\nexport default getXHRRetryHook\n","import * as dwc from 'dicomweb-client'\n\nimport { ServerSettings, DicomWebManagerErrorHandler } from './AppConfig'\nimport { joinUrl } from './utils/url'\nimport getXHRRetryHook from './utils/xhrRetryHook'\nimport { CustomError, errorTypes } from './utils/CustomError'\nimport NotificationMiddleware, {\n NotificationMiddlewareContext\n} from './services/NotificationMiddleware'\n\ninterface Store {\n id: string\n read: boolean\n write: boolean\n client: dwc.api.DICOMwebClient\n}\n\nexport default class DicomWebManager implements dwc.api.DICOMwebClient {\n private readonly stores: Store[] = []\n\n private readonly handleError: DicomWebManagerErrorHandler\n\n constructor ({ baseUri, settings, onError }: {\n baseUri: string\n settings: ServerSettings[]\n onError?: DicomWebManagerErrorHandler\n }) {\n if (onError != null) {\n this.handleError = onError\n } else {\n this.handleError = (error, serverSettings) => {\n console.error(error, serverSettings)\n }\n }\n\n settings.forEach(serverSettings => {\n if (serverSettings === undefined) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.COMMUNICATION,\n 'At least one server needs to be configured.'\n )\n )\n }\n\n let serviceUrl\n if (serverSettings.url !== undefined) {\n serviceUrl = serverSettings.url\n } else if (serverSettings.path !== undefined) {\n serviceUrl = joinUrl(serverSettings.path, baseUri)\n } else {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.COMMUNICATION,\n 'Either path or full URL needs to be configured for server.'\n )\n )\n }\n const clientSettings: dwc.api.DICOMwebClientOptions = {\n url: serviceUrl\n }\n if (serverSettings.qidoPathPrefix !== undefined) {\n clientSettings.qidoURLPrefix = serverSettings.qidoPathPrefix\n }\n if (serverSettings.wadoPathPrefix !== undefined) {\n clientSettings.wadoURLPrefix = serverSettings.wadoPathPrefix\n }\n if (serverSettings.stowPathPrefix !== undefined) {\n clientSettings.stowURLPrefix = serverSettings.stowPathPrefix\n }\n if (serverSettings.retry !== undefined) {\n clientSettings.requestHooks = [getXHRRetryHook(serverSettings.retry)]\n }\n\n clientSettings.errorInterceptor = (error: dwc.api.DICOMwebClientError) => {\n this.handleError(error, serverSettings)\n }\n\n this.stores.push({\n id: serverSettings.id,\n write: serverSettings.write ?? false,\n read: serverSettings.read ?? true,\n client: new dwc.api.DICOMwebClient(clientSettings)\n })\n })\n\n if (this.stores.length > 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.COMMUNICATION,\n 'Only one store is supported for now.'\n )\n )\n }\n }\n\n get baseURL (): string {\n return this.stores[0].client.baseURL\n }\n\n updateHeaders = (fields: { [name: string]: string }): void => {\n for (const f in fields) {\n this.stores[0].client.headers[f] = fields[f]\n }\n }\n\n get headers (): { [name: string]: string } {\n return this.stores[0].client.headers\n }\n\n storeInstances = async (\n options: dwc.api.StoreInstancesOptions\n ): Promise => {\n if (this.stores[0].write) {\n return await this.stores[0].client.storeInstances(options)\n } else {\n return await Promise.reject(\n new Error('Store is not writable.')\n )\n }\n }\n\n searchForStudies = async (\n options: dwc.api.SearchForStudiesOptions\n ): Promise => {\n return await this.stores[0].client.searchForStudies(options)\n }\n\n searchForSeries = async (\n options: dwc.api.SearchForSeriesOptions\n ): Promise => {\n return await this.stores[0].client.searchForSeries(options)\n }\n\n searchForInstances = async (\n options: dwc.api.SearchForInstancesOptions\n ): Promise => {\n return await this.stores[0].client.searchForInstances(options)\n }\n\n retrieveStudyMetadata = async (\n options: dwc.api.RetrieveStudyMetadataOptions\n ): Promise => {\n return await this.stores[0].client.retrieveStudyMetadata(options)\n }\n\n retrieveSeriesMetadata = async (\n options: dwc.api.RetrieveSeriesMetadataOptions\n ): Promise => {\n return await this.stores[0].client.retrieveSeriesMetadata(options)\n }\n\n retrieveInstanceMetadata = async (\n options: dwc.api.RetrieveInstanceMetadataOptions\n ): Promise => {\n return await this.stores[0].client.retrieveInstanceMetadata(options)\n }\n\n retrieveInstance = async (\n options: dwc.api.RetrieveInstanceOptions\n ): Promise => {\n return await this.stores[0].client.retrieveInstance(options)\n }\n\n retrieveInstanceFrames = async (\n options: dwc.api.RetrieveInstanceFramesOptions\n ): Promise => {\n return await this.stores[0].client.retrieveInstanceFrames(options)\n }\n\n retrieveInstanceRendered = async (\n options: dwc.api.RetrieveInstanceRenderedOptions\n ): Promise => {\n return await this.stores[0].client.retrieveInstanceRendered(options)\n }\n\n retrieveInstanceFramesRendered = async (\n options: dwc.api.RetrieveInstanceFramesRenderedOptions\n ): Promise => {\n return await this.stores[0].client.retrieveInstanceFramesRendered(options)\n }\n\n retrieveBulkData = async (\n options: dwc.api.RetrieveBulkDataOptions\n ): Promise => {\n return await this.stores[0].client.retrieveBulkData(options)\n }\n}\n","import React from 'react'\nimport {\n BrowserRouter,\n Navigate,\n Route,\n Routes,\n useParams\n} from 'react-router-dom'\nimport { Layout, message } from 'antd'\nimport { FaSpinner } from 'react-icons/fa'\nimport * as dwc from 'dicomweb-client'\n\nimport AppConfig, { ServerSettings, ErrorMessageSettings } from './AppConfig'\nimport CaseViewer from './components/CaseViewer'\nimport Header from './components/Header'\nimport InfoPage from './components/InfoPage'\nimport Worklist from './components/Worklist'\n\nimport { User, AuthManager } from './auth'\nimport OidcManager from './auth/OidcManager'\nimport { StorageClasses } from './data/uids'\nimport DicomWebManager from './DicomWebManager'\nimport { joinUrl } from './utils/url'\nimport { CustomError, errorTypes } from './utils/CustomError'\nimport NotificationMiddleware, {\n NotificationMiddlewareContext\n} from './services/NotificationMiddleware'\n\nfunction ParametrizedCaseViewer ({ clients, user, app, config }: {\n clients: { [key: string]: DicomWebManager }\n user?: User\n app: {\n name: string\n version: string\n uid: string\n organization?: string\n }\n config: AppConfig\n}): JSX.Element {\n const { studyInstanceUID } = useParams()\n\n const enableAnnotationTools = !(config.disableAnnotationTools ?? false)\n const preload = config.preload ?? false\n return (\n \n )\n}\n\nfunction _createClientMapping ({ baseUri, settings, onError }: {\n baseUri: string\n settings: ServerSettings[]\n onError: (\n error: dwc.api.DICOMwebClientError,\n serverSettings: ServerSettings\n ) => void\n}): { [sopClassUID: string]: DicomWebManager } {\n const storageClassMapping: { [key: string]: number } = { default: 0 }\n const clientMapping: { [sopClassUID: string]: DicomWebManager } = {}\n\n settings.forEach(serverSettings => {\n if (serverSettings.storageClasses != null) {\n serverSettings.storageClasses.forEach(sopClassUID => {\n if (Object.values(StorageClasses).includes(sopClassUID)) {\n if (sopClassUID in storageClassMapping) {\n storageClassMapping[sopClassUID] += 1\n } else {\n storageClassMapping[sopClassUID] = 1\n }\n } else {\n console.warn(\n `unknown storage class \"${sopClassUID}\" specified ` +\n `for configured server \"${serverSettings.id}\"`\n )\n }\n })\n } else {\n storageClassMapping.default += 1\n clientMapping.default = new DicomWebManager({\n baseUri,\n settings: [serverSettings],\n onError\n })\n }\n })\n\n if (storageClassMapping.default > 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.COMMUNICATION,\n 'Only one default server can be configured without specification ' +\n 'of storage classes.'\n )\n )\n }\n\n for (const key in storageClassMapping) {\n if (key === 'default') {\n continue\n }\n if (storageClassMapping[key] > 1) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.COMMUNICATION,\n 'Only one configured server can specify a given storage class. ' +\n `Storage class \"${key}\" is specified by more than one ` +\n 'of the configured servers.'\n )\n )\n }\n }\n\n if (Object.keys(storageClassMapping).length > 1) {\n settings.forEach(server => {\n const client = new DicomWebManager({\n baseUri,\n settings: [server],\n onError\n })\n if (server.storageClasses != null) {\n server.storageClasses.forEach(sopClassUID => {\n clientMapping[sopClassUID] = client\n })\n }\n })\n }\n\n Object.values(StorageClasses).forEach(sopClassUID => {\n if (!(sopClassUID in clientMapping)) {\n clientMapping[sopClassUID] = clientMapping.default\n }\n })\n return clientMapping\n}\n\ninterface AppProps {\n name: string\n homepage: string\n version: string\n config: AppConfig\n}\n\ninterface AppState {\n clients: { [sopClassUID: string]: DicomWebManager }\n user?: User\n isLoading: boolean\n redirectTo?: string\n wasAuthSuccessful: boolean\n error?: ErrorMessageSettings\n}\n\nclass App extends React.Component {\n private readonly auth?: AuthManager\n\n private readonly handleDICOMwebError = (\n error: dwc.api.DICOMwebClientError,\n serverSettings: ServerSettings\n ): void => {\n if (error.status === 401) {\n this.signIn()\n } else if (error.status === 403) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.DICOMWEB,\n new CustomError(\n errorTypes.COMMUNICATION,\n 'User is not authorized to access DICOMweb resources.')\n )\n }\n if (serverSettings.errorMessages !== undefined) {\n serverSettings.errorMessages.forEach((setting: ErrorMessageSettings) => {\n if (error.status === setting.status) {\n this.setState({\n error: {\n status: error.status,\n message: setting.message\n }\n })\n } else if (error.status === 500) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.DICOMWEB,\n new CustomError(\n errorTypes.COMMUNICATION,\n 'An unexpected server error occured.')\n )\n }\n })\n }\n }\n\n constructor (props: AppProps) {\n super(props)\n\n console.info('instatiate app')\n console.info(`app is located at \"${props.config.path}\"`)\n const { protocol, host } = window.location\n const baseUri = `${protocol}//${host}`\n const appUri = joinUrl(props.config.path, baseUri)\n\n const oidcSettings = props.config.oidc\n if (oidcSettings !== undefined) {\n console.info(\n 'app uses the following OIDC configuration: ',\n props.config.oidc\n )\n this.auth = new OidcManager(appUri, oidcSettings)\n }\n\n if (props.config.servers.length === 0) {\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.SLIM,\n new CustomError(\n errorTypes.COMMUNICATION,\n 'One server needs to be configured.')\n )\n }\n console.info(\n 'app uses the following DICOMweb server configuration: ',\n props.config.servers\n )\n\n this.handleServerSelection = this.handleServerSelection.bind(this)\n\n message.config({ duration: 5 })\n this.addGcpSecondaryAnnotationServer(props.config)\n\n this.state = {\n clients: _createClientMapping({\n baseUri,\n settings: props.config.servers,\n onError: this.handleDICOMwebError\n }),\n isLoading: true,\n wasAuthSuccessful: false\n }\n }\n\n addGcpSecondaryAnnotationServer (config: AppProps['config']): void {\n const serverId = 'gcp_secondary_annotation_server'\n const urlParams = new URLSearchParams(window.location.search)\n const url = urlParams.get('gcp')\n const gcpSecondaryAnnotationServer = config.servers.find(\n (server) => server.id === serverId\n )\n if (gcpSecondaryAnnotationServer === undefined && typeof url === 'string') {\n config.servers.push({\n id: serverId,\n write: true,\n url,\n storageClasses: [\n StorageClasses.COMPREHENSIVE_SR,\n StorageClasses.COMPREHENSIVE_3D_SR,\n StorageClasses.SEGMENTATION,\n StorageClasses.MICROSCOPY_BULK_SIMPLE_ANNOTATION,\n StorageClasses.PARAMETRIC_MAP,\n StorageClasses.ADVANCED_BLENDING_PRESENTATION_STATE,\n StorageClasses.COLOR_SOFTCOPY_PRESENTATION_STATE,\n StorageClasses.GRAYSCALE_SOFTCOPY_PRESENTATION_STATE,\n StorageClasses.PSEUDOCOLOR_SOFTCOPY_PRESENTATION_STATE\n ]\n })\n }\n }\n\n handleServerSelection ({ url }: { url: string }): void {\n console.info('select DICOMweb server: ', url)\n const tmpClient = new DicomWebManager({\n baseUri: '',\n settings: [{\n id: 'tmp',\n url,\n read: true,\n write: false\n }],\n onError: this.handleDICOMwebError\n })\n tmpClient.updateHeaders(this.state.clients.default.headers)\n /**\n * Use the newly created client for all storage classes. We may want to\n * make this more sophisticated in the future to allow users to override\n * the entire server configuration.\n */\n this.setState(state => {\n const clients: { [key: string]: DicomWebManager } = {}\n for (const key in state.clients) {\n clients[key] = tmpClient\n }\n return { clients }\n })\n }\n\n /**\n * Handle successful authentication event.\n *\n * Authorizes the DICOMweb client to access the DICOMweb server and directs\n * the user back to the App.\n *\n * @param user - Information about the user\n * @param authorization - Value of the \"Authorization\" HTTP header field\n */\n handleSignIn = ({ user, authorization }: {\n user: User\n authorization: string\n }): void => {\n for (const key in this.state.clients) {\n const client = this.state.clients[key]\n client.updateHeaders({ Authorization: authorization })\n }\n const storedPath = window.localStorage.getItem('slim_path')\n const storedSearch = window.localStorage.getItem('slim_search')\n if (storedPath != null) {\n const currentPath = window.location.pathname\n if (storedPath !== currentPath) {\n let path = storedPath\n if (storedSearch != null) {\n path += storedSearch\n }\n window.location.href = path\n }\n }\n window.localStorage.removeItem('slim_path')\n window.localStorage.removeItem('slim_search')\n this.setState({ user: user })\n }\n\n signIn (): void {\n if (this.auth !== undefined) {\n console.info('try to sign in user')\n this.auth.signIn({ onSignIn: this.handleSignIn }).then(() => {\n console.info('sign-in was successful')\n this.setState({\n isLoading: false,\n wasAuthSuccessful: true\n })\n }).catch(() => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n NotificationMiddleware.onError(\n NotificationMiddlewareContext.AUTH,\n new CustomError(\n errorTypes.AUTHENTICATION,\n 'Could not sign-in user.')\n )\n this.setState({\n isLoading: false,\n redirectTo: undefined,\n wasAuthSuccessful: false\n })\n })\n } else {\n this.setState({\n isLoading: false,\n redirectTo: undefined,\n wasAuthSuccessful: true\n })\n }\n }\n\n componentDidMount (): void {\n const path = window.localStorage.getItem('slim_path')\n if (path == null) {\n window.localStorage.setItem('slim_path', window.location.pathname)\n window.localStorage.setItem('slim_search', window.location.search)\n }\n this.signIn()\n }\n\n render (): React.ReactNode {\n const appInfo = {\n name: this.props.name,\n version: this.props.version,\n homepage: this.props.homepage,\n uid: '1.2.826.0.1.3680043.9.7433.1.5',\n organization: this.props.config.organization\n }\n\n const enableWorklist = !(\n this.props.config.disableWorklist ?? false\n )\n const enableServerSelection = (\n this.props.config.enableServerSelection ?? false\n )\n\n let worklist\n if (enableWorklist) {\n worklist = \n } else {\n worklist =
Worklist has been disabled.
\n }\n\n let isLogoutPossible = false\n let onLogout: () => void\n if (\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n this.props.config.oidc != null &&\n this.props.config.oidc.endSessionEndpoint != null\n ) {\n onLogout = (): void => {\n if (this.auth != null) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.auth.signOut()\n }\n }\n isLogoutPossible = true\n } else {\n onLogout = () => {}\n isLogoutPossible = false\n }\n\n const layoutStyle = { height: '100vh' }\n const layoutContentStyle = { height: '100%' }\n\n if (this.state.redirectTo !== undefined) {\n return (\n \n \n \n )\n } else if (this.state.isLoading) {\n return (\n \n \n \n \n \n \n \n \n )\n } else if (!this.state.wasAuthSuccessful) {\n return (\n \n )\n } else if (this.state.error != null) {\n return (\n \n )\n } else {\n return (\n \n \n \n \n \n {worklist}\n \n \n }\n />\n \n \n \n \n \n \n }\n />\n \n \n Logged out\n \n }\n />\n \n \n )\n }\n }\n}\n\nexport default App\n"],"names":["Description","layout","labelLineHeight","undefined","this","props","hasLongValues","items","attributes","map","item","index","uid","generateUUID","label","name","labelStyle","lineHeight","contentStyle","fontWeight","whiteSpace","span","value","icon","title","header","extra","size","hoverable","selectable","bordered","actions","methods","column","children","React","metadata","ClinicalTrialSponsorName","push","ClinicalTrialProtocolID","ClinicalTrialProtocolName","ClinicalTrialSiteName","ClinicalTrialTimePointID","parseName","Alphabetic","split","join","parseDate","year","substring","month","day","parseTime","hours","minutes","seconds","parseSex","F","M","O","PatientID","PatientName","PatientSex","PatientBirthDate","AccessionNumber","StudyID","StudyDate","StudyTime","StorageClasses","_subscriptions","Symbol","_lastSubscriptionId","PubSub","eventName","callback","Error","hasOwnProperty","subscriptionId","callbacks","payload","errorTypes","CustomError","type","message","stack","NotificationMiddlewareEvents","NotificationMiddlewareContext","NotificationType","NotificationSourceDefinition","sources","category","notificationType","source","error","notificationMsg","errorCategory","find","s","publish","String","console","notification","description","duration","state","isLoading","overviewViewportRef","overviewViewer","setState","slide","overviewImages","length","current","innerHTML","info","ContainerIdentifier","dmv","client","clients","VL_WHOLE_SLIDE_MICROSCOPY_IMAGE","resizeFactor","errorInterceptor","NotificationMiddleware","render","container","resize","style","height","containerIdentifier","ref","seriesInstanceUIDs","selectedSeriesInstanceUID","onSeriesSelection","seriesInstanceUID","slideList","slideItemList","i","slideItem","selectedKeys","width","onSelect","key","keyPath","domEvent","toString","mode","inlineIndent","handleVisibilityChange","bind","checked","event","onVisibilityChange","roiUID","roi","isVisible","identifier","otherProps","evaluations","forEach","nameValue","ConceptNameCodeSequence","CodeValue","nameMeaning","CodeMeaning","ValueType","dcmjs","valueMeaning","ConceptCodeSequence","textContentItem","TextValue","measurements","seq","MeasuredValueSequence","NumericValue","toPrecision","unit","MeasurementUnitsCodeSequence","align","paddingLeft","onChange","checkedChildren","unCheckedChildren","handleMenuItemSelection","rois","visibleRoiUIDs","object","onSelection","has","paddingTop","paddingBottom","selectedRoiUIDs","values","onClick","handleMeasurementSelection","handleOpacityChange","handleColorRChange","handleColorGChange","handleColorBChange","getCurrentColor","currentStyle","opacity","defaultStyle","color","annotationGroupUID","annotationGroup","onStyleChange","styleOptions","limitValues","Array","isArray","slice","option","codeComponents","measurement","schemeDesignator","meaning","colorSettings","windowSettings","explorationSettings","AnnotationGroupSequence","findIndex","AnnotationGroupUID","propertyType","propertyCategory","GraphicType","measurementsSequence","MeasurementsSequence","measurementOptions","measurementItem","CodingSchemeDesignator","dropdownMatchSelectWidth","disabled","plain","justify","gutter","range","min","max","step","handleLowerLimitChange","handleLimitChange","handleUpperLimitChange","minWidth","defaultValue","settings","isBadgeVisible","direction","placement","content","overlayStyle","shape","SettingOutlined","offset","count","borderStyle","borderWidth","borderColor","visibility","backgroundImage","annotationGroups","visibleAnnotationGroupUIDs","defaultAnnotationGroupStyles","onAnnotationGroupVisibilityChange","onAnnotationGroupStyleChange","handleClick","text","button","Icon","isSelected","tooltip","Manufacturer","ManufacturerModelName","DeviceSerialNumber","SoftwareVersions","InstitutionName","findContentItemsByName","concept","hasName","hasValueType","valueType","getROIs","report","matches","ContentSequence","measurementsItem","measurementGroupItems","observerType","group","trackingUIDItem","algorithmNameItem","algorithmVersionItem","scoord3d","regionItem","frameOfReferenceUID","ReferencedFrameOfReferenceUID","coordinates","GraphicData","evaluation","findEvaluationItems","findMeasurementItems","properties","trackingUID","UID","MeasurementReport","PersonObserverName","PersonObserverLoginName","DeviceObserverUID","DeviceObserverName","SpecimenUID","SpecimenIdentifier","ROIs","specimenUIDItem","specimenIdItem","containerIdItem","personNameItem","PersonName","personLoginNameItem","deviceUIDItem","deviceNameItem","dataset","containerAttrs","specimenAttrs","observerAttrs","annotations","id","attrs","orientation","groups","SpecimenPreparationAdditives","FIXATIVE","EMBEDDING_MEDIUM","SpecimenPreparationStepItems","SPECIMEN_IDENTIFIER","PARENT_SPECIMEN_IDENTIFIER","PROCESSING_TYPE","DATETIME_OF_PROCESSING","PROCESSING_STEP_DESCRIPTION","COLLECTION_METHOD","SAMPLING_METHOD","STAIN","specimenDescription","SpecimenDescriptionSequence","SpecimenShortDescription","PrimaryAnatomicStructureSequence","structures","SpecimenPreparationSequence","SpecimenPreparationStepContentItemSequence","equals","showstain","overflowY","handleRemoval","getCurrentColors","paletteColorLookupTable","previousProps","previousState","opticalPath","opticalPathIdentifier","rgb2hex","data","onRemoval","illuminationWaveLength","illuminationColor","specimenDescriptions","maxValue","Math","pow","BitsAllocated","isMonochromatic","colors","buttons","isRemovable","DeleteOutlined","EyeOutlined","EyeInvisibleOutlined","Option","Select","selectedOpticalPathIdentifier","handleItemAddition","handleItemRemoval","handleItemSelectionChange","onOpticalPathActivityChange","isActive","opticalPathSelector","isSelectable","opticalPaths","opticalPathItems","optionItems","images","SeriesInstanceUID","OpticalPathSequence","opticalPathItem","OpticalPathIdentifier","OpticalPathDescription","activeOpticalPathIdentifiers","visibleOpticalPathIdentifiers","defaultOpticalPathStyles","onOpticalPathVisibilityChange","onOpticalPathStyleChange","padding","allowClear","AppstoreAddOutlined","mappingUID","mapping","mappings","visibleMappingUIDs","defaultMappingStyles","onMappingVisibilityChange","onMappingStyleChange","segmentUID","segment","algorithmName","segments","visibleSegmentUIDs","defaultSegmentStyles","onSegmentVisibilityChange","onSegmentStyleChange","withRouter","Component","location","useLocation","navigate","useNavigate","params","useParams","DEFAULT_ROI_STROKE_COLOR","DEFAULT_ROI_FILL_COLOR","_buildKey","codingScheme","codeValue","_getRoiKey","findingName","warn","_constructViewers","preload","volumeImages","labelViewer","volumeViewer","clientMapping","controls","activateSelectInteraction","labelImages","findingOptions","evaluationOptions","geometryTypeOptions","volumeViewportRef","labelViewportRef","defaultRoiStyle","stroke","fill","image","circle","radius","roiStyles","selectionColor","selectedRoiStyle","loadPresentationStates","ADVANCED_BLENDING_PRESENTATION_STATE","searchForInstances","studyInstanceUID","queryParams","Modality","then","matchedInstances","rawInstance","instance","SOPInstanceUID","retrieveInstance","sopInstanceUID","retrievedInstance","dict","areVolumeImagesMonochrome","presentationState","doesMatch","AdvancedBlendingSequence","blendingItem","includes","selectedPresentationStateUID","setPresentationState","presentationStates","Object","catch","getAllOpticalPaths","opticalPathStyles","hideOpticalPath","deactivateOpticalPath","getOpticalPathDefaultStyle","setOpticalPathStyle","refInstanceItems","ReferencedInstanceSequence","ReferencedImageSequence","imageItem","sopInstanceUIDs","ReferencedSOPInstanceUID","paletteColorLUT","PaletteColorLookupTableSequence","cpLUTItem","PaletteColorLookupTableUID","redDescriptor","RedPaletteColorLookupTableDescriptor","greenDescriptor","GreenPaletteColorLookupTableDescriptor","blueDescriptor","BluePaletteColorLookupTableDescriptor","redData","RedPaletteColorLookupTableData","Uint16Array","greenData","GreenPaletteColorLookupTableData","blueData","BluePaletteColorLookupTableData","redSegmentedData","SegmentedRedPaletteColorLookupTableData","greenSegmentedData","SegmentedGreenPaletteColorLookupTableData","blueSegmentedData","SegmentedBluePaletteColorLookupTableData","SoftcopyVOILUTSequence","voiLUTItem","windowCenter","WindowCenter","windowWidth","WindowWidth","selectedOpticalPathIdentifiers","Set","keys","activateOpticalPath","showOpticalPath","add","searchParams","URLSearchParams","search","set","pathname","replace","getRoiStyle","addAnnotations","COMPREHENSIVE_3D_SR","SOPClassUID","templateSeq","ContentTemplateSequence","TemplateIdentifier","_implementsTID1500","subjectClassValue","retrievedConcept","expectedConcept","_describesSpecimenSubject","debug","measurementGroups","foundRegion","regions","_containsROIAnnotations","FrameOfReferenceUID","doesROIExist","getAllROIs","some","otherROI","a","b","graphicType","graphicData","s1","s2","j","_areROIsEqual","addROI","forceUpdate","addAnnotationGroups","MICROSCOPY_BULK_SIMPLE_ANNOTATION","searchForSeries","matchedSeries","series","retrieveSeriesMetadata","retrievedMetadata","filter","ann","refImage","finding","AnnotationPropertyTypeCodeSequence","setAnnotationGroupStyle","addSegmentations","SEGMENTATION","segmentations","seg","addSegments","addParametricMaps","PARAMETRIC_MAP","parametricMaps","pm","addParameterMappings","populateViewports","setDefaultPresentationState","onRoiModified","onWindowResize","onRoiDrawn","detail","selectedFinding","selectedEvaluations","findingItem","relationshipType","addEvaluation","onRoiDoubleClicked","isSelectedRoiModalVisible","onRoiSelected","selectedRoi","setROIStyle","onLoadingStarted","onLoadingEnded","onFrameLoadingStarted","frameInfo","frameNumber","loadingFrames","onFrameLoadingEnded","delete","sopClassUID","channelIdentifier","pixelDataStatistics","pixelArray","chunks","ceil","minValues","maxValues","pixels","stats","numFramesSampled","getOpticalPathStyle","onRoiRemoved","onKeyUp","isRoiDrawingActive","deactivateDrawInteraction","isRoiModificationActive","deactivateModifyInteraction","isRoiTranslationActive","deactivateTranslateInteraction","isAnnotationModalVisible","isGoToModalVisible","altKey","code","handleRoiDrawing","handleRoiModification","handleRoiTranslation","handleRoiRemoval","handleRoiVisibilityChange","handleReportGeneration","handleGoTo","annotation","geometryTypes","_formatRoiStyle","componentSetup","componentCleanup","handleRoiSelectionCancellation","handleAnnotationConfigurationCancellation","handleAnnotationGeometryTypeSelection","handleAnnotationMeasurementActivation","handleAnnotationFindingSelection","handleAnnotationEvaluationSelection","handleAnnotationEvaluationClearance","handleAnnotationConfigurationCompletion","handleAnnotationSelection","handleAnnotationVisibilityChange","handleAnnotationGroupVisibilityChange","handleAnnotationGroupStyleChange","handleXCoordinateSelection","handleYCoordinateSelection","handleMagnificationSelection","handleSlidePositionSelection","handleSlidePositionSelectionCancellation","handleReportVerification","handleReportCancellation","handleSegmentVisibilityChange","handleSegmentStyleChange","handleMappingVisibilityChange","handleMappingStyleChange","handleOpticalPathVisibilityChange","handleOpticalPathStyleChange","handleOpticalPathActivityChange","handlePresentationStateSelection","handlePresentationStateReset","boundingBox","generatedReport","isSelectedMagnificationValid","isReportModalVisible","isSelectedXCoordinateValid","isSelectedYCoordinateValid","selectedXCoordinate","validXCoordinateRange","selectedYCoordinate","validYCoordinateRange","selectedMagnification","areRoisHidden","cleanup","isOpticalPathVisible","isOpticalPathActive","document","body","removeEventListener","window","addEventListener","hasICCProfile","ICCProfile","bulkdataReferences","selectedGeometryType","target","selectedMarkup","filteredEvaluations","x","Number","start","end","y","targetPixelSpacing","diffs","numLevels","actualPixelSpacing","getPixelSpacing","abs","level","indexOf","position","point","log","geometryType","markup","activateDrawInteraction","getOpticalPathMetadata","observer","refSpecimen","user","loginName","email","observationContext","observerPersonContext","observerIdentifyingAttributes","observerDeviceContext","app","manufacturerName","modelName","subjectContext","subjectClass","subjectClassSpecificContext","imagingMeasurements","findingType","trackingIdentifier","referencedRegion","qualitativeEvaluations","MappingResource","measurementReport","languageOfContentItemAndDescendants","procedureReported","evidence","seriesNumber","seriesDescription","instanceNumber","manufacturer","previousVersions","fileMetaInformationVersionArray","Uint8Array","fileMeta","Value","buffer","vr","writer","write","storeInstances","datasets","response","getROI","showAnnotationGroup","hideAnnotationGroup","showSegment","hideSegment","setSegmentStyle","showParameterMapping","hideParameterMapping","setParameterMappingStyle","sort","localeCompare","paletteColorLookupTableUID","defaultColors","numVisible","urlPath","deactivateSelectInteraction","deactivateSnapInteraction","isModifyInteractionActive","activateSnapInteraction","activateModifyInteraction","isTranslateInteractionActive","activateTranslateInteraction","removeROI","areROIsVisible","hideROIs","showROIs","getAllSegments","getAllParameterMappings","getAllAnnotationGroups","annotationMenuItems","openSubMenuItems","geometryTypeOptionsMapping","box","polygon","line","freehandpolygon","freehandline","annotationConfigurations","defaultActiveFirstOption","onClear","specimenMenu","equipmentMenu","opticalPathMetadata","presentationStateMenu","segmentationMenu","parametricMapMenu","annotationGroupMenu","toolbar","opticalPathMenu","presentationStateOptions","ContentDescription","maxWidth","UndoOutlined","segmentMetadata","getSegmentStyle","getSegmentMetadata","mappingMetadata","getParameterMappingStyle","getParameterMappingMetadata","annotationGroupMetadata","getAnnotationGroupStyle","getAnnotationGroupMetadata","toolbarHeight","annotationTools","FaDrawPolygon","FaHandPointer","FaHandPaper","FaTrash","FaEye","FaEyeSlash","FaSave","controlTools","FaCrosshairs","enableAnnotationTools","selectedRoiInformation","cursor","roiAttributes","roiScoordAttributes","roiEvaluationAttributes","codeItem","textItem","roiMeasurmentAttributesPerOpticalPath","refItems","ReferencedSOPSequence","ReferencedOpticalPathIdentifier","measuredValueItem","createRoiDescription","roiDescriptions","roiScoordDescriptions","roiEvaluationDescriptions","roiMeasurementDescriptions","descriptions","orientationMargin","dashed","hasSider","overflow","visible","onOk","onCancel","okText","maskClosable","footer","placeholder","prefix","onPressEnter","addonAfter","CheckOutlined","StopOutlined","reverseArrow","borderLeft","borderLeftWidth","background","defaultOpenKeys","forceSubMenuRender","onOpenChange","setTimeout","ImageFlavors","hasImageFlavor","imageFlavor","ImageType","areSameAcquisition","AcquisitionUID","Slide","options","acquisitionUID","opticalPathIdentifiers","pyramidUIDs","acquisitionUIDs","containerIdentifiers","frameOfReferenceUIDs","VOLUME","LABEL","OVERVIEW","THUMBNAIL","PyramidUID","samplesPerPixel","SamplesPerPixel","requirePyramidUID","PhotometricInterpretation","createSlides","slideMetadata","filteredLabelImages","filteredVolumeImages","slideMetadataIndex","_doesImageBelongToSlide","filteredOverviewImages","slideMetadataItem","slides","imgA","imgB","ParametrizedSlideViewer","presentationStateUID","selectedSlide","get","viewer","handleSeriesSelection","fetchImageMetadata","StudyInstanceUID","Promise","all","loadingSeries","seriesImages","volumeInstances","clinicalTrialMenu","borderRight","borderRightWidth","path","element","handleInfoButtonClick","browser","detect","environment","os","version","Modal","homepage","handleDebugButtonClick","errorMsgs","Authentication","Communication","EncodingDecoding","Visualization","errorNum","errorObj","Panel","Collapse","showErrorCount","errcount","e","uuidv4","handleServerSelectionButtonClick","isServerSelectionModalVisible","isServerSelectionDisabled","worklistButton","userMenuItems","onUserLogout","userMenu","overlay","trigger","UserOutlined","preventDefault","showWorklistButton","to","UnorderedListOutlined","serverSelectionButton","infoButton","InfoOutlined","debugButton","showServerSelectionButton","ApiOutlined","handleServerSelection","url","selectedServerUrl","closeModal","startsWith","onServerSelection","src","process","alt","margin","flex","currentTarget","isDisabled","URL","protocol","TypeError","display","alignItems","justifyContent","subTitle","defaultPageSize","handleSearch","confirm","dataIndex","handleReset","clearFilters","getColumnSearchProps","filterDropdown","setSelectedKeys","marginBottom","SearchOutlined","filterIcon","filtered","fetchData","handleChange","studies","numStudies","pageSize","searchOptions","ModalitiesInStudy","searchForStudies","study","limit","searchCriteria","fuzzymatching","pagination","filters","columns","hideOnSinglePage","showSizeChanger","showQuickJumper","showTotal","total","rowKey","record","dataSource","onRow","loading","joinUrl","uri","baseUri","endsWith","isAuthorizationCodeInUrl","hashParams","hash","Boolean","createUser","userData","profile","OidcManager","_oidc","signIn","onSignIn","handleSignIn","authorization","token_type","access_token","signinCallback","getUser","expired","signinRedirect","signOut","signoutRedirect","getAuthorization","responseType","grantType","UserManager","authority","client_id","clientId","redirect_uri","scope","response_type","loadUserInfo","automaticSilentRenew","revokeAccessTokenOnSignout","post_logout_redirect_uri","endSessionEndpoint","metadataService","getMetadata","end_session_endpoint","retries","factor","minTimeout","maxTimeout","randomize","retryableStatusCodes","retryOptions","xhrRetryHook","request","method","originalRequestSend","send","operation","retry","attempt","currentAttempt","originalOnReadyStateChange","onreadystatechange","args","apply","status","errorMessage","attemptFailedError","open","DicomWebManager","onError","stores","handleError","updateHeaders","fields","f","headers","reject","retrieveStudyMetadata","retrieveInstanceMetadata","retrieveInstanceFrames","retrieveInstanceRendered","retrieveInstanceFramesRendered","retrieveBulkData","serverSettings","serviceUrl","clientSettings","qidoPathPrefix","qidoURLPrefix","wadoPathPrefix","wadoURLPrefix","stowPathPrefix","stowURLPrefix","requestHooks","getXHRRetryHook","read","dwc","baseURL","ParametrizedCaseViewer","config","disableAnnotationTools","CaseViewer","_createClientMapping","storageClassMapping","default","storageClasses","server","auth","handleDICOMwebError","errorMessages","setting","Authorization","storedPath","localStorage","getItem","storedSearch","href","removeItem","host","appUri","oidcSettings","oidc","servers","addGcpSecondaryAnnotationServer","wasAuthSuccessful","serverId","COMPREHENSIVE_SR","COLOR_SOFTCOPY_PRESENTATION_STATE","GRAYSCALE_SOFTCOPY_PRESENTATION_STATE","PSEUDOCOLOR_SOFTCOPY_PRESENTATION_STATE","tmpClient","redirectTo","setItem","worklist","appInfo","organization","enableWorklist","disableWorklist","enableServerSelection","onLogout","isLogoutPossible","layoutStyle","layoutContentStyle","basename"],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/745.e10b3c15.chunk.js b/static/js/745.e10b3c15.chunk.js deleted file mode 100644 index e3d2dbdd..00000000 --- a/static/js/745.e10b3c15.chunk.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see 745.e10b3c15.chunk.js.LICENSE.txt */ -(self.webpackChunkslim=self.webpackChunkslim||[]).push([[745],{161:(e,t,n)=>{"use strict";n.d(t,{Z:()=>v});var r=n(1413),a=n(2791);const i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 00-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 000 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 00-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 00-11.3 0L363 475.3l-43-43a7.85 7.85 0 00-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 000 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 01-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 01-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z"}}]},name:"api",theme:"outlined"};var o=n(4291),s=function(e,t){return a.createElement(o.Z,(0,r.Z)((0,r.Z)({},e),{},{ref:t,icon:i}))};s.displayName="ApiOutlined";const v=a.forwardRef(s)},681:(e,t,n)=>{"use strict";n.d(t,{Z:()=>v});var r=n(1413),a=n(2791);const i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zm52 132H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200zM424 712H296V584c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v128H104c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h128v128c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V776h128c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"}}]},name:"appstore-add",theme:"outlined"};var o=n(4291),s=function(e,t){return a.createElement(o.Z,(0,r.Z)((0,r.Z)({},e),{},{ref:t,icon:i}))};s.displayName="AppstoreAddOutlined";const v=a.forwardRef(s)},7575:(e,t,n)=>{"use strict";n.d(t,{Z:()=>v});var r=n(1413),a=n(2791);const i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"}}]},name:"check",theme:"outlined"};var o=n(4291),s=function(e,t){return a.createElement(o.Z,(0,r.Z)((0,r.Z)({},e),{},{ref:t,icon:i}))};s.displayName="CheckOutlined";const v=a.forwardRef(s)},2622:(e,t,n)=>{"use strict";n.d(t,{Z:()=>v});var r=n(1413),a=n(2791);const i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z"}}]},name:"delete",theme:"outlined"};var o=n(4291),s=function(e,t){return a.createElement(o.Z,(0,r.Z)((0,r.Z)({},e),{},{ref:t,icon:i}))};s.displayName="DeleteOutlined";const v=a.forwardRef(s)},7295:(e,t,n)=>{"use strict";n.d(t,{Z:()=>v});var r=n(1413),a=n(2791);const i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"}}]},name:"down",theme:"outlined"};var o=n(4291),s=function(e,t){return a.createElement(o.Z,(0,r.Z)((0,r.Z)({},e),{},{ref:t,icon:i}))};s.displayName="DownOutlined";const v=a.forwardRef(s)},5033:(e,t,n)=>{"use strict";n.d(t,{Z:()=>v});var r=n(1413),a=n(2791);const i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"ellipsis",theme:"outlined"};var o=n(4291),s=function(e,t){return a.createElement(o.Z,(0,r.Z)((0,r.Z)({},e),{},{ref:t,icon:i}))};s.displayName="EllipsisOutlined";const v=a.forwardRef(s)},8272:(e,t,n)=>{"use strict";n.d(t,{Z:()=>v});var r=n(1413),a=n(2791);const i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z"}},{tag:"path",attrs:{d:"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z"}}]},name:"eye-invisible",theme:"outlined"};var o=n(4291),s=function(e,t){return a.createElement(o.Z,(0,r.Z)((0,r.Z)({},e),{},{ref:t,icon:i}))};s.displayName="EyeInvisibleOutlined";const v=a.forwardRef(s)},4215:(e,t,n)=>{"use strict";n.d(t,{Z:()=>v});var r=n(1413),a=n(2791);const i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z"}}]},name:"eye",theme:"outlined"};var o=n(4291),s=function(e,t){return a.createElement(o.Z,(0,r.Z)((0,r.Z)({},e),{},{ref:t,icon:i}))};s.displayName="EyeOutlined";const v=a.forwardRef(s)},4541:(e,t,n)=>{"use strict";n.d(t,{Z:()=>v});var r=n(1413),a=n(2791);const i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M448 224a64 64 0 10128 0 64 64 0 10-128 0zm96 168h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V400c0-4.4-3.6-8-8-8z"}}]},name:"info",theme:"outlined"};var o=n(4291),s=function(e,t){return a.createElement(o.Z,(0,r.Z)((0,r.Z)({},e),{},{ref:t,icon:i}))};s.displayName="InfoOutlined";const v=a.forwardRef(s)},6864:(e,t,n)=>{"use strict";n.d(t,{Z:()=>v});var r=n(1413),a=n(2791);const i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 000 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z"}}]},name:"left",theme:"outlined"};var o=n(4291),s=function(e,t){return a.createElement(o.Z,(0,r.Z)((0,r.Z)({},e),{},{ref:t,icon:i}))};s.displayName="LeftOutlined";const v=a.forwardRef(s)},1730:(e,t,n)=>{"use strict";n.d(t,{Z:()=>v});var r=n(1413),a=n(2791);const i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"}}]},name:"search",theme:"outlined"};var o=n(4291),s=function(e,t){return a.createElement(o.Z,(0,r.Z)((0,r.Z)({},e),{},{ref:t,icon:i}))};s.displayName="SearchOutlined";const v=a.forwardRef(s)},2414:(e,t,n)=>{"use strict";n.d(t,{Z:()=>v});var r=n(1413),a=n(2791);const i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 009.3-35.2l-.9-2.6a443.74 443.74 0 00-79.7-137.9l-1.8-2.1a32.12 32.12 0 00-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 00-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 00-25.8 25.7l-15.8 85.4a351.86 351.86 0 00-99 57.4l-81.9-29.1a32 32 0 00-35.1 9.5l-1.8 2.1a446.02 446.02 0 00-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 00-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0035.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0025.8 25.7l2.7.5a449.4 449.4 0 00159 0l2.7-.5a32.05 32.05 0 0025.8-25.7l15.7-85a350 350 0 0099.7-57.6l81.3 28.9a32 32 0 0035.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 01-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 01-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 01512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 01400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 01624 502c0 29.9-11.7 58-32.8 79.2z"}}]},name:"setting",theme:"outlined"};var o=n(4291),s=function(e,t){return a.createElement(o.Z,(0,r.Z)((0,r.Z)({},e),{},{ref:t,icon:i}))};s.displayName="SettingOutlined";const v=a.forwardRef(s)},1515:(e,t,n)=>{"use strict";n.d(t,{Z:()=>v});var r=n(1413),a=n(2791);const i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372 0-89 31.3-170.8 83.5-234.8l523.3 523.3C682.8 852.7 601 884 512 884zm288.5-137.2L277.2 223.5C341.2 171.3 423 140 512 140c205.4 0 372 166.6 372 372 0 89-31.3 170.8-83.5 234.8z"}}]},name:"stop",theme:"outlined"};var o=n(4291),s=function(e,t){return a.createElement(o.Z,(0,r.Z)((0,r.Z)({},e),{},{ref:t,icon:i}))};s.displayName="StopOutlined";const v=a.forwardRef(s)},8030:(e,t,n)=>{"use strict";n.d(t,{Z:()=>v});var r=n(1413),a=n(2791);const i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M511.4 124C290.5 124.3 112 303 112 523.9c0 128 60.2 242 153.8 315.2l-37.5 48c-4.1 5.3-.3 13 6.3 12.9l167-.8c5.2 0 9-4.9 7.7-9.9L369.8 727a8 8 0 00-14.1-3L315 776.1c-10.2-8-20-16.7-29.3-26a318.64 318.64 0 01-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 01-68.6 101.7c-7.5 7.5-15.3 14.5-23.4 21.2a7.93 7.93 0 00-1.2 11.1l39.4 50.5c2.8 3.5 7.9 4.1 11.4 1.3C854.5 760.8 912 649.1 912 523.9c0-221.1-179.4-400.2-400.6-399.9z"}}]},name:"undo",theme:"outlined"};var o=n(4291),s=function(e,t){return a.createElement(o.Z,(0,r.Z)((0,r.Z)({},e),{},{ref:t,icon:i}))};s.displayName="UndoOutlined";const v=a.forwardRef(s)},127:(e,t,n)=>{"use strict";n.d(t,{Z:()=>v});var r=n(1413),a=n(2791);const i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"unordered-list",theme:"outlined"};var o=n(4291),s=function(e,t){return a.createElement(o.Z,(0,r.Z)((0,r.Z)({},e),{},{ref:t,icon:i}))};s.displayName="UnorderedListOutlined";const v=a.forwardRef(s)},9529:(e,t,n)=>{"use strict";n.d(t,{Z:()=>v});var r=n(1413),a=n(2791);const i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M858.5 763.6a374 374 0 00-80.6-119.5 375.63 375.63 0 00-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 00-80.6 119.5A371.7 371.7 0 00136 901.8a8 8 0 008 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 008-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z"}}]},name:"user",theme:"outlined"};var o=n(4291),s=function(e,t){return a.createElement(o.Z,(0,r.Z)((0,r.Z)({},e),{},{ref:t,icon:i}))};s.displayName="UserOutlined";const v=a.forwardRef(s)},4656:(e,t,n)=>{"use strict";n.d(t,{X3:()=>B,aU:()=>l,Zq:()=>F,lX:()=>f,Ep:()=>C,kG:()=>h,WK:()=>H,RQ:()=>k,fp:()=>A,cP:()=>D,pC:()=>U,Zn:()=>L});var r=n(3144),a=n(5671),i=n(136),o=n(7277),s=n(8737),v=n(9439),u=n(4506),c=n(181);var l,m=n(3433);function g(){return g=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function E(e){var t="undefined"!==typeof window&&"undefined"!==typeof window.location&&"null"!==window.location.origin?window.location.origin:window.location.href,n="string"===typeof e?e:C(e);return h(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}function M(e,t,n,r){void 0===r&&(r={});var a=r,i=a.window,o=void 0===i?document.defaultView:i,s=a.v5Compat,v=void 0!==s&&s,u=o.history,c=l.Pop,m=null;function g(){c=l.Pop,m&&m({action:c,location:S.location})}var S={get action(){return c},get location(){return e(o,u)},listen:function(e){if(m)throw new Error("A history only accepts one active listener");return o.addEventListener(d,g),m=e,function(){o.removeEventListener(d,g),m=null}},createHref:function(e){return t(o,e)},encodeLocation:function(e){var t=E("string"===typeof e?e:C(e));return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){c=l.Push;var r=I(S.location,e,t);n&&n(r,e);var a=p(r),i=S.createHref(r);try{u.pushState(a,"",i)}catch(s){o.location.assign(i)}v&&m&&m({action:c,location:S.location})},replace:function(e,t){c=l.Replace;var r=I(S.location,e,t);n&&n(r,e);var a=p(r),i=S.createHref(r);u.replaceState(a,"",i),v&&m&&m({action:c,location:S.location})},go:function(e){return u.go(e)}};return S}function A(e,t,n){void 0===n&&(n="/");var r=L(("string"===typeof t?D(t):t).pathname||"/",n);if(null==r)return null;var a=P(e);!function(e){e.sort((function(e,t){return e.score!==t.score?t.score-e.score:function(e,t){var n=e.length===t.length&&e.slice(0,-1).every((function(e,n){return e===t[n]}));return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((function(e){return e.childrenIndex})),t.routesMeta.map((function(e){return e.childrenIndex})))}))}(a);for(var i=null,o=0;null==i&&o0&&(h(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+s+'".'),P(e.children,t,v,s)),(null!=e.path||e.index)&&t.push({path:s,score:R(s,e.index),routesMeta:v})};return e.forEach((function(e,t){var n;if(""!==e.path&&null!=(n=e.path)&&n.includes("?")){var r,i=function(e,t){var n="undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=(0,c.Z)(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw i}}}}(T(e.path));try{for(i.s();!(r=i.n()).done;){var o=r.value;a(e,t,o)}}catch(s){i.e(s)}finally{i.f()}}else a(e,t)})),t}function T(e){var t=e.split("/");if(0===t.length)return[];var n=(0,u.Z)(t),r=n[0],a=n.slice(1),i=r.endsWith("?"),o=r.replace(/\?$/,"");if(0===a.length)return i?[o,""]:[o];var s=T(a.join("/")),v=[];return v.push.apply(v,(0,m.Z)(s.map((function(e){return""===e?o:[o,e].join("/")})))),i&&v.push.apply(v,(0,m.Z)(s)),v.map((function(t){return e.startsWith("/")&&""===t?"/":t}))}!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(S||(S={}));var O=/^:\w+$/,y=function(e){return"*"===e};function R(e,t){var n=e.split("/"),r=n.length;return n.some(y)&&(r+=-2),t&&(r+=2),n.filter((function(e){return!y(e)})).reduce((function(e,t){return e+(O.test(t)?3:""===t?1:10)}),r)}function _(e,t){for(var n=e.routesMeta,r={},a="/",i=[],o=0;o and the router will parse it for you.'}function F(e){return e.filter((function(e,t){return 0===t||e.route.path&&e.route.path.length>0}))}function U(e,t,n,r){var a;void 0===r&&(r=!1),"string"===typeof e?a=D(e):(h(!(a=g({},e)).pathname||!a.pathname.includes("?"),x("?","pathname","search",a)),h(!a.pathname||!a.pathname.includes("#"),x("#","pathname","hash",a)),h(!a.search||!a.search.includes("#"),x("#","search","hash",a)));var i,o=""===e||""===a.pathname,s=o?"/":a.pathname;if(r||null==s)i=n;else{var v=t.length-1;if(s.startsWith("..")){for(var u=s.split("/");".."===u[0];)u.shift(),v-=1;a.pathname=u.join("/")}i=v>=0?t[v]:"/"}var c=function(e,t){void 0===t&&(t="/");var n="string"===typeof e?D(e):e,r=n.pathname,a=n.search,i=void 0===a?"":a,o=n.hash,s=void 0===o?"":o,v=r?r.startsWith("/")?r:function(e,t){var n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((function(e){".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(r,t):t;return{pathname:v,search:q(i),hash:V(s)}}(a,i),l=s&&"/"!==s&&s.endsWith("/"),m=(o||"."===s)&&n.endsWith("/");return c.pathname.endsWith("/")||!l&&!m||(c.pathname+="/"),c}var k=function(e){return e.join("/").replace(/\/\/+/g,"/")},G=function(e){return e.replace(/\/+$/,"").replace(/^\/*/,"/")},q=function(e){return e&&"?"!==e?e.startsWith("?")?e:"?"+e:""},V=function(e){return e&&"#"!==e?e.startsWith("#")?e:"#"+e:""},B=function(e){(0,i.Z)(n,e);var t=(0,o.Z)(n);function n(){return(0,a.Z)(this,n),t.apply(this,arguments)}return(0,r.Z)(n)}((0,s.Z)(Error));var Q=(0,r.Z)((function e(t,n,r,i){(0,a.Z)(this,e),void 0===i&&(i=!1),this.status=t,this.statusText=n||"",this.internal=i,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}));function H(e){return e instanceof Q}var j=["post","put","patch","delete"],W=(new Set(j),["get"].concat(j));new Set(W),new Set([301,302,303,307,308]),new Set([307,308]),"undefined"!==typeof window&&"undefined"!==typeof window.document&&window.document.createElement},4466:(e,t,n)=>{"use strict";n.d(t,{Y:()=>a});var r=n(9393),a=((0,r.b)("success","processing","error","default","warning"),(0,r.b)("pink","red","yellow","orange","cyan","green","blue","purple","geekblue","magenta","volcano","gold","lime"))},9911:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(9439),a=n(2791),i=n(6096);const o=function(){var e=a.useState(!1),t=(0,r.Z)(e,2),n=t[0],o=t[1];return a.useEffect((function(){o((0,i.fk)())}),[]),n}},9581:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(9439),a=n(2791);function i(){var e=a.useReducer((function(e){return e+1}),0);return(0,r.Z)(e,2)[1]}},9631:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(7462),a=n(1961),i={adjustX:1,adjustY:1},o={adjustX:0,adjustY:0},s=[0,0];function v(e){return"boolean"===typeof e?e?i:o:(0,r.Z)((0,r.Z)({},o),e)}function u(e){var t=e.arrowWidth,n=void 0===t?4:t,i=e.horizontalArrowShift,o=void 0===i?16:i,u=e.verticalArrowShift,c=void 0===u?8:u,l=e.autoAdjustOverflow,m=e.arrowPointAtCenter,g={left:{points:["cr","cl"],offset:[-4,0]},right:{points:["cl","cr"],offset:[4,0]},top:{points:["bc","tc"],offset:[0,-4]},bottom:{points:["tc","bc"],offset:[0,4]},topLeft:{points:["bl","tc"],offset:[-(o+n),-4]},leftTop:{points:["tr","cl"],offset:[-4,-(c+n)]},topRight:{points:["br","tc"],offset:[o+n,-4]},rightTop:{points:["tl","cr"],offset:[4,-(c+n)]},bottomRight:{points:["tr","bc"],offset:[o+n,4]},rightBottom:{points:["bl","cr"],offset:[4,c+n]},bottomLeft:{points:["tl","bc"],offset:[-(o+n),4]},leftBottom:{points:["br","cl"],offset:[-4,c+n]}};return Object.keys(g).forEach((function(e){g[e]=m?(0,r.Z)((0,r.Z)({},g[e]),{overflow:v(l),targetOffset:s}):(0,r.Z)((0,r.Z)({},a.C[e]),{overflow:v(l)}),g[e].ignoreShake=!0})),g}},8295:(e,t,n)=>{"use strict";n.d(t,{ZP:()=>c,c4:()=>i});var r=n(4942),a=n(7462),i=["xxl","xl","lg","md","sm","xs"],o={xs:"(max-width: 575px)",sm:"(min-width: 576px)",md:"(min-width: 768px)",lg:"(min-width: 992px)",xl:"(min-width: 1200px)",xxl:"(min-width: 1600px)"},s=new Map,v=-1,u={};const c={matchHandlers:{},dispatch:function(e){return u=e,s.forEach((function(e){return e(u)})),s.size>=1},subscribe:function(e){return s.size||this.register(),v+=1,s.set(v,e),e(u),v},unsubscribe:function(e){s.delete(e),s.size||this.unregister()},unregister:function(){var e=this;Object.keys(o).forEach((function(t){var n=o[t],r=e.matchHandlers[n];null===r||void 0===r||r.mql.removeListener(null===r||void 0===r?void 0:r.listener)})),s.clear()},register:function(){var e=this;Object.keys(o).forEach((function(t){var n=o[t],i=function(n){var i=n.matches;e.dispatch((0,a.Z)((0,a.Z)({},u),(0,r.Z)({},t,i)))},s=window.matchMedia(n);s.addListener(i),e.matchHandlers[n]={mql:s,listener:i},i(s)}))}}},2866:(e,t,n)=>{"use strict";n.d(t,{F:()=>s,Z:()=>o});var r=n(4942),a=n(1694),i=n.n(a);(0,n(9393).b)("warning","error","");function o(e,t,n){var a;return i()((a={},(0,r.Z)(a,"".concat(e,"-status-success"),"success"===t),(0,r.Z)(a,"".concat(e,"-status-warning"),"warning"===t),(0,r.Z)(a,"".concat(e,"-status-error"),"error"===t),(0,r.Z)(a,"".concat(e,"-status-validating"),"validating"===t),(0,r.Z)(a,"".concat(e,"-has-feedback"),n),a))}var s=function(e,t){return t||e}},5594:(e,t,n)=>{"use strict";n.d(t,{Z:()=>M});var r=n(4942),a=n(1002),i=n(7462),o=n(1694),s=n.n(o),v=n(5207),u=n(2791),c=n(1929),l=n(1113),m=n(4466);function g(e){return m.Y.includes(e)}const S=function(e){var t,n=e.className,a=e.prefixCls,o=e.style,v=e.color,l=e.children,m=e.text,S=e.placement,d=void 0===S?"end":S,f=u.useContext(c.E_),h=f.getPrefixCls,p=f.direction,I=h("ribbon",a),C=g(v),D=s()(I,"".concat(I,"-placement-").concat(d),(t={},(0,r.Z)(t,"".concat(I,"-rtl"),"rtl"===p),(0,r.Z)(t,"".concat(I,"-color-").concat(v),C),t),n),E={},M={};return v&&!C&&(E.background=v,M.color=v),u.createElement("div",{className:"".concat(I,"-wrapper")},l,u.createElement("div",{className:D,style:(0,i.Z)((0,i.Z)({},E),o)},u.createElement("span",{className:"".concat(I,"-text")},m),u.createElement("div",{className:"".concat(I,"-corner"),style:M})))};var d=n(9439);function f(e){var t,n=e.prefixCls,r=e.value,a=e.current,i=e.offset,o=void 0===i?0:i;return o&&(t={position:"absolute",top:"".concat(o,"00%"),left:0}),u.createElement("span",{style:t,className:s()("".concat(n,"-only-unit"),{current:a})},r)}function h(e,t,n){for(var r=e,a=0;(r+10)%10!==t;)r+=n,a+=n;return a}function p(e){var t,n,r=e.prefixCls,a=e.count,o=e.value,s=Number(o),v=Math.abs(a),c=u.useState(s),l=(0,d.Z)(c,2),m=l[0],g=l[1],S=u.useState(v),p=(0,d.Z)(S,2),I=p[0],C=p[1],D=function(){g(s),C(v)};if(u.useEffect((function(){var e=setTimeout((function(){D()}),1e3);return function(){clearTimeout(e)}}),[s]),m===s||Number.isNaN(s)||Number.isNaN(m))t=[u.createElement(f,(0,i.Z)({},e,{key:s,current:!0}))],n={transition:"none"};else{t=[];for(var E=s+10,M=[],A=s;A<=E;A+=1)M.push(A);var P=M.findIndex((function(e){return e%10===m}));t=M.map((function(t,n){var r=t%10;return u.createElement(f,(0,i.Z)({},e,{key:t,value:r,offset:n-P,current:n===P}))})),n={transform:"translateY(".concat(-h(m,s,IM?"".concat(M,"+"):I,q="0"===G||0===G,V=(null!==d&&void 0!==d||null!==h&&void 0!==h)&&(null===I||q&&!L),B=P&&!q,Q=B?"":G,H=(0,u.useMemo)((function(){return(null===Q||void 0===Q||""===Q||q&&!L)&&!B}),[Q,q,L,B]),j=(0,u.useRef)(I);H||(j.current=I);var W=j.current,Z=(0,u.useRef)(Q);H||(Z.current=Q);var z=Z.current,K=(0,u.useRef)(B);H||(K.current=B);var X=(0,u.useMemo)((function(){if(!R)return(0,i.Z)({},_);var e={marginTop:R[1]};return"rtl"===U?e.left=parseInt(R[0],10):e.right=-parseInt(R[0],10),(0,i.Z)((0,i.Z)({},e),_)}),[U,R,_]),Y=null!==y&&void 0!==y?y:"string"===typeof W||"number"===typeof W?W:void 0,J=H||!f?null:u.createElement("span",{className:"".concat(k,"-status-text")},f),$=W&&"object"===(0,a.Z)(W)?(0,l.Tm)(W,(function(e){return{style:(0,i.Z)((0,i.Z)({},X),e.style)}})):void 0,ee=s()((t={},(0,r.Z)(t,"".concat(k,"-status-dot"),V),(0,r.Z)(t,"".concat(k,"-status-").concat(d),!!d),(0,r.Z)(t,"".concat(k,"-status-").concat(h),g(h)),t)),te={};h&&!g(h)&&(te.background=h);var ne=s()(k,(n={},(0,r.Z)(n,"".concat(k,"-status"),V),(0,r.Z)(n,"".concat(k,"-not-a-wrapper"),!S),(0,r.Z)(n,"".concat(k,"-rtl"),"rtl"===U),n),N);if(!S&&V){var re=X.color;return u.createElement("span",(0,i.Z)({},w,{className:ne,style:X}),u.createElement("span",{className:ee,style:te}),f&&u.createElement("span",{style:{color:re},className:"".concat(k,"-status-text")},f))}return u.createElement("span",(0,i.Z)({},w,{className:ne}),S,u.createElement(v.Z,{visible:!H,motionName:"".concat(k,"-zoom"),motionAppear:!1,motionDeadline:1e3},(function(e){var t,n=e.className,a=F("scroll-number",m),o=K.current,v=s()((t={},(0,r.Z)(t,"".concat(k,"-dot"),o),(0,r.Z)(t,"".concat(k,"-count"),!o),(0,r.Z)(t,"".concat(k,"-count-sm"),"small"===O),(0,r.Z)(t,"".concat(k,"-multiple-words"),!o&&z&&z.toString().length>1),(0,r.Z)(t,"".concat(k,"-status-").concat(d),!!d),(0,r.Z)(t,"".concat(k,"-status-").concat(h),g(h)),t)),c=(0,i.Z)({},X);return h&&!g(h)&&((c=c||{}).background=h),u.createElement(C,{prefixCls:a,show:!H,motionClassName:n,className:v,count:z,title:Y,style:c,key:"scrollNumber"},$)})),J)};E.Ribbon=S;const M=E},4970:(e,t,n)=>{"use strict";n.d(t,{Z:()=>Le});var r=n(4942),a=n(7462),i=n(1694),o=n.n(i),s=n(1818),v=n(2791),u=n(1929),c=n(1815),l=n(1002);const m=function(e){var t,n,i=e.prefixCls,s=e.className,u=e.style,c=e.size,l=e.shape,m=o()((t={},(0,r.Z)(t,"".concat(i,"-lg"),"large"===c),(0,r.Z)(t,"".concat(i,"-sm"),"small"===c),t)),g=o()((n={},(0,r.Z)(n,"".concat(i,"-circle"),"circle"===l),(0,r.Z)(n,"".concat(i,"-square"),"square"===l),(0,r.Z)(n,"".concat(i,"-round"),"round"===l),n)),S=v.useMemo((function(){return"number"===typeof c?{width:c,height:c,lineHeight:"".concat(c,"px")}:{}}),[c]);return v.createElement("span",{className:o()(i,m,g,s),style:(0,a.Z)((0,a.Z)({},S),u)})};const g=function(e){var t=e.prefixCls,n=e.className,i=e.active,c=e.shape,l=void 0===c?"circle":c,g=e.size,S=void 0===g?"default":g,d=(0,v.useContext(u.E_).getPrefixCls)("skeleton",t),f=(0,s.Z)(e,["prefixCls","className"]),h=o()(d,"".concat(d,"-element"),(0,r.Z)({},"".concat(d,"-active"),i),n);return v.createElement("div",{className:h},v.createElement(m,(0,a.Z)({prefixCls:"".concat(d,"-avatar"),shape:l,size:S},f)))};const S=function(e){var t,n=e.prefixCls,i=e.className,c=e.active,l=e.block,g=void 0!==l&&l,S=e.size,d=void 0===S?"default":S,f=(0,v.useContext(u.E_).getPrefixCls)("skeleton",n),h=(0,s.Z)(e,["prefixCls"]),p=o()(f,"".concat(f,"-element"),(t={},(0,r.Z)(t,"".concat(f,"-active"),c),(0,r.Z)(t,"".concat(f,"-block"),g),t),i);return v.createElement("div",{className:p},v.createElement(m,(0,a.Z)({prefixCls:"".concat(f,"-button"),size:d},h)))};var d=n(1413);const f={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 10128 0 64 64 0 10-128 0zm118-224a48 48 0 1096 0 48 48 0 10-96 0zm158 228a96 96 0 10192 0 96 96 0 10-192 0zm148-314a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"dot-chart",theme:"outlined"};var h=n(4291),p=function(e,t){return v.createElement(h.Z,(0,d.Z)((0,d.Z)({},e),{},{ref:t,icon:f}))};p.displayName="DotChartOutlined";const I=v.forwardRef(p);const C=function(e){var t=e.prefixCls,n=e.className,a=e.style,i=e.active,s=e.children,c=(0,v.useContext(u.E_).getPrefixCls)("skeleton",t),l=o()(c,"".concat(c,"-element"),(0,r.Z)({},"".concat(c,"-active"),i),n),m=null!==s&&void 0!==s?s:v.createElement(I,null);return v.createElement("div",{className:l},v.createElement("div",{className:o()("".concat(c,"-image"),n),style:a},m))};const D=function(e){var t=e.prefixCls,n=e.className,a=e.style,i=e.active,s=(0,v.useContext(u.E_).getPrefixCls)("skeleton",t),c=o()(s,"".concat(s,"-element"),(0,r.Z)({},"".concat(s,"-active"),i),n);return v.createElement("div",{className:c},v.createElement("div",{className:o()("".concat(s,"-image"),n),style:a},v.createElement("svg",{viewBox:"0 0 1098 1024",xmlns:"http://www.w3.org/2000/svg",className:"".concat(s,"-image-svg")},v.createElement("path",{d:"M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z",className:"".concat(s,"-image-path")}))))};const E=function(e){var t,n=e.prefixCls,i=e.className,c=e.active,l=e.block,g=e.size,S=void 0===g?"default":g,d=(0,v.useContext(u.E_).getPrefixCls)("skeleton",n),f=(0,s.Z)(e,["prefixCls"]),h=o()(d,"".concat(d,"-element"),(t={},(0,r.Z)(t,"".concat(d,"-active"),c),(0,r.Z)(t,"".concat(d,"-block"),l),t),i);return v.createElement("div",{className:h},v.createElement(m,(0,a.Z)({prefixCls:"".concat(d,"-input"),size:S},f)))};var M=n(3433);const A=function(e){var t=function(t){var n=e.width,r=e.rows,a=void 0===r?2:r;return Array.isArray(n)?n[t]:a-1===t?n:void 0},n=e.prefixCls,r=e.className,a=e.style,i=e.rows,s=(0,M.Z)(Array(i)).map((function(e,n){return v.createElement("li",{key:n,style:{width:t(n)}})}));return v.createElement("ul",{className:o()(n,r),style:a},s)};const P=function(e){var t=e.prefixCls,n=e.className,r=e.width,i=e.style;return v.createElement("h3",{className:o()(t,n),style:(0,a.Z)({width:r},i)})};function T(e){return e&&"object"===(0,l.Z)(e)?e:{}}var O=function(e){var t=e.prefixCls,n=e.loading,i=e.className,s=e.style,c=e.children,l=e.avatar,g=void 0!==l&&l,S=e.title,d=void 0===S||S,f=e.paragraph,h=void 0===f||f,p=e.active,I=e.round,C=v.useContext(u.E_),D=C.getPrefixCls,E=C.direction,M=D("skeleton",t);if(n||!("loading"in e)){var O,y,R,_=!!g,N=!!d,b=!!h;if(_){var L=(0,a.Z)((0,a.Z)({prefixCls:"".concat(M,"-avatar")},function(e,t){return e&&!t?{size:"large",shape:"square"}:{size:"large",shape:"circle"}}(N,b)),T(g));y=v.createElement("div",{className:"".concat(M,"-header")},v.createElement(m,(0,a.Z)({},L)))}if(N||b){var w,x;if(N){var F=(0,a.Z)((0,a.Z)({prefixCls:"".concat(M,"-title")},function(e,t){return!e&&t?{width:"38%"}:e&&t?{width:"50%"}:{}}(_,b)),T(d));w=v.createElement(P,(0,a.Z)({},F))}if(b){var U=(0,a.Z)((0,a.Z)({prefixCls:"".concat(M,"-paragraph")},function(e,t){var n={};return e&&t||(n.width="61%"),n.rows=!e&&t?3:2,n}(_,N)),T(h));x=v.createElement(A,(0,a.Z)({},U))}R=v.createElement("div",{className:"".concat(M,"-content")},w,x)}var k=o()(M,(O={},(0,r.Z)(O,"".concat(M,"-with-avatar"),_),(0,r.Z)(O,"".concat(M,"-active"),p),(0,r.Z)(O,"".concat(M,"-rtl"),"rtl"===E),(0,r.Z)(O,"".concat(M,"-round"),I),O),i);return v.createElement("div",{className:k,style:s},y,R)}return"undefined"!==typeof c?c:null};O.Button=S,O.Avatar=g,O.Input=E,O.Image=D,O.Node=C;const y=O;var R=n(732),_=n(5033);const N={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"defs",attrs:{},children:[{tag:"style",attrs:{}}]},{tag:"path",attrs:{d:"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z"}},{tag:"path",attrs:{d:"M176 474h672q8 0 8 8v60q0 8-8 8H176q-8 0-8-8v-60q0-8 8-8z"}}]},name:"plus",theme:"outlined"};var b=function(e,t){return v.createElement(h.Z,(0,d.Z)((0,d.Z)({},e),{},{ref:t,icon:N}))};b.displayName="PlusOutlined";const L=v.forwardRef(b);var w=n(9439),x=n(4925),F=n(3786),U=n(5179),k=n(5207);const G=(0,v.createContext)(null);const q=v.forwardRef((function(e,t){var n=e.prefixCls,r=e.className,a=e.style,i=e.id,s=e.active,u=e.tabKey,c=e.children;return v.createElement("div",{id:i&&"".concat(i,"-panel-").concat(u),role:"tabpanel",tabIndex:s?0:-1,"aria-labelledby":i&&"".concat(i,"-tab-").concat(u),"aria-hidden":!s,style:a,className:o()(n,s&&"".concat(n,"-active"),r),ref:t},c)}));var V=["key","forceRender","style","className"];function B(e){var t=e.id,n=e.activeKey,i=e.animated,s=e.tabPosition,u=e.destroyInactiveTabPane,c=v.useContext(G),l=c.prefixCls,m=c.tabs,g=i.tabPane,S="".concat(l,"-tabpane");return v.createElement("div",{className:o()("".concat(l,"-content-holder"))},v.createElement("div",{className:o()("".concat(l,"-content"),"".concat(l,"-content-").concat(s),(0,r.Z)({},"".concat(l,"-content-animated"),g))},m.map((function(e){var r=e.key,s=e.forceRender,c=e.style,l=e.className,m=(0,x.Z)(e,V),f=r===n;return v.createElement(k.Z,(0,a.Z)({key:r,visible:f,forceRender:s,removeOnLeave:!!u,leavedClassName:"".concat(S,"-hidden")},i.tabPaneMotion),(function(e,n){var i=e.style,s=e.className;return v.createElement(q,(0,a.Z)({},m,{prefixCls:S,id:t,tabKey:r,animated:g,active:f,style:(0,d.Z)((0,d.Z)({},c),i),className:o()(l,s),ref:n}))}))}))))}var Q=n(5314),H=n(8834),j=n(8829);function W(e){var t=(0,v.useRef)(),n=(0,v.useRef)(!1);return(0,v.useEffect)((function(){return n.current=!1,function(){n.current=!0,Q.Z.cancel(t.current)}}),[]),function(){for(var r=arguments.length,a=new Array(r),i=0;it?"left":"right"})})),V=(0,w.Z)(q,2),B=V[0],Z=V[1],z=ie(0,(function(e,t){!k&&P&&P({direction:e>t?"top":"bottom"})})),J=(0,w.Z)(z,2),$=J[0],ee=J[1],ne=(0,v.useState)([0,0]),ce=(0,w.Z)(ne,2),le=ce[0],me=ce[1],ge=(0,v.useState)([0,0]),Se=(0,w.Z)(ge,2),de=Se[0],fe=Se[1],he=(0,v.useState)([0,0]),pe=(0,w.Z)(he,2),Ie=pe[0],Ce=pe[1],De=(0,v.useState)([0,0]),Ee=(0,w.Z)(De,2),Me=Ee[0],Ae=Ee[1],Pe=function(e){var t=(0,v.useRef)([]),n=(0,v.useState)({}),r=(0,w.Z)(n,2)[1],a=(0,v.useRef)("function"===typeof e?e():e),i=W((function(){var e=a.current;t.current.forEach((function(t){e=t(e)})),t.current=[],a.current=e,r({})}));return[a.current,function(e){t.current.push(e),i()}]}(new Map),Te=(0,w.Z)(Pe,2),Oe=Te[0],ye=Te[1],Re=function(e,t,n){return(0,v.useMemo)((function(){for(var n,r=new Map,a=t.get(null===(n=e[0])||void 0===n?void 0:n.key)||X,i=a.left+a.width,o=0;oUe?Ue:e}k&&f?(Fe=0,Ue=Math.max(0,Ne-we)):(Fe=Math.min(0,we-Ne),Ue=0);var Ge=(0,v.useRef)(),qe=(0,v.useState)(),Ve=(0,w.Z)(qe,2),Be=Ve[0],Qe=Ve[1];function He(){Qe(Date.now())}function je(){window.clearTimeout(Ge.current)}!function(e,t){var n=(0,v.useState)(),r=(0,w.Z)(n,2),a=r[0],i=r[1],o=(0,v.useState)(0),s=(0,w.Z)(o,2),u=s[0],c=s[1],l=(0,v.useState)(0),m=(0,w.Z)(l,2),g=m[0],S=m[1],d=(0,v.useState)(),f=(0,w.Z)(d,2),h=f[0],p=f[1],I=(0,v.useRef)(),C=(0,v.useRef)(),D=(0,v.useRef)(null);D.current={onTouchStart:function(e){var t=e.touches[0],n=t.screenX,r=t.screenY;i({x:n,y:r}),window.clearInterval(I.current)},onTouchMove:function(e){if(a){e.preventDefault();var n=e.touches[0],r=n.screenX,o=n.screenY;i({x:r,y:o});var s=r-a.x,v=o-a.y;t(s,v);var l=Date.now();c(l),S(l-u),p({x:s,y:v})}},onTouchEnd:function(){if(a&&(i(null),p(null),h)){var e=h.x/g,n=h.y/g,r=Math.abs(e),o=Math.abs(n);if(Math.max(r,o)<.1)return;var s=e,v=n;I.current=window.setInterval((function(){Math.abs(s)<.01&&Math.abs(v)<.01?window.clearInterval(I.current):t(20*(s*=ae),20*(v*=ae))}),20)}},onWheel:function(e){var n=e.deltaX,r=e.deltaY,a=0,i=Math.abs(n),o=Math.abs(r);i===o?a="x"===C.current?n:r:i>o?(a=n,C.current="x"):(a=r,C.current="y"),t(-a,-a)&&e.preventDefault()}},v.useEffect((function(){function t(e){D.current.onTouchMove(e)}function n(e){D.current.onTouchEnd(e)}return document.addEventListener("touchmove",t,{passive:!1}),document.addEventListener("touchend",n,{passive:!1}),e.current.addEventListener("touchstart",(function(e){D.current.onTouchStart(e)}),{passive:!1}),e.current.addEventListener("wheel",(function(e){D.current.onWheel(e)})),function(){document.removeEventListener("touchmove",t),document.removeEventListener("touchend",n)}}),[])}(R,(function(e,t){function n(e,t){e((function(e){return ke(e+t)}))}return!(_e>=Ne)&&(k?n(Z,e):n(ee,t),je(),He(),!0)})),(0,v.useEffect)((function(){return je(),Be&&(Ge.current=window.setTimeout((function(){Qe(0)}),100)),je}),[Be]);var We=function(e,t,n,r,a,i,o){var s,u,c,l=o.tabs,m=o.tabPosition,g=o.rtl;return["top","bottom"].includes(m)?(s="width",u=g?"right":"left",c=Math.abs(n)):(s="height",u="top",c=-n),(0,v.useMemo)((function(){if(!l.length)return[0,0];for(var n=l.length,r=n,a=0;ac+t){r=a-1;break}}for(var o=0,v=n-1;v>=0;v-=1)if((e.get(l[v].key)||Y)[u]0&&void 0!==arguments[0]?arguments[0]:S,t=Re.get(e)||{width:0,height:0,left:0,right:0,top:0};if(k){var n=B;f?t.rightB+we&&(n=t.right+t.width-we):t.left<-B?n=-t.left:t.left+t.width>-B+we&&(n=-(t.left+t.width-we)),ee(0),Z(ke(n))}else{var r=$;t.top<-$?r=-t.top:t.top+t.height>-$+we&&(r=-(t.top+t.height-we)),Z(0),ee(ke(r))}},Ye={};"top"===C||"bottom"===C?Ye[f?"marginRight":"marginLeft"]=D:Ye.marginTop=D;var Je=u.map((function(e,t){var n=e.key;return v.createElement(K,{id:m,prefixCls:s,key:n,tab:e,style:0===t?void 0:Ye,closable:e.closable,editable:p,active:n===S,renderWrapper:E,removeAriaLabel:null===I||void 0===I?void 0:I.removeAriaLabel,ref:F(n),onClick:function(e){A(n,e)},onRemove:function(){U(n)},onFocus:function(){Xe(n),He(),R.current&&(f||(R.current.scrollLeft=0),R.current.scrollTop=0)}})}));(0,v.useEffect)((function(){ye((function(){var e=new Map;return u.forEach((function(t){var n=t.key,r=F(n).current;r&&e.set(n,{width:r.offsetWidth,height:r.offsetHeight,left:r.offsetLeft,top:r.offsetTop})})),e}))}),[u.map((function(e){return e.key})).join("_")]);var $e=W((function(){var e=ve(T),t=ve(O),n=ve(y);me([e[0]-t[0]-n[0],e[1]-t[1]-n[1]]);var r=ve(b);Ce(r);var a=ve(N);Ae(a);var i=ve(_);fe([i[0]-r[0],i[1]-r[1]])})),et=u.slice(0,ze),tt=u.slice(Ke+1),nt=[].concat((0,M.Z)(et),(0,M.Z)(tt)),rt=(0,v.useState)(),at=(0,w.Z)(rt,2),it=at[0],ot=at[1],st=Re.get(S),vt=(0,v.useRef)();function ut(){Q.Z.cancel(vt.current)}(0,v.useEffect)((function(){var e={};return st&&(k?(f?e.right=st.right:e.left=st.left,e.width=st.width):(e.top=st.top,e.height=st.height)),ut(),vt.current=(0,Q.Z)((function(){ot(e)})),ut}),[st,k,f]),(0,v.useEffect)((function(){Xe()}),[S,oe(st),oe(Re),k]),(0,v.useEffect)((function(){$e()}),[f]);var ct,lt,mt,gt,St=!!nt.length,dt="".concat(s,"-nav-wrap");return k?f?(lt=B>0,ct=B+_e0&&void 0!==arguments[0]?arguments[0]:{inkBar:!0,tabPane:!1};return(e=!1===t?{inkBar:!1,tabPane:!1}:!0===t?{inkBar:!0,tabPane:!1}:(0,d.Z)({inkBar:!0},"object"===(0,l.Z)(t)?t:{})).tabPaneMotion&&void 0===e.tabPane&&(e.tabPane=!0),!e.tabPaneMotion&&e.tabPane&&(e.tabPane=!1),e}(p),H=(0,v.useState)(!1),j=(0,w.Z)(H,2),W=j[0],Z=j[1];(0,v.useEffect)((function(){Z((0,F.Z)())}),[]);var z=(0,U.Z)((function(){var e;return null===(e=q[0])||void 0===e?void 0:e.key}),{value:S,defaultValue:f}),K=(0,w.Z)(z,2),X=K[0],Y=K[1],J=(0,v.useState)((function(){return q.findIndex((function(e){return e.key===X}))})),$=(0,w.Z)(J,2),ee=$[0],te=$[1];(0,v.useEffect)((function(){var e,t=q.findIndex((function(e){return e.key===X}));-1===t&&(t=Math.max(0,Math.min(ee,q.length-1)),Y(null===(e=q[t])||void 0===e?void 0:e.key));te(t)}),[q.map((function(e){return e.key})).join("_"),X,ee]);var ne=(0,U.Z)(null,{value:i}),re=(0,w.Z)(ne,2),ae=re[0],ie=re[1];(0,v.useEffect)((function(){i||(ie("rc-tabs-".concat(fe)),fe+=1)}),[]);var oe={id:ae,activeKey:X,animated:Q,tabPosition:C,rtl:V,mobile:W},se=(0,d.Z)((0,d.Z)({},oe),{},{editable:h,locale:A,moreIcon:P,moreTransitionName:T,tabBarGutter:D,onTabClick:function(e,t){null===_||void 0===_||_(e,t);var n=e!==X;Y(e),n&&(null===R||void 0===R||R(e))},onTabScroll:N,extra:M,style:E,panes:null,getPopupContainer:b,popupClassName:L});return v.createElement(G.Provider,{value:{tabs:q,prefixCls:u}},v.createElement("div",(0,a.Z)({ref:t,id:i,className:o()(u,"".concat(u,"-").concat(C),(n={},(0,r.Z)(n,"".concat(u,"-mobile"),W),(0,r.Z)(n,"".concat(u,"-editable"),h),(0,r.Z)(n,"".concat(u,"-rtl"),V),n),c)},k),undefined,v.createElement(Se,(0,a.Z)({},se,{renderTabBar:y})),v.createElement(B,(0,a.Z)({destroyInactiveTabPane:O},oe,{animated:Q}))))}const pe=v.forwardRef(he);var Ie=n(9464),Ce={motionAppear:!1,motionEnter:!0,motionLeave:!0};var De=n(5501),Ee=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a1&&void 0!==arguments[1]?arguments[1]:{inkBar:!0,tabPane:!1};return(t=!1===n?{inkBar:!1,tabPane:!1}:!0===n?{inkBar:!0,tabPane:!0}:(0,a.Z)({inkBar:!0},"object"===(0,l.Z)(n)?n:{})).tabPane&&(t.tabPaneMotion=(0,a.Z)((0,a.Z)({},Ce),{motionName:(0,Ie.mL)(e,"switch")})),t}(O,p);return v.createElement(c.Z.Consumer,null,(function(e){var u,c=void 0!==s?s:e;return v.createElement(pe,(0,a.Z)({direction:P,getPopupContainer:T,moreTransitionName:"".concat(y,"-slide-up")},I,{items:N,className:o()((u={},(0,r.Z)(u,"".concat(O,"-").concat(c),c),(0,r.Z)(u,"".concat(O,"-card"),["card","editable-card"].includes(n)),(0,r.Z)(u,"".concat(O,"-editable-card"),"editable-card"===n),(0,r.Z)(u,"".concat(O,"-centered"),S),u),i),editable:t,moreIcon:E,prefixCls:O,animated:b}))}))}Pe.TabPane=Me;const Te=Pe;var Oe=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a{"use strict";n.d(t,{Z:()=>A});var r=n(4942),a=n(7462),i=n(1694),o=n.n(i),s=n(8083),v=n(2791),u=n(1929),c=n(1940),l=n(3433),m=n(9439),g=n(1818),S=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a0&&(i=L().map((function(e){return v.createElement(E,{prefixCls:w,key:e.value.toString(),disabled:"disabled"in e?e.disabled:C.disabled,value:e.value,checked:O.includes(e.value),onChange:e.onChange,className:"".concat(x,"-item"),style:e.style},e.label)})));var U={toggleOption:function(e){var t=O.indexOf(e.value),n=(0,l.Z)(O);-1===t?n.push(e.value):n.splice(t,1),"value"in C||y(n);var r=L();null===I||void 0===I||I(n.filter((function(e){return N.includes(e)})).sort((function(e,t){return r.findIndex((function(t){return t.value===e}))-r.findIndex((function(e){return e.value===t}))})))},value:O,disabled:C.disabled,name:C.name,registerValue:function(e){b((function(t){return[].concat((0,l.Z)(t),[e])}))},cancelValue:function(e){b((function(t){return t.filter((function(t){return t!==e}))}))}},k=o()(x,(0,r.Z)({},"".concat(x,"-rtl"),"rtl"===A),h);return v.createElement("div",(0,a.Z)({className:k,style:p},F,{ref:t}),v.createElement(d.Provider,{value:U},i))},h=v.forwardRef(f);const p=v.memo(h);var I=n(9125),C=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a{"use strict";n.d(t,{Z:()=>r});const r=n(9752).Z},7908:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(2791),a=n(1929),i=n(9421);const o=function(e){return r.createElement(a.C,null,(function(t){var n=(0,t.getPrefixCls)("empty");switch(e){case"Table":case"List":return r.createElement(i.Z,{image:i.Z.PRESENTED_IMAGE_SIMPLE});case"Select":case"TreeSelect":case"Cascader":case"Transfer":case"Mentions":return r.createElement(i.Z,{image:i.Z.PRESENTED_IMAGE_SIMPLE,className:"".concat(n,"-small")});default:return r.createElement(i.Z,null)}}))}},394:(e,t,n)=>{"use strict";n.d(t,{K:()=>I,Z:()=>M});var r=n(4942),a=n(9439),i=n(1002),o=n(1694),s=n.n(o),v=n(5501),u=n(2791),c=n(1929),l=n(1113),m=n(8295);const g=function(e){return e.children};var S=n(7462);function d(e){return void 0!==e&&null!==e}const f=function(e){var t,n=e.itemPrefixCls,a=e.component,i=e.span,o=e.className,v=e.style,c=e.labelStyle,l=e.contentStyle,m=e.bordered,g=e.label,S=e.content,f=e.colon,h=a;return m?u.createElement(h,{className:s()((t={},(0,r.Z)(t,"".concat(n,"-item-label"),d(g)),(0,r.Z)(t,"".concat(n,"-item-content"),d(S)),t),o),style:v,colSpan:i},d(g)&&u.createElement("span",{style:c},g),d(S)&&u.createElement("span",{style:l},S)):u.createElement(h,{className:s()("".concat(n,"-item"),o),style:v,colSpan:i},u.createElement("div",{className:"".concat(n,"-item-container")},(g||0===g)&&u.createElement("span",{className:s()("".concat(n,"-item-label"),(0,r.Z)({},"".concat(n,"-item-no-colon"),!f)),style:c},g),(S||0===S)&&u.createElement("span",{className:s()("".concat(n,"-item-content")),style:l},S)))};function h(e,t,n){var r=t.colon,a=t.prefixCls,i=t.bordered,o=n.component,s=n.type,v=n.showLabel,c=n.showContent,l=n.labelStyle,m=n.contentStyle;return e.map((function(e,t){var n=e.props,g=n.label,d=n.children,h=n.prefixCls,p=void 0===h?a:h,I=n.className,C=n.style,D=n.labelStyle,E=n.contentStyle,M=n.span,A=void 0===M?1:M,P=e.key;return"string"===typeof o?u.createElement(f,{key:"".concat(s,"-").concat(P||t),className:I,style:C,labelStyle:(0,S.Z)((0,S.Z)({},l),D),contentStyle:(0,S.Z)((0,S.Z)({},m),E),span:A,colon:r,component:o,itemPrefixCls:p,bordered:i,label:v?g:null,content:c?d:null}):[u.createElement(f,{key:"label-".concat(P||t),className:I,style:(0,S.Z)((0,S.Z)((0,S.Z)({},l),C),D),span:1,colon:r,component:o[0],itemPrefixCls:p,bordered:i,label:g}),u.createElement(f,{key:"content-".concat(P||t),className:I,style:(0,S.Z)((0,S.Z)((0,S.Z)({},m),C),E),span:2*A-1,component:o[1],itemPrefixCls:p,bordered:i,content:d})]}))}const p=function(e){var t=u.useContext(I),n=e.prefixCls,r=e.vertical,a=e.row,i=e.index,o=e.bordered;return r?u.createElement(u.Fragment,null,u.createElement("tr",{key:"label-".concat(i),className:"".concat(n,"-row")},h(a,e,(0,S.Z)({component:"th",type:"label",showLabel:!0},t))),u.createElement("tr",{key:"content-".concat(i),className:"".concat(n,"-row")},h(a,e,(0,S.Z)({component:"td",type:"content",showContent:!0},t)))):u.createElement("tr",{key:i,className:"".concat(n,"-row")},h(a,e,(0,S.Z)({component:o?["th","td"]:"td",type:"item",showLabel:!0,showContent:!0},t)))};var I=u.createContext({}),C={xxl:3,xl:3,lg:3,md:3,sm:2,xs:1};function D(e,t,n){var r=e;return(void 0===t||t>n)&&(r=(0,l.Tm)(e,{span:n})),r}function E(e){var t,n=e.prefixCls,o=e.title,l=e.extra,g=e.column,S=void 0===g?C:g,d=e.colon,f=void 0===d||d,h=e.bordered,E=e.layout,M=e.children,A=e.className,P=e.style,T=e.size,O=e.labelStyle,y=e.contentStyle,R=u.useContext(c.E_),_=R.getPrefixCls,N=R.direction,b=_("descriptions",n),L=u.useState({}),w=(0,a.Z)(L,2),x=w[0],F=w[1],U=function(e,t){if("number"===typeof e)return e;if("object"===(0,i.Z)(e))for(var n=0;n{"use strict";n.d(t,{Z:()=>c});var r=n(7462),a=n(4942),i=n(1694),o=n.n(i),s=n(2791),v=n(1929),u=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a0?"-".concat(d):d,A=!!p,P="left"===d&&null!=f,T="right"===d&&null!=f,O=o()(E,"".concat(E,"-").concat(g),(t={},(0,a.Z)(t,"".concat(E,"-with-text"),A),(0,a.Z)(t,"".concat(E,"-with-text").concat(M),A),(0,a.Z)(t,"".concat(E,"-dashed"),!!I),(0,a.Z)(t,"".concat(E,"-plain"),!!C),(0,a.Z)(t,"".concat(E,"-rtl"),"rtl"===c),(0,a.Z)(t,"".concat(E,"-no-default-orientation-margin-left"),P),(0,a.Z)(t,"".concat(E,"-no-default-orientation-margin-right"),T),t),h),y=(0,r.Z)((0,r.Z)({},P&&{marginLeft:f}),T&&{marginRight:f});return s.createElement("div",(0,r.Z)({className:O},D,{role:"separator"}),p&&"vertical"!==g&&s.createElement("span",{className:"".concat(E,"-inner-text"),style:y},p))}},7382:(e,t,n)=>{"use strict";n.d(t,{Z:()=>R});var r=n(7462),a=n(1002),i=n(4942),o=n(9439),s=n(1938),v=n(1694),u=n.n(v),c=n(3241),l=n(3739),m=n(5179),g=n(2791),S=n(6014),d=n(1929),f=n(1678),h=n(9631),p=n(1113),I=n(9393),C=n(5033),D=n(7309),E=n(11),M=n(3099),A=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a{"use strict";n.d(t,{Z:()=>f});var r=n(4942),a=n(7462),i=n(1694),o=n.n(i),s=n(2791),v=n(1929),u=n(3486);const c=function(){var e=(0,s.useContext(v.E_).getPrefixCls)("empty-img-default");return s.createElement("svg",{className:e,width:"184",height:"152",viewBox:"0 0 184 152",xmlns:"http://www.w3.org/2000/svg"},s.createElement("g",{fill:"none",fillRule:"evenodd"},s.createElement("g",{transform:"translate(24 31.67)"},s.createElement("ellipse",{className:"".concat(e,"-ellipse"),cx:"67.797",cy:"106.89",rx:"67.797",ry:"12.668"}),s.createElement("path",{className:"".concat(e,"-path-1"),d:"M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z"}),s.createElement("path",{className:"".concat(e,"-path-2"),d:"M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z",transform:"translate(13.56)"}),s.createElement("path",{className:"".concat(e,"-path-3"),d:"M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z"}),s.createElement("path",{className:"".concat(e,"-path-4"),d:"M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z"})),s.createElement("path",{className:"".concat(e,"-path-5"),d:"M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z"}),s.createElement("g",{className:"".concat(e,"-g"),transform:"translate(149.65 15.383)"},s.createElement("ellipse",{cx:"20.654",cy:"3.167",rx:"2.849",ry:"2.815"}),s.createElement("path",{d:"M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z"}))))};const l=function(){var e=(0,s.useContext(v.E_).getPrefixCls)("empty-img-simple");return s.createElement("svg",{className:e,width:"64",height:"41",viewBox:"0 0 64 41",xmlns:"http://www.w3.org/2000/svg"},s.createElement("g",{transform:"translate(0 1)",fill:"none",fillRule:"evenodd"},s.createElement("ellipse",{className:"".concat(e,"-ellipse"),cx:"32",cy:"33",rx:"32",ry:"7"}),s.createElement("g",{className:"".concat(e,"-g"),fillRule:"nonzero"},s.createElement("path",{d:"M55 12.76L44.854 1.258C44.367.474 43.656 0 42.907 0H21.093c-.749 0-1.46.474-1.947 1.257L9 12.761V22h46v-9.24z"}),s.createElement("path",{d:"M41.613 15.931c0-1.605.994-2.93 2.227-2.931H55v18.137C55 33.26 53.68 35 52.05 35h-40.1C10.32 35 9 33.259 9 31.137V13h11.16c1.233 0 2.227 1.323 2.227 2.928v.022c0 1.605 1.005 2.901 2.237 2.901h14.752c1.232 0 2.237-1.308 2.237-2.913v-.007z",className:"".concat(e,"-path")}))))};var m=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a{"use strict";n.d(t,{Z:()=>r});const r=(0,n(2791).createContext)({})},9752:(e,t,n)=>{"use strict";n.d(t,{Z:()=>g});var r=n(4942),a=n(7462),i=n(1002),o=n(1694),s=n.n(o),v=n(2791),u=n(1929),c=n(9426),l=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a0){var w=f[0]/2;L.paddingLeft=w,L.paddingRight=w}if(f&&f[1]>0&&!p){var x=f[1]/2;L.paddingTop=x,L.paddingBottom=x}return O&&(L.flex=function(e){return"number"===typeof e?"".concat(e," ").concat(e," auto"):/^\d+(\.\d+)?(px|em|rem|%)$/.test(e)?"0 0 ".concat(e):e}(O),!1!==h||L.minWidth||(L.minWidth=0)),v.createElement("div",(0,a.Z)({},R,{style:(0,a.Z)((0,a.Z)({},L),y),className:b,ref:t}),T)}))},2832:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(2791),a=n(9581),i=n(8295);const o=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=(0,r.useRef)({}),n=(0,a.Z)();return(0,r.useEffect)((function(){var r=i.ZP.subscribe((function(r){t.current=r,e&&n()}));return function(){return i.ZP.unsubscribe(r)}}),[]),t.current}},7545:(e,t,n)=>{"use strict";n.d(t,{Z:()=>h});var r=n(7462),a=n(4942),i=n(1002),o=n(9439),s=n(1694),v=n.n(s),u=n(2791),c=n(1929),l=n(9911),m=n(8295),g=n(9393),S=n(9426),d=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a0?V[0]/-2:void 0,j=null!=V[1]&&V[1]>0?V[1]/-2:void 0;if(H&&(Q.marginLeft=H,Q.marginRight=H),k){var W=(0,o.Z)(V,2);Q.rowGap=W[1]}else j&&(Q.marginTop=j,Q.marginBottom=j);var Z=(0,o.Z)(V,2),z=Z[0],K=Z[1],X=u.useMemo((function(){return{gutter:[z,K],wrap:M,supportFlexGap:k}}),[z,K,M,k]);return u.createElement(S.Z.Provider,{value:X},u.createElement("div",(0,r.Z)({},A,{className:B,style:(0,r.Z)((0,r.Z)({},Q),I),ref:t}),C))}))},3344:(e,t,n)=>{"use strict";n.d(t,{Z:()=>X});var r=n(7462),a=n(4942),i=n(1002),o=n(9439),s=n(7295),v=n(1413),u=n(2791);const c={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z"}}]},name:"up",theme:"outlined"};var l=n(4291),m=function(e,t){return u.createElement(l.Z,(0,v.Z)((0,v.Z)({},e),{},{ref:t,icon:c}))};m.displayName="UpOutlined";const g=u.forwardRef(m);var S=n(1694),d=n.n(S),f=n(4925),h=n(1354),p=n(1605),I=n(8834),C=n(5671),D=n(3144);function E(){return"function"===typeof BigInt}function M(e){var t=e.trim(),n=t.startsWith("-");n&&(t=t.slice(1)),(t=t.replace(/(\.\d*[^0])0*$/,"$1").replace(/\.0*$/,"").replace(/^0+/,"")).startsWith(".")&&(t="0".concat(t));var r=t||"0",a=r.split("."),i=a[0]||"0",o=a[1]||"0";"0"===i&&"0"===o&&(n=!1);var s=n?"-":"";return{negative:n,negativeStr:s,trimStr:r,integerStr:i,decimalStr:o,fullStr:"".concat(s).concat(r)}}function A(e){var t=String(e);return!Number.isNaN(Number(t))&&t.includes("e")}function P(e){var t=String(e);if(A(e)){var n=Number(t.slice(t.indexOf("e-")+2)),r=t.match(/\.(\d+)/);return(null===r||void 0===r?void 0:r[1])&&(n+=r[1].length),n}return t.includes(".")&&O(t)?t.length-t.indexOf(".")-1:0}function T(e){var t=String(e);if(A(e)){if(e>Number.MAX_SAFE_INTEGER)return String(E()?BigInt(e).toString():Number.MAX_SAFE_INTEGER);if(eNumber.MAX_SAFE_INTEGER)return new e(Number.MAX_SAFE_INTEGER);if(r0&&void 0!==arguments[0])||arguments[0];return e?this.isInvalidate()?"":T(this.number):this.origin}}]),e}(),_=function(){function e(t){if((0,C.Z)(this,e),this.origin="",this.negative=void 0,this.integer=void 0,this.decimal=void 0,this.decimalLen=void 0,this.empty=void 0,this.nan=void 0,(t||0===t)&&String(t).trim())if(this.origin=String(t),"-"!==t){var n=t;if(A(n)&&(n=Number(n)),O(n="string"===typeof n?n:T(n))){var r=M(n);this.negative=r.negative;var a=r.trimStr.split(".");this.integer=BigInt(a[0]);var i=a[1]||"0";this.decimal=BigInt(i),this.decimalLen=i.length}else this.nan=!0}else this.nan=!0;else this.empty=!0}return(0,D.Z)(e,[{key:"getMark",value:function(){return this.negative?"-":""}},{key:"getIntegerStr",value:function(){return this.integer.toString()}},{key:"getDecimalStr",value:function(){return this.decimal.toString().padStart(this.decimalLen,"0")}},{key:"alignDecimal",value:function(e){var t="".concat(this.getMark()).concat(this.getIntegerStr()).concat(this.getDecimalStr().padEnd(e,"0"));return BigInt(t)}},{key:"negate",value:function(){var t=new e(this.toString());return t.negative=!t.negative,t}},{key:"add",value:function(t){if(this.isInvalidate())return new e(t);var n=new e(t);if(n.isInvalidate())return this;var r=Math.max(this.getDecimalStr().length,n.getDecimalStr().length),a=M((this.alignDecimal(r)+n.alignDecimal(r)).toString()),i=a.negativeStr,o=a.trimStr,s="".concat(i).concat(o.padStart(r+1,"0"));return new e("".concat(s.slice(0,-r),".").concat(s.slice(-r)))}},{key:"isEmpty",value:function(){return this.empty}},{key:"isNaN",value:function(){return this.nan}},{key:"isInvalidate",value:function(){return this.isEmpty()||this.isNaN()}},{key:"equals",value:function(e){return this.toString()===(null===e||void 0===e?void 0:e.toString())}},{key:"lessEquals",value:function(e){return this.add(e.negate().toString()).toNumber()<=0}},{key:"toNumber",value:function(){return this.isNaN()?NaN:Number(this.toString())}},{key:"toString",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return e?this.isInvalidate()?"":M("".concat(this.getMark()).concat(this.getIntegerStr(),".").concat(this.getDecimalStr())).fullStr:this.origin}}]),e}();function N(e){return E()?new _(e):new R(e)}function b(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(""===e)return"";var a=M(e),i=a.negativeStr,o=a.integerStr,s=a.decimalStr,v="".concat(t).concat(s),u="".concat(i).concat(o);if(n>=0){var c=Number(s[n]);if(c>=5&&!r){var l=N(e).add("".concat(i,"0.").concat("0".repeat(n)).concat(10-c));return b(l.toString(),t,n,r)}return 0===n?u:"".concat(u).concat(t).concat(s.padEnd(n,"0").slice(0,n))}return".0"===v?u:"".concat(u).concat(v)}var L=n(3786);function w(e){var t=e.prefixCls,n=e.upNode,i=e.downNode,o=e.upDisabled,s=e.downDisabled,v=e.onStep,c=u.useRef(),l=u.useRef();l.current=v;var m=function(e,t){e.preventDefault(),l.current(t),c.current=setTimeout((function e(){l.current(t),c.current=setTimeout(e,200)}),600)},g=function(){clearTimeout(c.current)};if(u.useEffect((function(){return g}),[]),(0,L.Z)())return null;var S="".concat(t,"-handler"),f=d()(S,"".concat(S,"-up"),(0,a.Z)({},"".concat(S,"-up-disabled"),o)),h=d()(S,"".concat(S,"-down"),(0,a.Z)({},"".concat(S,"-down-disabled"),s)),p={unselectable:"on",role:"button",onMouseUp:g,onMouseLeave:g};return u.createElement("div",{className:"".concat(S,"-wrap")},u.createElement("span",(0,r.Z)({},p,{onMouseDown:function(e){m(e,!0)},"aria-label":"Increase Value","aria-disabled":o,className:f}),n||u.createElement("span",{unselectable:"on",className:"".concat(t,"-handler-up-inner")})),u.createElement("span",(0,r.Z)({},p,{onMouseDown:function(e){m(e,!1)},"aria-label":"Decrease Value","aria-disabled":s,className:h}),i||u.createElement("span",{unselectable:"on",className:"".concat(t,"-handler-down-inner")})))}var x=n(632);var F=n(5314);var U=["prefixCls","className","style","min","max","step","defaultValue","value","disabled","readOnly","upHandler","downHandler","keyboard","controls","stringMode","parser","formatter","precision","decimalSeparator","onChange","onInput","onPressEnter","onStep"],k=function(e,t){return e||t.isEmpty()?t.toString():t.toNumber()},G=function(e){var t=N(e);return t.isInvalidate()?null:t},q=u.forwardRef((function(e,t){var n,s=e.prefixCls,v=void 0===s?"rc-input-number":s,c=e.className,l=e.style,m=e.min,g=e.max,S=e.step,C=void 0===S?1:S,D=e.defaultValue,E=e.value,M=e.disabled,A=e.readOnly,R=e.upHandler,_=e.downHandler,L=e.keyboard,q=e.controls,V=void 0===q||q,B=e.stringMode,Q=e.parser,H=e.formatter,j=e.precision,W=e.decimalSeparator,Z=e.onChange,z=e.onInput,K=e.onPressEnter,X=e.onStep,Y=(0,f.Z)(e,U),J="".concat(v,"-input"),$=u.useRef(null),ee=u.useState(!1),te=(0,o.Z)(ee,2),ne=te[0],re=te[1],ae=u.useRef(!1),ie=u.useRef(!1),oe=u.useRef(!1),se=u.useState((function(){return N(null!==E&&void 0!==E?E:D)})),ve=(0,o.Z)(se,2),ue=ve[0],ce=ve[1];var le=u.useCallback((function(e,t){if(!t)return j>=0?j:Math.max(P(e),P(C))}),[j,C]),me=u.useCallback((function(e){var t=String(e);if(Q)return Q(t);var n=t;return W&&(n=n.replace(W,".")),n.replace(/[^\w.-]+/g,"")}),[Q,W]),ge=u.useRef(""),Se=u.useCallback((function(e,t){if(H)return H(e,{userTyping:t,input:String(ge.current)});var n="number"===typeof e?T(e):e;if(!t){var r=le(n,t);if(O(n)&&(W||r>=0))n=b(n,W||".",r)}return n}),[H,le,W]),de=u.useState((function(){var e=null!==D&&void 0!==D?D:E;return ue.isInvalidate()&&["string","number"].includes((0,i.Z)(e))?Number.isNaN(e)?"":e:Se(ue.toString(),!1)})),fe=(0,o.Z)(de,2),he=fe[0],pe=fe[1];function Ie(e,t){pe(Se(e.isInvalidate()?e.toString(!1):e.toString(!t),t))}ge.current=he;var Ce=u.useMemo((function(){return G(g)}),[g,j]),De=u.useMemo((function(){return G(m)}),[m,j]),Ee=u.useMemo((function(){return!(!Ce||!ue||ue.isInvalidate())&&Ce.lessEquals(ue)}),[Ce,ue]),Me=u.useMemo((function(){return!(!De||!ue||ue.isInvalidate())&&ue.lessEquals(De)}),[De,ue]),Ae=function(e,t){var n=(0,u.useRef)(null);return[function(){try{var t=e.selectionStart,r=e.selectionEnd,a=e.value,i=a.substring(0,t),o=a.substring(r);n.current={start:t,end:r,value:a,beforeTxt:i,afterTxt:o}}catch(s){}},function(){if(e&&n.current&&t)try{var r=e.value,a=n.current,i=a.beforeTxt,o=a.afterTxt,s=a.start,v=r.length;if(r.endsWith(o))v=r.length-n.current.afterTxt.length;else if(r.startsWith(i))v=i.length;else{var u=i[s-1],c=r.indexOf(u,s-1);-1!==c&&(v=c+1)}e.setSelectionRange(v,v)}catch(l){(0,x.ZP)(!1,"Something warning of cursor restore. Please fire issue about this: ".concat(l.message))}}]}($.current,ne),Pe=(0,o.Z)(Ae,2),Te=Pe[0],Oe=Pe[1],ye=function(e){return Ce&&!e.lessEquals(Ce)?Ce:De&&!De.lessEquals(e)?De:null},Re=function(e){return!ye(e)},_e=function(e,t){var n,r=e,a=Re(r)||r.isEmpty();if(r.isEmpty()||t||(r=ye(r)||r,a=!0),!A&&!M&&a){var i=r.toString(),o=le(i,t);return o>=0&&(r=N(b(i,".",o)),Re(r)||(r=N(b(i,".",o,!0)))),r.equals(ue)||(n=r,void 0===E&&ce(n),null===Z||void 0===Z||Z(r.isEmpty()?null:k(B,r)),void 0===E&&Ie(r,t)),r}return ue},Ne=function(){var e=(0,u.useRef)(0),t=function(){F.Z.cancel(e.current)};return(0,u.useEffect)((function(){return t}),[]),function(n){t(),e.current=(0,F.Z)((function(){n()}))}}(),be=function e(t){if(Te(),pe(t),!ie.current){var n=N(me(t));n.isNaN()||_e(n,!0)}null===z||void 0===z||z(t),Ne((function(){var n=t;Q||(n=t.replace(/\u3002/g,".")),n!==t&&e(n)}))},Le=function(e){var t;if(!(e&&Ee||!e&&Me)){ae.current=!1;var n=N(oe.current?y(C):C);e||(n=n.negate());var r=(ue||N(0)).add(n.toString()),a=_e(r,!1);null===X||void 0===X||X(k(B,a),{offset:oe.current?y(C):C,type:e?"up":"down"}),null===(t=$.current)||void 0===t||t.focus()}},we=function(e){var t=N(me(he)),n=t;n=t.isNaN()?ue:_e(t,e),void 0!==E?Ie(ue,!1):n.isNaN()||Ie(n,!1)};return(0,p.o)((function(){ue.isInvalidate()||Ie(ue,!1)}),[j]),(0,p.o)((function(){var e=N(E);ce(e);var t=N(me(he));e.equals(t)&&ae.current&&!H||Ie(e,ae.current)}),[E]),(0,p.o)((function(){H&&Oe()}),[he]),u.createElement("div",{className:d()(v,c,(n={},(0,a.Z)(n,"".concat(v,"-focused"),ne),(0,a.Z)(n,"".concat(v,"-disabled"),M),(0,a.Z)(n,"".concat(v,"-readonly"),A),(0,a.Z)(n,"".concat(v,"-not-a-number"),ue.isNaN()),(0,a.Z)(n,"".concat(v,"-out-of-range"),!ue.isInvalidate()&&!Re(ue)),n)),style:l,onFocus:function(){re(!0)},onBlur:function(){we(!1),re(!1),ae.current=!1},onKeyDown:function(e){var t=e.which,n=e.shiftKey;ae.current=!0,oe.current=!!n,t===h.Z.ENTER&&(ie.current||(ae.current=!1),we(!1),null===K||void 0===K||K(e)),!1!==L&&!ie.current&&[h.Z.UP,h.Z.DOWN].includes(t)&&(Le(h.Z.UP===t),e.preventDefault())},onKeyUp:function(){ae.current=!1,oe.current=!1},onCompositionStart:function(){ie.current=!0},onCompositionEnd:function(){ie.current=!1,be($.current.value)},onBeforeInput:function(){ae.current=!0}},V&&u.createElement(w,{prefixCls:v,upNode:R,downNode:_,upDisabled:Ee,downDisabled:Me,onStep:Le}),u.createElement("div",{className:"".concat(J,"-wrap")},u.createElement("input",(0,r.Z)({autoComplete:"off",role:"spinbutton","aria-valuemin":m,"aria-valuemax":g,"aria-valuenow":ue.isInvalidate()?null:ue.toString(),step:C},Y,{ref:(0,I.sQ)($,t),className:J,value:he,onChange:function(e){be(e.target.value)},disabled:M,readOnly:A}))))}));q.displayName="InputNumber";const V=q;var B=n(1929),Q=n(9125),H=n(1815),j=n(1940),W=n(11),Z=n(1113),z=n(2866),K=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a{"use strict";n.d(t,{Z:()=>fe});var r=n(7462),a=n(4942),i=n(1694),o=n.n(i),s=n(2791),v=n(1929),u=n(1940);const c=function(e){var t,n=(0,s.useContext)(v.E_),i=n.getPrefixCls,c=n.direction,l=e.prefixCls,m=e.className,g=void 0===m?"":m,S=i("input-group",l),d=o()(S,(t={},(0,a.Z)(t,"".concat(S,"-lg"),"large"===e.size),(0,a.Z)(t,"".concat(S,"-sm"),"small"===e.size),(0,a.Z)(t,"".concat(S,"-compact"),e.compact),(0,a.Z)(t,"".concat(S,"-rtl"),"rtl"===c),t),g),f=(0,s.useContext)(u.aM),h=(0,s.useMemo)((function(){return(0,r.Z)((0,r.Z)({},f),{isFormItemInput:!1})}),[f]);return s.createElement("span",{className:d,style:e.style,onMouseEnter:e.onMouseEnter,onMouseLeave:e.onMouseLeave,onFocus:e.onFocus,onBlur:e.onBlur},s.createElement(u.aM.Provider,{value:h},e.children))};var l=n(1002),m=n(2621);function g(e){return!(!e.addonBefore&&!e.addonAfter)}function S(e){return!!(e.prefix||e.suffix||e.allowClear)}function d(e,t,n,r){if(n){var a=t;if("click"===t.type){var i=e.cloneNode(!0);return a=Object.create(t,{target:{value:i},currentTarget:{value:i}}),i.value="",void n(a)}if(void 0!==r)return a=Object.create(t,{target:{value:e},currentTarget:{value:e}}),e.value=r,void n(a);n(a)}}function f(e){return"undefined"===typeof e||null===e?"":String(e)}const h=function(e){var t=e.inputElement,n=e.prefixCls,r=e.prefix,i=e.suffix,v=e.addonBefore,u=e.addonAfter,c=e.className,m=e.style,d=e.affixWrapperClassName,f=e.groupClassName,h=e.wrapperClassName,p=e.disabled,I=e.readOnly,C=e.focused,D=e.triggerFocus,E=e.allowClear,M=e.value,A=e.handleReset,P=e.hidden,T=(0,s.useRef)(null),O=(0,s.cloneElement)(t,{value:M,hidden:P});if(S(e)){var y,R="".concat(n,"-affix-wrapper"),_=o()(R,(y={},(0,a.Z)(y,"".concat(R,"-disabled"),p),(0,a.Z)(y,"".concat(R,"-focused"),C),(0,a.Z)(y,"".concat(R,"-readonly"),I),(0,a.Z)(y,"".concat(R,"-input-with-clear-btn"),i&&E&&M),y),!g(e)&&c,d),N=(i||E)&&s.createElement("span",{className:"".concat(n,"-suffix")},function(){var e;if(!E)return null;var t=!p&&!I&&M,r="".concat(n,"-clear-icon"),v="object"===(0,l.Z)(E)&&null!==E&&void 0!==E&&E.clearIcon?E.clearIcon:"\u2716";return s.createElement("span",{onClick:A,onMouseDown:function(e){return e.preventDefault()},className:o()(r,(e={},(0,a.Z)(e,"".concat(r,"-hidden"),!t),(0,a.Z)(e,"".concat(r,"-has-suffix"),!!i),e)),role:"button",tabIndex:-1},v)}(),i);O=s.createElement("span",{className:_,style:m,hidden:!g(e)&&P,onClick:function(e){var t;null!==(t=T.current)&&void 0!==t&&t.contains(e.target)&&(null===D||void 0===D||D())},ref:T},r&&s.createElement("span",{className:"".concat(n,"-prefix")},r),(0,s.cloneElement)(t,{style:null,value:M,hidden:null}),N)}if(g(e)){var b="".concat(n,"-group"),L="".concat(b,"-addon"),w=o()("".concat(n,"-wrapper"),b,h),x=o()("".concat(n,"-group-wrapper"),c,f);return s.createElement("span",{className:x,style:m,hidden:P},s.createElement("span",{className:w},v&&s.createElement("span",{className:L},v),(0,s.cloneElement)(O,{style:null,hidden:null}),u&&s.createElement("span",{className:L},u)))}return O};var p=n(3433),I=n(9439),C=n(4925),D=n(1818),E=n(5179),M=["autoComplete","onChange","onFocus","onBlur","onPressEnter","onKeyDown","prefixCls","disabled","htmlSize","className","maxLength","suffix","showCount","type","inputClassName"],A=(0,s.forwardRef)((function(e,t){var n=e.autoComplete,i=e.onChange,v=e.onFocus,u=e.onBlur,c=e.onPressEnter,m=e.onKeyDown,A=e.prefixCls,P=void 0===A?"rc-input":A,T=e.disabled,O=e.htmlSize,y=e.className,R=e.maxLength,_=e.suffix,N=e.showCount,b=e.type,L=void 0===b?"text":b,w=e.inputClassName,x=(0,C.Z)(e,M),F=(0,E.Z)(e.defaultValue,{value:e.value}),U=(0,I.Z)(F,2),k=U[0],G=U[1],q=(0,s.useState)(!1),V=(0,I.Z)(q,2),B=V[0],Q=V[1],H=(0,s.useRef)(null),j=function(e){H.current&&function(e,t){if(e){e.focus(t);var n=(t||{}).cursor;if(n){var r=e.value.length;switch(n){case"start":e.setSelectionRange(0,0);break;case"end":e.setSelectionRange(r,r);break;default:e.setSelectionRange(0,r)}}}}(H.current,e)};(0,s.useImperativeHandle)(t,(function(){return{focus:j,blur:function(){var e;null===(e=H.current)||void 0===e||e.blur()},setSelectionRange:function(e,t,n){var r;null===(r=H.current)||void 0===r||r.setSelectionRange(e,t,n)},select:function(){var e;null===(e=H.current)||void 0===e||e.select()},input:H.current}})),(0,s.useEffect)((function(){Q((function(e){return(!e||!T)&&e}))}),[T]);var W=function(t){void 0===e.value&&G(t.target.value),H.current&&d(H.current,t,i)},Z=function(e){c&&"Enter"===e.key&&c(e),null===m||void 0===m||m(e)},z=function(e){Q(!0),null===v||void 0===v||v(e)},K=function(e){Q(!1),null===u||void 0===u||u(e)};return s.createElement(h,(0,r.Z)({},x,{prefixCls:P,className:y,inputElement:function(){var t=(0,D.Z)(e,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix","allowClear","defaultValue","showCount","affixWrapperClassName","groupClassName","inputClassName","wrapperClassName","htmlSize"]);return s.createElement("input",(0,r.Z)({autoComplete:n},t,{onChange:W,onFocus:z,onBlur:K,onKeyDown:Z,className:o()(P,(0,a.Z)({},"".concat(P,"-disabled"),T),w,!g(e)&&!S(e)&&y),ref:H,size:O,type:L}))}(),handleReset:function(e){G(""),j(),H.current&&d(H.current,e,i)},value:f(k),focused:B,triggerFocus:j,suffix:function(){var e=Number(R)>0;if(_||N){var t=f(k),n=(0,p.Z)(t).length,r="object"===(0,l.Z)(N)?N.formatter({value:t,count:n,maxLength:R}):"".concat(n).concat(e?" / ".concat(R):"");return s.createElement(s.Fragment,null,!!N&&s.createElement("span",{className:o()("".concat(P,"-show-count-suffix"),(0,a.Z)({},"".concat(P,"-show-count-has-suffix"),!!_))},r),_)}return null}(),disabled:T}))}));const P=A;var T=n(8834),O=n(9125),y=n(1815),R=n(11),_=n(2866);function N(e,t){var n=(0,s.useRef)([]),r=function(){n.current.push(setTimeout((function(){var t,n,r,a;(null===(t=e.current)||void 0===t?void 0:t.input)&&"password"===(null===(n=e.current)||void 0===n?void 0:n.input.getAttribute("type"))&&(null===(r=e.current)||void 0===r?void 0:r.input.hasAttribute("value"))&&(null===(a=e.current)||void 0===a||a.input.removeAttribute("value"))})))};return(0,s.useEffect)((function(){return t&&r(),function(){return n.current.forEach((function(e){e&&clearTimeout(e)}))}}),[]),r}var b=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a1&&void 0!==arguments[1]&&arguments[1],n=e.getAttribute("id")||e.getAttribute("data-reactid")||e.getAttribute("name");if(t&&ae[n])return ae[n];var r=window.getComputedStyle(e),a=r.getPropertyValue("box-sizing")||r.getPropertyValue("-moz-box-sizing")||r.getPropertyValue("-webkit-box-sizing"),i=parseFloat(r.getPropertyValue("padding-bottom"))+parseFloat(r.getPropertyValue("padding-top")),o=parseFloat(r.getPropertyValue("border-bottom-width"))+parseFloat(r.getPropertyValue("border-top-width")),s=re.map((function(e){return"".concat(e,":").concat(r.getPropertyValue(e))})).join(";"),v={sizingStyle:s,paddingSize:i,borderSize:o,boxSizing:a};return t&&n&&(ae[n]=v),v}var oe=["prefixCls","onPressEnter","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"];const se=s.forwardRef((function(e,t){var n=e.prefixCls,i=void 0===n?"rc-textarea":n,v=(e.onPressEnter,e.defaultValue),u=e.value,c=e.autoSize,m=e.onResize,g=e.className,S=e.style,d=e.disabled,f=e.onChange,h=(e.onInternalAutoSize,(0,C.Z)(e,oe)),p=(0,E.Z)(v,{value:u,postState:function(e){return null!==e&&void 0!==e?e:""}}),D=(0,I.Z)(p,2),M=D[0],A=D[1],P=s.useRef();s.useImperativeHandle(t,(function(){return{textArea:P.current}}));var T=s.useMemo((function(){return c&&"object"===(0,l.Z)(c)?[c.minRows,c.maxRows]:[]}),[c]),O=(0,I.Z)(T,2),y=O[0],R=O[1],_=!!c,N=s.useState(2),b=(0,I.Z)(N,2),L=b[0],w=b[1],x=s.useState(),F=(0,I.Z)(x,2),U=F[0],k=F[1],G=function(){w(0)};(0,ee.Z)((function(){_&&G()}),[u,y,R,_]),(0,ee.Z)((function(){if(0===L)w(1);else if(1===L){var e=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;Z||((Z=document.createElement("textarea")).setAttribute("tab-index","-1"),Z.setAttribute("aria-hidden","true"),document.body.appendChild(Z)),e.getAttribute("wrap")?Z.setAttribute("wrap",e.getAttribute("wrap")):Z.removeAttribute("wrap");var a=ie(e,t),i=a.paddingSize,o=a.borderSize,s=a.boxSizing,v=a.sizingStyle;Z.setAttribute("style","".concat(v,";").concat(ne)),Z.value=e.value||e.placeholder||"";var u,c=void 0,l=void 0,m=Z.scrollHeight;if("border-box"===s?m+=o:"content-box"===s&&(m-=i),null!==n||null!==r){Z.value=" ";var g=Z.scrollHeight-i;null!==n&&(c=g*n,"border-box"===s&&(c=c+i+o),m=Math.max(c,m)),null!==r&&(l=g*r,"border-box"===s&&(l=l+i+o),u=m>l?"":"hidden",m=Math.min(l,m))}var S={height:m,overflowY:u,resize:"none"};return c&&(S.minHeight=c),l&&(S.maxHeight=l),S}(P.current,!1,y,R);w(2),k(e)}else!function(){try{if(document.activeElement===P.current){var e=P.current,t=e.selectionStart,n=e.selectionEnd,r=e.scrollTop;P.current.setSelectionRange(t,n),P.current.scrollTop=r}}catch(a){}}()}),[L]);var q=s.useRef(),V=function(){te.Z.cancel(q.current)};s.useEffect((function(){return V}),[]);var B=_?U:null,Q=(0,J.Z)((0,J.Z)({},S),B);return 0!==L&&1!==L||(Q.overflowY="hidden",Q.overflowX="hidden"),s.createElement($.Z,{onResize:function(e){2===L&&(null===m||void 0===m||m(e),c&&(V(),q.current=(0,te.Z)((function(){G()}))))},disabled:!(c||m)},s.createElement("textarea",(0,r.Z)({},h,{ref:P,style:Q,className:o()(i,g,(0,a.Z)({},"".concat(i,"-disabled"),d)),disabled:d,value:M,onChange:function(e){A(e.target.value),null===f||void 0===f||f(e)}})))}));const ve=function(e){(0,X.Z)(n,e);var t=(0,Y.Z)(n);function n(e){var r;(0,z.Z)(this,n),(r=t.call(this,e)).resizableTextArea=void 0,r.focus=function(){r.resizableTextArea.textArea.focus()},r.saveTextArea=function(e){r.resizableTextArea=e},r.handleChange=function(e){var t=r.props.onChange;r.setValue(e.target.value),t&&t(e)},r.handleKeyDown=function(e){var t=r.props,n=t.onPressEnter,a=t.onKeyDown;13===e.keyCode&&n&&n(e),a&&a(e)};var a="undefined"===typeof e.value||null===e.value?e.defaultValue:e.value;return r.state={value:a},r}return(0,K.Z)(n,[{key:"setValue",value:function(e,t){"value"in this.props||this.setState({value:e},t)}},{key:"blur",value:function(){this.resizableTextArea.textArea.blur()}},{key:"render",value:function(){return s.createElement(se,(0,r.Z)({},this.props,{value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,ref:this.saveTextArea}))}}],[{key:"getDerivedStateFromProps",value:function(e){return"value"in e?{value:e.value}:null}}]),n}(s.Component);var ue=(0,n(9393).b)("text","input");const ce=function(e){(0,X.Z)(n,e);var t=(0,Y.Z)(n);function n(){return(0,z.Z)(this,n),t.apply(this,arguments)}return(0,K.Z)(n,[{key:"renderClearIcon",value:function(e){var t,n=this.props,r=n.value,i=n.disabled,v=n.readOnly,u=n.handleReset,c=n.suffix,l=!i&&!v&&r,g="".concat(e,"-clear-icon");return s.createElement(m.Z,{onClick:u,onMouseDown:function(e){return e.preventDefault()},className:o()((t={},(0,a.Z)(t,"".concat(g,"-hidden"),!l),(0,a.Z)(t,"".concat(g,"-has-suffix"),!!c),t),g),role:"button"})}},{key:"renderTextAreaWithClearIcon",value:function(e,t,n){var r,i=this.props,v=i.value,u=i.allowClear,c=i.className,l=i.style,m=i.direction,g=i.bordered,S=i.hidden,d=i.status,f=n.status,h=n.hasFeedback;if(!u)return(0,H.Tm)(t,{value:v});var p,I=o()("".concat(e,"-affix-wrapper"),"".concat(e,"-affix-wrapper-textarea-with-clear-btn"),(0,_.Z)("".concat(e,"-affix-wrapper"),(0,_.F)(f,d),h),(r={},(0,a.Z)(r,"".concat(e,"-affix-wrapper-rtl"),"rtl"===m),(0,a.Z)(r,"".concat(e,"-affix-wrapper-borderless"),!g),(0,a.Z)(r,"".concat(c),!((p=this.props).addonBefore||p.addonAfter)&&c),r));return s.createElement("span",{className:I,style:l,hidden:S},(0,H.Tm)(t,{style:null,value:v}),this.renderClearIcon(e))}},{key:"render",value:function(){var e=this;return s.createElement(u.aM.Consumer,null,(function(t){var n=e.props,r=n.prefixCls,a=n.inputType,i=n.element;if(a===ue[0])return e.renderTextAreaWithClearIcon(r,i,t)}))}}]),n}(s.Component);var le=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);ar&&(a=t),a}const Se=s.forwardRef((function(e,t){var n,i=e.prefixCls,c=e.bordered,m=void 0===c||c,g=e.showCount,S=void 0!==g&&g,d=e.maxLength,f=e.className,h=e.style,C=e.size,M=e.disabled,A=e.onCompositionStart,P=e.onCompositionEnd,T=e.onChange,R=e.status,N=le(e,["prefixCls","bordered","showCount","maxLength","className","style","size","disabled","onCompositionStart","onCompositionEnd","onChange","status"]),b=s.useContext(v.E_),w=b.getPrefixCls,x=b.direction,F=s.useContext(y.Z),U=s.useContext(O.Z),k=null!==M&&void 0!==M?M:U,G=s.useContext(u.aM),q=G.status,V=G.hasFeedback,B=G.isFormItemInput,Q=G.feedbackIcon,H=(0,_.F)(q,R),j=s.useRef(null),W=s.useRef(null),Z=s.useState(!1),z=(0,I.Z)(Z,2),K=z[0],X=z[1],Y=s.useRef(),J=s.useRef(0),$=(0,E.Z)(N.defaultValue,{value:N.value}),ee=(0,I.Z)($,2),te=ee[0],ne=ee[1],re=N.hidden,ae=function(e,t){void 0===N.value&&(ne(e),null===t||void 0===t||t())},ie=Number(d)>0,oe=w("input",i);s.useImperativeHandle(t,(function(){var e;return{resizableTextArea:null===(e=j.current)||void 0===e?void 0:e.resizableTextArea,focus:function(e){var t,n;!function(e,t){if(e){e.focus(t);var n=(t||{}).cursor;if(n){var r=e.value.length;switch(n){case"start":e.setSelectionRange(0,0);break;case"end":e.setSelectionRange(r,r);break;default:e.setSelectionRange(0,r)}}}}(null===(n=null===(t=j.current)||void 0===t?void 0:t.resizableTextArea)||void 0===n?void 0:n.textArea,e)},blur:function(){var e;return null===(e=j.current)||void 0===e?void 0:e.blur()}}}));var se=s.createElement(ve,(0,r.Z)({},(0,D.Z)(N,["allowClear"]),{disabled:k,className:o()((n={},(0,a.Z)(n,"".concat(oe,"-borderless"),!m),(0,a.Z)(n,f,f&&!S),(0,a.Z)(n,"".concat(oe,"-sm"),"small"===F||"small"===C),(0,a.Z)(n,"".concat(oe,"-lg"),"large"===F||"large"===C),n),(0,_.Z)(oe,H)),style:S?{resize:null===h||void 0===h?void 0:h.resize}:h,prefixCls:oe,onCompositionStart:function(e){X(!0),Y.current=te,J.current=e.currentTarget.selectionStart,null===A||void 0===A||A(e)},onChange:function(e){var t=e.target.value;!K&&ie&&(t=ge(e.target.selectionStart>=d+1||e.target.selectionStart===t.length||!e.target.selectionStart,te,t,d));ae(t),L(e.currentTarget,e,T,t)},onCompositionEnd:function(e){var t;X(!1);var n=e.currentTarget.value;ie&&(n=ge(J.current>=d+1||J.current===(null===(t=Y.current)||void 0===t?void 0:t.length),Y.current,n,d));n!==te&&(ae(n),L(e.currentTarget,e,T,n)),null===P||void 0===P||P(e)},ref:j})),ue=function(e){return"undefined"===typeof e||null===e?"":String(e)}(te);K||!ie||null!==N.value&&void 0!==N.value||(ue=me(ue,d));var Se=s.createElement(ce,(0,r.Z)({disabled:k},N,{prefixCls:oe,direction:x,inputType:"text",value:ue,element:se,handleReset:function(e){var t,n,r;ae(""),null===(t=j.current)||void 0===t||t.focus(),L(null===(r=null===(n=j.current)||void 0===n?void 0:n.resizableTextArea)||void 0===r?void 0:r.textArea,e,T)},ref:W,bordered:m,status:R,style:S?void 0:h}));if(S||V){var de,fe=(0,p.Z)(ue).length,he="";return he="object"===(0,l.Z)(S)?S.formatter({value:ue,count:fe,maxLength:d}):"".concat(fe).concat(ie?" / ".concat(d):""),s.createElement("div",{hidden:re,className:o()("".concat(oe,"-textarea"),(de={},(0,a.Z)(de,"".concat(oe,"-textarea-rtl"),"rtl"===x),(0,a.Z)(de,"".concat(oe,"-textarea-show-count"),S),(0,a.Z)(de,"".concat(oe,"-textarea-in-form-item"),B),de),(0,_.Z)("".concat(oe,"-textarea"),H,V),f),style:h,"data-count":he},Se,V&&s.createElement("span",{className:"".concat(oe,"-textarea-suffix")},Q))}return Se}));var de=x;de.Group=c,de.Search=W,de.TextArea=Se,de.Password=V;const fe=de},6199:(e,t,n)=>{"use strict";n.d(t,{D:()=>E,Z:()=>A});var r=n(4942),a=n(7462),i=n(9439),o=n(1413),s=n(2791);const v={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z"}}]},name:"bars",theme:"outlined"};var u=n(4291),c=function(e,t){return s.createElement(u.Z,(0,o.Z)((0,o.Z)({},e),{},{ref:t,icon:v}))};c.displayName="BarsOutlined";const l=s.forwardRef(c);var m=n(6864),g=n(1938),S=n(1694),d=n.n(S),f=n(1818),h=n(1929);const p=function(e){return!isNaN(parseFloat(e))&&isFinite(e)};var I=n(3613),C=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a0&&void 0!==arguments[0]?arguments[0]:"";return e+=1,"".concat(t).concat(e)}}();const A=s.forwardRef((function(e,t){var n=e.prefixCls,o=e.className,v=e.trigger,u=e.children,c=e.defaultCollapsed,S=void 0!==c&&c,A=e.theme,P=void 0===A?"dark":A,T=e.style,O=void 0===T?{}:T,y=e.collapsible,R=void 0!==y&&y,_=e.reverseArrow,N=void 0!==_&&_,b=e.width,L=void 0===b?200:b,w=e.collapsedWidth,x=void 0===w?80:w,F=e.zeroWidthTriggerStyle,U=e.breakpoint,k=e.onCollapse,G=e.onBreakpoint,q=C(e,["prefixCls","className","trigger","children","defaultCollapsed","theme","style","collapsible","reverseArrow","width","collapsedWidth","zeroWidthTriggerStyle","breakpoint","onCollapse","onBreakpoint"]),V=(0,s.useContext)(I.Gs).siderHook,B=(0,s.useState)("collapsed"in q?q.collapsed:S),Q=(0,i.Z)(B,2),H=Q[0],j=Q[1],W=(0,s.useState)(!1),Z=(0,i.Z)(W,2),z=Z[0],K=Z[1];(0,s.useEffect)((function(){"collapsed"in q&&j(q.collapsed)}),[q.collapsed]);var X=function(e,t){"collapsed"in q||j(e),null===k||void 0===k||k(e,t)},Y=(0,s.useRef)();Y.current=function(e){K(e.matches),null===G||void 0===G||G(e.matches),H!==e.matches&&X(e.matches,"responsive")},(0,s.useEffect)((function(){function e(e){return Y.current(e)}var t;if("undefined"!==typeof window){var n=window.matchMedia;if(n&&U&&U in D){t=n("(max-width: ".concat(D[U],")"));try{t.addEventListener("change",e)}catch(r){t.addListener(e)}e(t)}}return function(){try{null===t||void 0===t||t.removeEventListener("change",e)}catch(r){null===t||void 0===t||t.removeListener(e)}}}),[U]),(0,s.useEffect)((function(){var e=M("ant-sider-");return V.addSider(e),function(){return V.removeSider(e)}}),[]);var J=function(){X(!H,"clickTrigger")},$=(0,s.useContext)(h.E_).getPrefixCls,ee=s.useMemo((function(){return{siderCollapsed:H}}),[H]);return s.createElement(E.Provider,{value:ee},function(){var e,i=$("layout-sider",n),c=(0,f.Z)(q,["collapsed"]),S=H?x:L,h=p(S)?"".concat(S,"px"):String(S),I=0===parseFloat(String(x||0))?s.createElement("span",{onClick:J,className:d()("".concat(i,"-zero-width-trigger"),"".concat(i,"-zero-width-trigger-").concat(N?"right":"left")),style:F},v||s.createElement(l,null)):null,C={expanded:N?s.createElement(g.Z,null):s.createElement(m.Z,null),collapsed:N?s.createElement(m.Z,null):s.createElement(g.Z,null)}[H?"collapsed":"expanded"],D=null!==v?I||s.createElement("div",{className:"".concat(i,"-trigger"),onClick:J,style:{width:h}},v||C):null,E=(0,a.Z)((0,a.Z)({},O),{flex:"0 0 ".concat(h),maxWidth:h,minWidth:h,width:h}),M=d()(i,"".concat(i,"-").concat(P),(e={},(0,r.Z)(e,"".concat(i,"-collapsed"),!!H),(0,r.Z)(e,"".concat(i,"-has-trigger"),R&&null!==v&&!I),(0,r.Z)(e,"".concat(i,"-below"),!!z),(0,r.Z)(e,"".concat(i,"-zero-width"),0===parseFloat(h)),e),o);return s.createElement("aside",(0,a.Z)({className:M},c,{style:E,ref:t}),s.createElement("div",{className:"".concat(i,"-children")},u),R||z&&I?D:null)}())}))},586:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(3613),a=n(6199),i=r.ZP;i.Header=r.h4,i.Footer=r.$_,i.Content=r.VY,i.Sider=a.Z;const o=i},3613:(e,t,n)=>{"use strict";n.d(t,{$_:()=>p,Gs:()=>m,VY:()=>I,ZP:()=>C,h4:()=>h});var r=n(3433),a=n(4942),i=n(9439),o=n(7462),s=n(1694),v=n.n(s),u=n(2791),c=n(1929),l=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a0),(0,a.Z)(n,"".concat(h,"-rtl"),"rtl"===s),n),p),A=u.useMemo((function(){return{siderHook:{addSider:function(e){f((function(t){return[].concat((0,r.Z)(t),[e])}))},removeSider:function(e){f((function(t){return t.filter((function(t){return t!==e}))}))}}}}),[]);return u.createElement(m.Provider,{value:A},u.createElement(D,(0,o.Z)({ref:t,className:M},E),I))})),f=g({suffixCls:"layout",tagName:"section",displayName:"Layout"})(d),h=g({suffixCls:"layout-header",tagName:"header",displayName:"Header"})(S),p=g({suffixCls:"layout-footer",tagName:"footer",displayName:"Footer"})(S),I=g({suffixCls:"layout-content",tagName:"main",displayName:"Content"})(S);const C=f},2126:(e,t,n)=>{"use strict";n.d(t,{ZM:()=>P,ZP:()=>O});var r=n(3433),a=n(7462),i=n(4942),o=n(9439),s=n(1002),v=n(1694),u=n.n(v),c=n(2791),l=n(1929),m=n(7908),g=n(7545),S=n(2832),d=n(9221),f=n(7083),h=n(8295),p=n(9752),I=n(1113),C=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a0&&c.createElement("ul",{className:"".concat(D,"-item-action"),key:"actions"},o.map((function(e,t){return c.createElement("li",{key:"".concat(D,"-item-action-").concat(t)},e,t!==o.length-1&&c.createElement("em",{className:"".concat(D,"-item-action-split")}))}))),M=d?"div":"li",A=c.createElement(M,(0,a.Z)({},g,d?{}:{ref:t},{className:u()("".concat(D,"-item"),(0,i.Z)({},"".concat(D,"-item-no-flex"),!("vertical"===f?s:!function(){var e;return c.Children.forEach(r,(function(t){"string"===typeof t&&(e=!0)})),e&&c.Children.count(r)>1}())),v)}),"vertical"===f&&s?[c.createElement("div",{className:"".concat(D,"-item-main"),key:"content"},r,E),c.createElement("div",{className:"".concat(D,"-item-extra"),key:"extra"},s)]:[r,E,(0,I.Tm)(s,{key:"extra"})]);return d?c.createElement(p.Z,{ref:t,flex:1,style:m},A):A},E=(0,c.forwardRef)(D);E.Meta=function(e){var t=e.prefixCls,n=e.className,r=e.avatar,i=e.title,o=e.description,s=C(e,["prefixCls","className","avatar","title","description"]),v=(0,(0,c.useContext)(l.E_).getPrefixCls)("list",t),m=u()("".concat(v,"-item-meta"),n),g=c.createElement("div",{className:"".concat(v,"-item-meta-content")},i&&c.createElement("h4",{className:"".concat(v,"-item-meta-title")},i),o&&c.createElement("div",{className:"".concat(v,"-item-meta-description")},o));return c.createElement("div",(0,a.Z)({},s,{className:m}),r&&c.createElement("div",{className:"".concat(v,"-item-meta-avatar")},r),(i||o)&&g)};const M=E;var A=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);aue&&(ve.current=ue);var ce=v?c.createElement("div",{className:"".concat(re,"-pagination")},c.createElement(d.Z,(0,a.Z)({},ve,{onChange:te,onShowSizeChange:ne}))):null,le=(0,r.Z)(N);v&&N.length>(ve.current-1)*ve.pageSize&&(le=(0,r.Z)(N).splice((ve.current-1)*ve.pageSize,ve.pageSize));var me=Object.keys(R||{}).some((function(e){return["xs","sm","md","lg","xl","xxl"].includes(e)})),ge=(0,S.Z)(me),Se=c.useMemo((function(){for(var e=0;e0){var he=le.map((function(e,t){return function(e,t){return k?((n="function"===typeof U?U(e):U?e[U]:e.key)||(n="list-item-".concat(t)),c.createElement(c.Fragment,{key:n},k(e,t))):null;var n}(e,t)}));fe=R?c.createElement(g.Z,{gutter:R.gutter},c.Children.map(he,(function(e){return c.createElement("div",{key:null===e||void 0===e?void 0:e.key,style:de},e)}))):c.createElement("ul",{className:"".concat(re,"-items")},he)}else T||ie||(fe=function(e,t){return c.createElement("div",{className:"".concat(e,"-empty-text")},G&&G.emptyText||t("List"))}(re,J||m.Z));var pe=ve.position||"bottom",Ie=c.useMemo((function(){return{grid:R,itemLayout:O}}),[JSON.stringify(R),O]);return c.createElement(P.Provider,{value:Ie},c.createElement("div",(0,a.Z)({className:se},q),("top"===pe||"both"===pe)&&ce,L&&c.createElement("div",{className:"".concat(re,"-header")},L),c.createElement(f.Z,(0,a.Z)({},ae),fe,T),w&&c.createElement("div",{className:"".concat(re,"-footer")},w),y||("bottom"===pe||"both"===pe)&&ce))}T.Item=M;const O=T},1678:(e,t,n)=>{"use strict";n.d(t,{J:()=>s,Z:()=>v});var r=n(7462),a=n(2791),i=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a{"use strict";n.d(t,{Z:()=>F});var r=n(5671),a=n(3144),i=n(136),o=n(7277),s=n(7462),v=n(5033),u=n(1694),c=n.n(u),l=n(2257),m=n(3739),g=n(1818),S=n(2791),d=n(1929),f=n(6199),h=n(9464),p=n(1113),I=n(1002),C=n(4942),D=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a{"use strict";n.d(t,{Z:()=>B});var r=n(4942),a=n(7462),i=n(1413),o=n(2791);const s={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 000 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z"}}]},name:"double-left",theme:"outlined"};var v=n(4291),u=function(e,t){return o.createElement(v.Z,(0,i.Z)((0,i.Z)({},e),{},{ref:t,icon:s}))};u.displayName="DoubleLeftOutlined";const c=o.forwardRef(u);const l={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 00188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 00492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z"}}]},name:"double-right",theme:"outlined"};var m=function(e,t){return o.createElement(v.Z,(0,i.Z)((0,i.Z)({},e),{},{ref:t,icon:l}))};m.displayName="DoubleRightOutlined";const g=o.forwardRef(m);var S=n(6864),d=n(1938),f=n(1694),h=n.n(f),p=n(5671),I=n(3144),C=n(136),D=n(7277);const E=function(e){var t,n="".concat(e.rootPrefixCls,"-item"),a=h()(n,"".concat(n,"-").concat(e.page),(t={},(0,r.Z)(t,"".concat(n,"-active"),e.active),(0,r.Z)(t,"".concat(n,"-disabled"),!e.page),(0,r.Z)(t,e.className,!!e.className),t));return o.createElement("li",{title:e.showTitle?e.page:null,className:a,onClick:function(){e.onClick(e.page)},onKeyPress:function(t){e.onKeyPress(t,e.onClick,e.page)},tabIndex:"0"},e.itemRender(e.page,"page",o.createElement("a",{rel:"nofollow"},e.page)))},M=13,A=38,P=40;var T=function(e){(0,C.Z)(n,e);var t=(0,D.Z)(n);function n(){var e;(0,p.Z)(this,n);for(var r=arguments.length,a=new Array(r),i=0;i=0||t.relatedTarget.className.indexOf("".concat(i,"-item"))>=0)||a(e.getValidValue()))},e.go=function(t){""!==e.state.goInputText&&(t.keyCode!==M&&"click"!==t.type||(e.setState({goInputText:""}),e.props.quickGo(e.getValidValue())))},e}return(0,I.Z)(n,[{key:"getValidValue",value:function(){var e=this.state.goInputText;return!e||isNaN(e)?void 0:Number(e)}},{key:"getPageSizeOptions",value:function(){var e=this.props,t=e.pageSize,n=e.pageSizeOptions;return n.some((function(e){return e.toString()===t.toString()}))?n:n.concat([t.toString()]).sort((function(e,t){return(isNaN(Number(e))?0:Number(e))-(isNaN(Number(t))?0:Number(t))}))}},{key:"render",value:function(){var e=this,t=this.props,n=t.pageSize,r=t.locale,a=t.rootPrefixCls,i=t.changeSize,s=t.quickGo,v=t.goButton,u=t.selectComponentClass,c=t.buildOptionText,l=t.selectPrefixCls,m=t.disabled,g=this.state.goInputText,S="".concat(a,"-options"),d=u,f=null,h=null,p=null;if(!i&&!s)return null;var I=this.getPageSizeOptions();if(i&&d){var C=I.map((function(t,n){return o.createElement(d.Option,{key:n,value:t.toString()},(c||e.buildOptionText)(t))}));f=o.createElement(d,{disabled:m,prefixCls:l,showSearch:!1,className:"".concat(S,"-size-changer"),optionLabelProp:"children",dropdownMatchSelectWidth:!1,value:(n||I[0]).toString(),onChange:this.changeSize,getPopupContainer:function(e){return e.parentNode},"aria-label":r.page_size,defaultOpen:!1},C)}return s&&(v&&(p="boolean"===typeof v?o.createElement("button",{type:"button",onClick:this.go,onKeyUp:this.go,disabled:m,className:"".concat(S,"-quick-jumper-button")},r.jump_to_confirm):o.createElement("span",{onClick:this.go,onKeyUp:this.go},v)),h=o.createElement("div",{className:"".concat(S,"-quick-jumper")},r.jump_to,o.createElement("input",{disabled:m,type:"text",value:g,onChange:this.handleChange,onKeyUp:this.go,onBlur:this.handleBlur,"aria-label":r.page}),r.page,p)),o.createElement("li",{className:"".concat(S)},f,h)}}]),n}(o.Component);T.defaultProps={pageSizeOptions:["10","20","50","100"]};const O=T;function y(){}function R(e){var t=Number(e);return"number"===typeof t&&!isNaN(t)&&isFinite(t)&&Math.floor(t)===t}function _(e,t,n){var r="undefined"===typeof e?t.pageSize:e;return Math.floor((n.total-1)/r)+1}var N=function(e){(0,C.Z)(n,e);var t=(0,D.Z)(n);function n(e){var r;(0,p.Z)(this,n),(r=t.call(this,e)).getJumpPrevPage=function(){return Math.max(1,r.state.current-(r.props.showLessItems?3:5))},r.getJumpNextPage=function(){return Math.min(_(void 0,r.state,r.props),r.state.current+(r.props.showLessItems?3:5))},r.getItemIcon=function(e,t){var n=r.props.prefixCls,a=e||o.createElement("button",{type:"button","aria-label":t,className:"".concat(n,"-item-link")});return"function"===typeof e&&(a=o.createElement(e,(0,i.Z)({},r.props))),a},r.savePaginationNode=function(e){r.paginationNode=e},r.isValid=function(e){var t=r.props.total;return R(e)&&e!==r.state.current&&R(t)&&t>0},r.shouldDisplayQuickJumper=function(){var e=r.props,t=e.showQuickJumper;return!(e.total<=r.state.pageSize)&&t},r.handleKeyDown=function(e){e.keyCode!==A&&e.keyCode!==P||e.preventDefault()},r.handleKeyUp=function(e){var t=r.getValidValue(e);t!==r.state.currentInputValue&&r.setState({currentInputValue:t}),e.keyCode===M?r.handleChange(t):e.keyCode===A?r.handleChange(t-1):e.keyCode===P&&r.handleChange(t+1)},r.handleBlur=function(e){var t=r.getValidValue(e);r.handleChange(t)},r.changePageSize=function(e){var t=r.state.current,n=_(e,r.state,r.props);t=t>n?n:t,0===n&&(t=r.state.current),"number"===typeof e&&("pageSize"in r.props||r.setState({pageSize:e}),"current"in r.props||r.setState({current:t,currentInputValue:t})),r.props.onShowSizeChange(t,e),"onChange"in r.props&&r.props.onChange&&r.props.onChange(t,e)},r.handleChange=function(e){var t=r.props,n=t.disabled,a=t.onChange,i=r.state,o=i.pageSize,s=i.current,v=i.currentInputValue;if(r.isValid(e)&&!n){var u=_(void 0,r.state,r.props),c=e;return e>u?c=u:e<1&&(c=1),"current"in r.props||r.setState({current:c}),c!==v&&r.setState({currentInputValue:c}),a(c,o),c}return s},r.prev=function(){r.hasPrev()&&r.handleChange(r.state.current-1)},r.next=function(){r.hasNext()&&r.handleChange(r.state.current+1)},r.jumpPrev=function(){r.handleChange(r.getJumpPrevPage())},r.jumpNext=function(){r.handleChange(r.getJumpNextPage())},r.hasPrev=function(){return r.state.current>1},r.hasNext=function(){return r.state.current<_(void 0,r.state,r.props)},r.runIfEnter=function(e,t){if("Enter"===e.key||13===e.charCode){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a=n?n:Number(t)}},{key:"getShowSizeChanger",value:function(){var e=this.props,t=e.showSizeChanger,n=e.total,r=e.totalBoundaryShowSizeChanger;return"undefined"!==typeof t?t:n>r}},{key:"renderPrev",value:function(e){var t=this.props,n=t.prevIcon,r=(0,t.itemRender)(e,"prev",this.getItemIcon(n,"prev page")),a=!this.hasPrev();return(0,o.isValidElement)(r)?(0,o.cloneElement)(r,{disabled:a}):r}},{key:"renderNext",value:function(e){var t=this.props,n=t.nextIcon,r=(0,t.itemRender)(e,"next",this.getItemIcon(n,"next page")),a=!this.hasNext();return(0,o.isValidElement)(r)?(0,o.cloneElement)(r,{disabled:a}):r}},{key:"render",value:function(){var e=this,t=this.props,n=t.prefixCls,i=t.className,s=t.style,v=t.disabled,u=t.hideOnSinglePage,c=t.total,l=t.locale,m=t.showQuickJumper,g=t.showLessItems,S=t.showTitle,d=t.showTotal,f=t.simple,p=t.itemRender,I=t.showPrevNextJumpers,C=t.jumpPrevIcon,D=t.jumpNextIcon,M=t.selectComponentClass,A=t.selectPrefixCls,P=t.pageSizeOptions,T=this.state,y=T.current,R=T.pageSize,N=T.currentInputValue;if(!0===u&&c<=R)return null;var b=_(void 0,this.state,this.props),L=[],w=null,x=null,F=null,U=null,k=null,G=m&&m.goButton,q=g?1:2,V=y-1>0?y-1:0,B=y+1c?c:y*R]));if(f)return G&&(k="boolean"===typeof G?o.createElement("button",{type:"button",onClick:this.handleGoTO,onKeyUp:this.handleGoTO},l.jump_to_confirm):o.createElement("span",{onClick:this.handleGoTO,onKeyUp:this.handleGoTO},G),k=o.createElement("li",{title:S?"".concat(l.jump_to).concat(y,"/").concat(b):null,className:"".concat(n,"-simple-pager")},k)),o.createElement("ul",(0,a.Z)({className:h()(n,"".concat(n,"-simple"),(0,r.Z)({},"".concat(n,"-disabled"),v),i),style:s,ref:this.savePaginationNode},Q),H,o.createElement("li",{title:S?l.prev_page:null,onClick:this.prev,tabIndex:this.hasPrev()?0:null,onKeyPress:this.runIfEnterPrev,className:h()("".concat(n,"-prev"),(0,r.Z)({},"".concat(n,"-disabled"),!this.hasPrev())),"aria-disabled":!this.hasPrev()},this.renderPrev(V)),o.createElement("li",{title:S?"".concat(y,"/").concat(b):null,className:"".concat(n,"-simple-pager")},o.createElement("input",{type:"text",value:N,disabled:v,onKeyDown:this.handleKeyDown,onKeyUp:this.handleKeyUp,onChange:this.handleKeyUp,onBlur:this.handleBlur,size:"3"}),o.createElement("span",{className:"".concat(n,"-slash")},"/"),b),o.createElement("li",{title:S?l.next_page:null,onClick:this.next,tabIndex:this.hasPrev()?0:null,onKeyPress:this.runIfEnterNext,className:h()("".concat(n,"-next"),(0,r.Z)({},"".concat(n,"-disabled"),!this.hasNext())),"aria-disabled":!this.hasNext()},this.renderNext(B)),k);if(b<=3+2*q){var j={locale:l,rootPrefixCls:n,onClick:this.handleChange,onKeyPress:this.runIfEnter,showTitle:S,itemRender:p};b||L.push(o.createElement(E,(0,a.Z)({},j,{key:"noPager",page:1,className:"".concat(n,"-item-disabled")})));for(var W=1;W<=b;W+=1){var Z=y===W;L.push(o.createElement(E,(0,a.Z)({},j,{key:W,page:W,active:Z})))}}else{var z=g?l.prev_3:l.prev_5,K=g?l.next_3:l.next_5;I&&(w=o.createElement("li",{title:S?z:null,key:"prev",onClick:this.jumpPrev,tabIndex:"0",onKeyPress:this.runIfEnterJumpPrev,className:h()("".concat(n,"-jump-prev"),(0,r.Z)({},"".concat(n,"-jump-prev-custom-icon"),!!C))},p(this.getJumpPrevPage(),"jump-prev",this.getItemIcon(C,"prev page"))),x=o.createElement("li",{title:S?K:null,key:"next",tabIndex:"0",onClick:this.jumpNext,onKeyPress:this.runIfEnterJumpNext,className:h()("".concat(n,"-jump-next"),(0,r.Z)({},"".concat(n,"-jump-next-custom-icon"),!!D))},p(this.getJumpNextPage(),"jump-next",this.getItemIcon(D,"next page")))),U=o.createElement(E,{locale:l,last:!0,rootPrefixCls:n,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:b,page:b,active:!1,showTitle:S,itemRender:p}),F=o.createElement(E,{locale:l,rootPrefixCls:n,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:1,page:1,active:!1,showTitle:S,itemRender:p});var X=Math.max(1,y-q),Y=Math.min(y+q,b);y-1<=q&&(Y=1+2*q),b-y<=q&&(X=b-2*q);for(var J=X;J<=Y;J+=1){var $=y===J;L.push(o.createElement(E,{locale:l,rootPrefixCls:n,onClick:this.handleChange,onKeyPress:this.runIfEnter,key:J,page:J,active:$,showTitle:S,itemRender:p}))}y-1>=2*q&&3!==y&&(L[0]=(0,o.cloneElement)(L[0],{className:"".concat(n,"-item-after-jump-prev")}),L.unshift(w)),b-y>=2*q&&y!==b-2&&(L[L.length-1]=(0,o.cloneElement)(L[L.length-1],{className:"".concat(n,"-item-before-jump-next")}),L.push(x)),1!==X&&L.unshift(F),Y!==b&&L.push(U)}var ee=!this.hasPrev()||!b,te=!this.hasNext()||!b;return o.createElement("ul",(0,a.Z)({className:h()(n,i,(0,r.Z)({},"".concat(n,"-disabled"),v)),style:s,ref:this.savePaginationNode},Q),H,o.createElement("li",{title:S?l.prev_page:null,onClick:this.prev,tabIndex:ee?null:0,onKeyPress:this.runIfEnterPrev,className:h()("".concat(n,"-prev"),(0,r.Z)({},"".concat(n,"-disabled"),ee)),"aria-disabled":ee},this.renderPrev(V)),L,o.createElement("li",{title:S?l.next_page:null,onClick:this.next,tabIndex:te?null:0,onKeyPress:this.runIfEnterNext,className:h()("".concat(n,"-next"),(0,r.Z)({},"".concat(n,"-disabled"),te)),"aria-disabled":te},this.renderNext(B)),o.createElement(O,{disabled:v,locale:l,rootPrefixCls:n,selectComponentClass:M,selectPrefixCls:A,changeSize:this.getShowSizeChanger()?this.changePageSize:null,current:y,pageSize:R,pageSizeOptions:P,quickGo:this.shouldDisplayQuickJumper()?this.handleChange:null,goButton:G}))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n={};if("current"in e&&(n.current=e.current,e.current!==t.current&&(n.currentInputValue=n.current)),"pageSize"in e&&e.pageSize!==t.pageSize){var r=t.current,a=_(e.pageSize,t,e);r=r>a?a:r,"current"in e||(n.current=r,n.currentInputValue=r),n.pageSize=e.pageSize}return n}}]),n}(o.Component);N.defaultProps={defaultCurrent:1,total:0,defaultPageSize:10,onChange:y,className:"",selectPrefixCls:"rc-select",prefixCls:"rc-pagination",selectComponentClass:null,hideOnSinglePage:!1,showPrevNextJumpers:!0,showQuickJumper:!1,showLessItems:!1,showTitle:!0,onShowSizeChange:y,locale:{items_per_page:"\u6761/\u9875",jump_to:"\u8df3\u81f3",jump_to_confirm:"\u786e\u5b9a",page:"\u9875",prev_page:"\u4e0a\u4e00\u9875",next_page:"\u4e0b\u4e00\u9875",prev_5:"\u5411\u524d 5 \u9875",next_5:"\u5411\u540e 5 \u9875",prev_3:"\u5411\u524d 3 \u9875",next_3:"\u5411\u540e 3 \u9875",page_size:"\u9875\u7801"},style:{},itemRender:function(e,t,n){return n},totalBoundaryShowSizeChanger:50};const b=N;var L=n(1771),w=n(1929),x=n(2832),F=n(3486),U=n(3734),k=function(e){return o.createElement(U.Z,(0,a.Z)({},e,{size:"small"}))},G=function(e){return o.createElement(U.Z,(0,a.Z)({},e,{size:"middle"}))};k.Option=U.Z.Option,G.Option=U.Z.Option;var q=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a{"use strict";n.d(t,{Z:()=>l});var r=n(7462),a=n(2791),i=n(1929),o=n(5945),s=function(e){return e?"function"===typeof e?e():e:null},v=n(9464),u=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a{"use strict";n.d(t,{ZP:()=>P});var r=n(4942),a=n(7557),i=n(2621),o=n(187),s=n(1413),v=n(2791);const u={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zM480 416c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V416zm32 352a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"warning",theme:"filled"};var c=n(4291),l=function(e,t){return v.createElement(c.Z,(0,s.Z)((0,s.Z)({},e),{},{ref:t,icon:u}))};l.displayName="WarningFilled";const m=v.forwardRef(l);var g=n(1694),S=n.n(g),d=n(1929);const f=function(){return v.createElement("svg",{width:"252",height:"294"},v.createElement("defs",null,v.createElement("path",{d:"M0 .387h251.772v251.772H0z"})),v.createElement("g",{fill:"none",fillRule:"evenodd"},v.createElement("g",{transform:"translate(0 .012)"},v.createElement("mask",{fill:"#fff"}),v.createElement("path",{d:"M0 127.32v-2.095C0 56.279 55.892.387 124.838.387h2.096c68.946 0 124.838 55.892 124.838 124.838v2.096c0 68.946-55.892 124.838-124.838 124.838h-2.096C55.892 252.16 0 196.267 0 127.321",fill:"#E4EBF7",mask:"url(#b)"})),v.createElement("path",{d:"M39.755 130.84a8.276 8.276 0 1 1-16.468-1.66 8.276 8.276 0 0 1 16.468 1.66",fill:"#FFF"}),v.createElement("path",{d:"M36.975 134.297l10.482 5.943M48.373 146.508l-12.648 10.788",stroke:"#FFF",strokeWidth:"2"}),v.createElement("path",{d:"M39.875 159.352a5.667 5.667 0 1 1-11.277-1.136 5.667 5.667 0 0 1 11.277 1.136M57.588 143.247a5.708 5.708 0 1 1-11.358-1.145 5.708 5.708 0 0 1 11.358 1.145M99.018 26.875l29.82-.014a4.587 4.587 0 1 0-.003-9.175l-29.82.013a4.587 4.587 0 1 0 .003 9.176M110.424 45.211l29.82-.013a4.588 4.588 0 0 0-.004-9.175l-29.82.013a4.587 4.587 0 1 0 .004 9.175",fill:"#FFF"}),v.createElement("path",{d:"M112.798 26.861v-.002l15.784-.006a4.588 4.588 0 1 0 .003 9.175l-15.783.007v-.002a4.586 4.586 0 0 0-.004-9.172M184.523 135.668c-.553 5.485-5.447 9.483-10.931 8.93-5.485-.553-9.483-5.448-8.93-10.932.552-5.485 5.447-9.483 10.932-8.93 5.485.553 9.483 5.447 8.93 10.932",fill:"#FFF"}),v.createElement("path",{d:"M179.26 141.75l12.64 7.167M193.006 156.477l-15.255 13.011",stroke:"#FFF",strokeWidth:"2"}),v.createElement("path",{d:"M184.668 170.057a6.835 6.835 0 1 1-13.6-1.372 6.835 6.835 0 0 1 13.6 1.372M203.34 153.325a6.885 6.885 0 1 1-13.7-1.382 6.885 6.885 0 0 1 13.7 1.382",fill:"#FFF"}),v.createElement("path",{d:"M151.931 192.324a2.222 2.222 0 1 1-4.444 0 2.222 2.222 0 0 1 4.444 0zM225.27 116.056a2.222 2.222 0 1 1-4.445 0 2.222 2.222 0 0 1 4.444 0zM216.38 151.08a2.223 2.223 0 1 1-4.446-.001 2.223 2.223 0 0 1 4.446 0zM176.917 107.636a2.223 2.223 0 1 1-4.445 0 2.223 2.223 0 0 1 4.445 0zM195.291 92.165a2.223 2.223 0 1 1-4.445 0 2.223 2.223 0 0 1 4.445 0zM202.058 180.711a2.223 2.223 0 1 1-4.446 0 2.223 2.223 0 0 1 4.446 0z",stroke:"#FFF",strokeWidth:"2"}),v.createElement("path",{stroke:"#FFF",strokeWidth:"2",d:"M214.404 153.302l-1.912 20.184-10.928 5.99M173.661 174.792l-6.356 9.814h-11.36l-4.508 6.484M174.941 125.168v-15.804M220.824 117.25l-12.84 7.901-15.31-7.902V94.39"}),v.createElement("path",{d:"M166.588 65.936h-3.951a4.756 4.756 0 0 1-4.743-4.742 4.756 4.756 0 0 1 4.743-4.743h3.951a4.756 4.756 0 0 1 4.743 4.743 4.756 4.756 0 0 1-4.743 4.742",fill:"#FFF"}),v.createElement("path",{d:"M174.823 30.03c0-16.281 13.198-29.48 29.48-29.48 16.28 0 29.48 13.199 29.48 29.48 0 16.28-13.2 29.48-29.48 29.48-16.282 0-29.48-13.2-29.48-29.48",fill:"#1890FF"}),v.createElement("path",{d:"M205.952 38.387c.5.5.785 1.142.785 1.928s-.286 1.465-.785 1.964c-.572.5-1.214.75-2 .75-.785 0-1.429-.285-1.929-.785-.572-.5-.82-1.143-.82-1.929s.248-1.428.82-1.928c.5-.5 1.144-.75 1.93-.75.785 0 1.462.25 1.999.75m4.285-19.463c1.428 1.249 2.143 2.963 2.143 5.142 0 1.712-.427 3.13-1.219 4.25-.067.096-.137.18-.218.265-.416.429-1.41 1.346-2.956 2.699a5.07 5.07 0 0 0-1.428 1.75 5.207 5.207 0 0 0-.536 2.357v.5h-4.107v-.5c0-1.357.215-2.536.714-3.5.464-.964 1.857-2.464 4.178-4.536l.43-.5c.643-.785.964-1.643.964-2.535 0-1.18-.358-2.108-1-2.785-.678-.68-1.643-1.001-2.858-1.001-1.536 0-2.642.464-3.357 1.43-.37.5-.621 1.135-.76 1.904a1.999 1.999 0 0 1-1.971 1.63h-.004c-1.277 0-2.257-1.183-1.98-2.43.337-1.518 1.02-2.78 2.073-3.784 1.536-1.5 3.607-2.25 6.25-2.25 2.32 0 4.214.607 5.642 1.894",fill:"#FFF"}),v.createElement("path",{d:"M52.04 76.131s21.81 5.36 27.307 15.945c5.575 10.74-6.352 9.26-15.73 4.935-10.86-5.008-24.7-11.822-11.577-20.88",fill:"#FFB594"}),v.createElement("path",{d:"M90.483 67.504l-.449 2.893c-.753.49-4.748-2.663-4.748-2.663l-1.645.748-1.346-5.684s6.815-4.589 8.917-5.018c2.452-.501 9.884.94 10.7 2.278 0 0 1.32.486-2.227.69-3.548.203-5.043.447-6.79 3.132-1.747 2.686-2.412 3.624-2.412 3.624",fill:"#FFC6A0"}),v.createElement("path",{d:"M128.055 111.367c-2.627-7.724-6.15-13.18-8.917-15.478-3.5-2.906-9.34-2.225-11.366-4.187-1.27-1.231-3.215-1.197-3.215-1.197s-14.98-3.158-16.828-3.479c-2.37-.41-2.124-.714-6.054-1.405-1.57-1.907-2.917-1.122-2.917-1.122l-7.11-1.383c-.853-1.472-2.423-1.023-2.423-1.023l-2.468-.897c-1.645 9.976-7.74 13.796-7.74 13.796 1.795 1.122 15.703 8.3 15.703 8.3l5.107 37.11s-3.321 5.694 1.346 9.109c0 0 19.883-3.743 34.921-.329 0 0 3.047-2.546.972-8.806.523-3.01 1.394-8.263 1.736-11.622.385.772 2.019 1.918 3.14 3.477 0 0 9.407-7.365 11.052-14.012-.832-.723-1.598-1.585-2.267-2.453-.567-.736-.358-2.056-.765-2.717-.669-1.084-1.804-1.378-1.907-1.682",fill:"#FFF"}),v.createElement("path",{d:"M101.09 289.998s4.295 2.041 7.354 1.021c2.821-.94 4.53.668 7.08 1.178 2.55.51 6.874 1.1 11.686-1.26-.103-5.51-6.889-3.98-11.96-6.713-2.563-1.38-3.784-4.722-3.598-8.799h-9.402s-1.392 10.52-1.16 14.573",fill:"#CBD1D1"}),v.createElement("path",{d:"M101.067 289.826s2.428 1.271 6.759.653c3.058-.437 3.712.481 7.423 1.031 3.712.55 10.724-.069 11.823-.894.413 1.1-.343 2.063-.343 2.063s-1.512.603-4.812.824c-2.03.136-5.8.291-7.607-.503-1.787-1.375-5.247-1.903-5.728-.241-3.918.95-7.355-.286-7.355-.286l-.16-2.647z",fill:"#2B0849"}),v.createElement("path",{d:"M108.341 276.044h3.094s-.103 6.702 4.536 8.558c-4.64.618-8.558-2.303-7.63-8.558",fill:"#A4AABA"}),v.createElement("path",{d:"M57.542 272.401s-2.107 7.416-4.485 12.306c-1.798 3.695-4.225 7.492 5.465 7.492 6.648 0 8.953-.48 7.423-6.599-1.53-6.12.266-13.199.266-13.199h-8.669z",fill:"#CBD1D1"}),v.createElement("path",{d:"M51.476 289.793s2.097 1.169 6.633 1.169c6.083 0 8.249-1.65 8.249-1.65s.602 1.114-.619 2.165c-.993.855-3.597 1.591-7.39 1.546-4.145-.048-5.832-.566-6.736-1.168-.825-.55-.687-1.58-.137-2.062",fill:"#2B0849"}),v.createElement("path",{d:"M58.419 274.304s.033 1.519-.314 2.93c-.349 1.42-1.078 3.104-1.13 4.139-.058 1.151 4.537 1.58 5.155.034.62-1.547 1.294-6.427 1.913-7.252.619-.825-4.903-2.119-5.624.15",fill:"#A4AABA"}),v.createElement("path",{d:"M99.66 278.514l13.378.092s1.298-54.52 1.853-64.403c.554-9.882 3.776-43.364 1.002-63.128l-12.547-.644-22.849.78s-.434 3.966-1.195 9.976c-.063.496-.682.843-.749 1.365-.075.585.423 1.354.32 1.966-2.364 14.08-6.377 33.104-8.744 46.677-.116.666-1.234 1.009-1.458 2.691-.04.302.211 1.525.112 1.795-6.873 18.744-10.949 47.842-14.277 61.885l14.607-.014s2.197-8.57 4.03-16.97c2.811-12.886 23.111-85.01 23.111-85.01l3.016-.521 1.043 46.35s-.224 1.234.337 2.02c.56.785-.56 1.123-.392 2.244l.392 1.794s-.449 7.178-.898 11.89c-.448 4.71-.092 39.165-.092 39.165",fill:"#7BB2F9"}),v.createElement("path",{d:"M76.085 221.626c1.153.094 4.038-2.019 6.955-4.935M106.36 225.142s2.774-1.11 6.103-3.883",stroke:"#648BD8",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M107.275 222.1s2.773-1.11 6.102-3.884",stroke:"#648BD8",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M74.74 224.767s2.622-.591 6.505-3.365M86.03 151.634c-.27 3.106.3 8.525-4.336 9.123M103.625 149.88s.11 14.012-1.293 15.065c-2.219 1.664-2.99 1.944-2.99 1.944M99.79 150.438s.035 12.88-1.196 24.377M93.673 175.911s7.212-1.664 9.431-1.664M74.31 205.861a212.013 212.013 0 0 1-.979 4.56s-1.458 1.832-1.009 3.776c.449 1.944-.947 2.045-4.985 15.355-1.696 5.59-4.49 18.591-6.348 27.597l-.231 1.12M75.689 197.807a320.934 320.934 0 0 1-.882 4.754M82.591 152.233L81.395 162.7s-1.097.15-.5 2.244c.113 1.346-2.674 15.775-5.18 30.43M56.12 274.418h13.31",stroke:"#648BD8",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M116.241 148.22s-17.047-3.104-35.893.2c.158 2.514-.003 4.15-.003 4.15s14.687-2.818 35.67-.312c.252-2.355.226-4.038.226-4.038",fill:"#192064"}),v.createElement("path",{d:"M106.322 151.165l.003-4.911a.81.81 0 0 0-.778-.815c-2.44-.091-5.066-.108-7.836-.014a.818.818 0 0 0-.789.815l-.003 4.906a.81.81 0 0 0 .831.813c2.385-.06 4.973-.064 7.73.017a.815.815 0 0 0 .842-.81",fill:"#FFF"}),v.createElement("path",{d:"M105.207 150.233l.002-3.076a.642.642 0 0 0-.619-.646 94.321 94.321 0 0 0-5.866-.01.65.65 0 0 0-.63.647v3.072a.64.64 0 0 0 .654.644 121.12 121.12 0 0 1 5.794.011c.362.01.665-.28.665-.642",fill:"#192064"}),v.createElement("path",{d:"M100.263 275.415h12.338M101.436 270.53c.006 3.387.042 5.79.111 6.506M101.451 264.548a915.75 915.75 0 0 0-.015 4.337M100.986 174.965l.898 44.642s.673 1.57-.225 2.692c-.897 1.122 2.468.673.898 2.243-1.57 1.57.897 1.122 0 3.365-.596 1.489-.994 21.1-1.096 35.146",stroke:"#648BD8",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M46.876 83.427s-.516 6.045 7.223 5.552c11.2-.712 9.218-9.345 31.54-21.655-.786-2.708-2.447-4.744-2.447-4.744s-11.068 3.11-22.584 8.046c-6.766 2.9-13.395 6.352-13.732 12.801M104.46 91.057l.941-5.372-8.884-11.43-5.037 5.372-1.74 7.834a.321.321 0 0 0 .108.32c.965.8 6.5 5.013 14.347 3.544a.332.332 0 0 0 .264-.268",fill:"#FFC6A0"}),v.createElement("path",{d:"M93.942 79.387s-4.533-2.853-2.432-6.855c1.623-3.09 4.513 1.133 4.513 1.133s.52-3.642 3.121-3.642c.52-1.04 1.561-4.162 1.561-4.162s11.445 2.601 13.526 3.121c0 5.203-2.304 19.424-7.84 19.861-8.892.703-12.449-9.456-12.449-9.456",fill:"#FFC6A0"}),v.createElement("path",{d:"M113.874 73.446c2.601-2.081 3.47-9.722 3.47-9.722s-2.479-.49-6.64-2.05c-4.683-2.081-12.798-4.747-17.48.976-9.668 3.223-2.05 19.823-2.05 19.823l2.713-3.021s-3.935-3.287-2.08-6.243c2.17-3.462 3.92 1.073 3.92 1.073s.637-2.387 3.581-3.342c.355-.71 1.036-2.674 1.432-3.85a1.073 1.073 0 0 1 1.263-.704c2.4.558 8.677 2.019 11.356 2.662.522.125.871.615.82 1.15l-.305 3.248z",fill:"#520038"}),v.createElement("path",{d:"M104.977 76.064c-.103.61-.582 1.038-1.07.956-.489-.083-.801-.644-.698-1.254.103-.61.582-1.038 1.07-.956.488.082.8.644.698 1.254M112.132 77.694c-.103.61-.582 1.038-1.07.956-.488-.083-.8-.644-.698-1.254.103-.61.582-1.038 1.07-.956.488.082.8.643.698 1.254",fill:"#552950"}),v.createElement("path",{stroke:"#DB836E",strokeWidth:"1.118",strokeLinecap:"round",strokeLinejoin:"round",d:"M110.13 74.84l-.896 1.61-.298 4.357h-2.228"}),v.createElement("path",{d:"M110.846 74.481s1.79-.716 2.506.537",stroke:"#5C2552",strokeWidth:"1.118",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M92.386 74.282s.477-1.114 1.113-.716c.637.398 1.274 1.433.558 1.99-.717.556.159 1.67.159 1.67",stroke:"#DB836E",strokeWidth:"1.118",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M103.287 72.93s1.83 1.113 4.137.954",stroke:"#5C2552",strokeWidth:"1.118",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M103.685 81.762s2.227 1.193 4.376 1.193M104.64 84.308s.954.398 1.511.318M94.693 81.205s2.308 7.4 10.424 7.639",stroke:"#DB836E",strokeWidth:"1.118",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M81.45 89.384s.45 5.647-4.935 12.787M69 82.654s-.726 9.282-8.204 14.206",stroke:"#E4EBF7",strokeWidth:"1.101",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M129.405 122.865s-5.272 7.403-9.422 10.768",stroke:"#E4EBF7",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M119.306 107.329s.452 4.366-2.127 32.062",stroke:"#E4EBF7",strokeWidth:"1.101",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M150.028 151.232h-49.837a1.01 1.01 0 0 1-1.01-1.01v-31.688c0-.557.452-1.01 1.01-1.01h49.837c.558 0 1.01.453 1.01 1.01v31.688a1.01 1.01 0 0 1-1.01 1.01",fill:"#F2D7AD"}),v.createElement("path",{d:"M150.29 151.232h-19.863v-33.707h20.784v32.786a.92.92 0 0 1-.92.92",fill:"#F4D19D"}),v.createElement("path",{d:"M123.554 127.896H92.917a.518.518 0 0 1-.425-.816l6.38-9.113c.193-.277.51-.442.85-.442h31.092l-7.26 10.371z",fill:"#F2D7AD"}),v.createElement("path",{fill:"#CC9B6E",d:"M123.689 128.447H99.25v-.519h24.169l7.183-10.26.424.298z"}),v.createElement("path",{d:"M158.298 127.896h-18.669a2.073 2.073 0 0 1-1.659-.83l-7.156-9.541h19.965c.49 0 .95.23 1.244.622l6.69 8.92a.519.519 0 0 1-.415.83",fill:"#F4D19D"}),v.createElement("path",{fill:"#CC9B6E",d:"M157.847 128.479h-19.384l-7.857-10.475.415-.31 7.7 10.266h19.126zM130.554 150.685l-.032-8.177.519-.002.032 8.177z"}),v.createElement("path",{fill:"#CC9B6E",d:"M130.511 139.783l-.08-21.414.519-.002.08 21.414zM111.876 140.932l-.498-.143 1.479-5.167.498.143zM108.437 141.06l-2.679-2.935 2.665-3.434.41.318-2.397 3.089 2.384 2.612zM116.607 141.06l-.383-.35 2.383-2.612-2.397-3.089.41-.318 2.665 3.434z"}),v.createElement("path",{d:"M154.316 131.892l-3.114-1.96.038 3.514-1.043.092c-1.682.115-3.634.23-4.789.23-1.902 0-2.693 2.258 2.23 2.648l-2.645-.596s-2.168 1.317.504 2.3c0 0-1.58 1.217.561 2.58-.584 3.504 5.247 4.058 7.122 3.59 1.876-.47 4.233-2.359 4.487-5.16.28-3.085-.89-5.432-3.35-7.238",fill:"#FFC6A0"}),v.createElement("path",{d:"M153.686 133.577s-6.522.47-8.36.372c-1.836-.098-1.904 2.19 2.359 2.264 3.739.15 5.451-.044 5.451-.044",stroke:"#DB836E",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M145.16 135.877c-1.85 1.346.561 2.355.561 2.355s3.478.898 6.73.617",stroke:"#DB836E",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M151.89 141.71s-6.28.111-6.73-2.132c-.223-1.346.45-1.402.45-1.402M146.114 140.868s-1.103 3.16 5.44 3.533M151.202 129.932v3.477M52.838 89.286c3.533-.337 8.423-1.248 13.582-7.754",stroke:"#DB836E",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M168.567 248.318a6.647 6.647 0 0 1-6.647-6.647v-66.466a6.647 6.647 0 1 1 13.294 0v66.466a6.647 6.647 0 0 1-6.647 6.647",fill:"#5BA02E"}),v.createElement("path",{d:"M176.543 247.653a6.647 6.647 0 0 1-6.646-6.647v-33.232a6.647 6.647 0 1 1 13.293 0v33.232a6.647 6.647 0 0 1-6.647 6.647",fill:"#92C110"}),v.createElement("path",{d:"M186.443 293.613H158.92a3.187 3.187 0 0 1-3.187-3.187v-46.134a3.187 3.187 0 0 1 3.187-3.187h27.524a3.187 3.187 0 0 1 3.187 3.187v46.134a3.187 3.187 0 0 1-3.187 3.187",fill:"#F2D7AD"}),v.createElement("path",{d:"M88.979 89.48s7.776 5.384 16.6 2.842",stroke:"#E4EBF7",strokeWidth:"1.101",strokeLinecap:"round",strokeLinejoin:"round"})))};const h=function(){return v.createElement("svg",{width:"254",height:"294"},v.createElement("defs",null,v.createElement("path",{d:"M0 .335h253.49v253.49H0z"}),v.createElement("path",{d:"M0 293.665h253.49V.401H0z"})),v.createElement("g",{fill:"none",fillRule:"evenodd"},v.createElement("g",{transform:"translate(0 .067)"},v.createElement("mask",{fill:"#fff"}),v.createElement("path",{d:"M0 128.134v-2.11C0 56.608 56.273.334 125.69.334h2.11c69.416 0 125.69 56.274 125.69 125.69v2.11c0 69.417-56.274 125.69-125.69 125.69h-2.11C56.273 253.824 0 197.551 0 128.134",fill:"#E4EBF7",mask:"url(#b)"})),v.createElement("path",{d:"M39.989 132.108a8.332 8.332 0 1 1-16.581-1.671 8.332 8.332 0 0 1 16.58 1.671",fill:"#FFF"}),v.createElement("path",{d:"M37.19 135.59l10.553 5.983M48.665 147.884l-12.734 10.861",stroke:"#FFF",strokeWidth:"2"}),v.createElement("path",{d:"M40.11 160.816a5.706 5.706 0 1 1-11.354-1.145 5.706 5.706 0 0 1 11.354 1.145M57.943 144.6a5.747 5.747 0 1 1-11.436-1.152 5.747 5.747 0 0 1 11.436 1.153M99.656 27.434l30.024-.013a4.619 4.619 0 1 0-.004-9.238l-30.024.013a4.62 4.62 0 0 0 .004 9.238M111.14 45.896l30.023-.013a4.62 4.62 0 1 0-.004-9.238l-30.024.013a4.619 4.619 0 1 0 .004 9.238",fill:"#FFF"}),v.createElement("path",{d:"M113.53 27.421v-.002l15.89-.007a4.619 4.619 0 1 0 .005 9.238l-15.892.007v-.002a4.618 4.618 0 0 0-.004-9.234M150.167 70.091h-3.979a4.789 4.789 0 0 1-4.774-4.775 4.788 4.788 0 0 1 4.774-4.774h3.979a4.789 4.789 0 0 1 4.775 4.774 4.789 4.789 0 0 1-4.775 4.775",fill:"#FFF"}),v.createElement("path",{d:"M171.687 30.234c0-16.392 13.289-29.68 29.681-29.68 16.392 0 29.68 13.288 29.68 29.68 0 16.393-13.288 29.681-29.68 29.681s-29.68-13.288-29.68-29.68",fill:"#FF603B"}),v.createElement("path",{d:"M203.557 19.435l-.676 15.035a1.514 1.514 0 0 1-3.026 0l-.675-15.035a2.19 2.19 0 1 1 4.377 0m-.264 19.378c.513.477.77 1.1.77 1.87s-.257 1.393-.77 1.907c-.55.476-1.21.733-1.943.733a2.545 2.545 0 0 1-1.87-.77c-.55-.514-.806-1.136-.806-1.87 0-.77.256-1.393.806-1.87.513-.513 1.137-.733 1.87-.733.77 0 1.43.22 1.943.733",fill:"#FFF"}),v.createElement("path",{d:"M119.3 133.275c4.426-.598 3.612-1.204 4.079-4.778.675-5.18-3.108-16.935-8.262-25.118-1.088-10.72-12.598-11.24-12.598-11.24s4.312 4.895 4.196 16.199c1.398 5.243.804 14.45.804 14.45s5.255 11.369 11.78 10.487",fill:"#FFB594"}),v.createElement("path",{d:"M100.944 91.61s1.463-.583 3.211.582c8.08 1.398 10.368 6.706 11.3 11.368 1.864 1.282 1.864 2.33 1.864 3.496.365.777 1.515 3.03 1.515 3.03s-7.225 1.748-10.954 6.758c-1.399-6.41-6.936-25.235-6.936-25.235",fill:"#FFF"}),v.createElement("path",{d:"M94.008 90.5l1.019-5.815-9.23-11.874-5.233 5.581-2.593 9.863s8.39 5.128 16.037 2.246",fill:"#FFB594"}),v.createElement("path",{d:"M82.931 78.216s-4.557-2.868-2.445-6.892c1.632-3.107 4.537 1.139 4.537 1.139s.524-3.662 3.139-3.662c.523-1.046 1.569-4.184 1.569-4.184s11.507 2.615 13.6 3.138c-.001 5.23-2.317 19.529-7.884 19.969-8.94.706-12.516-9.508-12.516-9.508",fill:"#FFC6A0"}),v.createElement("path",{d:"M102.971 72.243c2.616-2.093 3.489-9.775 3.489-9.775s-2.492-.492-6.676-2.062c-4.708-2.092-12.867-4.771-17.575.982-9.54 4.41-2.062 19.93-2.062 19.93l2.729-3.037s-3.956-3.304-2.092-6.277c2.183-3.48 3.943 1.08 3.943 1.08s.64-2.4 3.6-3.36c.356-.714 1.04-2.69 1.44-3.872a1.08 1.08 0 0 1 1.27-.707c2.41.56 8.723 2.03 11.417 2.676.524.126.876.619.825 1.156l-.308 3.266z",fill:"#520038"}),v.createElement("path",{d:"M101.22 76.514c-.104.613-.585 1.044-1.076.96-.49-.082-.805-.646-.702-1.26.104-.613.585-1.044 1.076-.961.491.083.805.647.702 1.26M94.26 75.074c-.104.613-.585 1.044-1.076.96-.49-.082-.805-.646-.702-1.26.104-.613.585-1.044 1.076-.96.491.082.805.646.702 1.26",fill:"#552950"}),v.createElement("path",{stroke:"#DB836E",strokeWidth:"1.063",strokeLinecap:"round",strokeLinejoin:"round",d:"M99.206 73.644l-.9 1.62-.3 4.38h-2.24"}),v.createElement("path",{d:"M99.926 73.284s1.8-.72 2.52.54",stroke:"#5C2552",strokeWidth:"1.117",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M81.367 73.084s.48-1.12 1.12-.72c.64.4 1.28 1.44.56 2s.16 1.68.16 1.68",stroke:"#DB836E",strokeWidth:"1.117",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M92.326 71.724s1.84 1.12 4.16.96",stroke:"#5C2552",strokeWidth:"1.117",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M92.726 80.604s2.24 1.2 4.4 1.2M93.686 83.164s.96.4 1.52.32M83.687 80.044s1.786 6.547 9.262 7.954",stroke:"#DB836E",strokeWidth:"1.063",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M95.548 91.663s-1.068 2.821-8.298 2.105c-7.23-.717-10.29-5.044-10.29-5.044",stroke:"#E4EBF7",strokeWidth:"1.136",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M78.126 87.478s6.526 4.972 16.47 2.486c0 0 9.577 1.02 11.536 5.322 5.36 11.77.543 36.835 0 39.962 3.496 4.055-.466 8.483-.466 8.483-15.624-3.548-35.81-.6-35.81-.6-4.849-3.546-1.223-9.044-1.223-9.044L62.38 110.32c-2.485-15.227.833-19.803 3.549-20.743 3.03-1.049 8.04-1.282 8.04-1.282.496-.058 1.08-.076 1.37-.233 2.36-1.282 2.787-.583 2.787-.583",fill:"#FFF"}),v.createElement("path",{d:"M65.828 89.81s-6.875.465-7.59 8.156c-.466 8.857 3.03 10.954 3.03 10.954s6.075 22.102 16.796 22.957c8.39-2.176 4.758-6.702 4.661-11.42-.233-11.304-7.108-16.897-7.108-16.897s-4.212-13.75-9.789-13.75",fill:"#FFC6A0"}),v.createElement("path",{d:"M71.716 124.225s.855 11.264 9.828 6.486c4.765-2.536 7.581-13.828 9.789-22.568 1.456-5.768 2.58-12.197 2.58-12.197l-4.973-1.709s-2.408 5.516-7.769 12.275c-4.335 5.467-9.144 11.11-9.455 17.713",fill:"#FFC6A0"}),v.createElement("path",{d:"M108.463 105.191s1.747 2.724-2.331 30.535c2.376 2.216 1.053 6.012-.233 7.51",stroke:"#E4EBF7",strokeWidth:"1.085",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M123.262 131.527s-.427 2.732-11.77 1.981c-15.187-1.006-25.326-3.25-25.326-3.25l.933-5.8s.723.215 9.71-.068c11.887-.373 18.714-6.07 24.964-1.022 4.039 3.263 1.489 8.16 1.489 8.16",fill:"#FFC6A0"}),v.createElement("path",{d:"M70.24 90.974s-5.593-4.739-11.054 2.68c-3.318 7.223.517 15.284 2.664 19.578-.31 3.729 2.33 4.311 2.33 4.311s.108.895 1.516 2.68c4.078-7.03 6.72-9.166 13.711-12.546-.328-.656-1.877-3.265-1.825-3.767.175-1.69-1.282-2.623-1.282-2.623s-.286-.156-1.165-2.738c-.788-2.313-2.036-5.177-4.895-7.575",fill:"#FFF"}),v.createElement("path",{d:"M90.232 288.027s4.855 2.308 8.313 1.155c3.188-1.063 5.12.755 8.002 1.331 2.881.577 7.769 1.243 13.207-1.424-.117-6.228-7.786-4.499-13.518-7.588-2.895-1.56-4.276-5.336-4.066-9.944H91.544s-1.573 11.89-1.312 16.47",fill:"#CBD1D1"}),v.createElement("path",{d:"M90.207 287.833s2.745 1.437 7.639.738c3.456-.494 3.223.66 7.418 1.282 4.195.621 13.092-.194 14.334-1.126.466 1.242-.388 2.33-.388 2.33s-1.709.682-5.438.932c-2.295.154-8.098.276-10.14-.621-2.02-1.554-4.894-1.515-6.06-.234-4.427 1.075-7.184-.31-7.184-.31l-.181-2.991z",fill:"#2B0849"}),v.createElement("path",{d:"M98.429 272.257h3.496s-.117 7.574 5.127 9.671c-5.244.7-9.672-2.602-8.623-9.671",fill:"#A4AABA"}),v.createElement("path",{d:"M44.425 272.046s-2.208 7.774-4.702 12.899c-1.884 3.874-4.428 7.854 5.729 7.854 6.97 0 9.385-.503 7.782-6.917-1.604-6.415.279-13.836.279-13.836h-9.088z",fill:"#CBD1D1"}),v.createElement("path",{d:"M38.066 290.277s2.198 1.225 6.954 1.225c6.376 0 8.646-1.73 8.646-1.73s.63 1.168-.649 2.27c-1.04.897-3.77 1.668-7.745 1.621-4.347-.05-6.115-.593-7.062-1.224-.864-.577-.72-1.657-.144-2.162",fill:"#2B0849"}),v.createElement("path",{d:"M45.344 274.041s.035 1.592-.329 3.07c-.365 1.49-1.13 3.255-1.184 4.34-.061 1.206 4.755 1.657 5.403.036.65-1.622 1.357-6.737 2.006-7.602.648-.865-5.14-2.222-5.896.156",fill:"#A4AABA"}),v.createElement("path",{d:"M89.476 277.57l13.899.095s1.349-56.643 1.925-66.909c.576-10.267 3.923-45.052 1.042-65.585l-13.037-.669-23.737.81s-.452 4.12-1.243 10.365c-.065.515-.708.874-.777 1.417-.078.608.439 1.407.332 2.044-2.455 14.627-5.797 32.736-8.256 46.837-.121.693-1.282 1.048-1.515 2.796-.042.314.22 1.584.116 1.865-7.14 19.473-12.202 52.601-15.66 67.19l15.176-.015s2.282-10.145 4.185-18.871c2.922-13.389 24.012-88.32 24.012-88.32l3.133-.954-.158 48.568s-.233 1.282.35 2.098c.583.815-.581 1.167-.408 2.331l.408 1.864s-.466 7.458-.932 12.352c-.467 4.895 1.145 40.69 1.145 40.69",fill:"#7BB2F9"}),v.createElement("path",{d:"M64.57 218.881c1.197.099 4.195-2.097 7.225-5.127M96.024 222.534s2.881-1.152 6.34-4.034",stroke:"#648BD8",strokeWidth:"1.085",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M96.973 219.373s2.882-1.153 6.34-4.034",stroke:"#648BD8",strokeWidth:"1.032",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M63.172 222.144s2.724-.614 6.759-3.496M74.903 146.166c-.281 3.226.31 8.856-4.506 9.478M93.182 144.344s.115 14.557-1.344 15.65c-2.305 1.73-3.107 2.02-3.107 2.02M89.197 144.923s.269 13.144-1.01 25.088M83.525 170.71s6.81-1.051 9.116-1.051M46.026 270.045l-.892 4.538M46.937 263.289l-.815 4.157M62.725 202.503c-.33 1.618-.102 1.904-.449 3.438 0 0-2.756 1.903-2.29 3.923.466 2.02-.31 3.424-4.505 17.252-1.762 5.807-4.233 18.922-6.165 28.278-.03.144-.521 2.646-1.14 5.8M64.158 194.136c-.295 1.658-.6 3.31-.917 4.938M71.33 146.787l-1.244 10.877s-1.14.155-.519 2.33c.117 1.399-2.778 16.39-5.382 31.615M44.242 273.727H58.07",stroke:"#648BD8",strokeWidth:"1.085",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M106.18 142.117c-3.028-.489-18.825-2.744-36.219.2a.625.625 0 0 0-.518.644c.063 1.307.044 2.343.015 2.995a.617.617 0 0 0 .716.636c3.303-.534 17.037-2.412 35.664-.266.347.04.66-.214.692-.56.124-1.347.16-2.425.17-3.029a.616.616 0 0 0-.52-.62",fill:"#192064"}),v.createElement("path",{d:"M96.398 145.264l.003-5.102a.843.843 0 0 0-.809-.847 114.104 114.104 0 0 0-8.141-.014.85.85 0 0 0-.82.847l-.003 5.097c0 .476.388.857.864.845 2.478-.064 5.166-.067 8.03.017a.848.848 0 0 0 .876-.843",fill:"#FFF"}),v.createElement("path",{d:"M95.239 144.296l.002-3.195a.667.667 0 0 0-.643-.672c-1.9-.061-3.941-.073-6.094-.01a.675.675 0 0 0-.654.672l-.002 3.192c0 .376.305.677.68.669 1.859-.042 3.874-.043 6.02.012.376.01.69-.291.691-.668",fill:"#192064"}),v.createElement("path",{d:"M90.102 273.522h12.819M91.216 269.761c.006 3.519-.072 5.55 0 6.292M90.923 263.474c-.009 1.599-.016 2.558-.016 4.505M90.44 170.404l.932 46.38s.7 1.631-.233 2.796c-.932 1.166 2.564.7.932 2.33-1.63 1.633.933 1.166 0 3.497-.618 1.546-1.031 21.921-1.138 36.513",stroke:"#648BD8",strokeWidth:"1.085",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M73.736 98.665l2.214 4.312s2.098.816 1.865 2.68l.816 2.214M64.297 116.611c.233-.932 2.176-7.147 12.585-10.488M77.598 90.042s7.691 6.137 16.547 2.72",stroke:"#E4EBF7",strokeWidth:"1.085",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M91.974 86.954s5.476-.816 7.574-4.545c1.297-.345.72 2.212-.33 3.671-.7.971-1.01 1.554-1.01 1.554s.194.31.155.816c-.053.697-.175.653-.272 1.048-.081.335.108.657 0 1.049-.046.17-.198.5-.382.878-.12.249-.072.687-.2.948-.231.469-1.562 1.87-2.622 2.855-3.826 3.554-5.018 1.644-6.001-.408-.894-1.865-.661-5.127-.874-6.875-.35-2.914-2.622-3.03-1.923-4.429.343-.685 2.87.69 3.263 1.748.757 2.04 2.952 1.807 2.622 1.69",fill:"#FFC6A0"}),v.createElement("path",{d:"M99.8 82.429c-.465.077-.35.272-.97 1.243-.622.971-4.817 2.932-6.39 3.224-2.589.48-2.278-1.56-4.254-2.855-1.69-1.107-3.562-.638-1.398 1.398.99.932.932 1.107 1.398 3.205.335 1.506-.64 3.67.7 5.593",stroke:"#DB836E",strokeWidth:".774",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M79.543 108.673c-2.1 2.926-4.266 6.175-5.557 8.762",stroke:"#E59788",strokeWidth:".774",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M87.72 124.768s-2.098-1.942-5.127-2.719c-3.03-.777-3.574-.155-5.516.078-1.942.233-3.885-.932-3.652.7.233 1.63 5.05 1.01 5.206 2.097.155 1.087-6.37 2.796-8.313 2.175-.777.777.466 1.864 2.02 2.175.233 1.554 2.253 1.554 2.253 1.554s.699 1.01 2.641 1.088c2.486 1.32 8.934-.7 10.954-1.554 2.02-.855-.466-5.594-.466-5.594",fill:"#FFC6A0"}),v.createElement("path",{d:"M73.425 122.826s.66 1.127 3.167 1.418c2.315.27 2.563.583 2.563.583s-2.545 2.894-9.07 2.272M72.416 129.274s3.826.097 4.933-.718M74.98 130.75s1.961.136 3.36-.505M77.232 131.916s1.748.019 2.914-.505M73.328 122.321s-.595-1.032 1.262-.427c1.671.544 2.833.055 5.128.155 1.389.061 3.067-.297 3.982.15 1.606.784 3.632 2.181 3.632 2.181s10.526 1.204 19.033-1.127M78.864 108.104s-8.39 2.758-13.168 12.12",stroke:"#E59788",strokeWidth:".774",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M109.278 112.533s3.38-3.613 7.575-4.662",stroke:"#E4EBF7",strokeWidth:"1.085",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M107.375 123.006s9.697-2.745 11.445-.88",stroke:"#E59788",strokeWidth:".774",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M194.605 83.656l3.971-3.886M187.166 90.933l3.736-3.655M191.752 84.207l-4.462-4.56M198.453 91.057l-4.133-4.225M129.256 163.074l3.718-3.718M122.291 170.039l3.498-3.498M126.561 163.626l-4.27-4.27M132.975 170.039l-3.955-3.955",stroke:"#BFCDDD",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M190.156 211.779h-1.604a4.023 4.023 0 0 1-4.011-4.011V175.68a4.023 4.023 0 0 1 4.01-4.01h1.605a4.023 4.023 0 0 1 4.011 4.01v32.088a4.023 4.023 0 0 1-4.01 4.01",fill:"#A3B4C6"}),v.createElement("path",{d:"M237.824 212.977a4.813 4.813 0 0 1-4.813 4.813h-86.636a4.813 4.813 0 0 1 0-9.626h86.636a4.813 4.813 0 0 1 4.813 4.813",fill:"#A3B4C6"}),v.createElement("mask",{fill:"#fff"}),v.createElement("path",{fill:"#A3B4C6",mask:"url(#d)",d:"M154.098 190.096h70.513v-84.617h-70.513z"}),v.createElement("path",{d:"M224.928 190.096H153.78a3.219 3.219 0 0 1-3.208-3.209V167.92a3.219 3.219 0 0 1 3.208-3.21h71.148a3.219 3.219 0 0 1 3.209 3.21v18.967a3.219 3.219 0 0 1-3.21 3.209M224.928 130.832H153.78a3.218 3.218 0 0 1-3.208-3.208v-18.968a3.219 3.219 0 0 1 3.208-3.209h71.148a3.219 3.219 0 0 1 3.209 3.21v18.967a3.218 3.218 0 0 1-3.21 3.208",fill:"#BFCDDD",mask:"url(#d)"}),v.createElement("path",{d:"M159.563 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M166.98 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M174.397 120.546a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M222.539 120.546h-22.461a.802.802 0 0 1-.802-.802v-3.208c0-.443.359-.803.802-.803h22.46c.444 0 .803.36.803.803v3.208c0 .443-.36.802-.802.802",fill:"#FFF",mask:"url(#d)"}),v.createElement("path",{d:"M224.928 160.464H153.78a3.218 3.218 0 0 1-3.208-3.209v-18.967a3.219 3.219 0 0 1 3.208-3.209h71.148a3.219 3.219 0 0 1 3.209 3.209v18.967a3.218 3.218 0 0 1-3.21 3.209",fill:"#BFCDDD",mask:"url(#d)"}),v.createElement("path",{d:"M173.455 130.832h49.301M164.984 130.832h6.089M155.952 130.832h6.75M173.837 160.613h49.3M165.365 160.613h6.089M155.57 160.613h6.751",stroke:"#7C90A5",strokeWidth:"1.124",strokeLinecap:"round",strokeLinejoin:"round",mask:"url(#d)"}),v.createElement("path",{d:"M159.563 151.038a2.407 2.407 0 1 1 0-4.814 2.407 2.407 0 0 1 0 4.814M166.98 151.038a2.407 2.407 0 1 1 0-4.814 2.407 2.407 0 0 1 0 4.814M174.397 151.038a2.407 2.407 0 1 1 .001-4.814 2.407 2.407 0 0 1 0 4.814M222.539 151.038h-22.461a.802.802 0 0 1-.802-.802v-3.209c0-.443.359-.802.802-.802h22.46c.444 0 .803.36.803.802v3.209c0 .443-.36.802-.802.802M159.563 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M166.98 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M174.397 179.987a2.407 2.407 0 1 1 0-4.813 2.407 2.407 0 0 1 0 4.813M222.539 179.987h-22.461a.802.802 0 0 1-.802-.802v-3.209c0-.443.359-.802.802-.802h22.46c.444 0 .803.36.803.802v3.209c0 .443-.36.802-.802.802",fill:"#FFF",mask:"url(#d)"}),v.createElement("path",{d:"M203.04 221.108h-27.372a2.413 2.413 0 0 1-2.406-2.407v-11.448a2.414 2.414 0 0 1 2.406-2.407h27.372a2.414 2.414 0 0 1 2.407 2.407V218.7a2.413 2.413 0 0 1-2.407 2.407",fill:"#BFCDDD",mask:"url(#d)"}),v.createElement("path",{d:"M177.259 207.217v11.52M201.05 207.217v11.52",stroke:"#A3B4C6",strokeWidth:"1.124",strokeLinecap:"round",strokeLinejoin:"round",mask:"url(#d)"}),v.createElement("path",{d:"M162.873 267.894a9.422 9.422 0 0 1-9.422-9.422v-14.82a9.423 9.423 0 0 1 18.845 0v14.82a9.423 9.423 0 0 1-9.423 9.422",fill:"#5BA02E",mask:"url(#d)"}),v.createElement("path",{d:"M171.22 267.83a9.422 9.422 0 0 1-9.422-9.423v-3.438a9.423 9.423 0 0 1 18.845 0v3.438a9.423 9.423 0 0 1-9.422 9.423",fill:"#92C110",mask:"url(#d)"}),v.createElement("path",{d:"M181.31 293.666h-27.712a3.209 3.209 0 0 1-3.209-3.21V269.79a3.209 3.209 0 0 1 3.209-3.21h27.711a3.209 3.209 0 0 1 3.209 3.21v20.668a3.209 3.209 0 0 1-3.209 3.209",fill:"#F2D7AD",mask:"url(#d)"})))};const p=function(){return v.createElement("svg",{width:"251",height:"294"},v.createElement("g",{fill:"none",fillRule:"evenodd"},v.createElement("path",{d:"M0 129.023v-2.084C0 58.364 55.591 2.774 124.165 2.774h2.085c68.574 0 124.165 55.59 124.165 124.165v2.084c0 68.575-55.59 124.166-124.165 124.166h-2.085C55.591 253.189 0 197.598 0 129.023",fill:"#E4EBF7"}),v.createElement("path",{d:"M41.417 132.92a8.231 8.231 0 1 1-16.38-1.65 8.231 8.231 0 0 1 16.38 1.65",fill:"#FFF"}),v.createElement("path",{d:"M38.652 136.36l10.425 5.91M49.989 148.505l-12.58 10.73",stroke:"#FFF",strokeWidth:"2"}),v.createElement("path",{d:"M41.536 161.28a5.636 5.636 0 1 1-11.216-1.13 5.636 5.636 0 0 1 11.216 1.13M59.154 145.261a5.677 5.677 0 1 1-11.297-1.138 5.677 5.677 0 0 1 11.297 1.138M100.36 29.516l29.66-.013a4.562 4.562 0 1 0-.004-9.126l-29.66.013a4.563 4.563 0 0 0 .005 9.126M111.705 47.754l29.659-.013a4.563 4.563 0 1 0-.004-9.126l-29.66.013a4.563 4.563 0 1 0 .005 9.126",fill:"#FFF"}),v.createElement("path",{d:"M114.066 29.503V29.5l15.698-.007a4.563 4.563 0 1 0 .004 9.126l-15.698.007v-.002a4.562 4.562 0 0 0-.004-9.122M185.405 137.723c-.55 5.455-5.418 9.432-10.873 8.882-5.456-.55-9.432-5.418-8.882-10.873.55-5.455 5.418-9.432 10.873-8.882 5.455.55 9.432 5.418 8.882 10.873",fill:"#FFF"}),v.createElement("path",{d:"M180.17 143.772l12.572 7.129M193.841 158.42L178.67 171.36",stroke:"#FFF",strokeWidth:"2"}),v.createElement("path",{d:"M185.55 171.926a6.798 6.798 0 1 1-13.528-1.363 6.798 6.798 0 0 1 13.527 1.363M204.12 155.285a6.848 6.848 0 1 1-13.627-1.375 6.848 6.848 0 0 1 13.626 1.375",fill:"#FFF"}),v.createElement("path",{d:"M152.988 194.074a2.21 2.21 0 1 1-4.42 0 2.21 2.21 0 0 1 4.42 0zM225.931 118.217a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.421 0zM217.09 153.051a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.42 0zM177.84 109.842a2.21 2.21 0 1 1-4.422 0 2.21 2.21 0 0 1 4.421 0zM196.114 94.454a2.21 2.21 0 1 1-4.421 0 2.21 2.21 0 0 1 4.421 0zM202.844 182.523a2.21 2.21 0 1 1-4.42 0 2.21 2.21 0 0 1 4.42 0z",stroke:"#FFF",strokeWidth:"2"}),v.createElement("path",{stroke:"#FFF",strokeWidth:"2",d:"M215.125 155.262l-1.902 20.075-10.87 5.958M174.601 176.636l-6.322 9.761H156.98l-4.484 6.449M175.874 127.28V111.56M221.51 119.404l-12.77 7.859-15.228-7.86V96.668"}),v.createElement("path",{d:"M180.68 29.32C180.68 13.128 193.806 0 210 0c16.193 0 29.32 13.127 29.32 29.32 0 16.194-13.127 29.322-29.32 29.322-16.193 0-29.32-13.128-29.32-29.321",fill:"#A26EF4"}),v.createElement("path",{d:"M221.45 41.706l-21.563-.125a1.744 1.744 0 0 1-1.734-1.754l.071-12.23a1.744 1.744 0 0 1 1.754-1.734l21.562.125c.964.006 1.74.791 1.735 1.755l-.071 12.229a1.744 1.744 0 0 1-1.754 1.734",fill:"#FFF"}),v.createElement("path",{d:"M215.106 29.192c-.015 2.577-2.049 4.654-4.543 4.64-2.494-.014-4.504-2.115-4.489-4.693l.04-6.925c.016-2.577 2.05-4.654 4.543-4.64 2.494.015 4.504 2.116 4.49 4.693l-.04 6.925zm-4.53-14.074a6.877 6.877 0 0 0-6.916 6.837l-.043 7.368a6.877 6.877 0 0 0 13.754.08l.042-7.368a6.878 6.878 0 0 0-6.837-6.917zM167.566 68.367h-3.93a4.73 4.73 0 0 1-4.717-4.717 4.73 4.73 0 0 1 4.717-4.717h3.93a4.73 4.73 0 0 1 4.717 4.717 4.73 4.73 0 0 1-4.717 4.717",fill:"#FFF"}),v.createElement("path",{d:"M168.214 248.838a6.611 6.611 0 0 1-6.61-6.611v-66.108a6.611 6.611 0 0 1 13.221 0v66.108a6.611 6.611 0 0 1-6.61 6.61",fill:"#5BA02E"}),v.createElement("path",{d:"M176.147 248.176a6.611 6.611 0 0 1-6.61-6.61v-33.054a6.611 6.611 0 1 1 13.221 0v33.053a6.611 6.611 0 0 1-6.61 6.611",fill:"#92C110"}),v.createElement("path",{d:"M185.994 293.89h-27.376a3.17 3.17 0 0 1-3.17-3.17v-45.887a3.17 3.17 0 0 1 3.17-3.17h27.376a3.17 3.17 0 0 1 3.17 3.17v45.886a3.17 3.17 0 0 1-3.17 3.17",fill:"#F2D7AD"}),v.createElement("path",{d:"M81.972 147.673s6.377-.927 17.566-1.28c11.729-.371 17.57 1.086 17.57 1.086s3.697-3.855.968-8.424c1.278-12.077 5.982-32.827.335-48.273-1.116-1.339-3.743-1.512-7.536-.62-1.337.315-7.147-.149-7.983-.1l-15.311-.347s-3.487-.17-8.035-.508c-1.512-.113-4.227-1.683-5.458-.338-.406.443-2.425 5.669-1.97 16.077l8.635 35.642s-3.141 3.61 1.219 7.085",fill:"#FFF"}),v.createElement("path",{d:"M75.768 73.325l-.9-6.397 11.982-6.52s7.302-.118 8.038 1.205c.737 1.324-5.616.993-5.616.993s-1.836 1.388-2.615 2.5c-1.654 2.363-.986 6.471-8.318 5.986-1.708.284-2.57 2.233-2.57 2.233",fill:"#FFC6A0"}),v.createElement("path",{d:"M52.44 77.672s14.217 9.406 24.973 14.444c1.061.497-2.094 16.183-11.892 11.811-7.436-3.318-20.162-8.44-21.482-14.496-.71-3.258 2.543-7.643 8.401-11.76M141.862 80.113s-6.693 2.999-13.844 6.876c-3.894 2.11-10.137 4.704-12.33 7.988-6.224 9.314 3.536 11.22 12.947 7.503 6.71-2.651 28.999-12.127 13.227-22.367",fill:"#FFB594"}),v.createElement("path",{d:"M76.166 66.36l3.06 3.881s-2.783 2.67-6.31 5.747c-7.103 6.195-12.803 14.296-15.995 16.44-3.966 2.662-9.754 3.314-12.177-.118-3.553-5.032.464-14.628 31.422-25.95",fill:"#FFC6A0"}),v.createElement("path",{d:"M64.674 85.116s-2.34 8.413-8.912 14.447c.652.548 18.586 10.51 22.144 10.056 5.238-.669 6.417-18.968 1.145-20.531-.702-.208-5.901-1.286-8.853-2.167-.87-.26-1.611-1.71-3.545-.936l-1.98-.869zM128.362 85.826s5.318 1.956 7.325 13.734c-.546.274-17.55 12.35-21.829 7.805-6.534-6.94-.766-17.393 4.275-18.61 4.646-1.121 5.03-1.37 10.23-2.929",fill:"#FFF"}),v.createElement("path",{d:"M78.18 94.656s.911 7.41-4.914 13.078",stroke:"#E4EBF7",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M87.397 94.68s3.124 2.572 10.263 2.572c7.14 0 9.074-3.437 9.074-3.437",stroke:"#E4EBF7",strokeWidth:".932",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M117.184 68.639l-6.781-6.177s-5.355-4.314-9.223-.893c-3.867 3.422 4.463 2.083 5.653 4.165 1.19 2.082.848 1.143-2.083.446-5.603-1.331-2.082.893 2.975 5.355 2.091 1.845 6.992.955 6.992.955l2.467-3.851z",fill:"#FFC6A0"}),v.createElement("path",{d:"M105.282 91.315l-.297-10.937-15.918-.027-.53 10.45c-.026.403.17.788.515.999 2.049 1.251 9.387 5.093 15.799.424.287-.21.443-.554.431-.91",fill:"#FFB594"}),v.createElement("path",{d:"M107.573 74.24c.817-1.147.982-9.118 1.015-11.928a1.046 1.046 0 0 0-.965-1.055l-4.62-.365c-7.71-1.044-17.071.624-18.253 6.346-5.482 5.813-.421 13.244-.421 13.244s1.963 3.566 4.305 6.791c.756 1.041.398-3.731 3.04-5.929 5.524-4.594 15.899-7.103 15.899-7.103",fill:"#5C2552"}),v.createElement("path",{d:"M88.426 83.206s2.685 6.202 11.602 6.522c7.82.28 8.973-7.008 7.434-17.505l-.909-5.483c-6.118-2.897-15.478.54-15.478.54s-.576 2.044-.19 5.504c-2.276 2.066-1.824 5.618-1.824 5.618s-.905-1.922-1.98-2.321c-.86-.32-1.897.089-2.322 1.98-1.04 4.632 3.667 5.145 3.667 5.145",fill:"#FFC6A0"}),v.createElement("path",{stroke:"#DB836E",strokeWidth:"1.145",strokeLinecap:"round",strokeLinejoin:"round",d:"M100.843 77.099l1.701-.928-1.015-4.324.674-1.406"}),v.createElement("path",{d:"M105.546 74.092c-.022.713-.452 1.279-.96 1.263-.51-.016-.904-.607-.882-1.32.021-.713.452-1.278.96-1.263.51.016.904.607.882 1.32M97.592 74.349c-.022.713-.452 1.278-.961 1.263-.509-.016-.904-.607-.882-1.32.022-.713.452-1.279.961-1.263.51.016.904.606.882 1.32",fill:"#552950"}),v.createElement("path",{d:"M91.132 86.786s5.269 4.957 12.679 2.327",stroke:"#DB836E",strokeWidth:"1.145",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M99.776 81.903s-3.592.232-1.44-2.79c1.59-1.496 4.897-.46 4.897-.46s1.156 3.906-3.457 3.25",fill:"#DB836E"}),v.createElement("path",{d:"M102.88 70.6s2.483.84 3.402.715M93.883 71.975s2.492-1.144 4.778-1.073",stroke:"#5C2552",strokeWidth:"1.526",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M86.32 77.374s.961.879 1.458 2.106c-.377.48-1.033 1.152-.236 1.809M99.337 83.719s1.911.151 2.509-.254",stroke:"#DB836E",strokeWidth:"1.145",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M87.782 115.821l15.73-3.012M100.165 115.821l10.04-2.008",stroke:"#E4EBF7",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M66.508 86.763s-1.598 8.83-6.697 14.078",stroke:"#E4EBF7",strokeWidth:"1.114",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M128.31 87.934s3.013 4.121 4.06 11.785",stroke:"#E4EBF7",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M64.09 84.816s-6.03 9.912-13.607 9.903",stroke:"#DB836E",strokeWidth:".795",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M112.366 65.909l-.142 5.32s5.993 4.472 11.945 9.202c4.482 3.562 8.888 7.455 10.985 8.662 4.804 2.766 8.9 3.355 11.076 1.808 4.071-2.894 4.373-9.878-8.136-15.263-4.271-1.838-16.144-6.36-25.728-9.73",fill:"#FFC6A0"}),v.createElement("path",{d:"M130.532 85.488s4.588 5.757 11.619 6.214",stroke:"#DB836E",strokeWidth:".75",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M121.708 105.73s-.393 8.564-1.34 13.612",stroke:"#E4EBF7",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M115.784 161.512s-3.57-1.488-2.678-7.14",stroke:"#648BD8",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M101.52 290.246s4.326 2.057 7.408 1.03c2.842-.948 4.564.673 7.132 1.186 2.57.514 6.925 1.108 11.772-1.269-.104-5.551-6.939-4.01-12.048-6.763-2.582-1.39-3.812-4.757-3.625-8.863h-9.471s-1.402 10.596-1.169 14.68",fill:"#CBD1D1"}),v.createElement("path",{d:"M101.496 290.073s2.447 1.281 6.809.658c3.081-.44 3.74.485 7.479 1.039 3.739.554 10.802-.07 11.91-.9.415 1.108-.347 2.077-.347 2.077s-1.523.608-4.847.831c-2.045.137-5.843.293-7.663-.507-1.8-1.385-5.286-1.917-5.77-.243-3.947.958-7.41-.288-7.41-.288l-.16-2.667z",fill:"#2B0849"}),v.createElement("path",{d:"M108.824 276.19h3.116s-.103 6.751 4.57 8.62c-4.673.624-8.62-2.32-7.686-8.62",fill:"#A4AABA"}),v.createElement("path",{d:"M57.65 272.52s-2.122 7.47-4.518 12.396c-1.811 3.724-4.255 7.548 5.505 7.548 6.698 0 9.02-.483 7.479-6.648-1.541-6.164.268-13.296.268-13.296H57.65z",fill:"#CBD1D1"}),v.createElement("path",{d:"M51.54 290.04s2.111 1.178 6.682 1.178c6.128 0 8.31-1.662 8.31-1.662s.605 1.122-.624 2.18c-1 .862-3.624 1.603-7.444 1.559-4.177-.049-5.876-.57-6.786-1.177-.831-.554-.692-1.593-.138-2.078",fill:"#2B0849"}),v.createElement("path",{d:"M58.533 274.438s.034 1.529-.315 2.95c-.352 1.431-1.087 3.127-1.139 4.17-.058 1.16 4.57 1.592 5.194.035.623-1.559 1.303-6.475 1.927-7.306.622-.831-4.94-2.135-5.667.15",fill:"#A4AABA"}),v.createElement("path",{d:"M100.885 277.015l13.306.092s1.291-54.228 1.843-64.056c.552-9.828 3.756-43.13.997-62.788l-12.48-.64-22.725.776s-.433 3.944-1.19 9.921c-.062.493-.677.838-.744 1.358-.075.582.42 1.347.318 1.956-2.35 14.003-6.343 32.926-8.697 46.425-.116.663-1.227 1.004-1.45 2.677-.04.3.21 1.516.112 1.785-6.836 18.643-10.89 47.584-14.2 61.551l14.528-.014s2.185-8.524 4.008-16.878c2.796-12.817 22.987-84.553 22.987-84.553l3-.517 1.037 46.1s-.223 1.228.334 2.008c.558.782-.556 1.117-.39 2.233l.39 1.784s-.446 7.14-.892 11.826c-.446 4.685-.092 38.954-.092 38.954",fill:"#7BB2F9"}),v.createElement("path",{d:"M77.438 220.434c1.146.094 4.016-2.008 6.916-4.91M107.55 223.931s2.758-1.103 6.069-3.862",stroke:"#648BD8",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M108.459 220.905s2.759-1.104 6.07-3.863",stroke:"#648BD8",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M76.099 223.557s2.608-.587 6.47-3.346M87.33 150.82c-.27 3.088.297 8.478-4.315 9.073M104.829 149.075s.11 13.936-1.286 14.983c-2.207 1.655-2.975 1.934-2.975 1.934M101.014 149.63s.035 12.81-1.19 24.245M94.93 174.965s7.174-1.655 9.38-1.655M75.671 204.754c-.316 1.55-.64 3.067-.973 4.535 0 0-1.45 1.822-1.003 3.756.446 1.934-.943 2.034-4.96 15.273-1.686 5.559-4.464 18.49-6.313 27.447-.078.38-4.018 18.06-4.093 18.423M77.043 196.743a313.269 313.269 0 0 1-.877 4.729M83.908 151.414l-1.19 10.413s-1.091.148-.496 2.23c.111 1.34-2.66 15.692-5.153 30.267M57.58 272.94h13.238",stroke:"#648BD8",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"}),v.createElement("path",{d:"M117.377 147.423s-16.955-3.087-35.7.199c.157 2.501-.002 4.128-.002 4.128s14.607-2.802 35.476-.31c.251-2.342.226-4.017.226-4.017",fill:"#192064"}),v.createElement("path",{d:"M107.511 150.353l.004-4.885a.807.807 0 0 0-.774-.81c-2.428-.092-5.04-.108-7.795-.014a.814.814 0 0 0-.784.81l-.003 4.88c0 .456.371.82.827.808a140.76 140.76 0 0 1 7.688.017.81.81 0 0 0 .837-.806",fill:"#FFF"}),v.createElement("path",{d:"M106.402 149.426l.002-3.06a.64.64 0 0 0-.616-.643 94.135 94.135 0 0 0-5.834-.009.647.647 0 0 0-.626.643l-.001 3.056c0 .36.291.648.651.64 1.78-.04 3.708-.041 5.762.012.36.009.662-.279.662-.64",fill:"#192064"}),v.createElement("path",{d:"M101.485 273.933h12.272M102.652 269.075c.006 3.368.04 5.759.11 6.47M102.667 263.125c-.009 1.53-.015 2.98-.016 4.313M102.204 174.024l.893 44.402s.669 1.561-.224 2.677c-.892 1.116 2.455.67.893 2.231-1.562 1.562.893 1.116 0 3.347-.592 1.48-.988 20.987-1.09 34.956",stroke:"#648BD8",strokeWidth:"1.051",strokeLinecap:"round",strokeLinejoin:"round"})))};var I={success:a.Z,error:i.Z,info:o.Z,warning:m},C={404:f,500:h,403:p},D=Object.keys(C),E=function(e){var t=e.prefixCls,n=e.icon,r=e.status,a=S()("".concat(t,"-icon"));if(D.includes("".concat(r))){var i=C[r];return v.createElement("div",{className:"".concat(a," ").concat(t,"-image")},v.createElement(i,null))}var o=v.createElement(I[r]);return null===n||!1===n?null:v.createElement("div",{className:a},n||o)},M=function(e){var t=e.prefixCls,n=e.extra;return n?v.createElement("div",{className:"".concat(t,"-extra")},n):null},A=function(e){var t=e.prefixCls,n=e.className,a=e.subTitle,i=e.title,o=e.style,s=e.children,u=e.status,c=void 0===u?"info":u,l=e.icon,m=e.extra,g=v.useContext(d.E_),f=g.getPrefixCls,h=g.direction,p=f("result",t),I=S()(p,"".concat(p,"-").concat(c),n,(0,r.Z)({},"".concat(p,"-rtl"),"rtl"===h));return v.createElement("div",{className:I,style:o},v.createElement(E,{prefixCls:p,status:c,icon:l}),v.createElement("div",{className:"".concat(p,"-title")},i),a&&v.createElement("div",{className:"".concat(p,"-subtitle")},a),v.createElement(M,{prefixCls:p,extra:m}),s&&v.createElement("div",{className:"".concat(p,"-content")},s))};A.PRESENTED_IMAGE_403=C[403],A.PRESENTED_IMAGE_404=C[404],A.PRESENTED_IMAGE_500=C[500];const P=A},6106:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r=n(7545).Z},3734:(e,t,n)=>{"use strict";n.d(t,{Z:()=>je});var r=n(4942),a=n(7462),i=n(1694),o=n.n(i),s=n(3433),v=n(1413),u=n(9439),c=n(4925),l=n(1002),m=n(5179),g=n(632),S=n(2791),d=n(1605),f=n(3786),h=n(1354),p=n(8834),I=S.createContext(null);function C(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:250,t=S.useRef(null),n=S.useRef(null);function r(r){(r||null===t.current)&&(t.current=r),window.clearTimeout(n.current),n.current=window.setTimeout((function(){t.current=null}),e)}return S.useEffect((function(){return function(){window.clearTimeout(n.current)}}),[]),[function(){return t.current},r]}var D=n(4170),E=n(7573);const M=function(e){var t,n=e.className,r=e.customizeIcon,a=e.customizeIconProps,i=e.onMouseDown,s=e.onClick,v=e.children;return t="function"===typeof r?r(a):r,S.createElement("span",{className:n,onMouseDown:function(e){e.preventDefault(),i&&i(e)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:s,"aria-hidden":!0},void 0!==t?t:S.createElement("span",{className:o()(n.split(/\s+/).map((function(e){return"".concat(e,"-icon")})))},v))};var A=function(e,t){var n,r,a=e.prefixCls,i=e.id,s=e.inputElement,u=e.disabled,c=e.tabIndex,l=e.autoFocus,m=e.autoComplete,d=e.editable,f=e.activeDescendantId,h=e.value,I=e.maxLength,C=e.onKeyDown,D=e.onMouseDown,E=e.onChange,M=e.onPaste,A=e.onCompositionStart,P=e.onCompositionEnd,T=e.open,O=e.attrs,y=s||S.createElement("input",null),R=y,_=R.ref,N=R.props,b=N.onKeyDown,L=N.onChange,w=N.onMouseDown,x=N.onCompositionStart,F=N.onCompositionEnd,U=N.style;return(0,g.Kp)(!("maxLength"in y.props),"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled."),y=S.cloneElement(y,(0,v.Z)((0,v.Z)((0,v.Z)({type:"search"},N),{},{id:i,ref:(0,p.sQ)(t,_),disabled:u,tabIndex:c,autoComplete:m||"off",autoFocus:l,className:o()("".concat(a,"-selection-search-input"),null===(n=y)||void 0===n||null===(r=n.props)||void 0===r?void 0:r.className),role:"combobox","aria-expanded":T,"aria-haspopup":"listbox","aria-owns":"".concat(i,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(i,"_list"),"aria-activedescendant":f},O),{},{value:d?h:"",maxLength:I,readOnly:!d,unselectable:d?null:"on",style:(0,v.Z)((0,v.Z)({},U),{},{opacity:d?null:0}),onKeyDown:function(e){C(e),b&&b(e)},onMouseDown:function(e){D(e),w&&w(e)},onChange:function(e){E(e),L&&L(e)},onCompositionStart:function(e){A(e),x&&x(e)},onCompositionEnd:function(e){P(e),F&&F(e)},onPaste:M}))},P=S.forwardRef(A);P.displayName="Input";const T=P;function O(e){return Array.isArray(e)?e:void 0!==e?[e]:[]}var y="undefined"!==typeof window&&window.document&&window.document.documentElement;function R(e){return["string","number"].includes((0,l.Z)(e))}function _(e){var t=void 0;return e&&(R(e.title)?t=e.title.toString():R(e.label)&&(t=e.label.toString())),t}function N(e){var t;return null!==(t=e.key)&&void 0!==t?t:e.value}var b=function(e){e.preventDefault(),e.stopPropagation()};const L=function(e){var t,n,a=e.id,i=e.prefixCls,s=e.values,v=e.open,c=e.searchValue,l=e.autoClearSearchValue,m=e.inputRef,g=e.placeholder,d=e.disabled,f=e.mode,h=e.showSearch,p=e.autoFocus,I=e.autoComplete,C=e.activeDescendantId,A=e.tabIndex,P=e.removeIcon,O=e.maxTagCount,R=e.maxTagTextLength,L=e.maxTagPlaceholder,w=void 0===L?function(e){return"+ ".concat(e.length," ...")}:L,x=e.tagRender,F=e.onToggleOpen,U=e.onRemove,k=e.onInputChange,G=e.onInputPaste,q=e.onInputKeyDown,V=e.onInputMouseDown,B=e.onInputCompositionStart,Q=e.onInputCompositionEnd,H=S.useRef(null),j=(0,S.useState)(0),W=(0,u.Z)(j,2),Z=W[0],z=W[1],K=(0,S.useState)(!1),X=(0,u.Z)(K,2),Y=X[0],J=X[1],$="".concat(i,"-selection"),ee=v||"multiple"===f&&!1===l||"tags"===f?c:"",te="tags"===f||"multiple"===f&&!1===l||h&&(v||Y);function ne(e,t,n,a,i){return S.createElement("span",{className:o()("".concat($,"-item"),(0,r.Z)({},"".concat($,"-item-disabled"),n)),title:_(e)},S.createElement("span",{className:"".concat($,"-item-content")},t),a&&S.createElement(M,{className:"".concat($,"-item-remove"),onMouseDown:b,onClick:i,customizeIcon:P},"\xd7"))}t=function(){z(H.current.scrollWidth)},n=[ee],y?S.useLayoutEffect(t,n):S.useEffect(t,n);var re=S.createElement("div",{className:"".concat($,"-search"),style:{width:Z},onFocus:function(){J(!0)},onBlur:function(){J(!1)}},S.createElement(T,{ref:m,open:v,prefixCls:i,id:a,inputElement:null,disabled:d,autoFocus:p,autoComplete:I,editable:te,activeDescendantId:C,value:ee,onKeyDown:q,onMouseDown:V,onChange:k,onPaste:G,onCompositionStart:B,onCompositionEnd:Q,tabIndex:A,attrs:(0,D.Z)(e,!0)}),S.createElement("span",{ref:H,className:"".concat($,"-search-mirror"),"aria-hidden":!0},ee,"\xa0")),ae=S.createElement(E.Z,{prefixCls:"".concat($,"-overflow"),data:s,renderItem:function(e){var t=e.disabled,n=e.label,r=e.value,a=!d&&!t,i=n;if("number"===typeof R&&("string"===typeof n||"number"===typeof n)){var o=String(i);o.length>R&&(i="".concat(o.slice(0,R),"..."))}var s=function(t){t&&t.stopPropagation(),U(e)};return"function"===typeof x?function(e,t,n,r,a){return S.createElement("span",{onMouseDown:function(e){b(e),F(!v)}},x({label:t,value:e,disabled:n,closable:r,onClose:a}))}(r,i,t,a,s):ne(e,i,t,a,s)},renderRest:function(e){var t="function"===typeof w?w(e):w;return ne({title:t},t,!1)},suffix:re,itemKey:N,maxCount:O});return S.createElement(S.Fragment,null,ae,!s.length&&!ee&&S.createElement("span",{className:"".concat($,"-placeholder")},g))};const w=function(e){var t=e.inputElement,n=e.prefixCls,r=e.id,a=e.inputRef,i=e.disabled,o=e.autoFocus,s=e.autoComplete,v=e.activeDescendantId,c=e.mode,l=e.open,m=e.values,g=e.placeholder,d=e.tabIndex,f=e.showSearch,h=e.searchValue,p=e.activeValue,I=e.maxLength,C=e.onInputKeyDown,E=e.onInputMouseDown,M=e.onInputChange,A=e.onInputPaste,P=e.onInputCompositionStart,O=e.onInputCompositionEnd,y=S.useState(!1),R=(0,u.Z)(y,2),N=R[0],b=R[1],L="combobox"===c,w=L||f,x=m[0],F=h||"";L&&p&&!N&&(F=p),S.useEffect((function(){L&&b(!1)}),[L,p]);var U=!("combobox"!==c&&!l&&!f)&&!!F,k=_(x);return S.createElement(S.Fragment,null,S.createElement("span",{className:"".concat(n,"-selection-search")},S.createElement(T,{ref:a,prefixCls:n,id:r,open:l,inputElement:t,disabled:i,autoFocus:o,autoComplete:s,editable:w,activeDescendantId:v,value:F,onKeyDown:C,onMouseDown:E,onChange:function(e){b(!0),M(e)},onPaste:A,onCompositionStart:P,onCompositionEnd:O,tabIndex:d,attrs:(0,D.Z)(e,!0),maxLength:L?I:void 0})),!L&&x&&!U&&S.createElement("span",{className:"".concat(n,"-selection-item"),title:k},x.label),function(){if(x)return null;var e=U?{visibility:"hidden"}:void 0;return S.createElement("span",{className:"".concat(n,"-selection-placeholder"),style:e},g)}())};var x=function(e,t){var n=(0,S.useRef)(null),r=(0,S.useRef)(!1),i=e.prefixCls,o=e.open,s=e.mode,v=e.showSearch,c=e.tokenWithEnter,l=e.autoClearSearchValue,m=e.onSearch,g=e.onSearchSubmit,d=e.onToggleOpen,f=e.onInputKeyDown,p=e.domRef;S.useImperativeHandle(t,(function(){return{focus:function(){n.current.focus()},blur:function(){n.current.blur()}}}));var I=C(0),D=(0,u.Z)(I,2),E=D[0],M=D[1],A=(0,S.useRef)(null),P=function(e){!1!==m(e,!0,r.current)&&d(!0)},T={inputRef:n,onInputKeyDown:function(e){var t,n=e.which;n!==h.Z.UP&&n!==h.Z.DOWN||e.preventDefault(),f&&f(e),n!==h.Z.ENTER||"tags"!==s||r.current||o||null===g||void 0===g||g(e.target.value),t=n,[h.Z.ESC,h.Z.SHIFT,h.Z.BACKSPACE,h.Z.TAB,h.Z.WIN_KEY,h.Z.ALT,h.Z.META,h.Z.WIN_KEY_RIGHT,h.Z.CTRL,h.Z.SEMICOLON,h.Z.EQUALS,h.Z.CAPS_LOCK,h.Z.CONTEXT_MENU,h.Z.F1,h.Z.F2,h.Z.F3,h.Z.F4,h.Z.F5,h.Z.F6,h.Z.F7,h.Z.F8,h.Z.F9,h.Z.F10,h.Z.F11,h.Z.F12].includes(t)||d(!0)},onInputMouseDown:function(){M(!0)},onInputChange:function(e){var t=e.target.value;if(c&&A.current&&/[\r\n]/.test(A.current)){var n=A.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");t=t.replace(n,A.current)}A.current=null,P(t)},onInputPaste:function(e){var t=e.clipboardData.getData("text");A.current=t},onInputCompositionStart:function(){r.current=!0},onInputCompositionEnd:function(e){r.current=!1,"combobox"!==s&&P(e.target.value)}},O="multiple"===s||"tags"===s?S.createElement(L,(0,a.Z)({},e,T)):S.createElement(w,(0,a.Z)({},e,T));return S.createElement("div",{ref:p,className:"".concat(i,"-selector"),onClick:function(e){e.target!==n.current&&(void 0!==document.body.style.msTouchAction?setTimeout((function(){n.current.focus()})):n.current.focus())},onMouseDown:function(e){var t=E();e.target===n.current||t||"combobox"===s||e.preventDefault(),("combobox"===s||v&&t)&&o||(o&&!1!==l&&m("",!0,!1),d())}},O)},F=S.forwardRef(x);F.displayName="Selector";const U=F;var k=n(1531),G=["prefixCls","disabled","visible","children","popupElement","containerWidth","animation","transitionName","dropdownStyle","dropdownClassName","direction","placement","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","getPopupContainer","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter"],q=function(e,t){var n=e.prefixCls,i=(e.disabled,e.visible),s=e.children,u=e.popupElement,l=e.containerWidth,m=e.animation,g=e.transitionName,d=e.dropdownStyle,f=e.dropdownClassName,h=e.direction,p=void 0===h?"ltr":h,I=e.placement,C=e.dropdownMatchSelectWidth,D=e.dropdownRender,E=e.dropdownAlign,M=e.getPopupContainer,A=e.empty,P=e.getTriggerDOMNode,T=e.onPopupVisibleChange,O=e.onPopupMouseEnter,y=(0,c.Z)(e,G),R="".concat(n,"-dropdown"),_=u;D&&(_=D(u));var N=S.useMemo((function(){return function(e){var t=!0===e?0:1;return{bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:t,adjustY:1}},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:t,adjustY:1}},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:t,adjustY:1}},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:t,adjustY:1}}}}(C)}),[C]),b=m?"".concat(R,"-").concat(m):g,L=S.useRef(null);S.useImperativeHandle(t,(function(){return{getPopupElement:function(){return L.current}}}));var w=(0,v.Z)({minWidth:l},d);return"number"===typeof C?w.width=C:C&&(w.width=l),S.createElement(k.Z,(0,a.Z)({},y,{showAction:T?["click"]:[],hideAction:T?["click"]:[],popupPlacement:I||("rtl"===p?"bottomRight":"bottomLeft"),builtinPlacements:N,prefixCls:R,popupTransitionName:b,popup:S.createElement("div",{ref:L,onMouseEnter:O},_),popupAlign:E,popupVisible:i,getPopupContainer:M,popupClassName:o()(f,(0,r.Z)({},"".concat(R,"-empty"),A)),popupStyle:w,getTriggerDOMNode:P,onPopupVisibleChange:T}),s)},V=S.forwardRef(q);V.displayName="SelectTrigger";const B=V;var Q=n(4506);function H(e,t){var n,r=e.key;return"value"in e&&(n=e.value),null!==r&&void 0!==r?r:void 0!==n?n:"rc-index-key-".concat(t)}function j(e,t){var n=e||{};return{label:n.label||(t?"children":"label"),value:n.value||"value",options:n.options||"options"}}function W(e){var t=(0,v.Z)({},e);return"props"in t||Object.defineProperty(t,"props",{get:function(){return(0,g.ZP)(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),t}}),t}var Z=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","showArrow","inputIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],z=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"];function K(e){return"tags"===e||"multiple"===e}var X=S.forwardRef((function(e,t){var n,i,g=e.id,D=e.prefixCls,E=e.className,A=e.showSearch,P=e.tagRender,T=e.direction,O=e.omitDomProps,y=e.displayValues,R=e.onDisplayValuesChange,_=e.emptyOptions,N=e.notFoundContent,b=void 0===N?"Not Found":N,L=e.onClear,w=e.mode,x=e.disabled,F=e.loading,k=e.getInputElement,G=e.getRawInputElement,q=e.open,V=e.defaultOpen,H=e.onDropdownVisibleChange,j=e.activeValue,W=e.onActiveValueChange,X=e.activeDescendantId,Y=e.searchValue,J=e.autoClearSearchValue,$=e.onSearch,ee=e.onSearchSplit,te=e.tokenSeparators,ne=e.allowClear,re=e.showArrow,ae=e.inputIcon,ie=e.clearIcon,oe=e.OptionList,se=e.animation,ve=e.transitionName,ue=e.dropdownStyle,ce=e.dropdownClassName,le=e.dropdownMatchSelectWidth,me=e.dropdownRender,ge=e.dropdownAlign,Se=e.placement,de=e.getPopupContainer,fe=e.showAction,he=void 0===fe?[]:fe,pe=e.onFocus,Ie=e.onBlur,Ce=e.onKeyUp,De=e.onKeyDown,Ee=e.onMouseDown,Me=(0,c.Z)(e,Z),Ae=K(w),Pe=(void 0!==A?A:Ae)||"combobox"===w,Te=(0,v.Z)({},Me);z.forEach((function(e){delete Te[e]})),null===O||void 0===O||O.forEach((function(e){delete Te[e]}));var Oe=S.useState(!1),ye=(0,u.Z)(Oe,2),Re=ye[0],_e=ye[1];S.useEffect((function(){_e((0,f.Z)())}),[]);var Ne=S.useRef(null),be=S.useRef(null),Le=S.useRef(null),we=S.useRef(null),xe=S.useRef(null),Fe=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=S.useState(!1),n=(0,u.Z)(t,2),r=n[0],a=n[1],i=S.useRef(null),o=function(){window.clearTimeout(i.current)};return S.useEffect((function(){return o}),[]),[r,function(t,n){o(),i.current=window.setTimeout((function(){a(t),n&&n()}),e)},o]}(),Ue=(0,u.Z)(Fe,3),ke=Ue[0],Ge=Ue[1],qe=Ue[2];S.useImperativeHandle(t,(function(){var e,t;return{focus:null===(e=we.current)||void 0===e?void 0:e.focus,blur:null===(t=we.current)||void 0===t?void 0:t.blur,scrollTo:function(e){var t;return null===(t=xe.current)||void 0===t?void 0:t.scrollTo(e)}}}));var Ve=S.useMemo((function(){var e;if("combobox"!==w)return Y;var t=null===(e=y[0])||void 0===e?void 0:e.value;return"string"===typeof t||"number"===typeof t?String(t):""}),[Y,w,y]),Be="combobox"===w&&"function"===typeof k&&k()||null,Qe="function"===typeof G&&G(),He=(0,p.x1)(be,null===Qe||void 0===Qe||null===(n=Qe.props)||void 0===n?void 0:n.ref),je=(0,m.Z)(void 0,{defaultValue:V,value:q}),We=(0,u.Z)(je,2),Ze=We[0],ze=We[1],Ke=Ze,Xe=!b&&_;(x||Xe&&Ke&&"combobox"===w)&&(Ke=!1);var Ye=!Xe&&Ke,Je=S.useCallback((function(e){var t=void 0!==e?e:!Ke;x||(ze(t),Ke!==t&&(null===H||void 0===H||H(t)))}),[x,Ke,ze,H]),$e=S.useMemo((function(){return(te||[]).some((function(e){return["\n","\r\n"].includes(e)}))}),[te]),et=function(e,t,n){var r=!0,a=e;null===W||void 0===W||W(null);var i=n?null:function(e,t){if(!t||!t.length)return null;var n=!1,r=function e(t,r){var a=(0,Q.Z)(r),i=a[0],o=a.slice(1);if(!i)return[t];var v=t.split(i);return n=n||v.length>1,v.reduce((function(t,n){return[].concat((0,s.Z)(t),(0,s.Z)(e(n,o)))}),[]).filter((function(e){return e}))}(e,t);return n?r:null}(e,te);return"combobox"!==w&&i&&(a="",null===ee||void 0===ee||ee(i),Je(!1),r=!1),$&&Ve!==a&&$(a,{source:t?"typing":"effect"}),r};S.useEffect((function(){Ke||Ae||"combobox"===w||et("",!1,!1)}),[Ke]),S.useEffect((function(){Ze&&x&&ze(!1),x&&Ge(!1)}),[x]);var tt=C(),nt=(0,u.Z)(tt,2),rt=nt[0],at=nt[1],it=S.useRef(!1),ot=[];S.useEffect((function(){return function(){ot.forEach((function(e){return clearTimeout(e)})),ot.splice(0,ot.length)}}),[]);var st,vt=S.useState(null),ut=(0,u.Z)(vt,2),ct=ut[0],lt=ut[1],mt=S.useState({}),gt=(0,u.Z)(mt,2)[1];(0,d.Z)((function(){if(Ye){var e,t=Math.ceil(null===(e=Ne.current)||void 0===e?void 0:e.offsetWidth);ct===t||Number.isNaN(t)||lt(t)}}),[Ye]),Qe&&(st=function(e){Je(e)}),function(e,t,n,r){var a=S.useRef(null);a.current={open:t,triggerOpen:n,customizedTrigger:r},S.useEffect((function(){function t(t){var n;if(null===(n=a.current)||void 0===n||!n.customizedTrigger){var r=t.target;r.shadowRoot&&t.composed&&(r=t.composedPath()[0]||r),a.current.open&&e().filter((function(e){return e})).every((function(e){return!e.contains(r)&&e!==r}))&&a.current.triggerOpen(!1)}}return window.addEventListener("mousedown",t),function(){return window.removeEventListener("mousedown",t)}}),[])}((function(){var e;return[Ne.current,null===(e=Le.current)||void 0===e?void 0:e.getPopupElement()]}),Ye,Je,!!Qe);var St,dt,ft=S.useMemo((function(){return(0,v.Z)((0,v.Z)({},e),{},{notFoundContent:b,open:Ke,triggerOpen:Ye,id:g,showSearch:Pe,multiple:Ae,toggleOpen:Je})}),[e,b,Ye,Ke,g,Pe,Ae,Je]),ht=void 0!==re?re:F||!Ae&&"combobox"!==w;ht&&(St=S.createElement(M,{className:o()("".concat(D,"-arrow"),(0,r.Z)({},"".concat(D,"-arrow-loading"),F)),customizeIcon:ae,customizeIconProps:{loading:F,searchValue:Ve,open:Ke,focused:ke,showSearch:Pe}}));x||!ne||!y.length&&!Ve||"combobox"===w&&""===Ve||(dt=S.createElement(M,{className:"".concat(D,"-clear"),onMouseDown:function(){var e;null===L||void 0===L||L(),null===(e=we.current)||void 0===e||e.focus(),R([],{type:"clear",values:y}),et("",!1,!1)},customizeIcon:ie},"\xd7"));var pt,It=S.createElement(oe,{ref:xe}),Ct=o()(D,E,(i={},(0,r.Z)(i,"".concat(D,"-focused"),ke),(0,r.Z)(i,"".concat(D,"-multiple"),Ae),(0,r.Z)(i,"".concat(D,"-single"),!Ae),(0,r.Z)(i,"".concat(D,"-allow-clear"),ne),(0,r.Z)(i,"".concat(D,"-show-arrow"),ht),(0,r.Z)(i,"".concat(D,"-disabled"),x),(0,r.Z)(i,"".concat(D,"-loading"),F),(0,r.Z)(i,"".concat(D,"-open"),Ke),(0,r.Z)(i,"".concat(D,"-customize-input"),Be),(0,r.Z)(i,"".concat(D,"-show-search"),Pe),i)),Dt=S.createElement(B,{ref:Le,disabled:x,prefixCls:D,visible:Ye,popupElement:It,containerWidth:ct,animation:se,transitionName:ve,dropdownStyle:ue,dropdownClassName:ce,direction:T,dropdownMatchSelectWidth:le,dropdownRender:me,dropdownAlign:ge,placement:Se,getPopupContainer:de,empty:_,getTriggerDOMNode:function(){return be.current},onPopupVisibleChange:st,onPopupMouseEnter:function(){gt({})}},Qe?S.cloneElement(Qe,{ref:He}):S.createElement(U,(0,a.Z)({},e,{domRef:be,prefixCls:D,inputElement:Be,ref:we,id:g,showSearch:Pe,autoClearSearchValue:J,mode:w,activeDescendantId:X,tagRender:P,values:y,open:Ke,onToggleOpen:Je,activeValue:j,searchValue:Ve,onSearch:et,onSearchSubmit:function(e){e&&e.trim()&&$(e,{source:"submit"})},onRemove:function(e){var t=y.filter((function(t){return t!==e}));R(t,{type:"remove",values:[e]})},tokenWithEnter:$e})));return pt=Qe?Dt:S.createElement("div",(0,a.Z)({className:Ct},Te,{ref:Ne,onMouseDown:function(e){var t,n=e.target,r=null===(t=Le.current)||void 0===t?void 0:t.getPopupElement();if(r&&r.contains(n)){var a=setTimeout((function(){var e,t=ot.indexOf(a);-1!==t&&ot.splice(t,1),qe(),Re||r.contains(document.activeElement)||null===(e=we.current)||void 0===e||e.focus()}));ot.push(a)}for(var i=arguments.length,o=new Array(i>1?i-1:0),s=1;s=0;o-=1){var v=a[o];if(!v.disabled){a.splice(o,1),i=v;break}}i&&R(a,{type:"remove",values:[i]})}for(var u=arguments.length,c=new Array(u>1?u-1:0),l=1;l1?t-1:0),r=1;r1&&void 0!==arguments[1]&&arguments[1];return(0,re.Z)(e).map((function(e,n){if(!S.isValidElement(e)||!e.type)return null;var r=e,a=r.type.isSelectOptGroup,i=r.key,o=r.props,s=o.children,u=(0,c.Z)(o,ie);return t||!a?oe(e):(0,v.Z)((0,v.Z)({key:"__RC_SELECT_GRP__".concat(null===i?n:i,"__"),label:i},u),{},{options:se(s)})})).filter((function(e){return e}))}function ve(e,t,n,r,a){return S.useMemo((function(){var i=e;!e&&(i=se(t));var o=new Map,s=new Map,v=function(e,t,n){n&&"string"===typeof n&&e.set(t[n],t)};return function e(t){for(var i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],u=0;u1&&void 0!==arguments[1]?arguments[1]:1,n=x.length,r=0;r1&&void 0!==arguments[1]&&arguments[1];Q(e);var n={source:t?"keyboard":"mouse"},r=x[e];r?P(r.value,e,n):P(null,-1,n)};(0,S.useEffect)((function(){H(!1!==T?G(0):-1)}),[x.length,d]);var j=S.useCallback((function(e){return R.has(e)&&"combobox"!==g}),[g,(0,s.Z)(R).toString(),R.size]);(0,S.useEffect)((function(){var e,t=setTimeout((function(){if(!m&&l&&1===R.size){var e=Array.from(R)[0],t=x.findIndex((function(t){return t.data.value===e}));-1!==t&&(H(t),k(t))}}));l&&(null===(e=F.current)||void 0===e||e.scrollTo(void 0));return function(){return clearTimeout(t)}}),[l,d]);var W=function(e){void 0!==e&&O(e,{selected:!R.has(e)}),m||f(!1)};if(S.useImperativeHandle(t,(function(){return{onKeyDown:function(e){var t=e.which,n=e.ctrlKey;switch(t){case h.Z.N:case h.Z.P:case h.Z.UP:case h.Z.DOWN:var r=0;if(t===h.Z.UP?r=-1:t===h.Z.DOWN?r=1:/(mac\sos|macintosh)/i.test(navigator.appVersion)&&n&&(t===h.Z.N?r=1:t===h.Z.P&&(r=-1)),0!==r){var a=G(B+r,r);k(a),H(a,!0)}break;case h.Z.ENTER:var i=x[B];i&&!i.data.disabled?W(i.value):W(void 0),l&&e.preventDefault();break;case h.Z.ESC:f(!1),l&&e.stopPropagation()}},onKeyUp:function(){},scrollTo:function(e){k(e)}}})),0===x.length)return S.createElement("div",{role:"listbox",id:"".concat(v,"_list"),className:"".concat(w,"-empty"),onMouseDown:U},p);var Z=Object.keys(_).map((function(e){return _[e]})),z=function(e){return e.label},K=function(e){var t=x[e];if(!t)return null;var n=t.data||{},r=n.value,i=t.group,o=(0,D.Z)(n,!0),s=z(t);return t?S.createElement("div",(0,a.Z)({"aria-label":"string"!==typeof s||i?null:s},o,{key:e,role:i?"presentation":"option",id:"".concat(v,"_list_").concat(e),"aria-selected":j(r)}),r):null};return S.createElement(S.Fragment,null,S.createElement("div",{role:"listbox",id:"".concat(v,"_list"),style:{height:0,width:0,overflow:"hidden"}},K(B-1),K(B),K(B+1)),S.createElement(fe.Z,{itemKey:"key",ref:F,data:x,height:b,itemHeight:L,fullHeight:!1,onMouseDown:U,onScroll:C,virtual:N},(function(e,t){var n,i=e.group,s=e.groupOption,v=e.data,u=e.label,l=e.value,m=v.key;if(i){var g,d=null!==(g=v.title)&&void 0!==g?g:Ie(u)?u.toString():void 0;return S.createElement("div",{className:o()(w,"".concat(w,"-group")),title:d},void 0!==u?u:m)}var f=v.disabled,h=v.title,p=(v.children,v.style),I=v.className,C=(0,c.Z)(v,pe),E=(0,Se.Z)(C,Z),A=j(l),P="".concat(w,"-option"),T=o()(w,P,I,(n={},(0,r.Z)(n,"".concat(P,"-grouped"),s),(0,r.Z)(n,"".concat(P,"-active"),B===t&&!f),(0,r.Z)(n,"".concat(P,"-disabled"),f),(0,r.Z)(n,"".concat(P,"-selected"),A),n)),O=z(e),R=!y||"function"===typeof y||A,_="number"===typeof O?O:O||l,N=Ie(_)?_.toString():void 0;return void 0!==h&&(N=h),S.createElement("div",(0,a.Z)({},(0,D.Z)(E),{"aria-selected":A,className:T,title:N,onMouseMove:function(){B===t||f||H(t)},onClick:function(){f||W(l)},style:p}),S.createElement("div",{className:"".concat(P,"-content")},_),S.isValidElement(y)||A,R&&S.createElement(M,{className:"".concat(w,"-option-state"),customizeIcon:y,customizeIconProps:{isSelected:A}},A?"\u2713":null))})))},De=S.forwardRef(Ce);De.displayName="OptionList";const Ee=De;var Me=["id","mode","prefixCls","backfill","fieldNames","inputValue","searchValue","onSearch","autoClearSearchValue","onSelect","onDeselect","dropdownMatchSelectWidth","filterOption","filterSort","optionFilterProp","optionLabelProp","options","children","defaultActiveFirstOption","menuItemSelectedIcon","virtual","listHeight","listItemHeight","value","defaultValue","labelInValue","onChange"],Ae=["inputValue"];var Pe=S.forwardRef((function(e,t){var n=e.id,i=e.mode,o=e.prefixCls,g=void 0===o?"rc-select":o,d=e.backfill,f=e.fieldNames,h=e.inputValue,p=e.searchValue,I=e.onSearch,C=e.autoClearSearchValue,D=void 0===C||C,E=e.onSelect,M=e.onDeselect,A=e.dropdownMatchSelectWidth,P=void 0===A||A,T=e.filterOption,y=e.filterSort,R=e.optionFilterProp,_=e.optionLabelProp,N=e.options,b=e.children,L=e.defaultActiveFirstOption,w=e.menuItemSelectedIcon,x=e.virtual,F=e.listHeight,U=void 0===F?200:F,k=e.listItemHeight,G=void 0===k?20:k,q=e.value,V=e.defaultValue,B=e.labelInValue,Q=e.onChange,Z=(0,c.Z)(e,Me),z=ne(n),X=K(i),$=!(N||!b),ee=S.useMemo((function(){return(void 0!==T||"combobox"!==i)&&T}),[T,i]),te=S.useMemo((function(){return j(f,$)}),[JSON.stringify(f),$]),re=(0,m.Z)("",{value:void 0!==p?p:h,postState:function(e){return e||""}}),ae=(0,u.Z)(re,2),ie=ae[0],oe=ae[1],se=ve(N,b,te,R,_),ce=se.valueOptions,le=se.labelOptions,me=se.options,ge=S.useCallback((function(e){return O(e).map((function(e){var t,n,r,a,i,o;(function(e){return!e||"object"!==(0,l.Z)(e)})(e)?t=e:(r=e.key,n=e.label,t=null!==(o=e.value)&&void 0!==o?o:r);var s,v=ce.get(t);v&&(void 0===n&&(n=null===v||void 0===v?void 0:v[_||te.label]),void 0===r&&(r=null!==(s=null===v||void 0===v?void 0:v.key)&&void 0!==s?s:t),a=null===v||void 0===v?void 0:v.disabled,i=null===v||void 0===v?void 0:v.title);return{label:n,value:t,key:r,disabled:a,title:i}}))}),[te,_,ce]),Se=(0,m.Z)(V,{value:q}),de=(0,u.Z)(Se,2),fe=de[0],pe=de[1],Ie=function(e,t){var n=S.useRef({values:new Map,options:new Map});return[S.useMemo((function(){var r=n.current,a=r.values,i=r.options,o=e.map((function(e){var t;return void 0===e.label?(0,v.Z)((0,v.Z)({},e),{},{label:null===(t=a.get(e.value))||void 0===t?void 0:t.label}):e})),s=new Map,u=new Map;return o.forEach((function(e){s.set(e.value,e),u.set(e.value,t.get(e.value)||i.get(e.value))})),n.current.values=s,n.current.options=u,o}),[e,t]),S.useCallback((function(e){return t.get(e)||n.current.options.get(e)}),[t])]}(S.useMemo((function(){var e,t=ge(fe);return"combobox"!==i||null!==(e=t[0])&&void 0!==e&&e.value?t:[]}),[fe,ge,i]),ce),Ce=(0,u.Z)(Ie,2),De=Ce[0],Pe=Ce[1],Te=S.useMemo((function(){if(!i&&1===De.length){var e=De[0];if(null===e.value&&(null===e.label||void 0===e.label))return[]}return De.map((function(e){var t;return(0,v.Z)((0,v.Z)({},e),{},{label:null!==(t=e.label)&&void 0!==t?t:e.value})}))}),[i,De]),Oe=S.useMemo((function(){return new Set(De.map((function(e){return e.value})))}),[De]);S.useEffect((function(){if("combobox"===i){var e,t=null===(e=De[0])||void 0===e?void 0:e.value;oe(function(e){return void 0!==e&&null!==e}(t)?String(t):"")}}),[De]);var ye=ue((function(e,t){var n,a=null!==t&&void 0!==t?t:e;return n={},(0,r.Z)(n,te.value,e),(0,r.Z)(n,te.label,a),n})),Re=function(e,t,n,a,i){return S.useMemo((function(){if(!n||!1===a)return e;var o=t.options,s=t.label,u=t.value,c=[],l="function"===typeof a,m=n.toUpperCase(),g=l?a:function(e,t){return i?J(t[i],m):t[o]?J(t["children"!==s?s:"label"],m):J(t[u],m)},S=l?function(e){return W(e)}:function(e){return e};return e.forEach((function(e){if(e[o])if(g(n,S(e)))c.push(e);else{var t=e[o].filter((function(e){return g(n,S(e))}));t.length&&c.push((0,v.Z)((0,v.Z)({},e),{},(0,r.Z)({},o,t)))}else g(n,S(e))&&c.push(e)})),c}),[e,a,i,n,t])}(S.useMemo((function(){if("tags"!==i)return me;var e=(0,s.Z)(me);return(0,s.Z)(De).sort((function(e,t){return e.value1&&void 0!==arguments[1]?arguments[1]:{},n=t.fieldNames,r=t.childrenAsData,a=[],i=j(n,!1),o=i.label,s=i.value,v=i.options;function u(e,t){e.forEach((function(e){var n=e[o];if(t||!(v in e)){var i=e[s];a.push({key:H(e,a.length),groupOption:t,data:e,label:n,value:i})}else{var c=n;void 0===c&&r&&(c=e.label),a.push({key:H(e,a.length),group:!0,data:e,label:c}),u(e[v],!0)}}))}return u(e,!1),a}(Ne,{fieldNames:te,childrenAsData:$})}),[Ne,te,$]),Le=function(e){var t=ge(e);if(pe(t),Q&&(t.length!==De.length||t.some((function(e,t){var n;return(null===(n=De[t])||void 0===n?void 0:n.value)!==(null===e||void 0===e?void 0:e.value)})))){var n=B?t:t.map((function(e){return e.value})),r=t.map((function(e){return W(Pe(e.value))}));Q(X?n:n[0],X?r:r[0])}},we=S.useState(null),xe=(0,u.Z)(we,2),Fe=xe[0],Ue=xe[1],ke=S.useState(0),Ge=(0,u.Z)(ke,2),qe=Ge[0],Ve=Ge[1],Be=void 0!==L?L:"combobox"!==i,Qe=S.useCallback((function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.source,a=void 0===r?"keyboard":r;Ve(t),d&&"combobox"===i&&null!==e&&"keyboard"===a&&Ue(String(e))}),[d,i]),He=function(e,t,n){var r=function(){var t,n=Pe(e);return[B?{label:null===n||void 0===n?void 0:n[te.label],value:e,key:null!==(t=null===n||void 0===n?void 0:n.key)&&void 0!==t?t:e}:e,W(n)]};if(t&&E){var a=r(),i=(0,u.Z)(a,2),o=i[0],s=i[1];E(o,s)}else if(!t&&M&&"clear"!==n){var v=r(),c=(0,u.Z)(v,2),l=c[0],m=c[1];M(l,m)}},je=ue((function(e,t){var n,r=!X||t.selected;n=r?X?[].concat((0,s.Z)(De),[e]):[e]:De.filter((function(t){return t.value!==e})),Le(n),He(e,r),"combobox"===i?Ue(""):K&&!D||(oe(""),Ue(""))})),We=S.useMemo((function(){var e=!1!==x&&!1!==P;return(0,v.Z)((0,v.Z)({},se),{},{flattenOptions:be,onActiveValue:Qe,defaultActiveFirstOption:Be,onSelect:je,menuItemSelectedIcon:w,rawValues:Oe,fieldNames:te,virtual:e,listHeight:U,listItemHeight:G,childrenAsData:$})}),[se,be,Qe,Be,je,w,Oe,te,x,P,U,G,$]);return S.createElement(he.Provider,{value:We},S.createElement(Y,(0,a.Z)({},Z,{id:z,prefixCls:g,ref:t,omitDomProps:Ae,mode:i,displayValues:Te,onDisplayValuesChange:function(e,t){Le(e);var n=t.type,r=t.values;"remove"!==n&&"clear"!==n||r.forEach((function(e){He(e.value,!1,n)}))},searchValue:ie,onSearch:function(e,t){if(oe(e),Ue(null),"submit"!==t.source)"blur"!==t.source&&("combobox"===i&&Le(e),null===I||void 0===I||I(e));else{var n=(e||"").trim();if(n){var r=Array.from(new Set([].concat((0,s.Z)(Oe),[n])));Le(r),He(n,!0),oe("")}}},autoClearSearchValue:D,onSearchSplit:function(e){var t=e;"tags"!==i&&(t=e.map((function(e){var t=le.get(e);return null===t||void 0===t?void 0:t.value})).filter((function(e){return void 0!==e})));var n=Array.from(new Set([].concat((0,s.Z)(Oe),(0,s.Z)(t))));Le(n),n.forEach((function(e){He(e,!0)}))},dropdownMatchSelectWidth:P,OptionList:Ee,emptyOptions:!be.length,activeValue:Fe,activeDescendantId:"".concat(z,"_list_").concat(qe)})))}));Pe.Option=ge,Pe.OptGroup=le;const Te=Pe;var Oe=n(1929),ye=n(7908),Re=n(9125),_e=n(1815),Ne=n(1940),be=n(9464),Le=n(2866),we=n(7575),xe=n(2621),Fe=n(732),Ue=n(7295),ke=n(7106),Ge=n(1730);var qe=n(11),Ve=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a{"use strict";n.d(t,{Z:()=>V});var r=n(1002),a=n(4942),i=n(7462),o=n(9439),s=n(1694),v=n.n(s),u=n(3433),c=n(2791),l=n(9613),m=n.n(l),g=n(5179),S=n(4925),d=n(1413),f=n(1354);const h=c.createContext({min:0,max:0,direction:"ltr",step:1,includedStart:0,includedEnd:0,tabIndex:0});function p(e,t,n){return(e-t)/(n-t)}function I(e,t,n,r){var a=p(t,n,r),i={};switch(e){case"rtl":i.right="".concat(100*a,"%"),i.transform="translateX(50%)";break;case"btt":i.bottom="".concat(100*a,"%"),i.transform="translateY(50%)";break;case"ttb":i.top="".concat(100*a,"%"),i.transform="translateY(-50%)";break;default:i.left="".concat(100*a,"%"),i.transform="translateX(-50%)"}return i}function C(e,t){return Array.isArray(e)?e[t]:e}var D=["prefixCls","value","valueIndex","onStartMove","style","render","dragging","onOffsetChange"];const E=c.forwardRef((function(e,t){var n,r,o=e.prefixCls,s=e.value,u=e.valueIndex,l=e.onStartMove,m=e.style,g=e.render,p=e.dragging,E=e.onOffsetChange,M=(0,S.Z)(e,D),A=c.useContext(h),P=A.min,T=A.max,O=A.direction,y=A.disabled,R=A.range,_=A.tabIndex,N=A.ariaLabelForHandle,b=A.ariaLabelledByForHandle,L=A.ariaValueTextFormatterForHandle,w="".concat(o,"-handle"),x=function(e){y||l(e,u)},F=I(O,s,P,T),U=c.createElement("div",(0,i.Z)({ref:t,className:v()(w,(n={},(0,a.Z)(n,"".concat(w,"-").concat(u+1),R),(0,a.Z)(n,"".concat(w,"-dragging"),p),n)),style:(0,d.Z)((0,d.Z)({},F),m),onMouseDown:x,onTouchStart:x,onKeyDown:function(e){if(!y){var t=null;switch(e.which||e.keyCode){case f.Z.LEFT:t="ltr"===O||"btt"===O?-1:1;break;case f.Z.RIGHT:t="ltr"===O||"btt"===O?1:-1;break;case f.Z.UP:t="ttb"!==O?1:-1;break;case f.Z.DOWN:t="ttb"!==O?-1:1;break;case f.Z.HOME:t="min";break;case f.Z.END:t="max";break;case f.Z.PAGE_UP:t=2;break;case f.Z.PAGE_DOWN:t=-2}null!==t&&(e.preventDefault(),E(t,u))}},tabIndex:y?null:C(_,u),role:"slider","aria-valuemin":P,"aria-valuemax":T,"aria-valuenow":s,"aria-disabled":y,"aria-label":C(N,u),"aria-labelledby":C(b,u),"aria-valuetext":null===(r=C(L,u))||void 0===r?void 0:r(s)},M));return g&&(U=g(U,{index:u,prefixCls:o,value:s,dragging:p})),U}));var M=["prefixCls","style","onStartMove","onOffsetChange","values","handleRender","draggingIndex"];const A=c.forwardRef((function(e,t){var n=e.prefixCls,r=e.style,a=e.onStartMove,o=e.onOffsetChange,s=e.values,v=e.handleRender,u=e.draggingIndex,l=(0,S.Z)(e,M),m=c.useRef({});return c.useImperativeHandle(t,(function(){return{focus:function(e){var t;null===(t=m.current[e])||void 0===t||t.focus()}}})),c.createElement(c.Fragment,null,s.map((function(e,t){return c.createElement(E,(0,i.Z)({ref:function(e){e?m.current[t]=e:delete m.current[t]},dragging:u===t,prefixCls:n,style:C(r,t),key:t,value:e,valueIndex:t,onStartMove:a,onOffsetChange:o,render:v},l))})))}));function P(e){var t="touches"in e?e.touches[0]:e;return{pageX:t.pageX,pageY:t.pageY}}function T(e){var t=e.prefixCls,n=e.style,r=e.start,a=e.end,i=e.index,o=e.onStartMove,s=c.useContext(h),u=s.direction,l=s.min,m=s.max,g=s.disabled,S=s.range,f="".concat(t,"-track"),I=p(r,l,m),C=p(a,l,m),D=function(e){!g&&o&&o(e,-1)},E={};switch(u){case"rtl":E.right="".concat(100*I,"%"),E.width="".concat(100*C-100*I,"%");break;case"btt":E.bottom="".concat(100*I,"%"),E.height="".concat(100*C-100*I,"%");break;case"ttb":E.top="".concat(100*I,"%"),E.height="".concat(100*C-100*I,"%");break;default:E.left="".concat(100*I,"%"),E.width="".concat(100*C-100*I,"%")}return c.createElement("div",{className:v()(f,S&&"".concat(f,"-").concat(i+1)),style:(0,d.Z)((0,d.Z)({},E),n),onMouseDown:D,onTouchStart:D})}function O(e){var t=e.prefixCls,n=e.style,r=e.values,a=e.startPoint,i=e.onStartMove,o=c.useContext(h),s=o.included,v=o.range,u=o.min,l=c.useMemo((function(){if(!v){if(0===r.length)return[];var e=null!==a&&void 0!==a?a:u,t=r[0];return[{start:Math.min(e,t),end:Math.max(e,t)}]}for(var n=[],i=0;i=0&&B}),[B,ge]),de=c.useMemo((function(){return Object.keys(ee||{}).map((function(e){var t=ee[e],n={value:Number(e)};return t&&"object"===(0,r.Z)(t)&&!c.isValidElement(t)&&("label"in t||"style"in t)?(n.style=t.style,n.label=t.label):n.label=t,n})).filter((function(e){var t=e.label;return t||"number"===typeof t})).sort((function(e,t){return e.value-t.value}))}),[ee]),fe=function(e,t,n,r,a,i){var o=c.useCallback((function(n){var r=isFinite(n)?n:e;return r=Math.min(t,n),Math.max(e,r)}),[e,t]),s=c.useCallback((function(r){if(null!==n){var a=e+Math.round((o(r)-e)/n)*n,i=function(e){return(String(e).split(".")[1]||"").length},s=Math.max(i(n),i(t),i(e)),v=Number(a.toFixed(s));return e<=v&&v<=t?v:null}return null}),[n,e,t,o]),v=c.useCallback((function(a){var i=o(a),v=r.map((function(e){return e.value}));null!==n&&v.push(s(a)),v.push(e,t);var u=v[0],c=t-e;return v.forEach((function(e){var t=Math.abs(i-e);t<=c&&(u=e,c=t)})),u}),[e,t,r,n,o,s]),l=function a(i,o,v){var c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"unit";if("number"===typeof o){var l,m=i[v],g=m+o,S=[];r.forEach((function(e){S.push(e.value)})),S.push(e,t),S.push(s(m));var d=o>0?1:-1;"unit"===c?S.push(s(m+d*n)):S.push(s(g)),S=S.filter((function(e){return null!==e})).filter((function(e){return o<0?e<=m:e>=m})),"unit"===c&&(S=S.filter((function(e){return e!==m})));var f="unit"===c?m:g;l=S[0];var h=Math.abs(l-f);if(S.forEach((function(e){var t=Math.abs(e-f);t1){var p=(0,u.Z)(i);return p[v]=l,a(p,o-d,v,c)}return l}return"min"===o?e:"max"===o?t:void 0},m=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"unit",a=e[n],i=l(e,t,n,r);return{value:i,changed:i!==a}},g=function(e){return null===i&&0===e||"number"===typeof i&&e3&&void 0!==arguments[3]?arguments[3]:"unit",o=e.map(v),s=o[n],u=l(o,t,n,r);if(o[n]=u,!1===a){var c=i||0;n>0&&o[n-1]!==s&&(o[n]=Math.max(o[n],o[n-1]+c)),n0;h-=1)for(var p=!0;g(o[h]-o[h-1])&&p;){var I=m(o,-1,h-1);o[h-1]=I.value,p=I.changed}for(var C=o.length-1;C>0;C-=1)for(var D=!0;g(o[C]-o[C-1])&&D;){var E=m(o,-1,C-1);o[C-1]=E.value,D=E.changed}for(var M=0;M=0?x+1:2;for(n=n.slice(0,r);n.length=0&&ve.current.focus(e)}be(null)}),[Ne]);var Le=c.useMemo((function(){return(!Q||null!==ge)&&Q}),[Q,ge]),we=function(e,t,n,r,a,i,s,v,l){var m=c.useState(null),g=(0,o.Z)(m,2),S=g[0],d=g[1],f=c.useState(-1),h=(0,o.Z)(f,2),p=h[0],I=h[1],C=c.useState(n),D=(0,o.Z)(C,2),E=D[0],M=D[1],A=c.useState(n),T=(0,o.Z)(A,2),O=T[0],y=T[1],R=c.useRef(null),_=c.useRef(null);c.useEffect((function(){-1===p&&M(n)}),[n,p]),c.useEffect((function(){return function(){document.removeEventListener("mousemove",R.current),document.removeEventListener("mouseup",_.current),document.removeEventListener("touchmove",R.current),document.removeEventListener("touchend",_.current)}}),[]);var N=function(e,t){E.some((function(t,n){return t!==e[n]}))&&(void 0!==t&&d(t),M(e),s(e))},b=function(e,t){if(-1===e){var n=O[0],o=O[O.length-1],s=r-n,v=a-o,c=t*(a-r);c=Math.max(c,s),c=Math.min(c,v);var m=i(n+c);c=m-n;var g=O.map((function(e){return e+c}));N(g)}else{var S=(a-r)*t,d=(0,u.Z)(E);d[e]=O[e];var f=l(d,S,e,"dist");N(f.values,f.value)}},L=c.useRef(b);L.current=b;var w=c.useMemo((function(){var e=(0,u.Z)(n).sort((function(e,t){return e-t})),t=(0,u.Z)(E).sort((function(e,t){return e-t}));return e.every((function(e,n){return e===t[n]}))?E:n}),[n,E]);return[p,S,w,function(r,a){r.stopPropagation();var i=n[a];I(a),d(i),y(n);var o=P(r),s=o.pageX,u=o.pageY,c=function(n){n.preventDefault();var r,i=P(n),o=i.pageX,v=i.pageY,c=o-s,l=v-u,m=e.current.getBoundingClientRect(),g=m.width,S=m.height;switch(t){case"btt":r=-l/S;break;case"ttb":r=l/S;break;case"rtl":r=-c/g;break;default:r=c/g}L.current(a,r)},l=function e(t){t.preventDefault(),document.removeEventListener("mouseup",e),document.removeEventListener("mousemove",c),document.removeEventListener("touchend",e),document.removeEventListener("touchmove",c),R.current=null,_.current=null,I(-1),v()};document.addEventListener("mouseup",l),document.addEventListener("mousemove",c),document.addEventListener("touchend",l),document.addEventListener("touchmove",c),R.current=c,_.current=l}]}(ue,ce,Ae,le,me,pe,Oe,(function(){null===k||void 0===k||k(Te(Pe.current))}),Ie),xe=(0,o.Z)(we,4),Fe=xe[0],Ue=xe[1],ke=xe[2],Ge=xe[3],qe=function(e,t){Ge(e,t),null===U||void 0===U||U(Te(Pe.current))},Ve=-1!==Fe;c.useEffect((function(){if(!Ve){var e=Ae.lastIndexOf(Ue);ve.current.focus(e)}}),[Ve]);var Be=c.useMemo((function(){return(0,u.Z)(ke).sort((function(e,t){return e-t}))}),[ke]),Qe=c.useMemo((function(){return w?[Be[0],Be[Be.length-1]]:[le,Be[0]]}),[Be,w,le]),He=(0,o.Z)(Qe,2),je=He[0],We=He[1];c.useImperativeHandle(t,(function(){return{focus:function(){ve.current.focus(0)},blur:function(){var e=document.activeElement;ue.current.contains(e)&&(null===e||void 0===e||e.blur())}}})),c.useEffect((function(){p&&ve.current.focus(0)}),[]);var Ze=c.useMemo((function(){return{min:le,max:me,direction:ce,disabled:f,step:ge,included:Z,includedStart:je,includedEnd:We,range:w,tabIndex:ae,ariaLabelForHandle:ie,ariaLabelledByForHandle:oe,ariaValueTextFormatterForHandle:se}}),[le,me,ce,f,ge,Z,je,We,w,ae,ie,oe,se]);return c.createElement(h.Provider,{value:Ze},c.createElement("div",{ref:ue,className:v()(s,l,(n={},(0,a.Z)(n,"".concat(s,"-disabled"),f),(0,a.Z)(n,"".concat(s,"-vertical"),j),(0,a.Z)(n,"".concat(s,"-horizontal"),!j),(0,a.Z)(n,"".concat(s,"-with-marks"),de.length),n)),style:S,onMouseDown:function(e){e.preventDefault();var t,n=ue.current.getBoundingClientRect(),r=n.width,a=n.height,i=n.left,o=n.top,s=n.bottom,v=n.right,u=e.clientX,c=e.clientY;switch(ce){case"btt":t=(s-c)/a;break;case"ttb":t=(c-o)/a;break;case"rtl":t=(v-u)/r;break;default:t=(u-i)/r}ye(pe(le+t*(me-le)))}},c.createElement("div",{className:"".concat(s,"-rail"),style:Y}),c.createElement(O,{prefixCls:s,style:K,values:Be,startPoint:z,onStartMove:Le?qe:null}),c.createElement(N,{prefixCls:s,marks:de,dots:te,style:J,activeStyle:$}),c.createElement(A,{ref:ve,prefixCls:s,style:X,values:ke,draggingIndex:Fe,onStartMove:qe,onOffsetChange:function(e,t){if(!f){var n=Ie(Ae,e,t);null===U||void 0===U||U(Te(Ae)),Oe(n.values),null===k||void 0===k||k(Te(n.values)),be(n.value)}},onFocus:I,onBlur:C,handleRender:ne}),c.createElement(R,{prefixCls:s,marks:de,onClick:ye})))}));const L=b;var w=n(1929),x=n(5314),F=n(8834),U=n(5945);const k=c.forwardRef((function(e,t){var n=e.open,r=(0,c.useRef)(null),a=(0,c.useRef)(null);function o(){x.Z.cancel(a.current),a.current=null}return c.useEffect((function(){return n?a.current=(0,x.Z)((function(){var e;null===(e=r.current)||void 0===e||e.forcePopupAlign(),a.current=null})):o(),o}),[n,e.title]),c.createElement(U.Z,(0,i.Z)({ref:(0,F.sQ)(r,t)},e))}));var G=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a{"use strict";n.d(t,{u:()=>d,Z:()=>p});var r=n(7462),a=n(4942),i=n(9439),o=n(1694),s=n.n(o),v=n(5501),u=n(2791),c=n(1929),l=n(9911);function m(e){var t=e.className,n=e.direction,i=e.index,o=e.marginDirection,s=e.children,v=e.split,c=e.wrap,l=u.useContext(d),m=l.horizontalSize,g=l.verticalSize,S=l.latestIndex,f={};return l.supportFlexGap||("vertical"===n?i{"use strict";n.d(t,{Z:()=>I});var r=n(7462),a=n(4942),i=n(9439),o=n(1694),s=n.n(o),v=n(8573),u=n.n(v),c=n(1818),l=n(2791),m=n(1929),g=n(1113),S=n(9393),d=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a{"use strict";n.d(t,{Z:()=>D});var r=n(7462),a=n(4942),i=n(7106),o=n(1694),s=n.n(o),v=n(9439),u=n(4925),c=n(2791),l=n(5179),m=n(1354),g=c.forwardRef((function(e,t){var n,r=e.prefixCls,i=void 0===r?"rc-switch":r,o=e.className,g=e.checked,S=e.defaultChecked,d=e.disabled,f=e.loadingIcon,h=e.checkedChildren,p=e.unCheckedChildren,I=e.onClick,C=e.onChange,D=e.onKeyDown,E=(0,u.Z)(e,["prefixCls","className","checked","defaultChecked","disabled","loadingIcon","checkedChildren","unCheckedChildren","onClick","onChange","onKeyDown"]),M=(0,l.Z)(!1,{value:g,defaultValue:S}),A=(0,v.Z)(M,2),P=A[0],T=A[1];function O(e,t){var n=P;return d||(T(n=e),null===C||void 0===C||C(n,t)),n}var y=s()(i,o,(n={},(0,a.Z)(n,"".concat(i,"-checked"),P),(0,a.Z)(n,"".concat(i,"-disabled"),d),n));return c.createElement("button",Object.assign({},E,{type:"button",role:"switch","aria-checked":P,disabled:d,className:y,ref:t,onKeyDown:function(e){e.which===m.Z.LEFT?O(!1,e):e.which===m.Z.RIGHT&&O(!0,e),null===D||void 0===D||D(e)},onClick:function(e){var t=O(!P,e);null===I||void 0===I||I(t,e)}}),f,c.createElement("span",{className:"".concat(i,"-inner")},P?h:p))}));g.displayName="Switch";const S=g;var d=n(1929),f=n(9125),h=n(1815),p=n(2833),I=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a{"use strict";n.d(t,{Z:()=>ha});var r=n(1002),a=n(4942),i=n(7462),o=n(9439),s=n(1694),v=n.n(s),u=n(1413),c=n(3433),l=n(2791),m=n(2386),g=n(4170),S=n(4937),d=function(e){if((0,S.Z)()&&window.document.documentElement){var t=Array.isArray(e)?e:[e],n=window.document.documentElement;return t.some((function(e){return e in n.style}))}return!1};function f(e,t){return Array.isArray(e)||void 0===t?d(e):function(e,t){if(!d(e))return!1;var n=document.createElement("div"),r=n.style[e];return n.style[e]=t,n.style[e]!==r}(e,t)}var h=n(9613),p=n.n(h),I=n(632),C=n(8829),D=n(9025);const E=function(e){return null};const M=function(e){return null};var A=n(4925),P=n(8834);function T(e){return void 0===e||null===e?[]:Array.isArray(e)?e:[e]}function O(e,t){if(!t&&"number"!==typeof t)return e;for(var n=T(t),r=e,a=0;a=n}(n,g||1,null===e||void 0===e?void 0:e.startRow,null===e||void 0===e?void 0:e.endRow);return{onHover:null===e||void 0===e?void 0:e.onHover,hovering:t}})),d=S.onHover,f=S.hovering;return l.createElement(V,(0,i.Z)({},e,{colSpan:m,rowSpan:g,hovering:f,ref:t,onHover:d}))}));B.displayName="WrappedCell";const Q=B;const H=l.createContext(null);function j(e,t,n,r,a){var i,o,s=n[e]||{},v=n[t]||{};"left"===s.fixed?i=r.left[e]:"right"===v.fixed&&(o=r.right[t]);var u=!1,c=!1,l=!1,m=!1,g=n[t+1],S=n[e-1];if("rtl"===a){if(void 0!==i)m=!(S&&"left"===S.fixed);else if(void 0!==o){l=!(g&&"right"===g.fixed)}}else if(void 0!==i){u=!(g&&"left"===g.fixed)}else if(void 0!==o){c=!(S&&"right"===S.fixed)}return{fixLeft:i,fixRight:o,lastFixLeft:u,firstFixRight:c,lastFixRight:l,firstFixLeft:m,isSticky:r.isSticky}}function W(e){var t,n=e.cells,r=e.stickyOffsets,a=e.flattenColumns,o=e.rowComponent,s=e.cellComponent,v=e.onHeaderRow,u=e.index,c=l.useContext(H),m=c.prefixCls,g=c.direction;v&&(t=v(n.map((function(e){return e.column})),u));var S=y(n.map((function(e){return e.column})));return l.createElement(o,t,n.map((function(e,t){var n,o=e.column,v=j(e.colStart,e.colEnd,a,r,g);return o&&o.onHeaderCell&&(n=e.column.onHeaderCell(o)),l.createElement(Q,(0,i.Z)({},e,{ellipsis:o.ellipsis,align:o.align,component:s,prefixCls:m,key:S[t]},v,{additionalProps:n,rowType:"header"}))})))}W.displayName="HeaderRow";const Z=W;const z=function(e){var t=e.stickyOffsets,n=e.columns,r=e.flattenColumns,a=e.onHeaderRow,i=l.useContext(H),o=i.prefixCls,s=i.getComponent,v=l.useMemo((function(){return function(e){var t=[];!function e(n,r){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;t[a]=t[a]||[];var i=r;return n.filter(Boolean).map((function(n){var r={key:n.key,className:n.className||"",children:n.title,column:n,colStart:i},o=1,s=n.children;return s&&s.length>0&&(o=e(s,i,a+1).reduce((function(e,t){return e+t}),0),r.hasSubColumns=!0),"colSpan"in n&&(o=n.colSpan),"rowSpan"in n&&(r.rowSpan=n.rowSpan),r.colSpan=o,r.colEnd=r.colStart+o-1,t[a].push(r),i+=o,o}))}(e,0);for(var n=t.length,r=function(e){t[e].forEach((function(t){"rowSpan"in t||t.hasSubColumns||(t.rowSpan=n-e)}))},a=0;a1?n-1:0),i=1;i0?[].concat((0,c.Z)(e),(0,c.Z)(ge(a).map((function(e){return(0,u.Z)({fixed:r},e)})))):[].concat((0,c.Z)(e),[(0,u.Z)((0,u.Z)({},t),{},{fixed:r})])}),[])}const Se=function(e,t){var n=e.prefixCls,r=e.columns,i=e.children,o=e.expandable,s=e.expandedKeys,v=e.columnTitle,c=e.getRowKey,m=e.onTriggerExpand,g=e.expandIcon,S=e.rowExpandable,d=e.expandIconColumnIndex,f=e.direction,h=e.expandRowByClick,p=e.columnWidth,I=e.fixed,C=l.useMemo((function(){return r||me(i)}),[r,i]),D=l.useMemo((function(){if(o){var e,t=C.slice();if(!t.includes(ue)){var r=d||0;r>=0&&t.splice(r,0,ue)}0;var i=t.indexOf(ue);t=t.filter((function(e,t){return e!==ue||t===i}));var u,f=C[i];u="left"!==I&&!I||d?"right"!==I&&!I||d!==C.length?f?f.fixed:null:"right":"left";var D=(e={},(0,a.Z)(e,ve,{className:"".concat(n,"-expand-icon-col"),columnType:"EXPAND_COLUMN"}),(0,a.Z)(e,"title",v),(0,a.Z)(e,"fixed",u),(0,a.Z)(e,"className","".concat(n,"-row-expand-icon-cell")),(0,a.Z)(e,"width",p),(0,a.Z)(e,"render",(function(e,t,r){var a=c(t,r),i=s.has(a),o=!S||S(t),v=g({prefixCls:n,expanded:i,expandable:o,record:t,onExpand:m});return h?l.createElement("span",{onClick:function(e){return e.stopPropagation()}},v):v})),e);return t.map((function(e){return e===ue?D:e}))}return C.filter((function(e){return e!==ue}))}),[o,C,c,s,g,f]),E=l.useMemo((function(){var e=D;return t&&(e=t(e)),e.length||(e=[{render:function(){return null}}]),e}),[t,D,f]),M=l.useMemo((function(){return"rtl"===f?function(e){return e.map((function(e){var t=e.fixed,n=(0,A.Z)(e,le),r=t;return"left"===t?r="right":"right"===t&&(r="left"),(0,u.Z)({fixed:r},n)}))}(ge(E)):ge(E)}),[E,f]);return[E,M]};function de(e){var t=(0,l.useRef)(e),n=(0,l.useState)({}),r=(0,o.Z)(n,2)[1],a=(0,l.useRef)(null),i=(0,l.useRef)([]);return(0,l.useEffect)((function(){return function(){a.current=null}}),[]),[t.current,function(e){i.current.push(e);var n=Promise.resolve();a.current=n,n.then((function(){if(a.current===n){var e=i.current,o=t.current;i.current=[],e.forEach((function(e){t.current=e(t.current)})),a.current=null,o!==t.current&&r({})}}))}]}const fe=function(e,t,n){return(0,l.useMemo)((function(){for(var r=[],a=[],i=0,o=0,s=0;s=0;o-=1){var s=t[o],v=n&&n[o],u=v&&v[ve];if(s||u||a){var c=u||{},m=(c.columnType,(0,A.Z)(c,he));r.unshift(l.createElement("col",(0,i.Z)({key:o,style:{width:s}},m))),a=!0}}return l.createElement("colgroup",null,r)};const Ie=function(e){var t=e.className,n=e.children;return l.createElement("div",{className:t},n)};const Ce=l.createContext({});var De=["children"];function Ee(e){return e.children}Ee.Row=function(e){var t=e.children,n=(0,A.Z)(e,De);return l.createElement("tr",n,t)},Ee.Cell=function(e){var t=e.className,n=e.index,r=e.children,a=e.colSpan,o=void 0===a?1:a,s=e.rowSpan,v=e.align,u=l.useContext(H),c=u.prefixCls,m=u.direction,g=l.useContext(Ce),S=g.scrollColumnIndex,d=g.stickyOffsets,f=n+o-1+1===S?o+1:o,h=j(n,n+f-1,g.flattenColumns,d,m);return l.createElement(Q,(0,i.Z)({className:t,index:n,component:"td",prefixCls:c,record:null,dataIndex:null,align:v,colSpan:f,rowSpan:s,render:function(){return r}},h))};const Me=Ee;const Ae=function(e){var t=e.children,n=e.stickyOffsets,r=e.flattenColumns,a=l.useContext(H).prefixCls,i=r.length-1,o=r[i],s=l.useMemo((function(){return{stickyOffsets:n,flattenColumns:r,scrollColumnIndex:(null===o||void 0===o?void 0:o.scrollbar)?i:null}}),[o,r,i,n]);return l.createElement(Ce.Provider,{value:s},l.createElement("tfoot",{className:"".concat(a,"-summary")},t))};var Pe=Me;function Te(e){var t,n=e.prefixCls,r=e.record,i=e.onExpand,o=e.expanded,s=e.expandable,u="".concat(n,"-row-expand-icon");if(!s)return l.createElement("span",{className:v()(u,"".concat(n,"-row-spaced"))});return l.createElement("span",{className:v()(u,(t={},(0,a.Z)(t,"".concat(n,"-row-expanded"),o),(0,a.Z)(t,"".concat(n,"-row-collapsed"),!o),t)),onClick:function(e){i(r,e),e.stopPropagation()}})}var Oe=n(1585);function ye(e){var t=e.getBoundingClientRect(),n=document.documentElement;return{left:t.left+(window.pageXOffset||n.scrollLeft)-(n.clientLeft||document.body.clientLeft||0),top:t.top+(window.pageYOffset||n.scrollTop)-(n.clientTop||document.body.clientTop||0)}}var Re=function(e,t){var n,r,i=e.scrollBodyRef,s=e.onScroll,c=e.offsetScroll,m=e.container,g=l.useContext(H).prefixCls,S=(null===(n=i.current)||void 0===n?void 0:n.scrollWidth)||0,d=(null===(r=i.current)||void 0===r?void 0:r.clientWidth)||0,f=S&&d*(d/S),h=l.useRef(),p=de({scrollLeft:0,isHiddenScrollBar:!1}),I=(0,o.Z)(p,2),C=I[0],E=I[1],M=l.useRef({delta:0,x:0}),A=l.useState(!1),P=(0,o.Z)(A,2),T=P[0],O=P[1],y=function(){O(!1)},R=function(e){var t,n=(e||(null===(t=window)||void 0===t?void 0:t.event)).buttons;if(T&&0!==n){var r=M.current.x+e.pageX-M.current.x-M.current.delta;r<=0&&(r=0),r+f>=d&&(r=d-f),s({scrollLeft:r/d*(S+2)}),M.current.x=e.pageX}else T&&O(!1)},_=function(){if(i.current){var e=ye(i.current).top,t=e+i.current.offsetHeight,n=m===window?document.documentElement.scrollTop+window.innerHeight:ye(m).top+m.clientHeight;t-(0,D.Z)()<=n||e>=n-c?E((function(e){return(0,u.Z)((0,u.Z)({},e),{},{isHiddenScrollBar:!0})})):E((function(e){return(0,u.Z)((0,u.Z)({},e),{},{isHiddenScrollBar:!1})}))}},N=function(e){E((function(t){return(0,u.Z)((0,u.Z)({},t),{},{scrollLeft:e/S*d||0})}))};return l.useImperativeHandle(t,(function(){return{setScrollLeft:N}})),l.useEffect((function(){var e=(0,Oe.Z)(document.body,"mouseup",y,!1),t=(0,Oe.Z)(document.body,"mousemove",R,!1);return _(),function(){e.remove(),t.remove()}}),[f,T]),l.useEffect((function(){var e=(0,Oe.Z)(m,"scroll",_,!1),t=(0,Oe.Z)(window,"resize",_,!1);return function(){e.remove(),t.remove()}}),[m]),l.useEffect((function(){C.isHiddenScrollBar||E((function(e){var t=i.current;return t?(0,u.Z)((0,u.Z)({},e),{},{scrollLeft:t.scrollLeft/t.scrollWidth*t.clientWidth}):e}))}),[C.isHiddenScrollBar]),S<=d||!f||C.isHiddenScrollBar?null:l.createElement("div",{style:{height:(0,D.Z)(),width:d,bottom:c},className:"".concat(g,"-sticky-scroll")},l.createElement("div",{onMouseDown:function(e){e.persist(),M.current.delta=e.pageX-C.scrollLeft,M.current.x=0,O(!0),e.preventDefault()},ref:h,className:v()("".concat(g,"-sticky-scroll-bar"),(0,a.Z)({},"".concat(g,"-sticky-scroll-bar-active"),T)),style:{width:"".concat(f,"px"),transform:"translate3d(".concat(C.scrollLeft,"px, 0, 0)")}}))};const _e=l.forwardRef(Re);var Ne=(0,S.Z)()?window:null;var be=["className","noData","columns","flattenColumns","colWidths","columCount","stickyOffsets","direction","fixHeader","stickyTopOffset","stickyBottomOffset","stickyClassName","onScroll","maxContentScroll","children"];var Le=l.forwardRef((function(e,t){var n=e.className,r=e.noData,i=e.columns,o=e.flattenColumns,s=e.colWidths,m=e.columCount,g=e.stickyOffsets,S=e.direction,d=e.fixHeader,f=e.stickyTopOffset,h=e.stickyBottomOffset,p=e.stickyClassName,I=e.onScroll,C=e.maxContentScroll,D=e.children,E=(0,A.Z)(e,be),M=l.useContext(H),T=M.prefixCls,O=M.scrollbarSize,y=M.isSticky,R=y&&!d?0:O,_=l.useRef(null),N=l.useCallback((function(e){(0,P.mH)(t,e),(0,P.mH)(_,e)}),[]);l.useEffect((function(){var e;function t(e){var t=e.currentTarget,n=e.deltaX;n&&(I({currentTarget:t,scrollLeft:t.scrollLeft+n}),e.preventDefault())}return null===(e=_.current)||void 0===e||e.addEventListener("wheel",t),function(){var e;null===(e=_.current)||void 0===e||e.removeEventListener("wheel",t)}}),[]);var b=l.useMemo((function(){return o.every((function(e){return e.width>=0}))}),[o]),L=o[o.length-1],w={fixed:L?L.fixed:null,scrollbar:!0,onHeaderCell:function(){return{className:"".concat(T,"-cell-scrollbar")}}},x=(0,l.useMemo)((function(){return R?[].concat((0,c.Z)(i),[w]):i}),[R,i]),F=(0,l.useMemo)((function(){return R?[].concat((0,c.Z)(o),[w]):o}),[R,o]),U=(0,l.useMemo)((function(){var e=g.right,t=g.left;return(0,u.Z)((0,u.Z)({},g),{},{left:"rtl"===S?[].concat((0,c.Z)(t.map((function(e){return e+R}))),[0]):t,right:"rtl"===S?e:[].concat((0,c.Z)(e.map((function(e){return e+R}))),[0]),isSticky:y})}),[R,g,y]),k=function(e,t){return(0,l.useMemo)((function(){for(var n=[],r=0;r0)):(ot(i>0),ct(i1&&void 0!==arguments[1]?arguments[1]:{},n=t.getContainer,r=void 0===n?function(){return window}:n,a=t.callback,i=t.duration,o=void 0===i?450:i,s=r(),v=Je(s,!0),u=Date.now(),c=function t(){var n=Date.now()-u,r=Xe(n>o?o:n,v,e,o);Ye(s)?s.scrollTo(window.pageXOffset,r):s instanceof Document||"HTMLDocument"===s.constructor.name?s.documentElement.scrollTop=r:s.scrollTop=r,n0&&(L=I.map((function(e){return"string"===typeof e||"number"===typeof e?l.createElement(Rt,{key:e.toString(),prefixCls:N,disabled:E,value:e,checked:S===e},e):l.createElement(Rt,{key:"radio-group-value-options-".concat(e.value),prefixCls:N,disabled:e.disabled||E,value:e.value,checked:S===e.value,style:e.style},e.label)})));var w=A||c,x=v()(b,"".concat(b,"-").concat(D),(n={},(0,a.Z)(n,"".concat(b,"-").concat(w),w),(0,a.Z)(n,"".concat(b,"-rtl"),"rtl"===u),n),p);return l.createElement("div",(0,i.Z)({},function(e){return Object.keys(e).reduce((function(t,n){return!n.startsWith("data-")&&!n.startsWith("aria-")&&"role"!==n||n.startsWith("data-__")||(t[n]=e[n]),t}),{})}(e),{className:x,style:P,onMouseEnter:O,onMouseLeave:y,onFocus:R,onBlur:_,id:T,ref:t}),l.createElement(Ct,{value:{onChange:function(t){var n=S,r=t.target.value;"value"in e||d(r);var a=e.onChange;a&&r!==n&&a(t)},value:S,disabled:e.disabled,name:e.name,optionType:e.optionType}},L))}));const Nt=l.memo(_t);var bt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a1&&void 0!==arguments[1]?arguments[1]:null;return n.map((function(l,m){for(var g,S=ln(r?r.pos:"0",m),d=Zt(l[i],S),f=0;f1&&void 0!==arguments[1]?arguments[1]:{},n=t.initWrapper,r=t.processEntity,a=t.onProcessFinished,i=t.externalGetKey,o=t.childrenPropName,s=t.fieldNames,v=arguments.length>2?arguments[2]:void 0,u=i||v,c={},l={},m={posEntities:c,keyEntities:l};return n&&(m=n(m)||m),Yt(e,(function(e){var t=e.node,n=e.index,a=e.pos,i=e.key,o=e.parentPos,s=e.level,v={node:t,nodes:e.nodes,index:n,key:i,pos:a,level:s},u=Zt(i,a);c[a]=v,l[u]=v,v.parent=c[o],v.parent&&(v.parent.children=v.parent.children||[],v.parent.children.push(v)),r&&r(v,m)}),{externalGetKey:u,childrenPropName:o,fieldNames:s}),a&&a(m),m}function $t(e,t){var n=t.expandedKeys,r=t.selectedKeys,a=t.loadedKeys,i=t.loadingKeys,o=t.checkedKeys,s=t.halfCheckedKeys,v=t.dragOverNodeKey,u=t.dropPosition,c=t.keyEntities[e];return{eventKey:e,expanded:-1!==n.indexOf(e),selected:-1!==r.indexOf(e),loaded:-1!==a.indexOf(e),loading:-1!==i.indexOf(e),checked:-1!==o.indexOf(e),halfChecked:-1!==s.indexOf(e),pos:String(c?c.pos:""),dragOver:v===e&&0===u,dragOverGapTop:v===e&&-1===u,dragOverGapBottom:v===e&&1===u}}function en(e){var t=e.data,n=e.expanded,r=e.selected,a=e.checked,i=e.loaded,o=e.loading,s=e.halfChecked,v=e.dragOver,c=e.dragOverGapTop,l=e.dragOverGapBottom,m=e.pos,g=e.active,S=e.eventKey,d=(0,u.Z)((0,u.Z)({},t),{},{expanded:n,selected:r,checked:a,loaded:i,loading:o,halfChecked:s,dragOver:v,dragOverGapTop:c,dragOverGapBottom:l,pos:m,active:g,key:S});return"props"in d||Object.defineProperty(d,"props",{get:function(){return(0,I.ZP)(!1,"Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`."),e}}),d}var tn=["eventKey","className","style","dragOver","dragOverGapTop","dragOverGapBottom","isLeaf","isStart","isEnd","expanded","selected","checked","halfChecked","loading","domRef","active","data","onMouseMove","selectable"],nn="open",rn="close",an=function(e){(0,qt.Z)(n,e);var t=(0,Vt.Z)(n);function n(){var e;(0,Ut.Z)(this,n);for(var r=arguments.length,a=new Array(r),i=0;i=0&&n.splice(r,1),n}function un(e,t){var n=(e||[]).slice();return-1===n.indexOf(t)&&n.push(t),n}function cn(e){return e.split("-")}function ln(e,t){return"".concat(e,"-").concat(t)}function mn(e,t){var n=[];return function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];t.forEach((function(t){var r=t.key,a=t.children;n.push(r),e(a)}))}(t[e].children),n}function gn(e){if(e.parent){var t=cn(e.pos);return Number(t[t.length-1])===e.parent.children.length-1}return!1}function Sn(e,t,n,r,a,i,o,s,v,u){var c,l=e.clientX,m=e.clientY,g=e.target.getBoundingClientRect(),S=g.top,d=g.height,f=(("rtl"===u?-1:1)*(((null===a||void 0===a?void 0:a.x)||0)-l)-12)/r,h=s[n.props.eventKey];if(m-1.5?i({dragNode:T,dropNode:O,dropPosition:1})?M=1:y=!1:i({dragNode:T,dropNode:O,dropPosition:0})?M=0:i({dragNode:T,dropNode:O,dropPosition:1})?M=1:y=!1:i({dragNode:T,dropNode:O,dropPosition:1})?M=1:y=!1,{dropPosition:M,dropLevelOffset:A,dropTargetKey:h.key,dropTargetPos:h.pos,dragOverNodeKey:E,dropContainerKey:0===M?null:(null===(c=h.parent)||void 0===c?void 0:c.key)||null,dropAllowed:y}}function dn(e,t){if(e)return t.multiple?e.slice():e.length?[e[0]]:e}function fn(e){if(!e)return null;var t;if(Array.isArray(e))t={checkedKeys:e,halfCheckedKeys:void 0};else{if("object"!==(0,r.Z)(e))return(0,I.ZP)(!1,"`checkedKeys` is not an array or an object"),null;t={checkedKeys:e.checked||void 0,halfCheckedKeys:e.halfChecked||void 0}}return t}function hn(e,t){var n=new Set;function r(e){if(!n.has(e)){var a=t[e];if(a){n.add(e);var i=a.parent;a.node.disabled||i&&r(i.key)}}}return(e||[]).forEach((function(e){r(e)})),(0,c.Z)(n)}function pn(e){if(null==e)throw new TypeError("Cannot destructure "+e)}var In=n(5017),Cn=n(5207),Dn=["className","style","motion","motionNodes","motionType","onMotionStart","onMotionEnd","active","treeNodeRequiredProps"],En=function(e,t){var n=e.className,r=e.style,a=e.motion,s=e.motionNodes,u=e.motionType,c=e.onMotionStart,m=e.onMotionEnd,g=e.active,S=e.treeNodeRequiredProps,d=(0,A.Z)(e,Dn),f=l.useState(!0),h=(0,o.Z)(f,2),p=h[0],I=h[1],C=l.useContext(Qt).prefixCls,D=l.useRef(!1),E=function(){D.current||m(),D.current=!0};return(0,l.useEffect)((function(){s&&"hide"===u&&p&&I(!1)}),[s]),(0,l.useEffect)((function(){return s&&c(),function(){s&&E()}}),[]),s?l.createElement(Cn.Z,(0,i.Z)({ref:t,visible:p},a,{motionAppear:"show"===u,onAppearEnd:E,onLeaveEnd:E}),(function(e,t){var n=e.className,r=e.style;return l.createElement("div",{ref:t,className:v()("".concat(C,"-treenode-motion"),n),style:r},s.map((function(e){var t=(0,i.Z)({},(pn(e.data),e.data)),n=e.title,r=e.key,a=e.isStart,o=e.isEnd;delete t.children;var s=$t(r,S);return l.createElement(sn,(0,i.Z)({},t,s,{title:n,active:g,data:e.data,key:r,isStart:a,isEnd:o}))})))})):l.createElement(sn,(0,i.Z)({domRef:t,className:n,style:r},d,{active:g}))};En.displayName="MotionTreeNode";const Mn=l.forwardRef(En);function An(e,t,n){var r=e.findIndex((function(e){return e.key===n})),a=e[r+1],i=t.findIndex((function(e){return e.key===n}));if(a){var o=t.findIndex((function(e){return e.key===a.key}));return t.slice(i+1,o)}return t.slice(i+1)}var Pn=["prefixCls","data","selectable","checkable","expandedKeys","selectedKeys","checkedKeys","loadedKeys","loadingKeys","halfCheckedKeys","keyEntities","disabled","dragging","dragOverNodeKey","dropPosition","motion","height","itemHeight","virtual","focusable","activeItem","focused","tabIndex","onKeyDown","onFocus","onBlur","onActiveChange","onListChangeStart","onListChangeEnd"],Tn={width:0,height:0,display:"flex",overflow:"hidden",opacity:0,border:0,padding:0,margin:0},On=function(){},yn="RC_TREE_MOTION_".concat(Math.random()),Rn={key:yn},_n={key:yn,level:0,index:0,pos:"0",node:Rn,nodes:[Rn]},Nn={parent:null,children:[],pos:_n.pos,data:Rn,title:null,key:yn,isStart:[],isEnd:[]};function bn(e,t,n,r){return!1!==t&&n?e.slice(0,Math.ceil(n/r)+1):e}function Ln(e){return Zt(e.key,e.pos)}var wn=l.forwardRef((function(e,t){var n=e.prefixCls,r=e.data,a=(e.selectable,e.checkable,e.expandedKeys),s=e.selectedKeys,v=e.checkedKeys,u=e.loadedKeys,c=e.loadingKeys,m=e.halfCheckedKeys,g=e.keyEntities,S=e.disabled,d=e.dragging,f=e.dragOverNodeKey,h=e.dropPosition,p=e.motion,I=e.height,C=e.itemHeight,D=e.virtual,E=e.focusable,M=e.activeItem,P=e.focused,T=e.tabIndex,O=e.onKeyDown,y=e.onFocus,R=e.onBlur,_=e.onActiveChange,N=e.onListChangeStart,b=e.onListChangeEnd,L=(0,A.Z)(e,Pn),w=l.useRef(null),x=l.useRef(null);l.useImperativeHandle(t,(function(){return{scrollTo:function(e){w.current.scrollTo(e)},getIndentWidth:function(){return x.current.offsetWidth}}}));var F=l.useState(a),U=(0,o.Z)(F,2),k=U[0],G=U[1],q=l.useState(r),V=(0,o.Z)(q,2),B=V[0],Q=V[1],H=l.useState(r),j=(0,o.Z)(H,2),W=j[0],Z=j[1],z=l.useState([]),K=(0,o.Z)(z,2),X=K[0],Y=K[1],J=l.useState(null),$=(0,o.Z)(J,2),ee=$[0],te=$[1],ne=l.useRef(r);function re(){var e=ne.current;Q(e),Z(e),Y([]),te(null),b()}ne.current=r,l.useEffect((function(){G(a);var e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=e.length,r=t.length;if(1!==Math.abs(n-r))return{add:!1,key:null};function a(e,t){var n=new Map;e.forEach((function(e){n.set(e,!0)}));var r=t.filter((function(e){return!n.has(e)}));return 1===r.length?r[0]:null}return n ").concat(t);return t}(M)),l.createElement("div",null,l.createElement("input",{style:Tn,disabled:!1===E||S,tabIndex:!1!==E?T:null,onKeyDown:O,onFocus:y,onBlur:R,value:"",onChange:On,"aria-label":"for screen reader"})),l.createElement("div",{className:"".concat(n,"-treenode"),"aria-hidden":!0,style:{position:"absolute",pointerEvents:"none",visibility:"hidden",height:0,overflow:"hidden",border:0,padding:0}},l.createElement("div",{className:"".concat(n,"-indent")},l.createElement("div",{ref:x,className:"".concat(n,"-indent-unit")}))),l.createElement(In.Z,(0,i.Z)({},L,{data:ae,itemKey:Ln,height:I,fullHeight:!1,virtual:D,itemHeight:C,prefixCls:"".concat(n,"-list"),ref:w,onVisibleChange:function(e,t){var n=new Set(e);t.filter((function(e){return!n.has(e)})).some((function(e){return Ln(e)===yn}))&&re()}}),(function(e){var t=e.pos,n=(0,i.Z)({},(pn(e.data),e.data)),r=e.title,a=e.key,o=e.isStart,s=e.isEnd,v=Zt(a,t);delete n.key,delete n.children;var u=$t(v,ie);return l.createElement(Mn,(0,i.Z)({},n,u,{title:r,active:!!M&&a===M.key,pos:t,data:e.data,isStart:o,isEnd:s,motion:p,motionNodes:a===yn?X:null,motionType:ee,onMotionStart:N,onMotionEnd:re,treeNodeRequiredProps:ie,onMouseMove:function(){_(null)}}))})))}));wn.displayName="NodeList";const xn=wn;function Fn(e,t){var n=new Set;return e.forEach((function(e){t.has(e)||n.add(e)})),n}function Un(e){var t=e||{},n=t.disabled,r=t.disableCheckbox,a=t.checkable;return!(!n&&!r)||!1===a}function kn(e,t,n,r){var a,i=[];a=r||Un;var o,s=new Set(e.filter((function(e){var t=!!n[e];return t||i.push(e),t}))),v=new Map,u=0;return Object.keys(n).forEach((function(e){var t=n[e],r=t.level,a=v.get(r);a||(a=new Set,v.set(r,a)),a.add(t),u=Math.max(u,r)})),(0,I.ZP)(!i.length,"Tree missing follow keys: ".concat(i.slice(0,100).map((function(e){return"'".concat(e,"'")})).join(", "))),o=!0===t?function(e,t,n,r){for(var a=new Set(e),i=new Set,o=0;o<=n;o+=1)(t.get(o)||new Set).forEach((function(e){var t=e.key,n=e.node,i=e.children,o=void 0===i?[]:i;a.has(t)&&!r(n)&&o.filter((function(e){return!r(e.node)})).forEach((function(e){a.add(e.key)}))}));for(var s=new Set,v=n;v>=0;v-=1)(t.get(v)||new Set).forEach((function(e){var t=e.parent,n=e.node;if(!r(n)&&e.parent&&!s.has(e.parent.key))if(r(e.parent.node))s.add(t.key);else{var o=!0,v=!1;(t.children||[]).filter((function(e){return!r(e.node)})).forEach((function(e){var t=e.key,n=a.has(t);o&&!n&&(o=!1),v||!n&&!i.has(t)||(v=!0)})),o&&a.add(t.key),v&&i.add(t.key),s.add(t.key)}}));return{checkedKeys:Array.from(a),halfCheckedKeys:Array.from(Fn(i,a))}}(s,v,u,a):function(e,t,n,r,a){for(var i=new Set(e),o=new Set(t),s=0;s<=r;s+=1)(n.get(s)||new Set).forEach((function(e){var t=e.key,n=e.node,r=e.children,s=void 0===r?[]:r;i.has(t)||o.has(t)||a(n)||s.filter((function(e){return!a(e.node)})).forEach((function(e){i.delete(e.key)}))}));o=new Set;for(var v=new Set,u=r;u>=0;u-=1)(n.get(u)||new Set).forEach((function(e){var t=e.parent,n=e.node;if(!a(n)&&e.parent&&!v.has(e.parent.key))if(a(e.parent.node))v.add(t.key);else{var r=!0,s=!1;(t.children||[]).filter((function(e){return!a(e.node)})).forEach((function(e){var t=e.key,n=i.has(t);r&&!n&&(r=!1),s||!n&&!o.has(t)||(s=!0)})),r||i.delete(t.key),s&&o.add(t.key),v.add(t.key)}}));return{checkedKeys:Array.from(i),halfCheckedKeys:Array.from(Fn(o,i))}}(s,t.halfCheckedKeys,v,u,a),o}var Gn=function(e){(0,qt.Z)(n,e);var t=(0,Vt.Z)(n);function n(){var e;(0,Ut.Z)(this,n);for(var r=arguments.length,a=new Array(r),i=0;i2&&void 0!==arguments[2]&&arguments[2],i=e.state,o=i.dragChildrenKeys,s=i.dropPosition,v=i.dropTargetKey,c=i.dropTargetPos,l=i.dropAllowed;if(l){var m=e.props.onDrop;if(e.setState({dragOverNodeKey:null}),e.cleanDragState(),null!==v){var g=(0,u.Z)((0,u.Z)({},$t(v,e.getTreeNodeRequiredProps())),{},{active:(null===(r=e.getActiveItem())||void 0===r?void 0:r.key)===v,data:e.state.keyEntities[v].node}),S=-1!==o.indexOf(v);(0,I.ZP)(!S,"Can not drop to dragNode's children node. This is a bug of rc-tree. Please report an issue.");var d=cn(c),f={event:t,node:en(g),dragNode:e.dragNode?en(e.dragNode.props):null,dragNodesKeys:[e.dragNode.props.eventKey].concat(o),dropToGap:0!==s,dropPosition:s+Number(d[d.length-1])};a||null===m||void 0===m||m(f),e.dragNode=null}}},e.cleanDragState=function(){null!==e.state.draggingNodeKey&&e.setState({draggingNodeKey:null,dropPosition:null,dropContainerKey:null,dropTargetKey:null,dropLevelOffset:null,dropAllowed:!0,dragOverNodeKey:null}),e.dragStartMousePosition=null,e.currentMouseOverDroppableNodeKey=null},e.triggerExpandActionExpand=function(t,n){var r=e.state,a=r.expandedKeys,i=r.flattenNodes,o=n.expanded,s=n.key;if(!(n.isLeaf||t.shiftKey||t.metaKey||t.ctrlKey)){var v=i.filter((function(e){return e.key===s}))[0],c=en((0,u.Z)((0,u.Z)({},$t(s,e.getTreeNodeRequiredProps())),{},{data:v.data}));e.setExpandedKeys(o?vn(a,s):un(a,s)),e.onNodeExpand(t,c)}},e.onNodeClick=function(t,n){var r=e.props,a=r.onClick;"click"===r.expandAction&&e.triggerExpandActionExpand(t,n),null===a||void 0===a||a(t,n)},e.onNodeDoubleClick=function(t,n){var r=e.props,a=r.onDoubleClick;"doubleClick"===r.expandAction&&e.triggerExpandActionExpand(t,n),null===a||void 0===a||a(t,n)},e.onNodeSelect=function(t,n){var r=e.state.selectedKeys,a=e.state,i=a.keyEntities,o=a.fieldNames,s=e.props,v=s.onSelect,u=s.multiple,c=n.selected,l=n[o.key],m=!c,g=(r=m?u?un(r,l):[l]:vn(r,l)).map((function(e){var t=i[e];return t?t.node:null})).filter((function(e){return e}));e.setUncontrolledState({selectedKeys:r}),null===v||void 0===v||v(r,{event:"select",selected:m,node:n,selectedNodes:g,nativeEvent:t.nativeEvent})},e.onNodeCheck=function(t,n,r){var a,i=e.state,o=i.keyEntities,s=i.checkedKeys,v=i.halfCheckedKeys,u=e.props,l=u.checkStrictly,m=u.onCheck,g=n.key,S={event:"check",node:n,checked:r,nativeEvent:t.nativeEvent};if(l){var d=r?un(s,g):vn(s,g);a={checked:d,halfChecked:vn(v,g)},S.checkedNodes=d.map((function(e){return o[e]})).filter((function(e){return e})).map((function(e){return e.node})),e.setUncontrolledState({checkedKeys:d})}else{var f=kn([].concat((0,c.Z)(s),[g]),!0,o),h=f.checkedKeys,p=f.halfCheckedKeys;if(!r){var I=new Set(h);I.delete(g);var C=kn(Array.from(I),{checked:!1,halfCheckedKeys:p},o);h=C.checkedKeys,p=C.halfCheckedKeys}a=h,S.checkedNodes=[],S.checkedNodesPositions=[],S.halfCheckedKeys=p,h.forEach((function(e){var t=o[e];if(t){var n=t.node,r=t.pos;S.checkedNodes.push(n),S.checkedNodesPositions.push({node:n,pos:r})}})),e.setUncontrolledState({checkedKeys:h},!1,{halfCheckedKeys:p})}null===m||void 0===m||m(a,S)},e.onNodeLoad=function(t){var n=t.key,r=new Promise((function(r,a){e.setState((function(i){var o=i.loadedKeys,s=void 0===o?[]:o,v=i.loadingKeys,u=void 0===v?[]:v,c=e.props,l=c.loadData,m=c.onLoad;return l&&-1===s.indexOf(n)&&-1===u.indexOf(n)?(l(t).then((function(){var a=un(e.state.loadedKeys,n);null===m||void 0===m||m(a,{event:"load",node:t}),e.setUncontrolledState({loadedKeys:a}),e.setState((function(e){return{loadingKeys:vn(e.loadingKeys,n)}})),r()})).catch((function(t){if(e.setState((function(e){return{loadingKeys:vn(e.loadingKeys,n)}})),e.loadingRetryTimes[n]=(e.loadingRetryTimes[n]||0)+1,e.loadingRetryTimes[n]>=10){var i=e.state.loadedKeys;(0,I.ZP)(!1,"Retry for `loadData` many times but still failed. No more retry."),e.setUncontrolledState({loadedKeys:un(i,n)}),r()}a(t)})),{loadingKeys:un(u,n)}):null}))}));return r.catch((function(){})),r},e.onNodeMouseEnter=function(t,n){var r=e.props.onMouseEnter;null===r||void 0===r||r({event:t,node:n})},e.onNodeMouseLeave=function(t,n){var r=e.props.onMouseLeave;null===r||void 0===r||r({event:t,node:n})},e.onNodeContextMenu=function(t,n){var r=e.props.onRightClick;r&&(t.preventDefault(),r({event:t,node:n}))},e.onFocus=function(){var t=e.props.onFocus;e.setState({focused:!0});for(var n=arguments.length,r=new Array(n),a=0;a1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!e.destroyed){var a=!1,i=!0,o={};Object.keys(t).forEach((function(n){n in e.props?i=!1:(a=!0,o[n]=t[n])})),!a||n&&!i||e.setState((0,u.Z)((0,u.Z)({},o),r))}},e.scrollTo=function(t){e.listRef.current.scrollTo(t)},e}return(0,kt.Z)(n,[{key:"componentDidMount",value:function(){this.destroyed=!1,this.onUpdated()}},{key:"componentDidUpdate",value:function(){this.onUpdated()}},{key:"onUpdated",value:function(){var e=this.props.activeKey;void 0!==e&&e!==this.state.activeKey&&(this.setState({activeKey:e}),null!==e&&this.scrollTo({key:e}))}},{key:"componentWillUnmount",value:function(){window.removeEventListener("dragend",this.onWindowDragEnd),this.destroyed=!0}},{key:"resetDragState",value:function(){this.setState({dragOverNodeKey:null,dropPosition:null,dropLevelOffset:null,dropTargetKey:null,dropContainerKey:null,dropTargetPos:null,dropAllowed:!1})}},{key:"render",value:function(){var e,t,n=this.state,o=n.focused,s=n.flattenNodes,u=n.keyEntities,c=n.draggingNodeKey,m=n.activeKey,S=n.dropLevelOffset,d=n.dropContainerKey,f=n.dropTargetKey,h=n.dropPosition,p=n.dragOverNodeKey,I=n.indent,C=this.props,D=C.prefixCls,E=C.className,M=C.style,A=C.showLine,P=C.focusable,T=C.tabIndex,O=void 0===T?0:T,y=C.selectable,R=C.showIcon,_=C.icon,N=C.switcherIcon,b=C.draggable,L=C.checkable,w=C.checkStrictly,x=C.disabled,F=C.motion,U=C.loadData,k=C.filterTreeNode,G=C.height,q=C.itemHeight,V=C.virtual,B=C.titleRender,Q=C.dropIndicatorRender,H=C.onContextMenu,j=C.onScroll,W=C.direction,Z=C.rootClassName,z=C.rootStyle,K=(0,g.Z)(this.props,{aria:!0,data:!0});return b&&(t="object"===(0,r.Z)(b)?b:"function"===typeof b?{nodeDraggable:b}:{}),l.createElement(Qt.Provider,{value:{prefixCls:D,selectable:y,showIcon:R,icon:_,switcherIcon:N,draggable:t,draggingNodeKey:c,checkable:L,checkStrictly:w,disabled:x,keyEntities:u,dropLevelOffset:S,dropContainerKey:d,dropTargetKey:f,dropPosition:h,dragOverNodeKey:p,indent:I,direction:W,dropIndicatorRender:Q,loadData:U,filterTreeNode:k,titleRender:B,onNodeClick:this.onNodeClick,onNodeDoubleClick:this.onNodeDoubleClick,onNodeExpand:this.onNodeExpand,onNodeSelect:this.onNodeSelect,onNodeCheck:this.onNodeCheck,onNodeLoad:this.onNodeLoad,onNodeMouseEnter:this.onNodeMouseEnter,onNodeMouseLeave:this.onNodeMouseLeave,onNodeContextMenu:this.onNodeContextMenu,onNodeDragStart:this.onNodeDragStart,onNodeDragEnter:this.onNodeDragEnter,onNodeDragOver:this.onNodeDragOver,onNodeDragLeave:this.onNodeDragLeave,onNodeDragEnd:this.onNodeDragEnd,onNodeDrop:this.onNodeDrop}},l.createElement("div",{role:"tree",className:v()(D,E,Z,(e={},(0,a.Z)(e,"".concat(D,"-show-line"),A),(0,a.Z)(e,"".concat(D,"-focused"),o),(0,a.Z)(e,"".concat(D,"-active-focused"),null!==m),e)),style:z},l.createElement(xn,(0,i.Z)({ref:this.listRef,prefixCls:D,style:M,data:s,disabled:x,selectable:y,checkable:!!L,motion:F,dragging:null!==c,height:G,itemHeight:q,virtual:V,focusable:P,focused:o,tabIndex:O,activeItem:this.getActiveItem(),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,onActiveChange:this.onActiveChange,onListChangeStart:this.onListChangeStart,onListChangeEnd:this.onListChangeEnd,onContextMenu:H,onScroll:j},this.getTreeNodeRequiredProps(),K))))}}],[{key:"getDerivedStateFromProps",value:function(e,t){var n,r=t.prevProps,i={prevProps:e};function o(t){return!r&&t in e||r&&r[t]!==e[t]}var s=t.fieldNames;if(o("fieldNames")&&(s=zt(e.fieldNames),i.fieldNames=s),o("treeData")?n=e.treeData:o("children")&&((0,I.ZP)(!1,"`children` of Tree is deprecated. Please use `treeData` instead."),n=Kt(e.children)),n){i.treeData=n;var v=Jt(n,{fieldNames:s});i.keyEntities=(0,u.Z)((0,a.Z)({},yn,_n),v.keyEntities)}var c,l=i.keyEntities||t.keyEntities;if(o("expandedKeys")||r&&o("autoExpandParent"))i.expandedKeys=e.autoExpandParent||!r&&e.defaultExpandParent?hn(e.expandedKeys,l):e.expandedKeys;else if(!r&&e.defaultExpandAll){var m=(0,u.Z)({},l);delete m[yn],i.expandedKeys=Object.keys(m).map((function(e){return m[e].key}))}else!r&&e.defaultExpandedKeys&&(i.expandedKeys=e.autoExpandParent||e.defaultExpandParent?hn(e.defaultExpandedKeys,l):e.defaultExpandedKeys);if(i.expandedKeys||delete i.expandedKeys,n||i.expandedKeys){var g=Xt(n||t.treeData,i.expandedKeys||t.expandedKeys,s);i.flattenNodes=g}if((e.selectable&&(o("selectedKeys")?i.selectedKeys=dn(e.selectedKeys,e):!r&&e.defaultSelectedKeys&&(i.selectedKeys=dn(e.defaultSelectedKeys,e))),e.checkable)&&(o("checkedKeys")?c=fn(e.checkedKeys)||{}:!r&&e.defaultCheckedKeys?c=fn(e.defaultCheckedKeys)||{}:n&&(c=fn(e.checkedKeys)||{checkedKeys:t.checkedKeys,halfCheckedKeys:t.halfCheckedKeys}),c)){var S=c,d=S.checkedKeys,f=void 0===d?[]:d,h=S.halfCheckedKeys,p=void 0===h?[]:h;if(!e.checkStrictly){var C=kn(f,!0,l);f=C.checkedKeys,p=C.halfCheckedKeys}i.checkedKeys=f,i.halfCheckedKeys=p}return o("loadedKeys")&&(i.loadedKeys=e.loadedKeys),i}}]),n}(l.Component);Gn.defaultProps={prefixCls:"rc-tree",showLine:!1,showIcon:!0,selectable:!0,multiple:!1,checkable:!1,disabled:!1,checkStrictly:!1,draggable:!1,defaultExpandParent:!0,autoExpandParent:!1,defaultExpandAll:!1,defaultExpandedKeys:[],defaultCheckedKeys:[],defaultSelectedKeys:[],dropIndicatorRender:function(e){var t=e.dropPosition,n=e.dropLevelOffset,r=e.indent,a={pointerEvents:"none",position:"absolute",right:0,backgroundColor:"red",height:2};switch(t){case-1:a.top=0,a.left=-n*r;break;case 1:a.bottom=0,a.left=-n*r;break;case 0:a.bottom=0,a.left=r}return l.createElement("div",{style:a})},allowDrop:function(){return!0},expandAction:!1},Gn.TreeNode=sn;const qn=Gn;const Vn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M300 276.5a56 56 0 1056-97 56 56 0 00-56 97zm0 284a56 56 0 1056-97 56 56 0 00-56 97zM640 228a56 56 0 10112 0 56 56 0 00-112 0zm0 284a56 56 0 10112 0 56 56 0 00-112 0zM300 844.5a56 56 0 1056-97 56 56 0 00-56 97zM640 796a56 56 0 10112 0 56 56 0 00-112 0z"}}]},name:"holder",theme:"outlined"};var Bn=function(e,t){return l.createElement(st.Z,(0,u.Z)((0,u.Z)({},e),{},{ref:t,icon:Vn}))};Bn.displayName="HolderOutlined";const Qn=l.forwardRef(Bn);var Hn=n(9464);function jn(e){var t,n=e.dropPosition,r=e.dropLevelOffset,i=e.prefixCls,o=e.indent,s=e.direction,v=void 0===s?"ltr":s,u="ltr"===v?"left":"right",c="ltr"===v?"right":"left",m=(t={},(0,a.Z)(t,u,-r*o+4),(0,a.Z)(t,c,0),t);switch(n){case-1:m.top=-3;break;case 1:m.bottom=-3;break;default:m.bottom=-3,m[u]=o+4}return l.createElement("div",{style:m,className:"".concat(i,"-drop-indicator")})}const Wn={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"}}]},name:"caret-down",theme:"filled"};var Zn=function(e,t){return l.createElement(st.Z,(0,u.Z)((0,u.Z)({},e),{},{ref:t,icon:Wn}))};Zn.displayName="CaretDownFilled";const zn=l.forwardRef(Zn);const Kn={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0042 42h216v494z"}}]},name:"file",theme:"outlined"};var Xn=function(e,t){return l.createElement(st.Z,(0,u.Z)((0,u.Z)({},e),{},{ref:t,icon:Kn}))};Xn.displayName="FileOutlined";const Yn=l.forwardRef(Xn);var Jn=n(7106);const $n={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"minus-square",theme:"outlined"};var er=function(e,t){return l.createElement(st.Z,(0,u.Z)((0,u.Z)({},e),{},{ref:t,icon:$n}))};er.displayName="MinusSquareOutlined";const tr=l.forwardRef(er);const nr={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z"}},{tag:"path",attrs:{d:"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z"}}]},name:"plus-square",theme:"outlined"};var rr=function(e,t){return l.createElement(st.Z,(0,u.Z)((0,u.Z)({},e),{},{ref:t,icon:nr}))};rr.displayName="PlusSquareOutlined";const ar=l.forwardRef(rr);var ir=n(1113);const or=l.forwardRef((function(e,t){var n,o=l.useContext(Be.E_),s=o.getPrefixCls,u=o.direction,c=o.virtual,m=e.prefixCls,g=e.className,S=e.showIcon,d=void 0!==S&&S,f=e.showLine,h=e.switcherIcon,p=e.blockNode,I=void 0!==p&&p,C=e.children,D=e.checkable,E=void 0!==D&&D,M=e.selectable,A=void 0===M||M,P=e.draggable,T=e.motion,O=void 0===T?(0,i.Z)((0,i.Z)({},Hn.ZP),{motionAppear:!1}):T,y=s("tree",m),R=(0,i.Z)((0,i.Z)({},e),{checkable:E,selectable:A,showIcon:d,motion:O,blockNode:I,showLine:Boolean(f),dropIndicatorRender:jn}),_=l.useMemo((function(){if(!P)return!1;var e={};switch((0,r.Z)(P)){case"function":e.nodeDraggable=P;break;case"object":e=(0,i.Z)({},P)}return!1!==e.icon&&(e.icon=e.icon||l.createElement(Qn,null)),e}),[P]);return l.createElement(qn,(0,i.Z)({itemHeight:20,ref:t,virtual:c},R,{prefixCls:y,className:v()((n={},(0,a.Z)(n,"".concat(y,"-icon-hide"),!d),(0,a.Z)(n,"".concat(y,"-block-node"),I),(0,a.Z)(n,"".concat(y,"-unselectable"),!A),(0,a.Z)(n,"".concat(y,"-rtl"),"rtl"===u),n),g),direction:u,checkable:E?l.createElement("span",{className:"".concat(y,"-checkbox-inner")}):E,selectable:A,switcherIcon:function(e){return function(e,t,n,a){var i,o=a.isLeaf,s=a.expanded;if(a.loading)return l.createElement(Jn.Z,{className:"".concat(e,"-switcher-loading-icon")});if(n&&"object"===(0,r.Z)(n)&&(i=n.showLeafIcon),o){if(!n)return null;if("boolean"!==typeof i&&i){var u="function"===typeof i?i(a):i,c="".concat(e,"-switcher-line-custom-icon");return(0,ir.l$)(u)?(0,ir.Tm)(u,{className:v()(u.props.className||"",c)}):u}return i?l.createElement(Yn,{className:"".concat(e,"-switcher-line-icon")}):l.createElement("span",{className:"".concat(e,"-switcher-leaf-line")})}var m="".concat(e,"-switcher-icon"),g="function"===typeof t?t(a):t;return(0,ir.l$)(g)?(0,ir.Tm)(g,{className:v()(g.props.className||"",m)}):g||(n?s?l.createElement(tr,{className:"".concat(e,"-switcher-line-icon")}):l.createElement(ar,{className:"".concat(e,"-switcher-line-icon")}):l.createElement(zn,{className:m}))}(y,h,f,e)},draggable:_}),C)}));const sr={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z"}}]},name:"folder-open",theme:"outlined"};var vr=function(e,t){return l.createElement(st.Z,(0,u.Z)((0,u.Z)({},e),{},{ref:t,icon:sr}))};vr.displayName="FolderOpenOutlined";const ur=l.forwardRef(vr);const cr={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z"}}]},name:"folder",theme:"outlined"};var lr=function(e,t){return l.createElement(st.Z,(0,u.Z)((0,u.Z)({},e),{},{ref:t,icon:cr}))};lr.displayName="FolderOutlined";const mr=l.forwardRef(lr);var gr;function Sr(e,t){e.forEach((function(e){var n=e.key,r=e.children;!1!==t(n,e)&&Sr(r||[],t)}))}function dr(e){var t=e.treeData,n=e.expandedKeys,r=e.startKey,a=e.endKey,i=[],o=gr.None;if(r&&r===a)return[r];if(!r||!a)return[];return Sr(t,(function(e){if(o===gr.End)return!1;if(function(e){return e===r||e===a}(e)){if(i.push(e),o===gr.None)o=gr.Start;else if(o===gr.Start)return o=gr.End,!1}else o===gr.Start&&i.push(e);return n.includes(e)})),i}function fr(e,t){var n=(0,c.Z)(t),r=[];return Sr(e,(function(e,t){var a=n.indexOf(e);return-1!==a&&(r.push(t),n.splice(a,1)),!!n.length})),r}!function(e){e[e.None=0]="None",e[e.Start=1]="Start",e[e.End=2]="End"}(gr||(gr={}));var hr=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a0&&void 0!==arguments[0]?arguments[0]:{confirm:!1,closeDropdown:!1},t=e.confirm,n=e.closeDropdown;t&&ee([]),n&&w(!1),X(""),G(O?(y||[]).map((function(e){return String(e)})):[])},re=v()((0,a.Z)({},"".concat(c,"-menu-without-submenu"),!(u.filters||[]).some((function(e){return e.children})))),ae=function(e){if(e.target.checked){var t=xr(null===u||void 0===u?void 0:u.filters).map((function(e){return String(e)}));G(t)}else G([])},ie=function e(t){return(t.filters||[]).map((function(t,n){var r=String(t.value),a={title:t.text,key:void 0!==t.value?r:n};return t.children&&(a.children=e({filters:t.children})),a}))},oe=function e(t){var n;return(0,i.Z)((0,i.Z)({},t),{text:t.title,value:t.key,children:(null===(n=t.children)||void 0===n?void 0:n.map((function(t){return e(t)})))||[]})};if("function"===typeof u.filterDropdown)J=u.filterDropdown({prefixCls:"".concat(c,"-custom"),setSelectedKeys:function(e){return q({selectedKeys:e})},selectedKeys:k(),confirm:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{closeDropdown:!0};e.closeDropdown&&w(!1),ee(k())},clearFilters:ne,filters:u.filters,visible:n,close:function(){w(!1)}});else if(u.filterDropdown)J=u.filterDropdown;else{var se=k()||[];J=l.createElement(l.Fragment,null,0===(u.filters||[]).length?l.createElement(dt.Z,{image:dt.Z.PRESENTED_IMAGE_SIMPLE,description:C.filterEmptyText,imageStyle:{height:24},style:{margin:0,padding:"16px 0"}}):"tree"===d?l.createElement(l.Fragment,null,l.createElement(Or,{filterSearch:h,value:K,onChange:Y,tablePrefixCls:r,locale:C}),l.createElement("div",{className:"".concat(r,"-filter-dropdown-tree")},g?l.createElement(gt.Z,{checked:se.length===xr(u.filters).length,indeterminate:se.length>0&&se.length0?v:e}),f=Math.ceil((v||e)/d.pageSize);d.current>f&&(d.current=f||1);var h=function(e,t){S({current:null!==e&&void 0!==e?e:1,pageSize:t||d.pageSize})};return!1===t?[{},function(){}]:[(0,i.Z)((0,i.Z)({},d),{onChange:function(e,r){var a;t&&(null===(a=t.onChange)||void 0===a||a.call(t,e,r)),h(e,r),n(e,r||(null===d||void 0===d?void 0:d.pageSize))}}),h]}var Vr=n(4506),Br=n(7295),Qr={},Hr="SELECT_ALL",jr="SELECT_INVERT",Wr="SELECT_NONE",Zr=[];function zr(e,t){var n=[];return(e||[]).forEach((function(e){n.push(e),e&&"object"===(0,r.Z)(e)&&t in e&&(n=[].concat((0,c.Z)(n),(0,c.Z)(zr(e[t],t))))})),n}function Kr(e,t){var n=e||{},r=n.preserveSelectedRowKeys,s=n.selectedRowKeys,v=n.defaultSelectedRowKeys,u=n.getCheckboxProps,m=n.onChange,g=n.onSelect,S=n.onSelectAll,d=n.onSelectInvert,f=n.onSelectNone,h=n.onSelectMultiple,p=n.columnWidth,I=n.type,C=n.selections,D=n.fixed,E=n.renderCell,M=n.hideSelectAll,A=n.checkStrictly,P=void 0===A||A,T=t.prefixCls,O=t.data,y=t.pageData,R=t.getRecordByKey,_=t.getRowKey,N=t.expandType,b=t.childrenColumnName,L=t.locale,w=t.getPopupContainer,x=(0,pt.Z)(s||v||Zr,{value:s}),F=(0,o.Z)(x,2),U=F[0],k=F[1],G=l.useRef(new Map),q=(0,l.useCallback)((function(e){if(r){var t=new Map;e.forEach((function(e){var n=R(e);!n&&G.current.has(e)&&(n=G.current.get(e)),t.set(e,n)})),G.current=t}}),[R,r]);l.useEffect((function(){q(U)}),[U]);var V=(0,l.useMemo)((function(){return P?{keyEntities:null}:Jt(O,{externalGetKey:_,childrenPropName:b})}),[O,_,P,b]).keyEntities,B=(0,l.useMemo)((function(){return zr(y,b)}),[y,b]),Q=(0,l.useMemo)((function(){var e=new Map;return B.forEach((function(t,n){var r=_(t,n),a=(u?u(t):null)||{};e.set(r,a)})),e}),[B,_,u]),H=(0,l.useCallback)((function(e){var t;return!!(null===(t=Q.get(_(e)))||void 0===t?void 0:t.disabled)}),[Q,_]),j=(0,l.useMemo)((function(){if(P)return[U||[],[]];var e=kn(U,!0,V,H);return[e.checkedKeys||[],e.halfCheckedKeys]}),[U,P,V,H]),W=(0,o.Z)(j,2),Z=W[0],z=W[1],K=(0,l.useMemo)((function(){var e="radio"===I?Z.slice(0,1):Z;return new Set(e)}),[Z,I]),X=(0,l.useMemo)((function(){return"radio"===I?new Set:new Set(z)}),[z,I]),Y=(0,l.useState)(null),J=(0,o.Z)(Y,2),$=J[0],ee=J[1];l.useEffect((function(){e||k(Zr)}),[!!e]);var te=(0,l.useCallback)((function(e,t){var n,a;q(e),r?(n=e,a=e.map((function(e){return G.current.get(e)}))):(n=[],a=[],e.forEach((function(e){var t=R(e);void 0!==t&&(n.push(e),a.push(t))}))),k(n),null===m||void 0===m||m(n,a,{type:t})}),[k,R,m,r]),ne=(0,l.useCallback)((function(e,t,n,r){if(g){var a=n.map((function(e){return R(e)}));g(R(e),t,a,r)}te(n,"single")}),[g,R,te]),re=(0,l.useMemo)((function(){return!C||M?null:(!0===C?[Hr,jr,Wr]:C).map((function(e){return e===Hr?{key:"all",text:L.selectionAll,onSelect:function(){te(O.map((function(e,t){return _(e,t)})).filter((function(e){var t=Q.get(e);return!(null===t||void 0===t?void 0:t.disabled)||K.has(e)})),"all")}}:e===jr?{key:"invert",text:L.selectInvert,onSelect:function(){var e=new Set(K);y.forEach((function(t,n){var r=_(t,n),a=Q.get(r);(null===a||void 0===a?void 0:a.disabled)||(e.has(r)?e.delete(r):e.add(r))}));var t=Array.from(e);d&&d(t),te(t,"invert")}}:e===Wr?{key:"none",text:L.selectNone,onSelect:function(){null===f||void 0===f||f(),te(Array.from(K).filter((function(e){var t=Q.get(e);return null===t||void 0===t?void 0:t.disabled})),"none")}}:e})).map((function(e){return(0,i.Z)((0,i.Z)({},e),{onSelect:function(){for(var t,n,r=arguments.length,a=new Array(r),i=0;i2&&void 0!==arguments[2]&&arguments[2],r=(0,i.Z)((0,i.Z)({},ue),e);n&&(ue.resetPagination(),r.pagination.current&&(r.pagination.current=1),h&&h.onChange&&h.onChange(1,r.pagination.pageSize)),L&&!1!==L.scrollToFirstRowOnChange&&ie.body.current&&$e(0,{getContainer:function(){return ie.body.current}}),null===P||void 0===P||P(r.pagination,r.filters,r.sorter,{currentDataSource:Ur(la(Y,r.sorterStates,re),r.filterStates),action:t})},le=function(e){var t=e.prefixCls,n=e.mergedColumns,r=e.onSorterChange,a=e.sortDirections,s=e.tableLocale,v=e.showSorterTooltip,u=l.useState(sa(n,!0)),m=(0,o.Z)(u,2),g=m[0],S=m[1],d=l.useMemo((function(){var e=!0,t=sa(n,!1);if(!t.length)return g;var r=[];function a(t){e?r.push(t):r.push((0,i.Z)((0,i.Z)({},t),{sortOrder:null}))}var o=null;return t.forEach((function(t){null===o?(a(t),t.sortOrder&&(!1===t.multiplePriority?e=!1:o=!0)):(o&&!1!==t.multiplePriority||(e=!1),a(t))})),r}),[n,g]),f=l.useMemo((function(){var e=d.map((function(e){return{column:e.column,order:e.sortOrder}}));return{sortColumns:e,sortColumn:e[0]&&e[0].column,sortOrder:e[0]&&e[0].order}}),[d]);function h(e){var t;t=!1!==e.multiplePriority&&d.length&&!1!==d[0].multiplePriority?[].concat((0,c.Z)(d.filter((function(t){return t.key!==e.key}))),[e]):[e],S(t),r(ca(t),t)}return[function(e){return va(t,e,d,h,a,s,v)},d,f,function(){return ca(d)}]}({prefixCls:$,mergedColumns:V,onSorterChange:function(e,t){ce({sorter:e,sorterStates:t},"sort",!1)},sortDirections:w||["ascend","descend"],tableLocale:X,showSorterTooltip:U}),ge=(0,o.Z)(le,4),Se=ge[0],de=ge[1],fe=ge[2],he=ge[3],pe=l.useMemo((function(){return la(Y,de,re)}),[Y,de]);ue.sorter=he(),ue.sorterStates=de;var Ie=kr({prefixCls:$,locale:X,dropdownPrefixCls:ee,mergedColumns:V,onFilterChange:function(e,t){ce({filters:e,filterStates:t},"filter",!0)},getPopupContainer:T}),Ce=(0,o.Z)(Ie,3),De=Ce[0],Ee=Ce[1],Me=Ce[2],Ae=Ur(pe,Ee);ue.filters=Me,ue.filterStates=Ee;var Pe=ga(l.useMemo((function(){var e={};return Object.keys(Me).forEach((function(t){null!==Me[t]&&(e[t]=Me[t])})),(0,i.Z)((0,i.Z)({},fe),{filters:e})}),[fe,Me])),Te=(0,o.Z)(Pe,1)[0],Oe=qr(Ae.length,h,(function(e,t){ce({pagination:(0,i.Z)((0,i.Z)({},ue.pagination),{current:e,pageSize:t})},"paginate")})),ye=(0,o.Z)(Oe,2),Re=ye[0],_e=ye[1];ue.pagination=!1===h?{}:function(e,t){var n={current:t.current,pageSize:t.pageSize},a=e&&"object"===(0,r.Z)(e)?e:{};return Object.keys(a).forEach((function(e){var r=t[e];"function"!==typeof r&&(n[e]=r)})),n}(h,Re),ue.resetPagination=_e;var Ne=l.useMemo((function(){if(!1===h||!Re.pageSize)return Ae;var e=Re.current,t=void 0===e?1:e,n=Re.total,r=Re.pageSize,a=void 0===r?10:r;return Ae.lengtha?Ae.slice((t-1)*a,t*a):Ae:Ae.slice((t-1)*a,t*a)}),[!!h,Ae,Re&&Re.current,Re&&Re.pageSize,Re&&Re.total]),be=Kr(p,{prefixCls:$,data:Ae,pageData:Ne,getRowKey:oe,getRecordByKey:ve,expandType:ae,childrenColumnName:re,locale:X,getPopupContainer:T}),Le=(0,o.Z)(be,2),we=Le[0],xe=Le[1];te.__PARENT_RENDER_ICON__=te.expandIcon,te.expandIcon=te.expandIcon||y||nt(X),"nest"===ae&&void 0===te.expandIconColumnIndex?te.expandIconColumnIndex=p?1:0:te.expandIconColumnIndex>0&&p&&(te.expandIconColumnIndex-=1),"number"!==typeof te.indentSize&&(te.indentSize="number"===typeof b?b:15);var Fe,ke,Ge,Ke=l.useCallback((function(e){return Te(we(De(Se(e))))}),[Se,De,we]);if(!1!==h&&(null===Re||void 0===Re?void 0:Re.total)){var Xe;Xe=Re.size?Re.size:"small"===K||"middle"===K?"small":void 0;var Ye=function(e){return l.createElement(Ze.Z,(0,i.Z)({},Re,{className:v()("".concat($,"-pagination ").concat($,"-pagination-").concat(e),Re.className),size:Xe}))},Je="rtl"===z?"left":"right",et=Re.position;if(null!==et&&Array.isArray(et)){var tt=et.find((function(e){return e.includes("top")})),rt=et.find((function(e){return e.includes("bottom")})),at=et.every((function(e){return"none"==="".concat(e)}));tt||rt||at||(ke=Ye(Je)),tt&&(Fe=Ye(tt.toLowerCase().replace("top",""))),rt&&(ke=Ye(rt.toLowerCase().replace("bottom","")))}else ke=Ye(Je)}"boolean"===typeof O?Ge={spinning:O}:"object"===(0,r.Z)(O)&&(Ge=(0,i.Z)({spinning:!0},O));var it=v()("".concat($,"-wrapper"),(0,a.Z)({},"".concat($,"-wrapper-rtl"),"rtl"===z),u);return l.createElement("div",{ref:t,className:it,style:m},l.createElement(ze.Z,(0,i.Z)({spinning:!1},Ge),Fe,l.createElement(qe,(0,i.Z)({},B,{columns:V,direction:z,expandable:te,prefixCls:$,className:v()((n={},(0,a.Z)(n,"".concat($,"-middle"),"middle"===K),(0,a.Z)(n,"".concat($,"-small"),"small"===K),(0,a.Z)(n,"".concat($,"-bordered"),S),(0,a.Z)(n,"".concat($,"-empty"),0===Y.length),n)),data:Ne,rowKey:oe,rowClassName:function(e,t,n){var r;return r="function"===typeof D?v()(D(e,t,n)):v()(D),v()((0,a.Z)({},"".concat($,"-row-selected"),xe.has(oe(e,t))),r)},emptyText:x&&x.emptyText||(Z||Qe.Z)("Table"),internalHooks:Ue,internalRefs:ie,transformColumns:Ke})),ke))}var fa=l.forwardRef(da);fa.SELECTION_COLUMN=Qr,fa.EXPAND_COLUMN=qe.EXPAND_COLUMN,fa.SELECTION_ALL=Hr,fa.SELECTION_INVERT=jr,fa.SELECTION_NONE=Wr,fa.Column=et,fa.ColumnGroup=tt,fa.Summary=Pe;const ha=fa},5945:(e,t,n)=>{"use strict";n.d(t,{Z:()=>O});var r=n(4942),a=n(9439),i=n(7462),o=n(1694),s=n.n(o),v=n(1002),u=n(1413),c=n(4925),l=n(2791),m=n(1531),g=n(1961);function S(e){var t=e.showArrow,n=e.arrowContent,r=e.children,a=e.prefixCls,i=e.id,o=e.overlayInnerStyle,v=e.className,u=e.style;return l.createElement("div",{className:s()("".concat(a,"-content"),v),style:u},!1!==t&&l.createElement("div",{className:"".concat(a,"-arrow"),key:"arrow"},n),l.createElement("div",{className:"".concat(a,"-inner"),id:i,role:"tooltip",style:o},"function"===typeof r?r():r))}var d=function(e,t){var n=e.overlayClassName,r=e.trigger,a=void 0===r?["hover"]:r,o=e.mouseEnterDelay,s=void 0===o?0:o,d=e.mouseLeaveDelay,f=void 0===d?.1:d,h=e.overlayStyle,p=e.prefixCls,I=void 0===p?"rc-tooltip":p,C=e.children,D=e.onVisibleChange,E=e.afterVisibleChange,M=e.transitionName,A=e.animation,P=e.motion,T=e.placement,O=void 0===T?"right":T,y=e.align,R=void 0===y?{}:y,_=e.destroyTooltipOnHide,N=void 0!==_&&_,b=e.defaultVisible,L=e.getTooltipContainer,w=e.overlayInnerStyle,x=e.arrowContent,F=e.overlay,U=e.id,k=e.showArrow,G=(0,c.Z)(e,["overlayClassName","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle","prefixCls","children","onVisibleChange","afterVisibleChange","transitionName","animation","motion","placement","align","destroyTooltipOnHide","defaultVisible","getTooltipContainer","overlayInnerStyle","arrowContent","overlay","id","showArrow"]),q=(0,l.useRef)(null);(0,l.useImperativeHandle)(t,(function(){return q.current}));var V=(0,u.Z)({},G);"visible"in e&&(V.popupVisible=e.visible);var B=!1,Q=!1;if("boolean"===typeof N)B=N;else if(N&&"object"===(0,v.Z)(N)){var H=N.keepParent;B=!0===H,Q=!1===H}return l.createElement(m.Z,(0,i.Z)({popupClassName:n,prefixCls:I,popup:function(){return l.createElement(S,{showArrow:k,arrowContent:x,key:"content",prefixCls:I,id:U,overlayInnerStyle:w},F)},action:a,builtinPlacements:g.C,popupPlacement:O,ref:q,popupAlign:R,getPopupContainer:L,onPopupVisibleChange:D,afterPopupVisibleChange:E,popupTransitionName:M,popupAnimation:A,popupMotion:P,defaultPopupVisible:b,destroyPopupOnHide:B,autoDestroy:Q,mouseLeaveDelay:f,popupStyle:h,mouseEnterDelay:s},V),C)};const f=(0,l.forwardRef)(d);var h=n(5179),p=n(1929),I=n(4466),C=n(9464),D=n(9631),E=n(1113),M=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a{"use strict";n.d(t,{aT:()=>Ls,sr:()=>bs});var r=n(7326),a=n(1120);function i(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=(0,a.Z)(e)););return e}function o(){return o="undefined"!==typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=i(e,t);if(r){var a=Object.getOwnPropertyDescriptor(r,t);return a.get?a.get.call(arguments.length<3?e:n):a.value}},o.apply(this,arguments)}var s=n(136),v=n(7277),u=n(5671),c=n(3144),l="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:"undefined"!==typeof self?self:{};function m(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var g={exports:{}},S=function(){},d=Symbol("log-levels"),f=Symbol("log-instance"),h=function(){function e(t){(0,u.Z)(this,e),this[f]=t,this[d]={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5}}return(0,c.Z)(e,[{key:"levels",get:function(){return this[d]}},{key:"logger",get:function(){return this[f]},set:function(e){this[f]=e}},{key:"methods",get:function(){return Object.keys(this.levels).map((function(e){return e.toLowerCase()})).filter((function(e){return"silent"!==e}))}},{key:"bindMethod",value:function(e,t){var n=e[t];if("function"===typeof n.bind)return n.bind(e);try{return Function.prototype.bind.call(n,e)}catch(r){return function(){return Function.prototype.apply.apply(n,[e,arguments])}}}},{key:"distillLevel",value:function(e){var t=e;return"string"===typeof t&&"undefined"!==typeof this.levels[t.toUpperCase()]&&(t=this.levels[t.toUpperCase()]),!!this.levelValid(t)&&t}},{key:"levelValid",value:function(e){return"number"===typeof e&&e>=0&&e<=this.levels.SILENT}},{key:"make",value:function(e){return"debug"===e&&(e="log"),"undefined"!==typeof console[e]?this.bindMethod(console,e):"undefined"!==typeof console.log?this.bindMethod(console,"log"):S}},{key:"replaceMethods",value:function(e){var t=this,n=this.distillLevel(e);if(null==n)throw new Error("loglevelnext: replaceMethods() called with invalid level: ".concat(e));if(!this.logger||"LogLevel"!==this.logger.type)throw new TypeError("loglevelnext: Logger is undefined or invalid. Please specify a valid Logger instance.");this.methods.forEach((function(e){var r=t.levels[e.toUpperCase()];t.logger[e]=r",this.level=this.options.level}return(0,c.Z)(e,[{key:"factory",get:function(){return this.methodFactory},set:function(e){e.logger=this,this.methodFactory=e,this.methodFactory.replaceMethods(this.level)}},{key:"disable",value:function(){this.level=this.levels.SILENT}},{key:"enable",value:function(){this.level=this.levels.TRACE}},{key:"level",get:function(){return this.currentLevel},set:function(e){var t=this.methodFactory.distillLevel(e);if(!1===t||null==t)throw new RangeError("loglevelnext: setLevel() called with invalid level: ".concat(e));this.currentLevel=t,this.methodFactory.replaceMethods(t),"undefined"===typeof console&&t>a)}return n}};function y(e){var t=e%8,n=Math.floor(e/8);return t>0&&n++,n}function R(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0;)e[t]=0}var Y=256,J=286,$=30,ee=15,te=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),ne=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),re=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),ae=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ie=new Array(576);X(ie);var oe=new Array(60);X(oe);var se=new Array(512);X(se);var ve=new Array(256);X(ve);var ue=new Array(29);X(ue);var ce,le,me,ge=new Array($);function Se(e,t,n,r,a){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=a,this.has_stree=e&&e.length}function de(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}X(ge);var fe=function(e){return e<256?se[e]:se[256+(e>>>7)]},he=function(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},pe=function(e,t,n){e.bi_valid>16-n?(e.bi_buf|=t<>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<>>=1,n<<=1}while(--t>0);return n>>>1},De=function(e,t,n){var r,a,i=new Array(16),o=0;for(r=1;r<=ee;r++)i[r]=o=o+n[r-1]<<1;for(a=0;a<=t;a++){var s=e[2*a+1];0!==s&&(e[2*a]=Ce(i[s]++,s))}},Ee=function(e){var t;for(t=0;t8?he(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Ae=function(e,t,n,r){var a=2*t,i=2*n;return e[a]>1;n>=1;n--)Pe(e,i,n);a=v;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Pe(e,i,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,i[2*a]=i[2*n]+i[2*r],e.depth[a]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,i[2*n+1]=i[2*r+1]=a,e.heap[1]=a++,Pe(e,i,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,a,i,o,s,v=t.dyn_tree,u=t.max_code,c=t.stat_desc.static_tree,l=t.stat_desc.has_stree,m=t.stat_desc.extra_bits,g=t.stat_desc.extra_base,S=t.stat_desc.max_length,d=0;for(i=0;i<=ee;i++)e.bl_count[i]=0;for(v[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(i=v[2*v[2*(r=e.heap[n])+1]+1]+1)>S&&(i=S,d++),v[2*r+1]=i,r>u||(e.bl_count[i]++,o=0,r>=g&&(o=m[r-g]),s=v[2*r],e.opt_len+=s*(i+o),l&&(e.static_len+=s*(c[2*r+1]+o)));if(0!==d){do{for(i=S-1;0===e.bl_count[i];)i--;e.bl_count[i]--,e.bl_count[i+1]+=2,e.bl_count[S]--,d-=2}while(d>0);for(i=S;0!==i;i--)for(r=e.bl_count[i];0!==r;)(a=e.heap[--n])>u||(v[2*a+1]!==i&&(e.opt_len+=(i-v[2*a+1])*v[2*a],v[2*a+1]=i),r--)}}(e,t),De(i,u,e.bl_count)},ye=function(e,t,n){var r,a,i=-1,o=t[1],s=0,v=7,u=4;for(0===o&&(v=138,u=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)a=o,o=t[2*(r+1)+1],++s>=7;r<$;r++)for(ge[r]=a<<7,e=0;e<1<0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t=3&&0===e.bl_tree[2*ae[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),a=e.opt_len+3+7>>>3,(i=e.static_len+3+7>>>3)<=a&&(a=i)):a=i=n+5,n+4<=a&&-1!==t?Ne(e,t,n,r):4===e.strategy||i===a?(pe(e,2+(r?1:0),3),Te(e,ie,oe)):(pe(e,4+(r?1:0),3),function(e,t,n,r){var a;for(pe(e,t-257,5),pe(e,n-1,5),pe(e,r-4,4),a=0;a>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(ve[n]+Y+1)]++,e.dyn_dtree[2*fe(t)]++),e.last_lit===e.lit_bufsize-1},xe={_tr_init:be,_tr_stored_block:Ne,_tr_flush_block:Le,_tr_tally:we,_tr_align:function(e){pe(e,2,3),Ie(e,256,ie),function(e){16===e.bi_valid?(he(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},Fe=function(e,t,n,r){for(var a=65535&e|0,i=e>>>16&65535|0,o=0;0!==n;){n-=o=n>2e3?2e3:n;do{i=i+(a=a+t[r++]|0)|0}while(--o);a%=65521,i%=65521}return a|i<<16|0},Ue=new Uint32Array(function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}()),ke=function(e,t,n,r){var a=Ue,i=r+n;e^=-1;for(var o=r;o>>8^a[255&(e^t[o])];return-1^e},Ge={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},qe={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},Ve=xe._tr_init,Be=xe._tr_stored_block,Qe=xe._tr_flush_block,He=xe._tr_tally,je=xe._tr_align,We=qe.Z_NO_FLUSH,Ze=qe.Z_PARTIAL_FLUSH,ze=qe.Z_FULL_FLUSH,Ke=qe.Z_FINISH,Xe=qe.Z_BLOCK,Ye=qe.Z_OK,Je=qe.Z_STREAM_END,$e=qe.Z_STREAM_ERROR,et=qe.Z_DATA_ERROR,tt=qe.Z_BUF_ERROR,nt=qe.Z_DEFAULT_COMPRESSION,rt=qe.Z_FILTERED,at=qe.Z_HUFFMAN_ONLY,it=qe.Z_RLE,ot=qe.Z_FIXED,st=qe.Z_DEFAULT_STRATEGY,vt=qe.Z_UNKNOWN,ut=qe.Z_DEFLATED,ct=258,lt=262,mt=103,gt=113,St=666,dt=function(e,t){return e.msg=Ge[t],t},ft=function(e){return(e<<1)-(e>4?9:0)},ht=function(e){for(var t=e.length;--t>=0;)e[t]=0},pt=function(e,t,n){return(t<e.avail_out&&(n=e.avail_out),0!==n&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))},Ct=function(e,t){Qe(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,It(e.strm)},Dt=function(e,t){e.pending_buf[e.pending++]=t},Et=function(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},Mt=function(e,t,n,r){var a=e.avail_in;return a>r&&(a=r),0===a?0:(e.avail_in-=a,t.set(e.input.subarray(e.next_in,e.next_in+a),n),1===e.state.wrap?e.adler=Fe(e.adler,t,a,n):2===e.state.wrap&&(e.adler=ke(e.adler,t,a,n)),e.next_in+=a,e.total_in+=a,a)},At=function(e,t){var n,r,a=e.max_chain_length,i=e.strstart,o=e.prev_length,s=e.nice_match,v=e.strstart>e.w_size-lt?e.strstart-(e.w_size-lt):0,u=e.window,c=e.w_mask,l=e.prev,m=e.strstart+ct,g=u[i+o-1],S=u[i+o];e.prev_length>=e.good_match&&(a>>=2),s>e.lookahead&&(s=e.lookahead);do{if(u[(n=t)+o]===S&&u[n+o-1]===g&&u[n]===u[i]&&u[++n]===u[i+1]){i+=2,n++;do{}while(u[++i]===u[++n]&&u[++i]===u[++n]&&u[++i]===u[++n]&&u[++i]===u[++n]&&u[++i]===u[++n]&&u[++i]===u[++n]&&u[++i]===u[++n]&&u[++i]===u[++n]&&io){if(e.match_start=t,o=r,r>=s)break;g=u[i+o-1],S=u[i+o]}}}while((t=l[t&c])>v&&0!==--a);return o<=e.lookahead?o:e.lookahead},Pt=function(e){var t,n,r,a,i,o=e.w_size;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=o+(o-lt)){e.window.set(e.window.subarray(o,o+o),0),e.match_start-=o,e.strstart-=o,e.block_start-=o,t=n=e.hash_size;do{r=e.head[--t],e.head[t]=r>=o?r-o:0}while(--n);t=n=o;do{r=e.prev[--t],e.prev[t]=r>=o?r-o:0}while(--n);a+=o}if(0===e.strm.avail_in)break;if(n=Mt(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=n,e.lookahead+e.insert>=3)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=pt(e,e.ins_h,e.window[i+1]);e.insert&&(e.ins_h=pt(e,e.ins_h,e.window[i+3-1]),e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead=3&&(e.ins_h=pt(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-lt&&(e.match_length=At(e,n)),e.match_length>=3)if(r=He(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=pt(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!==--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=pt(e,e.ins_h,e.window[e.strstart+1]);else r=He(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(Ct(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===Ke?(Ct(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(Ct(e,!1),0===e.strm.avail_out)?1:2},Ot=function(e,t){for(var n,r,a;;){if(e.lookahead=3&&(e.ins_h=pt(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==n&&e.prev_length4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){a=e.strstart+e.lookahead-3,r=He(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=a&&(e.ins_h=pt(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!==--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,r&&(Ct(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((r=He(e,0,e.window[e.strstart-1]))&&Ct(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=He(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===Ke?(Ct(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(Ct(e,!1),0===e.strm.avail_out)?1:2};function yt(e,t,n,r,a){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=a}var Rt=[new yt(0,0,0,0,(function(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Pt(e),0===e.lookahead&&t===We)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((0===e.strstart||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,Ct(e,!1),0===e.strm.avail_out))return 1;if(e.strstart-e.block_start>=e.w_size-lt&&(Ct(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Ke?(Ct(e,!0),0===e.strm.avail_out?3:4):(e.strstart>e.block_start&&(Ct(e,!1),e.strm.avail_out),1)})),new yt(4,4,8,4,Tt),new yt(4,5,16,8,Tt),new yt(4,6,32,32,Tt),new yt(4,4,16,16,Ot),new yt(8,16,32,32,Ot),new yt(8,16,128,128,Ot),new yt(8,32,128,256,Ot),new yt(32,128,258,1024,Ot),new yt(32,258,258,4096,Ot)];function _t(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=ut,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),ht(this.dyn_ltree),ht(this.dyn_dtree),ht(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),ht(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),ht(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var Nt=function(e){if(!e||!e.state)return dt(e,$e);e.total_in=e.total_out=0,e.data_type=vt;var t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?42:gt,e.adler=2===t.wrap?0:1,t.last_flush=We,Ve(t),Ye},bt=function(e){var t,n=Nt(e);return n===Ye&&((t=e.state).window_size=2*t.w_size,ht(t.head),t.max_lazy_match=Rt[t.level].max_lazy,t.good_match=Rt[t.level].good_length,t.nice_match=Rt[t.level].nice_length,t.max_chain_length=Rt[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0),n},Lt=function(e,t,n,r,a,i){if(!e)return $e;var o=1;if(t===nt&&(t=6),r<0?(o=0,r=-r):r>15&&(o=2,r-=16),a<1||a>9||n!==ut||r<8||r>15||t<0||t>9||i<0||i>ot)return dt(e,$e);8===r&&(r=9);var s=new _t;return e.state=s,s.strm=e,s.wrap=o,s.gzhead=null,s.w_bits=r,s.w_size=1<=r.w_size){0===a&&(ht(r.head),r.strstart=0,r.block_start=0,r.insert=0);var i=new Uint8Array(r.w_size);i.set(t.subarray(n-r.w_size,n),0),t=i,n=r.w_size}var o=e.avail_in,s=e.next_in,v=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,Pt(r);r.lookahead>=3;){var u=r.strstart,c=r.lookahead-2;do{r.ins_h=pt(r,r.ins_h,r.window[u+3-1]),r.prev[u&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=u,u++}while(--c);r.strstart=u,r.lookahead=2,Pt(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,e.next_in=s,e.input=v,e.avail_in=o,r.wrap=a,Ye},xt={deflateInit:function(e,t){return Lt(e,t,ut,15,8,st)},deflateInit2:Lt,deflateReset:bt,deflateResetKeep:Nt,deflateSetHeader:function(e,t){return e&&e.state?2!==e.state.wrap?$e:(e.state.gzhead=t,Ye):$e},deflate:function(e,t){var n,r;if(!e||!e.state||t>Xe||t<0)return e?dt(e,$e):$e;var a=e.state;if(!e.output||!e.input&&0!==e.avail_in||a.status===St&&t!==Ke)return dt(e,0===e.avail_out?tt:$e);a.strm=e;var i=a.last_flush;if(a.last_flush=t,42===a.status)if(2===a.wrap)e.adler=0,Dt(a,31),Dt(a,139),Dt(a,8),a.gzhead?(Dt(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),Dt(a,255&a.gzhead.time),Dt(a,a.gzhead.time>>8&255),Dt(a,a.gzhead.time>>16&255),Dt(a,a.gzhead.time>>24&255),Dt(a,9===a.level?2:a.strategy>=at||a.level<2?4:0),Dt(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(Dt(a,255&a.gzhead.extra.length),Dt(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(e.adler=ke(e.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=69):(Dt(a,0),Dt(a,0),Dt(a,0),Dt(a,0),Dt(a,0),Dt(a,9===a.level?2:a.strategy>=at||a.level<2?4:0),Dt(a,3),a.status=gt);else{var o=ut+(a.w_bits-8<<4)<<8;o|=(a.strategy>=at||a.level<2?0:a.level<6?1:6===a.level?2:3)<<6,0!==a.strstart&&(o|=32),o+=31-o%31,a.status=gt,Et(a,o),0!==a.strstart&&(Et(a,e.adler>>>16),Et(a,65535&e.adler)),e.adler=1}if(69===a.status)if(a.gzhead.extra){for(n=a.pending;a.gzindex<(65535&a.gzhead.extra.length)&&(a.pending!==a.pending_buf_size||(a.gzhead.hcrc&&a.pending>n&&(e.adler=ke(e.adler,a.pending_buf,a.pending-n,n)),It(e),n=a.pending,a.pending!==a.pending_buf_size));)Dt(a,255&a.gzhead.extra[a.gzindex]),a.gzindex++;a.gzhead.hcrc&&a.pending>n&&(e.adler=ke(e.adler,a.pending_buf,a.pending-n,n)),a.gzindex===a.gzhead.extra.length&&(a.gzindex=0,a.status=73)}else a.status=73;if(73===a.status)if(a.gzhead.name){n=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>n&&(e.adler=ke(e.adler,a.pending_buf,a.pending-n,n)),It(e),n=a.pending,a.pending===a.pending_buf_size)){r=1;break}r=a.gzindexn&&(e.adler=ke(e.adler,a.pending_buf,a.pending-n,n)),0===r&&(a.gzindex=0,a.status=91)}else a.status=91;if(91===a.status)if(a.gzhead.comment){n=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>n&&(e.adler=ke(e.adler,a.pending_buf,a.pending-n,n)),It(e),n=a.pending,a.pending===a.pending_buf_size)){r=1;break}r=a.gzindexn&&(e.adler=ke(e.adler,a.pending_buf,a.pending-n,n)),0===r&&(a.status=mt)}else a.status=mt;if(a.status===mt&&(a.gzhead.hcrc?(a.pending+2>a.pending_buf_size&&It(e),a.pending+2<=a.pending_buf_size&&(Dt(a,255&e.adler),Dt(a,e.adler>>8&255),e.adler=0,a.status=gt)):a.status=gt),0!==a.pending){if(It(e),0===e.avail_out)return a.last_flush=-1,Ye}else if(0===e.avail_in&&ft(t)<=ft(i)&&t!==Ke)return dt(e,tt);if(a.status===St&&0!==e.avail_in)return dt(e,tt);if(0!==e.avail_in||0!==a.lookahead||t!==We&&a.status!==St){var s=a.strategy===at?function(e,t){for(var n;;){if(0===e.lookahead&&(Pt(e),0===e.lookahead)){if(t===We)return 1;break}if(e.match_length=0,n=He(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(Ct(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Ke?(Ct(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(Ct(e,!1),0===e.strm.avail_out)?1:2}(a,t):a.strategy===it?function(e,t){for(var n,r,a,i,o=e.window;;){if(e.lookahead<=ct){if(Pt(e),e.lookahead<=ct&&t===We)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(r=o[a=e.strstart-1])===o[++a]&&r===o[++a]&&r===o[++a]){i=e.strstart+ct;do{}while(r===o[++a]&&r===o[++a]&&r===o[++a]&&r===o[++a]&&r===o[++a]&&r===o[++a]&&r===o[++a]&&r===o[++a]&&ae.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(n=He(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=He(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(Ct(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Ke?(Ct(e,!0),0===e.strm.avail_out?3:4):e.last_lit&&(Ct(e,!1),0===e.strm.avail_out)?1:2}(a,t):Rt[a.level].func(a,t);if(3!==s&&4!==s||(a.status=St),1===s||3===s)return 0===e.avail_out&&(a.last_flush=-1),Ye;if(2===s&&(t===Ze?je(a):t!==Xe&&(Be(a,0,0,!1),t===ze&&(ht(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),It(e),0===e.avail_out))return a.last_flush=-1,Ye}return t!==Ke?Ye:a.wrap<=0?Je:(2===a.wrap?(Dt(a,255&e.adler),Dt(a,e.adler>>8&255),Dt(a,e.adler>>16&255),Dt(a,e.adler>>24&255),Dt(a,255&e.total_in),Dt(a,e.total_in>>8&255),Dt(a,e.total_in>>16&255),Dt(a,e.total_in>>24&255)):(Et(a,e.adler>>>16),Et(a,65535&e.adler)),It(e),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?Ye:Je)},deflateEnd:function(e){if(!e||!e.state)return $e;var t=e.state.status;return 42!==t&&69!==t&&73!==t&&91!==t&&t!==mt&&t!==gt&&t!==St?dt(e,$e):(e.state=null,t===gt?dt(e,et):Ye)},deflateSetDictionary:wt,deflateInfo:"pako deflate (from Nodeca project)"},Ft=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},Ut=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if("object"!==typeof n)throw new TypeError(n+"must be non-object");for(var r in n)Ft(n,r)&&(e[r]=n[r])}}return e},kt=function(e){for(var t=0,n=0,r=e.length;n=252?6:Vt>=248?5:Vt>=240?4:Vt>=224?3:Vt>=192?2:1;qt[254]=qt[254]=1;var Bt=function(e){if("function"===typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);var t,n,r,a,i,o=e.length,s=0;for(a=0;a>>6,t[i++]=128|63&n):n<65536?(t[i++]=224|n>>>12,t[i++]=128|n>>>6&63,t[i++]=128|63&n):(t[i++]=240|n>>>18,t[i++]=128|n>>>12&63,t[i++]=128|n>>>6&63,t[i++]=128|63&n);return t},Qt=function(e,t){var n,r,a=t||e.length;if("function"===typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,t));var i=new Array(2*a);for(r=0,n=0;n4)i[r++]=65533,n+=s-1;else{for(o&=2===s?31:3===s?15:7;s>1&&n1?i[r++]=65533:o<65536?i[r++]=o:(o-=65536,i[r++]=55296|o>>10&1023,i[r++]=56320|1023&o)}}}return function(e,t){if(t<65534&&e.subarray&&Gt)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));for(var n="",r=0;re.length&&(t=e.length);for(var n=t-1;n>=0&&128===(192&e[n]);)n--;return n<0||0===n?t:n+qt[e[n]]>t?n:t};var jt=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},Wt=Object.prototype.toString,Zt=qe.Z_NO_FLUSH,zt=qe.Z_SYNC_FLUSH,Kt=qe.Z_FULL_FLUSH,Xt=qe.Z_FINISH,Yt=qe.Z_OK,Jt=qe.Z_STREAM_END,$t=qe.Z_DEFAULT_COMPRESSION,en=qe.Z_DEFAULT_STRATEGY,tn=qe.Z_DEFLATED;function nn(e){this.options=Ut({level:$t,method:tn,chunkSize:16384,windowBits:15,memLevel:8,strategy:en},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new jt,this.strm.avail_out=0;var n=xt.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==Yt)throw new Error(Ge[n]);if(t.header&&xt.deflateSetHeader(this.strm,t.header),t.dictionary){var r;if(r="string"===typeof t.dictionary?Bt(t.dictionary):"[object ArrayBuffer]"===Wt.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(n=xt.deflateSetDictionary(this.strm,r))!==Yt)throw new Error(Ge[n]);this._dict_set=!0}}function rn(e,t){var n=new nn(t);if(n.push(e,!0),n.err)throw n.msg||Ge[n.err];return n.result}nn.prototype.push=function(e,t){var n,r,a=this.strm,i=this.options.chunkSize;if(this.ended)return!1;for(r=t===~~t?t:!0===t?Xt:Zt,"string"===typeof e?a.input=Bt(e):"[object ArrayBuffer]"===Wt.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;;)if(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),(r===zt||r===Kt)&&a.avail_out<=6)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else{if((n=xt.deflate(a,r))===Jt)return a.next_out>0&&this.onData(a.output.subarray(0,a.next_out)),n=xt.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===Yt;if(0!==a.avail_out){if(r>0&&a.next_out>0)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else if(0===a.avail_in)break}else this.onData(a.output)}return!0},nn.prototype.onData=function(e){this.chunks.push(e)},nn.prototype.onEnd=function(e){e===Yt&&(this.result=kt(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var an={Deflate:nn,deflate:rn,deflateRaw:function(e,t){return(t=t||{}).raw=!0,rn(e,t)},gzip:function(e,t){return(t=t||{}).gzip=!0,rn(e,t)},constants:qe},on=function(e,t){var n,r,a,i,o,s,v,u,c,l,m,g,S,d,f,h,p,I,C,D,E,M,A,P,T=e.state;n=e.next_in,A=e.input,r=n+(e.avail_in-5),a=e.next_out,P=e.output,i=a-(t-e.avail_out),o=a+(e.avail_out-257),s=T.dmax,v=T.wsize,u=T.whave,c=T.wnext,l=T.window,m=T.hold,g=T.bits,S=T.lencode,d=T.distcode,f=(1<>>=I=p>>>24,g-=I,0===(I=p>>>16&255))P[a++]=65535&p;else{if(!(16&I)){if(0===(64&I)){p=S[(65535&p)+(m&(1<>>=I,g-=I),g<15&&(m+=A[n++]<>>=I=p>>>24,g-=I,!(16&(I=p>>>16&255))){if(0===(64&I)){p=d[(65535&p)+(m&(1<s){e.msg="invalid distance too far back",T.mode=30;break e}if(m>>>=I,g-=I,D>(I=a-i)){if((I=D-I)>u&&T.sane){e.msg="invalid distance too far back",T.mode=30;break e}if(E=0,M=l,0===c){if(E+=v-I,I2;)P[a++]=M[E++],P[a++]=M[E++],P[a++]=M[E++],C-=3;C&&(P[a++]=M[E++],C>1&&(P[a++]=M[E++]))}else{E=a-D;do{P[a++]=P[E++],P[a++]=P[E++],P[a++]=P[E++],C-=3}while(C>2);C&&(P[a++]=P[E++],C>1&&(P[a++]=P[E++]))}break}}break}}while(n>3,m&=(1<<(g-=C<<3))-1,e.next_in=n,e.next_out=a,e.avail_in=n=1&&0===_[D];D--);if(E>D&&(E=D),0===D)return a[i++]=20971520,a[i++]=20971520,s.bits=1,0;for(C=1;C0&&(0===e||1!==D))return-1;for(N[1]=0,p=1;p852||2===e&&T>592)return 1;for(;;){S=p-A,o[I]g?(d=b[L+o[I]],f=y[R+o[I]]):(d=96,f=0),v=1<>A)+(u-=v)]=S<<24|d<<16|f|0}while(0!==u);for(v=1<>=1;if(0!==v?(O&=v-1,O+=v):O=0,I++,0===--_[p]){if(p===D)break;p=t[n+o[I]]}if(p>E&&(O&l)!==c){for(0===A&&(A=E),m+=C,P=1<<(M=p-A);M+A852||2===e&&T>592)return 1;a[c=O&l]=E<<24|M<<16|m-i|0}}return 0!==O&&(a[m+O]=p-A<<24|64<<16|0),s.bits=E,0},gn=qe.Z_FINISH,Sn=qe.Z_BLOCK,dn=qe.Z_TREES,fn=qe.Z_OK,hn=qe.Z_STREAM_END,pn=qe.Z_NEED_DICT,In=qe.Z_STREAM_ERROR,Cn=qe.Z_DATA_ERROR,Dn=qe.Z_MEM_ERROR,En=qe.Z_BUF_ERROR,Mn=qe.Z_DEFLATED,An=12,Pn=30,Tn=function(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)};function On(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var yn,Rn,_n=function(e){if(!e||!e.state)return In;var t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=1,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,fn},Nn=function(e){if(!e||!e.state)return In;var t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,_n(e)},bn=function(e,t){var n;if(!e||!e.state)return In;var r=e.state;return t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?In:(null!==r.window&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,Nn(e))},Ln=function(e,t){if(!e)return In;var n=new On;e.state=n,n.window=null;var r=bn(e,t);return r!==fn&&(e.state=null),r},wn=!0,xn=function(e){if(wn){yn=new Int32Array(512),Rn=new Int32Array(32);for(var t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(mn(1,e.lens,0,288,yn,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;mn(2,e.lens,0,32,Rn,0,e.work,{bits:5}),wn=!1}e.lencode=yn,e.lenbits=9,e.distcode=Rn,e.distbits=5},Fn=function(e,t,n,r){var a,i=e.state;return null===i.window&&(i.wsize=1<=i.wsize?(i.window.set(t.subarray(n-i.wsize,n),0),i.wnext=0,i.whave=i.wsize):((a=i.wsize-i.wnext)>r&&(a=r),i.window.set(t.subarray(n-r,n-r+a),i.wnext),(r-=a)?(i.window.set(t.subarray(n-r,n),0),i.wnext=r,i.whave=i.wsize):(i.wnext+=a,i.wnext===i.wsize&&(i.wnext=0),i.whave>>8&255,n.check=ke(n.check,O,2,0),u=0,c=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",n.mode=Pn;break}if((15&u)!==Mn){e.msg="unknown compression method",n.mode=Pn;break}if(c-=4,E=8+(15&(u>>>=4)),0===n.wbits)n.wbits=E;else if(E>n.wbits){e.msg="invalid window size",n.mode=Pn;break}n.dmax=1<>8&1),512&n.flags&&(O[0]=255&u,O[1]=u>>>8&255,n.check=ke(n.check,O,2,0)),u=0,c=0,n.mode=3;case 3:for(;c<32;){if(0===s)break e;s--,u+=r[i++]<>>8&255,O[2]=u>>>16&255,O[3]=u>>>24&255,n.check=ke(n.check,O,4,0)),u=0,c=0,n.mode=4;case 4:for(;c<16;){if(0===s)break e;s--,u+=r[i++]<>8),512&n.flags&&(O[0]=255&u,O[1]=u>>>8&255,n.check=ke(n.check,O,2,0)),u=0,c=0,n.mode=5;case 5:if(1024&n.flags){for(;c<16;){if(0===s)break e;s--,u+=r[i++]<>>8&255,n.check=ke(n.check,O,2,0)),u=0,c=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&((g=n.length)>s&&(g=s),g&&(n.head&&(E=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(i,i+g),E)),512&n.flags&&(n.check=ke(n.check,r,g,i)),s-=g,i+=g,n.length-=g),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===s)break e;g=0;do{E=r[i+g++],n.head&&E&&n.length<65536&&(n.head.name+=String.fromCharCode(E))}while(E&&g>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=An;break;case 10:for(;c<32;){if(0===s)break e;s--,u+=r[i++]<>>=7&c,c-=7&c,n.mode=27;break}for(;c<3;){if(0===s)break e;s--,u+=r[i++]<>>=1)){case 0:n.mode=14;break;case 1:if(xn(n),n.mode=20,t===dn){u>>>=2,c-=2;break e}break;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=Pn}u>>>=2,c-=2;break;case 14:for(u>>>=7&c,c-=7&c;c<32;){if(0===s)break e;s--,u+=r[i++]<>>16^65535)){e.msg="invalid stored block lengths",n.mode=Pn;break}if(n.length=65535&u,u=0,c=0,n.mode=15,t===dn)break e;case 15:n.mode=16;case 16:if(g=n.length){if(g>s&&(g=s),g>v&&(g=v),0===g)break e;a.set(r.subarray(i,i+g),o),s-=g,i+=g,v-=g,o+=g,n.length-=g;break}n.mode=An;break;case 17:for(;c<14;){if(0===s)break e;s--,u+=r[i++]<>>=5,c-=5,n.ndist=1+(31&u),u>>>=5,c-=5,n.ncode=4+(15&u),u>>>=4,c-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=Pn;break}n.have=0,n.mode=18;case 18:for(;n.have>>=3,c-=3}for(;n.have<19;)n.lens[y[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,A={bits:n.lenbits},M=mn(0,n.lens,0,19,n.lencode,0,n.work,A),n.lenbits=A.bits,M){e.msg="invalid code lengths set",n.mode=Pn;break}n.have=0,n.mode=19;case 19:for(;n.have>>16&255,p=65535&T,!((f=T>>>24)<=c);){if(0===s)break e;s--,u+=r[i++]<>>=f,c-=f,n.lens[n.have++]=p;else{if(16===p){for(P=f+2;c>>=f,c-=f,0===n.have){e.msg="invalid bit length repeat",n.mode=Pn;break}E=n.lens[n.have-1],g=3+(3&u),u>>>=2,c-=2}else if(17===p){for(P=f+3;c>>=f)),u>>>=3,c-=3}else{for(P=f+7;c>>=f)),u>>>=7,c-=7}if(n.have+g>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=Pn;break}for(;g--;)n.lens[n.have++]=E}}if(n.mode===Pn)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=Pn;break}if(n.lenbits=9,A={bits:n.lenbits},M=mn(1,n.lens,0,n.nlen,n.lencode,0,n.work,A),n.lenbits=A.bits,M){e.msg="invalid literal/lengths set",n.mode=Pn;break}if(n.distbits=6,n.distcode=n.distdyn,A={bits:n.distbits},M=mn(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,A),n.distbits=A.bits,M){e.msg="invalid distances set",n.mode=Pn;break}if(n.mode=20,t===dn)break e;case 20:n.mode=21;case 21:if(s>=6&&v>=258){e.next_out=o,e.avail_out=v,e.next_in=i,e.avail_in=s,n.hold=u,n.bits=c,on(e,m),o=e.next_out,a=e.output,v=e.avail_out,i=e.next_in,r=e.input,s=e.avail_in,u=n.hold,c=n.bits,n.mode===An&&(n.back=-1);break}for(n.back=0;h=(T=n.lencode[u&(1<>>16&255,p=65535&T,!((f=T>>>24)<=c);){if(0===s)break e;s--,u+=r[i++]<>I)])>>>16&255,p=65535&T,!(I+(f=T>>>24)<=c);){if(0===s)break e;s--,u+=r[i++]<>>=I,c-=I,n.back+=I}if(u>>>=f,c-=f,n.back+=f,n.length=p,0===h){n.mode=26;break}if(32&h){n.back=-1,n.mode=An;break}if(64&h){e.msg="invalid literal/length code",n.mode=Pn;break}n.extra=15&h,n.mode=22;case 22:if(n.extra){for(P=n.extra;c>>=n.extra,c-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;h=(T=n.distcode[u&(1<>>16&255,p=65535&T,!((f=T>>>24)<=c);){if(0===s)break e;s--,u+=r[i++]<>I)])>>>16&255,p=65535&T,!(I+(f=T>>>24)<=c);){if(0===s)break e;s--,u+=r[i++]<>>=I,c-=I,n.back+=I}if(u>>>=f,c-=f,n.back+=f,64&h){e.msg="invalid distance code",n.mode=Pn;break}n.offset=p,n.extra=15&h,n.mode=24;case 24:if(n.extra){for(P=n.extra;c>>=n.extra,c-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=Pn;break}n.mode=25;case 25:if(0===v)break e;if(g=m-v,n.offset>g){if((g=n.offset-g)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=Pn;break}g>n.wnext?(g-=n.wnext,S=n.wsize-g):S=n.wnext-g,g>n.length&&(g=n.length),d=n.window}else d=a,S=o-n.offset,g=n.length;g>v&&(g=v),v-=g,n.length-=g;do{a[o++]=d[S++]}while(--g);0===n.length&&(n.mode=21);break;case 26:if(0===v)break e;a[o++]=n.length,v--,n.mode=21;break;case 27:if(n.wrap){for(;c<32;){if(0===s)break e;s--,u|=r[i++]<=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0===(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new jt,this.strm.avail_out=0;var n=Gn.inflateInit2(this.strm,t.windowBits);if(n!==Hn)throw new Error(Ge[n]);if(this.header=new qn,Gn.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"===typeof t.dictionary?t.dictionary=Bt(t.dictionary):"[object ArrayBuffer]"===Vn.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=Gn.inflateSetDictionary(this.strm,t.dictionary))!==Hn))throw new Error(Ge[n])}function Yn(e,t){var n=new Xn(t);if(n.push(e),n.err)throw n.msg||Ge[n.err];return n.result}Xn.prototype.push=function(e,t){var n,r,a,i=this.strm,o=this.options.chunkSize,s=this.options.dictionary;if(this.ended)return!1;for(r=t===~~t?t:!0===t?Qn:Bn,"[object ArrayBuffer]"===Vn.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;;){for(0===i.avail_out&&(i.output=new Uint8Array(o),i.next_out=0,i.avail_out=o),(n=Gn.inflate(i,r))===Wn&&s&&((n=Gn.inflateSetDictionary(i,s))===Hn?n=Gn.inflate(i,r):n===zn&&(n=Wn));i.avail_in>0&&n===jn&&i.state.wrap>0&&0!==e[i.next_in];)Gn.inflateReset(i),n=Gn.inflate(i,r);switch(n){case Zn:case zn:case Wn:case Kn:return this.onEnd(n),this.ended=!0,!1}if(a=i.avail_out,i.next_out&&(0===i.avail_out||n===jn))if("string"===this.options.to){var v=Ht(i.output,i.next_out),u=i.next_out-v,c=Qt(i.output,v);i.next_out=u,i.avail_out=o-u,u&&i.output.set(i.output.subarray(v,v+u),0),this.onData(c)}else this.onData(i.output.length===i.next_out?i.output:i.output.subarray(0,i.next_out));if(n!==Hn||0!==a){if(n===jn)return n=Gn.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,!0;if(0===i.avail_in)break}}return!0},Xn.prototype.onData=function(e){this.chunks.push(e)},Xn.prototype.onEnd=function(e){e===Hn&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=kt(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var Jn={Inflate:Xn,inflate:Yn,inflateRaw:function(e,t){return(t=t||{}).raw=!0,Yn(e,t)},ungzip:Yn,constants:qe},$n={Deflate:an.Deflate,deflate:an.deflate,deflateRaw:an.deflateRaw,gzip:an.gzip,Inflate:Jn.Inflate,inflate:Jn.inflate,inflateRaw:Jn.inflateRaw,ungzip:Jn.ungzip,constants:qe};function er(e){if(isNaN(e))throw new Error("Not a number: "+e);return"string"==typeof e?parseInt(e):e}function tr(e){return"string"==typeof e?parseFloat(e):e}var nr=function(){function e(t,n){b(this,e),this.buffer="number"==typeof t?new ArrayBuffer(t):t,this.buffer||(this.buffer=new ArrayBuffer(0)),this.view=new DataView(this.buffer),this.offset=0,this.isLittleEndian=n||!1,this.size=0,this.encoder=new TextEncoder("utf-8")}return w(e,[{key:"setEndian",value:function(e){this.isLittleEndian=e}},{key:"writeUint8",value:function(e){return this.checkSize(1),this.view.setUint8(this.offset,er(e)),this.increment(1)}},{key:"writeUint8Repeat",value:function(e,t){var n=er(e);this.checkSize(t);for(var r=0;r>16,n=65535&e;return this.view.setUint16(this.offset,er(t),this.isLittleEndian),this.view.setUint16(this.offset+2,er(n),this.isLittleEndian),this.increment(4)}},{key:"writeInt16",value:function(e){return this.checkSize(2),this.view.setInt16(this.offset,er(e),this.isLittleEndian),this.increment(2)}},{key:"writeUint32",value:function(e){return this.checkSize(4),this.view.setUint32(this.offset,er(e),this.isLittleEndian),this.increment(4)}},{key:"writeInt32",value:function(e){return this.checkSize(4),this.view.setInt32(this.offset,er(e),this.isLittleEndian),this.increment(4)}},{key:"writeFloat",value:function(e){return this.checkSize(4),this.view.setFloat32(this.offset,tr(e),this.isLittleEndian),this.increment(4)}},{key:"writeDouble",value:function(e){return this.checkSize(8),this.view.setFloat64(this.offset,tr(e),this.isLittleEndian),this.increment(8)}},{key:"writeUTF8String",value:function(e){var t=this.encoder.encode(e);return this.checkSize(t.byteLength),new Uint8Array(this.buffer).set(t,this.offset),this.increment(t.byteLength)}},{key:"writeAsciiString",value:function(e){var t=(e=e||"").length;this.checkSize(t);for(var n=this.offset,r=0;r=this.buffer.byteLength&&(r=this.buffer.byteLength);for(var a=n;a=this.buffer.byteLength&&(e=this.buffer.byteLength-this.offset);var t=new DataView(this.buffer,this.offset,e),n=this.decoder.decode(t);return this.increment(e),n}},{key:"readHex",value:function(e){for(var t="",n=0;nthis.buffer.byteLength){var t=this.offset+e+this.buffer.byteLength,n=new ArrayBuffer(t);new Uint8Array(n).set(new Uint8Array(this.buffer)),this.buffer=n,this.view=new DataView(this.buffer)}}},{key:"concat",value:function(e){var t=this.buffer.byteLength-this.offset;if(e.size>t){var n=new ArrayBuffer(this.offset+e.size),r=new Uint8Array(n);r.set(new Uint8Array(this.getBuffer(0,this.offset))),r.set(new Uint8Array(e.getBuffer(0,e.size)),this.offset),this.buffer=n,this.view=new DataView(this.buffer)}else{new Uint8Array(this.buffer).set(new Uint8Array(e.getBuffer(0,e.size)),this.offset)}return this.offset+=e.size,this.size=this.offset,this.buffer.byteLength}},{key:"increment",value:function(e){return this.offset+=e,this.offset>this.size&&(this.size=this.offset),e}},{key:"getBuffer",value:function(e,t){return e||t||(e=0,t=this.size),this.buffer.slice(e,t)}},{key:"more",value:function(e){if(this.offset+e>this.endOffset)throw new Error("Request more than currently allocated buffer");var t=new rr(this.buffer,null,{start:this.offset,stop:this.offset+e});return this.increment(e),t}},{key:"reset",value:function(){return this.offset=0,this}},{key:"end",value:function(){return this.offset>=this.buffer.byteLength}},{key:"toEnd",value:function(){this.offset=this.buffer.byteLength}}]),e}(),rr=function(e){F(n,e);var t=Q(n);function n(e,r){var a,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{start:null,stop:null,noCopy:!1};return b(this,n),(a=t.call(this,e,r)).offset=i.start||0,a.size=i.stop||a.buffer.byteLength,a.noCopy=i.noCopy,a.startOffset=a.offset,a.endOffset=a.size,a.decoder=new TextDecoder("latin1"),a}return w(n,[{key:"setDecoder",value:function(e){this.decoder=e}},{key:"getBuffer",value:function(e,t){return this.noCopy?new Uint8Array(this.buffer,e,t-e):(e||t||(e=0,t=this.size),this.buffer.slice(e,t))}},{key:"reset",value:function(){return this.offset=this.startOffset,this}},{key:"end",value:function(){return this.offset>=this.endOffset}},{key:"toEnd",value:function(){this.offset=this.endOffset}},{key:"writeUint8",value:function(e){throw new Error(e,"writeUint8 not implemented")}},{key:"writeUint8Repeat",value:function(e,t){throw new Error(e,"writeUint8Repeat not implemented")}},{key:"writeInt8",value:function(e){throw new Error(e,"writeInt8 not implemented")}},{key:"writeUint16",value:function(e){throw new Error(e,"writeUint16 not implemented")}},{key:"writeTwoUint16s",value:function(e){throw new Error(e,"writeTwoUint16s not implemented")}},{key:"writeInt16",value:function(e){throw new Error(e,"writeInt16 not implemented")}},{key:"writeUint32",value:function(e){throw new Error(e,"writeUint32 not implemented")}},{key:"writeInt32",value:function(e){throw new Error(e,"writeInt32 not implemented")}},{key:"writeFloat",value:function(e){throw new Error(e,"writeFloat not implemented")}},{key:"writeDouble",value:function(e){throw new Error(e,"writeDouble not implemented")}},{key:"writeAsciiString",value:function(e){throw new Error(e,"writeAsciiString not implemented")}},{key:"writeUTF8String",value:function(e){throw new Error(e,"writeUTF8String not implemented")}},{key:"checkSize",value:function(e){throw new Error(e,"checkSize not implemented")}},{key:"concat",value:function(e){throw new Error(e,"concat not implemented")}}]),n}(nr),ar=function(e){F(n,e);var t=Q(n);function n(e,r){b(this,n);var a=$n.inflateRaw(e.getBuffer(e.offset,e.size));return t.call(this,a.buffer,e.littleEndian,r)}return w(n)}(rr),ir=function(e){F(n,e);var t=Q(n);function n(e,r){var a;return b(this,n),(a=t.call(this,e,r)).size=0,a}return w(n)}(nr),or="1.2.840.10008.1.2",sr="1.2.840.10008.1.2.1",vr="1.2.840.10008.1.2.1.99",ur={get:function(e,t){return"__isProxy"==t||(t in e?e[t]:e[0][t])},set:function(e,t,n){return"number"===typeof t||t in e?e[t]=n:e[0][t]=n,!0}},cr=function(e,t){if(e.__isProxy)return e;var n=t;if(void 0===n){if("object"!==N(e))return e;if(Array.isArray(e)&&1!==e.length)return e;n=Array.isArray(e)?e[0]:e}return new Proxy([n],ur)};function lr(e,t){return String(e+t).slice(-e.length)}var mr=function(){function e(t){b(this,e),this.value=t}return w(e,[{key:"toString",value:function(){return"("+lr("0000",this.group().toString(16).toUpperCase())+","+lr("0000",this.element().toString(16).toUpperCase())+")"}},{key:"toCleanString",value:function(){return lr("0000",this.group().toString(16).toUpperCase())+lr("0000",this.element().toString(16).toUpperCase())}},{key:"is",value:function(e){return this.value==e}},{key:"group",value:function(){return this.value>>>16}},{key:"element",value:function(){return 65535&this.value}},{key:"isPixelDataTag",value:function(){return this.is(2145386512)}},{key:"isPrivateCreator",value:function(){var e=this.group(),t=this.element();return e%2===1&&t<256&&t>0}},{key:"write",value:function(e,t,n,r,a){var i=hr.createByTypeString(t),o=na._normalizeSyntax(r),s=o==or,v=o==or||o==sr,u=this.isPixelDataTag()&&na.isEncapsulated(r),c=e.isLittleEndian;e.setEndian(v),e.writeUint16(this.group()),e.writeUint16(this.element());var l,m=new ir(256);m.setEndian(v),l="OW"==t||"OB"==t||"UN"==t?i.writeBytes(m,n,o,u,a):"SQ"==t?i.writeBytes(m,n,o,a):i.writeBytes(m,n,a),"SQ"==t&&(l=4294967295);var g=m.size+4;return s?(e.writeUint32(l),g+=4):i.isExplicit()?(e.writeAsciiString(i.type),e.writeUint16(0),e.writeUint32(l),g+=8):(e.writeAsciiString(i.type),e.writeUint16(l),g+=4),e.concat(m),e.setEndian(c),g}}],[{key:"fromString",value:function(t){var n=parseInt(t.substring(0,4),16),r=parseInt(t.substring(4),16);return e.fromNumbers(n,r)}},{key:"fromPString",value:function(t){var n=parseInt(t.substring(1,5),16),r=parseInt(t.substring(6,10),16);return e.fromNumbers(n,r)}},{key:"fromNumbers",value:function(t,n){return new e((t<<16|n)>>>0)}},{key:"readTag",value:function(t){var n=t.readUint16(),r=t.readUint16();return e.fromNumbers(n,r)}}]),e}();function gr(e){return e.replace(/\s*$/g,"")}var Sr=["FL","FD","SL","SS","UL","US","AT"],dr=["OB","OW","OF","SQ","UC","UR","UT","UN"],fr=["SQ","OF","OW","OB","UN"],hr=function(){function e(t){b(this,e),this.type=t,this.multi=!1,this._isBinary=-1!=Sr.indexOf(this.type),this._allowMultiple=!this._isBinary&&-1==fr.indexOf(this.type),this._isExplicit=-1!=dr.indexOf(this.type)}return w(e,[{key:"isBinary",value:function(){return this._isBinary}},{key:"allowMultiple",value:function(){return this._allowMultiple}},{key:"isExplicit",value:function(){return this._isExplicit}},{key:"read",value:function(e,t,n){if(this.fixed&&this.maxLength){if(!t)return this.defaultValue;this.maxLength!=t&&P.error("Invalid length for fixed length tag, vr "+this.type+", length "+this.maxLength+" != "+t)}return this.readBytes(e,t,n)}},{key:"readBytes",value:function(e,t){return e.readAsciiString(t)}},{key:"readNullPaddedString",value:function(e,t){if(!t)return"";if(0!==e.peekUint8(t-1))return e.readAsciiString(t);var n=e.readAsciiString(t-1);return e.increment(1),n}},{key:"write",value:function(e,t){var n=Array.from(arguments);if(null===n[2]||""===n[2]||void 0===n[2])return[e.writeAsciiString("")];var r=[],a=n.slice(2),i=e["write"+t];if(Array.isArray(a[0]))if(a[0].length<1)r.push(0);else{var o=this;a[0].forEach((function(t,n){o.allowMultiple()&&n>0&&e.writeUint8(92);var s=[t].concat(a.slice(1)),v=i.apply(e,s);r.push(v)}))}else r.push(i.apply(e,a));return r}},{key:"writeBytes",value:function(e,t,n){for(var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{allowInvalidVRLength:!1},a=r.allowInvalidVRLength,i=!0,o=Array.isArray(t)?t:[t],s=0,v=0;v4&&void 0!==arguments[4]?arguments[4]:{},v=s.fragmentMultiframe,u=void 0===v||v;if(t=null===t||void 0===t?[]:t,a){var c=20480,l=t.length,m=[],g=0;for(i=0;i0){a=r/4;for(var o=0;o++0)(i=i.map((function(t){return t+e.offset}))).push(e.size),n=(c=i,l=2,Array.from({length:c.length-(l-1)},(function(e,t){return c.slice(t,t+l)}))).map((function(t){for(var n=[],r=W(t,2),a=r[0],i=r[1],o=new rr(e.buffer,e.isLittleEndian,{start:a,stop:i,noCopy:e.noCopy}),v=0;!o.end();){var u=s(o);if(null===u)break;n.push(u),v+=u.byteLength}if(e.offset=o.offset,1===n.length)return n[0];if(o.noCopy)return n;var c=new ArrayBuffer(v),l=new Uint8Array(c);return n.reduce((function(e,t){return l.set(new Uint8Array(t),e),e+t.byteLength}),0),c}));else for(;!e.end();){var v=s(e);if(null===v)break;n.push(v)}return n}var u,c,l;return u=e.getBuffer(e.offset,e.offset+t),e.increment(t),[u]}}]),n}(hr),Dr=function(e){F(n,e);var t=Q(n);function n(){var e;return b(this,n),(e=t.call(this,"AE")).maxLength=16,e.padByte=32,e}return w(n,[{key:"readBytes",value:function(e,t){return e.readAsciiString(t).trim()}}]),n}(pr),Er=function(e){F(n,e);var t=Q(n);function n(){var e;return b(this,n),(e=t.call(this,"CS")).maxLength=16,e.padByte=32,e}return w(n,[{key:"readBytes",value:function(e,t){return e.readAsciiString(t).trim()}}]),n}(pr),Mr=function(e){F(n,e);var t=Q(n);function n(){var e;return b(this,n),(e=t.call(this,"AS")).maxLength=4,e.padByte=32,e.fixed=!0,e.defaultValue="",e}return w(n)}(pr),Ar=function(e){F(n,e);var t=Q(n);function n(){var e;return b(this,n),(e=t.call(this,"AT")).maxLength=4,e.valueLength=4,e.padByte=0,e.fixed=!0,e}return w(n,[{key:"readBytes",value:function(e){return mr.readTag(e).value}},{key:"writeBytes",value:function(e,t,r){return j(U(n.prototype),"writeBytes",this).call(this,e,t,j(U(n.prototype),"write",this).call(this,e,"TwoUint16s",t),r)}}]),n}(hr),Pr=function(e){F(n,e);var t=Q(n);function n(e){var r;return b(this,n),(r=t.call(this,"DA",e)).maxLength=18,r.padByte=32,r.defaultValue="",r}return w(n)}(pr),Tr=function(e){F(n,e);var t=Q(n);function n(){var e;return b(this,n),(e=t.call(this,"DS")).maxLength=16,e.padByte=32,e}return w(n,[{key:"readBytes",value:function(e,t){var n=String.fromCharCode(92),r=e.readAsciiString(t);if(-1!==(r=r.replace(/[^0-9.\\\-+e]/gi,"")).indexOf(n)){var a=r.split(n);r=a.map((function(e){return""===e?null:Number(e)}))}else r=[""===r?null:Number(r)];return r}},{key:"formatValue",value:function(e){if(null===e)return"";var t=String(e);return t.length>this.maxLength?e.toExponential():t}},{key:"writeBytes",value:function(e,t,r){var a=this,i=Array.isArray(t)?t.map((function(e){return a.formatValue(e)})):[this.formatValue(t)];return j(U(n.prototype),"writeBytes",this).call(this,e,i,r)}}]),n}(pr),Or=function(e){F(n,e);var t=Q(n);function n(){var e;return b(this,n),(e=t.call(this,"DT")).maxLength=26,e.padByte=32,e}return w(n)}(pr),yr=function(e){F(n,e);var t=Q(n);function n(){var e;return b(this,n),(e=t.call(this,"FL")).maxLength=4,e.padByte=0,e.fixed=!0,e.defaultValue=0,e}return w(n,[{key:"readBytes",value:function(e){return Number(e.readFloat())}},{key:"writeBytes",value:function(e,t,r){return j(U(n.prototype),"writeBytes",this).call(this,e,t,j(U(n.prototype),"write",this).call(this,e,"Float",t),r)}}]),n}(hr),Rr=function(e){F(n,e);var t=Q(n);function n(){var e;return b(this,n),(e=t.call(this,"FD")).maxLength=8,e.padByte=0,e.fixed=!0,e.defaultValue=0,e}return w(n,[{key:"readBytes",value:function(e){return Number(e.readDouble())}},{key:"writeBytes",value:function(e,t,r){return j(U(n.prototype),"writeBytes",this).call(this,e,t,j(U(n.prototype),"write",this).call(this,e,"Double",t),r)}}]),n}(hr),_r=function(e){F(n,e);var t=Q(n);function n(){var e;return b(this,n),(e=t.call(this,"IS")).maxLength=12,e.padByte=32,e}return w(n,[{key:"readBytes",value:function(e,t){var n=String.fromCharCode(92),r=e.readAsciiString(t).trim();if(-1!==(r=r.replace(/[^0-9.\\\-+e]/gi,"")).indexOf(n)){var a=r.split(n);r=a.map((function(e){return""===e?null:Number(e)}))}else r=[""===r?null:Number(r)];return r}},{key:"formatValue",value:function(e){return null===e?"":String(e)}},{key:"writeBytes",value:function(e,t,r){var a=this,i=Array.isArray(t)?t.map((function(e){return a.formatValue(e)})):[this.formatValue(t)];return j(U(n.prototype),"writeBytes",this).call(this,e,i,r)}}]),n}(pr),Nr=function(e){F(n,e);var t=Q(n);function n(){var e;return b(this,n),(e=t.call(this,"LO")).maxCharLength=64,e.padByte=32,e}return w(n,[{key:"readBytes",value:function(e,t){return e.readEncodedString(t).trim()}}]),n}(Ir),br=function(e){F(n,e);var t=Q(n);function n(){var e;return b(this,n),(e=t.call(this,"LT")).maxCharLength=10240,e.padByte=32,e}return w(n,[{key:"readBytes",value:function(e,t){return gr(e.readEncodedString(t))}}]),n}(Ir),Lr=function(e){F(n,e);var t=Q(n);function n(){var e;return b(this,n),(e=t.call(this,"PN")).maxLength=null,e.padByte=32,e}return w(n,[{key:"checkLength",value:function(e){var t=[];for(var n in"object"===N(e)&&null!==e?t=Object.keys(e).forEach((function(t){return e[t]})):("string"===typeof e||e instanceof String)&&(t=e.split(/\=/)),t){if(t[n].length>64)return!1}return!0}},{key:"readBytes",value:function(e,t){return gr(e.readEncodedString(t))}}]),n}(Ir),wr=function(e){F(n,e);var t=Q(n);function n(){var e;return b(this,n),(e=t.call(this,"SH")).maxCharLength=16,e.padByte=32,e}return w(n,[{key:"readBytes",value:function(e,t){return e.readEncodedString(t).trim()}}]),n}(Ir),xr=function(e){F(n,e);var t=Q(n);function n(){var e;return b(this,n),(e=t.call(this,"SL")).maxLength=4,e.padByte=0,e.fixed=!0,e.defaultValue=0,e}return w(n,[{key:"readBytes",value:function(e){return e.readInt32()}},{key:"writeBytes",value:function(e,t,r){return j(U(n.prototype),"writeBytes",this).call(this,e,t,j(U(n.prototype),"write",this).call(this,e,"Int32",t),r)}}]),n}(hr),Fr=function(e){F(n,e);var t=Q(n);function n(){var e;return b(this,n),(e=t.call(this,"SQ")).maxLength=null,e.padByte=0,e.noMultiple=!0,e}return w(n,[{key:"readBytes",value:function(e,t,n){if(0==t)return[];for(var r=4294967295==t,a=[],i=0;;){var o=mr.readTag(e),s=null;if(i+=4,o.is(4294893789)){e.readUint32();break}if(!r&&i==t)break;if(o.is(4294893568)){i+=4;var v=null,u=0,c=4294967295==(s=e.readUint32());if(c)for(var l=0;;){if(65534==e.readUint16()){var m=e.readUint16(),g=e.readUint32();if(e.increment(-4),57357==m)if(0===g){if(--l<0){e.increment(4),i+=8;break}u+=4}else u+=2;else 57344==m?(u+=4,4294967295==g&&l++):(u+=2,e.increment(-2))}else u+=2}else u=s;if(u){e.increment(c?-u-8:0),v=e.more(u),i+=u,c&&e.increment(8);var S=na._read(v,n);a.push(S)}if(!r&&i==t)break}}return a}},{key:"writeBytes",value:function(e,t,r,a){var i=0;if(t)for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:e.nameMap,r={};return Object.keys(t).forEach((function(a){var i=a,o=n[i];if(o){var s=t[a];if(void 0===s)return;var v={vr:o.vr,Value:t[a]};if(null!==s){if("ox"==o.vr&&(t._vrMap&&t._vrMap[a]?v.vr=t._vrMap[a]:P.error("No value representation given for",a)),v.Value=e.denaturalizeValue(v.Value),"SQ"==o.vr){for(var u=[],c=0;cm.maxLength?(P.warn("Truncating value ".concat(e," of ").concat(a," because it is longer than ").concat(m.maxLength)),e.slice(0,m.maxLength)):e})))}var g=e.unpunctuateTag(o.tag);r[g]=v}else{-1==["_vrMap","_meta"].indexOf(i)&&P.warn("Unknown name in dataset",i,":",t[i])}})),r}},{key:"uid",value:function(){for(var e="2.25."+Math.floor(1+9*Math.random()),t=0;t<38;t++)e+=Math.floor(10*Math.random());return e}},{key:"date",value:function(){return(new Date).toISOString().replace(/-/g,"").slice(0,8)}},{key:"time",value:function(){return(new Date).toISOString().replace(/:/g,"").slice(11,17)}},{key:"dateTime",value:function(){return(new Date).toISOString().replace(/[:\-TZ]/g,"")}},{key:"_generateNameMap",value:function(){e.nameMap={},Object.keys(e.dictionary).forEach((function(t){var n=e.dictionary[t];"PrivateTag"!=n.version&&(e.nameMap[n.name]=n)}))}},{key:"_generateCustomNameMap",value:function(e){var t={};return Object.keys(e).forEach((function(n){var r=e[n];"PrivateTag"!=r.version&&(t[r.name]=r)})),t}},{key:"_generateUIDMap",value:function(){e.sopClassUIDsByName={},Object.keys(e.sopClassNamesByUID).forEach((function(t){var n=e.sopClassNamesByUID[t];e.sopClassUIDsByName[n]=t}))}}]),e}();Jr.sopClassNamesByUID={"1.2.840.10008.5.1.4.1.1.2":"CTImage","1.2.840.10008.5.1.4.1.1.2.1":"EnhancedCTImage","1.2.840.10008.5.1.4.1.1.2.2":"LegacyConvertedEnhancedCTImage","1.2.840.10008.5.1.4.1.1.3.1":"USMultiframeImage","1.2.840.10008.5.1.4.1.1.4":"MRImage","1.2.840.10008.5.1.4.1.1.4.1":"EnhancedMRImage","1.2.840.10008.5.1.4.1.1.4.2":"MRSpectroscopy","1.2.840.10008.5.1.4.1.1.4.3":"EnhancedMRColorImage","1.2.840.10008.5.1.4.1.1.4.4":"LegacyConvertedEnhancedMRImage","1.2.840.10008.5.1.4.1.1.6.1":"USImage","1.2.840.10008.5.1.4.1.1.6.2":"EnhancedUSVolume","1.2.840.10008.5.1.4.1.1.7":"SecondaryCaptureImage","1.2.840.10008.5.1.4.1.1.30":"ParametricMapStorage","1.2.840.10008.5.1.4.1.1.66":"RawData","1.2.840.10008.5.1.4.1.1.66.1":"SpatialRegistration","1.2.840.10008.5.1.4.1.1.66.2":"SpatialFiducials","1.2.840.10008.5.1.4.1.1.66.3":"DeformableSpatialRegistration","1.2.840.10008.5.1.4.1.1.66.4":"Segmentation","1.2.840.10008.5.1.4.1.1.67":"RealWorldValueMapping","1.2.840.10008.5.1.4.1.1.88.11":"BasicTextSR","1.2.840.10008.5.1.4.1.1.88.22":"EnhancedSR","1.2.840.10008.5.1.4.1.1.88.33":"ComprehensiveSR","1.2.840.10008.5.1.4.1.1.128":"PETImage","1.2.840.10008.5.1.4.1.1.130":"EnhancedPETImage","1.2.840.10008.5.1.4.1.1.128.1":"LegacyConvertedEnhancedPETImage"},Jr.dictionary={"(0000,0000)":{tag:"(0000,0000)",vr:"UL",name:"CommandGroupLength",vm:"1",version:"DICOM"},"(0000,0002)":{tag:"(0000,0002)",vr:"UI",name:"AffectedSOPClassUID",vm:"1",version:"DICOM"},"(0000,0003)":{tag:"(0000,0003)",vr:"UI",name:"RequestedSOPClassUID",vm:"1",version:"DICOM"},"(0000,0100)":{tag:"(0000,0100)",vr:"US",name:"CommandField",vm:"1",version:"DICOM"},"(0000,0110)":{tag:"(0000,0110)",vr:"US",name:"MessageID",vm:"1",version:"DICOM"},"(0000,0120)":{tag:"(0000,0120)",vr:"US",name:"MessageIDBeingRespondedTo",vm:"1",version:"DICOM"},"(0000,0600)":{tag:"(0000,0600)",vr:"AE",name:"MoveDestination",vm:"1",version:"DICOM"},"(0000,0700)":{tag:"(0000,0700)",vr:"US",name:"Priority",vm:"1",version:"DICOM"},"(0000,0800)":{tag:"(0000,0800)",vr:"US",name:"CommandDataSetType",vm:"1",version:"DICOM"},"(0000,0900)":{tag:"(0000,0900)",vr:"US",name:"Status",vm:"1",version:"DICOM"},"(0000,0901)":{tag:"(0000,0901)",vr:"AT",name:"OffendingElement",vm:"1-n",version:"DICOM"},"(0000,0902)":{tag:"(0000,0902)",vr:"LO",name:"ErrorComment",vm:"1",version:"DICOM"},"(0000,0903)":{tag:"(0000,0903)",vr:"US",name:"ErrorID",vm:"1",version:"DICOM"},"(0000,1000)":{tag:"(0000,1000)",vr:"UI",name:"AffectedSOPInstanceUID",vm:"1",version:"DICOM"},"(0000,1001)":{tag:"(0000,1001)",vr:"UI",name:"RequestedSOPInstanceUID",vm:"1",version:"DICOM"},"(0000,1002)":{tag:"(0000,1002)",vr:"US",name:"EventTypeID",vm:"1",version:"DICOM"},"(0000,1005)":{tag:"(0000,1005)",vr:"AT",name:"AttributeIdentifierList",vm:"1-n",version:"DICOM"},"(0000,1008)":{tag:"(0000,1008)",vr:"US",name:"ActionTypeID",vm:"1",version:"DICOM"},"(0000,1020)":{tag:"(0000,1020)",vr:"US",name:"NumberOfRemainingSuboperations",vm:"1",version:"DICOM"},"(0000,1021)":{tag:"(0000,1021)",vr:"US",name:"NumberOfCompletedSuboperations",vm:"1",version:"DICOM"},"(0000,1022)":{tag:"(0000,1022)",vr:"US",name:"NumberOfFailedSuboperations",vm:"1",version:"DICOM"},"(0000,1023)":{tag:"(0000,1023)",vr:"US",name:"NumberOfWarningSuboperations",vm:"1",version:"DICOM"},"(0000,1030)":{tag:"(0000,1030)",vr:"AE",name:"MoveOriginatorApplicationEntityTitle",vm:"1",version:"DICOM"},"(0000,1031)":{tag:"(0000,1031)",vr:"US",name:"MoveOriginatorMessageID",vm:"1",version:"DICOM"},"(0002,0000)":{tag:"(0002,0000)",vr:"UL",name:"FileMetaInformationGroupLength",vm:"1",version:"DICOM"},"(0002,0001)":{tag:"(0002,0001)",vr:"OB",name:"FileMetaInformationVersion",vm:"1",version:"DICOM"},"(0002,0002)":{tag:"(0002,0002)",vr:"UI",name:"MediaStorageSOPClassUID",vm:"1",version:"DICOM"},"(0002,0003)":{tag:"(0002,0003)",vr:"UI",name:"MediaStorageSOPInstanceUID",vm:"1",version:"DICOM"},"(0002,0010)":{tag:"(0002,0010)",vr:"UI",name:"TransferSyntaxUID",vm:"1",version:"DICOM"},"(0002,0012)":{tag:"(0002,0012)",vr:"UI",name:"ImplementationClassUID",vm:"1",version:"DICOM"},"(0002,0013)":{tag:"(0002,0013)",vr:"SH",name:"ImplementationVersionName",vm:"1",version:"DICOM"},"(0002,0016)":{tag:"(0002,0016)",vr:"AE",name:"SourceApplicationEntityTitle",vm:"1",version:"DICOM"},"(0002,0017)":{tag:"(0002,0017)",vr:"AE",name:"SendingApplicationEntityTitle",vm:"1",version:"DICOM"},"(0002,0018)":{tag:"(0002,0018)",vr:"AE",name:"ReceivingApplicationEntityTitle",vm:"1",version:"DICOM"},"(0002,0100)":{tag:"(0002,0100)",vr:"UI",name:"PrivateInformationCreatorUID",vm:"1",version:"DICOM"},"(0002,0102)":{tag:"(0002,0102)",vr:"OB",name:"PrivateInformation",vm:"1",version:"DICOM"},"(0004,1130)":{tag:"(0004,1130)",vr:"CS",name:"FileSetID",vm:"1",version:"DICOM"},"(0004,1141)":{tag:"(0004,1141)",vr:"CS",name:"FileSetDescriptorFileID",vm:"1-8",version:"DICOM"},"(0004,1142)":{tag:"(0004,1142)",vr:"CS",name:"SpecificCharacterSetOfFileSetDescriptorFile",vm:"1",version:"DICOM"},"(0004,1200)":{tag:"(0004,1200)",vr:"up",name:"OffsetOfTheFirstDirectoryRecordOfTheRootDirectoryEntity",vm:"1",version:"DICOM"},"(0004,1202)":{tag:"(0004,1202)",vr:"up",name:"OffsetOfTheLastDirectoryRecordOfTheRootDirectoryEntity",vm:"1",version:"DICOM"},"(0004,1212)":{tag:"(0004,1212)",vr:"US",name:"FileSetConsistencyFlag",vm:"1",version:"DICOM"},"(0004,1220)":{tag:"(0004,1220)",vr:"SQ",name:"DirectoryRecordSequence",vm:"1",version:"DICOM"},"(0004,1400)":{tag:"(0004,1400)",vr:"up",name:"OffsetOfTheNextDirectoryRecord",vm:"1",version:"DICOM"},"(0004,1410)":{tag:"(0004,1410)",vr:"US",name:"RecordInUseFlag",vm:"1",version:"DICOM"},"(0004,1420)":{tag:"(0004,1420)",vr:"up",name:"OffsetOfReferencedLowerLevelDirectoryEntity",vm:"1",version:"DICOM"},"(0004,1430)":{tag:"(0004,1430)",vr:"CS",name:"DirectoryRecordType",vm:"1",version:"DICOM"},"(0004,1432)":{tag:"(0004,1432)",vr:"UI",name:"PrivateRecordUID",vm:"1",version:"DICOM"},"(0004,1500)":{tag:"(0004,1500)",vr:"CS",name:"ReferencedFileID",vm:"1-8",version:"DICOM"},"(0004,1510)":{tag:"(0004,1510)",vr:"UI",name:"ReferencedSOPClassUIDInFile",vm:"1",version:"DICOM"},"(0004,1511)":{tag:"(0004,1511)",vr:"UI",name:"ReferencedSOPInstanceUIDInFile",vm:"1",version:"DICOM"},"(0004,1512)":{tag:"(0004,1512)",vr:"UI",name:"ReferencedTransferSyntaxUIDInFile",vm:"1",version:"DICOM"},"(0004,151A)":{tag:"(0004,151A)",vr:"UI",name:"ReferencedRelatedGeneralSOPClassUIDInFile",vm:"1-n",version:"DICOM"},"(0008,0005)":{tag:"(0008,0005)",vr:"CS",name:"SpecificCharacterSet",vm:"1-n",version:"DICOM"},"(0008,0006)":{tag:"(0008,0006)",vr:"SQ",name:"LanguageCodeSequence",vm:"1",version:"DICOM"},"(0008,0008)":{tag:"(0008,0008)",vr:"CS",name:"ImageType",vm:"2-n",version:"DICOM"},"(0008,0012)":{tag:"(0008,0012)",vr:"DA",name:"InstanceCreationDate",vm:"1",version:"DICOM"},"(0008,0013)":{tag:"(0008,0013)",vr:"TM",name:"InstanceCreationTime",vm:"1",version:"DICOM"},"(0008,0014)":{tag:"(0008,0014)",vr:"UI",name:"InstanceCreatorUID",vm:"1",version:"DICOM"},"(0008,0015)":{tag:"(0008,0015)",vr:"DT",name:"InstanceCoercionDateTime",vm:"1",version:"DICOM"},"(0008,0016)":{tag:"(0008,0016)",vr:"UI",name:"SOPClassUID",vm:"1",version:"DICOM"},"(0008,0018)":{tag:"(0008,0018)",vr:"UI",name:"SOPInstanceUID",vm:"1",version:"DICOM"},"(0008,001A)":{tag:"(0008,001A)",vr:"UI",name:"RelatedGeneralSOPClassUID",vm:"1-n",version:"DICOM"},"(0008,001B)":{tag:"(0008,001B)",vr:"UI",name:"OriginalSpecializedSOPClassUID",vm:"1",version:"DICOM"},"(0008,0020)":{tag:"(0008,0020)",vr:"DA",name:"StudyDate",vm:"1",version:"DICOM"},"(0008,0021)":{tag:"(0008,0021)",vr:"DA",name:"SeriesDate",vm:"1",version:"DICOM"},"(0008,0022)":{tag:"(0008,0022)",vr:"DA",name:"AcquisitionDate",vm:"1",version:"DICOM"},"(0008,0023)":{tag:"(0008,0023)",vr:"DA",name:"ContentDate",vm:"1",version:"DICOM"},"(0008,002A)":{tag:"(0008,002A)",vr:"DT",name:"AcquisitionDateTime",vm:"1",version:"DICOM"},"(0008,0030)":{tag:"(0008,0030)",vr:"TM",name:"StudyTime",vm:"1",version:"DICOM"},"(0008,0031)":{tag:"(0008,0031)",vr:"TM",name:"SeriesTime",vm:"1",version:"DICOM"},"(0008,0032)":{tag:"(0008,0032)",vr:"TM",name:"AcquisitionTime",vm:"1",version:"DICOM"},"(0008,0033)":{tag:"(0008,0033)",vr:"TM",name:"ContentTime",vm:"1",version:"DICOM"},"(0008,0050)":{tag:"(0008,0050)",vr:"SH",name:"AccessionNumber",vm:"1",version:"DICOM"},"(0008,0051)":{tag:"(0008,0051)",vr:"SQ",name:"IssuerOfAccessionNumberSequence",vm:"1",version:"DICOM"},"(0008,0052)":{tag:"(0008,0052)",vr:"CS",name:"QueryRetrieveLevel",vm:"1",version:"DICOM"},"(0008,0053)":{tag:"(0008,0053)",vr:"CS",name:"QueryRetrieveView",vm:"1",version:"DICOM"},"(0008,0054)":{tag:"(0008,0054)",vr:"AE",name:"RetrieveAETitle",vm:"1-n",version:"DICOM"},"(0008,0055)":{tag:"(0008,0055)",vr:"AE",name:"StationAETitle",vm:"1",version:"DICOM"},"(0008,0056)":{tag:"(0008,0056)",vr:"CS",name:"InstanceAvailability",vm:"1",version:"DICOM"},"(0008,0058)":{tag:"(0008,0058)",vr:"UI",name:"FailedSOPInstanceUIDList",vm:"1-n",version:"DICOM"},"(0008,0060)":{tag:"(0008,0060)",vr:"CS",name:"Modality",vm:"1",version:"DICOM"},"(0008,0061)":{tag:"(0008,0061)",vr:"CS",name:"ModalitiesInStudy",vm:"1-n",version:"DICOM"},"(0008,0062)":{tag:"(0008,0062)",vr:"UI",name:"SOPClassesInStudy",vm:"1-n",version:"DICOM"},"(0008,0063)":{tag:"(0008,0063)",vr:"SQ",name:"AnatomicRegionsInStudyCodeSequence",vm:"1",version:"DICOM"},"(0008,0064)":{tag:"(0008,0064)",vr:"CS",name:"ConversionType",vm:"1",version:"DICOM"},"(0008,0068)":{tag:"(0008,0068)",vr:"CS",name:"PresentationIntentType",vm:"1",version:"DICOM"},"(0008,0070)":{tag:"(0008,0070)",vr:"LO",name:"Manufacturer",vm:"1",version:"DICOM"},"(0008,0080)":{tag:"(0008,0080)",vr:"LO",name:"InstitutionName",vm:"1",version:"DICOM"},"(0008,0081)":{tag:"(0008,0081)",vr:"ST",name:"InstitutionAddress",vm:"1",version:"DICOM"},"(0008,0082)":{tag:"(0008,0082)",vr:"SQ",name:"InstitutionCodeSequence",vm:"1",version:"DICOM"},"(0008,0090)":{tag:"(0008,0090)",vr:"PN",name:"ReferringPhysicianName",vm:"1",version:"DICOM"},"(0008,0092)":{tag:"(0008,0092)",vr:"ST",name:"ReferringPhysicianAddress",vm:"1",version:"DICOM"},"(0008,0094)":{tag:"(0008,0094)",vr:"SH",name:"ReferringPhysicianTelephoneNumbers",vm:"1-n",version:"DICOM"},"(0008,0096)":{tag:"(0008,0096)",vr:"SQ",name:"ReferringPhysicianIdentificationSequence",vm:"1",version:"DICOM"},"(0008,009C)":{tag:"(0008,009C)",vr:"PN",name:"ConsultingPhysicianName",vm:"1-n",version:"DICOM"},"(0008,009D)":{tag:"(0008,009D)",vr:"SQ",name:"ConsultingPhysicianIdentificationSequence",vm:"1",version:"DICOM"},"(0008,0100)":{tag:"(0008,0100)",vr:"SH",name:"CodeValue",vm:"1",version:"DICOM"},"(0008,0101)":{tag:"(0008,0101)",vr:"LO",name:"ExtendedCodeValue",vm:"1",version:"DICOM/DICOS"},"(0008,0102)":{tag:"(0008,0102)",vr:"SH",name:"CodingSchemeDesignator",vm:"1",version:"DICOM"},"(0008,0103)":{tag:"(0008,0103)",vr:"SH",name:"CodingSchemeVersion",vm:"1",version:"DICOM"},"(0008,0104)":{tag:"(0008,0104)",vr:"LO",name:"CodeMeaning",vm:"1",version:"DICOM"},"(0008,0105)":{tag:"(0008,0105)",vr:"CS",name:"MappingResource",vm:"1",version:"DICOM"},"(0008,0106)":{tag:"(0008,0106)",vr:"DT",name:"ContextGroupVersion",vm:"1",version:"DICOM"},"(0008,0107)":{tag:"(0008,0107)",vr:"DT",name:"ContextGroupLocalVersion",vm:"1",version:"DICOM"},"(0008,0108)":{tag:"(0008,0108)",vr:"LT",name:"ExtendedCodeMeaning",vm:"1",version:"DICOM/DICOS"},"(0008,0109)":{tag:"(0008,0109)",vr:"SQ",name:"CodingSchemeResourcesSequence",vm:"1",version:"DICOM"},"(0008,010A)":{tag:"(0008,010A)",vr:"CS",name:"CodingSchemeURLType",vm:"1",version:"DICOM"},"(0008,010B)":{tag:"(0008,010B)",vr:"CS",name:"ContextGroupExtensionFlag",vm:"1",version:"DICOM"},"(0008,010C)":{tag:"(0008,010C)",vr:"UI",name:"CodingSchemeUID",vm:"1",version:"DICOM"},"(0008,010D)":{tag:"(0008,010D)",vr:"UI",name:"ContextGroupExtensionCreatorUID",vm:"1",version:"DICOM"},"(0008,010E)":{tag:"(0008,010E)",vr:"UR",name:"CodingSchemeURL",vm:"1",version:"DICOM"},"(0008,010F)":{tag:"(0008,010F)",vr:"CS",name:"ContextIdentifier",vm:"1",version:"DICOM"},"(0008,0110)":{tag:"(0008,0110)",vr:"SQ",name:"CodingSchemeIdentificationSequence",vm:"1",version:"DICOM"},"(0008,0112)":{tag:"(0008,0112)",vr:"LO",name:"CodingSchemeRegistry",vm:"1",version:"DICOM"},"(0008,0114)":{tag:"(0008,0114)",vr:"ST",name:"CodingSchemeExternalID",vm:"1",version:"DICOM"},"(0008,0115)":{tag:"(0008,0115)",vr:"ST",name:"CodingSchemeName",vm:"1",version:"DICOM"},"(0008,0116)":{tag:"(0008,0116)",vr:"ST",name:"CodingSchemeResponsibleOrganization",vm:"1",version:"DICOM"},"(0008,0117)":{tag:"(0008,0117)",vr:"UI",name:"ContextUID",vm:"1",version:"DICOM"},"(0008,0118)":{tag:"(0008,0118)",vr:"UI",name:"MappingResourceUID",vm:"1",version:"DICOM"},"(0008,0119)":{tag:"(0008,0119)",vr:"UC",name:"LongCodeValue",vm:"1",version:"DICOM"},"(0008,0120)":{tag:"(0008,0120)",vr:"UR",name:"URNCodeValue",vm:"1",version:"DICOM"},"(0008,0121)":{tag:"(0008,0121)",vr:"SQ",name:"EquivalentCodeSequence",vm:"1",version:"DICOM"},"(0008,0122)":{tag:"(0008,0122)",vr:"LO",name:"MappingResourceName",vm:"1",version:"DICOM"},"(0008,0123)":{tag:"(0008,0123)",vr:"SQ",name:"ContextGroupIdentificationSequence",vm:"1",version:"DICOM"},"(0008,0124)":{tag:"(0008,0124)",vr:"SQ",name:"MappingResourceIdentificationSequence",vm:"1",version:"DICOM"},"(0008,0201)":{tag:"(0008,0201)",vr:"SH",name:"TimezoneOffsetFromUTC",vm:"1",version:"DICOM"},"(0008,0220)":{tag:"(0008,0220)",vr:"SQ",name:"ResponsibleGroupCodeSequence",vm:"1",version:"DICOM"},"(0008,0221)":{tag:"(0008,0221)",vr:"CS",name:"EquipmentModality",vm:"1",version:"DICOM"},"(0008,0222)":{tag:"(0008,0222)",vr:"LO",name:"ManufacturerRelatedModelGroup",vm:"1",version:"DICOM"},"(0008,0300)":{tag:"(0008,0300)",vr:"SQ",name:"PrivateDataElementCharacteristicsSequence",vm:"1",version:"DICOM"},"(0008,0301)":{tag:"(0008,0301)",vr:"US",name:"PrivateGroupReference",vm:"1",version:"DICOM"},"(0008,0302)":{tag:"(0008,0302)",vr:"LO",name:"PrivateCreatorReference",vm:"1",version:"DICOM"},"(0008,0303)":{tag:"(0008,0303)",vr:"CS",name:"BlockIdentifyingInformationStatus",vm:"1",version:"DICOM"},"(0008,0304)":{tag:"(0008,0304)",vr:"US",name:"NonidentifyingPrivateElements",vm:"1-n",version:"DICOM"},"(0008,0305)":{tag:"(0008,0305)",vr:"SQ",name:"DeidentificationActionSequence",vm:"1",version:"DICOM"},"(0008,0306)":{tag:"(0008,0306)",vr:"US",name:"IdentifyingPrivateElements",vm:"1-n",version:"DICOM"},"(0008,0307)":{tag:"(0008,0307)",vr:"CS",name:"DeidentificationAction",vm:"1",version:"DICOM"},"(0008,0308)":{tag:"(0008,0308)",vr:"US",name:"PrivateDataElement",vm:"1",version:"DICOM"},"(0008,0309)":{tag:"(0008,0309)",vr:"UL",name:"PrivateDataElementValueMultiplicity",vm:"1-3",version:"DICOM"},"(0008,030A)":{tag:"(0008,030A)",vr:"CS",name:"PrivateDataElementValueRepresentation",vm:"1",version:"DICOM"},"(0008,030B)":{tag:"(0008,030B)",vr:"UL",name:"PrivateDataElementNumberOfItems",vm:"1-2",version:"DICOM"},"(0008,030C)":{tag:"(0008,030C)",vr:"UC",name:"PrivateDataElementName",vm:"1",version:"DICOM"},"(0008,030D)":{tag:"(0008,030D)",vr:"UC",name:"PrivateDataElementKeyword",vm:"1",version:"DICOM"},"(0008,030E)":{tag:"(0008,030E)",vr:"UT",name:"PrivateDataElementDescription",vm:"1",version:"DICOM"},"(0008,030F)":{tag:"(0008,030F)",vr:"UT",name:"PrivateDataElementEncoding",vm:"1",version:"DICOM"},"(0008,0310)":{tag:"(0008,0310)",vr:"SQ",name:"PrivateDataElementDefinitionSequence",vm:"1",version:"DICOM"},"(0008,1010)":{tag:"(0008,1010)",vr:"SH",name:"StationName",vm:"1",version:"DICOM"},"(0008,1030)":{tag:"(0008,1030)",vr:"LO",name:"StudyDescription",vm:"1",version:"DICOM"},"(0008,1032)":{tag:"(0008,1032)",vr:"SQ",name:"ProcedureCodeSequence",vm:"1",version:"DICOM"},"(0008,103E)":{tag:"(0008,103E)",vr:"LO",name:"SeriesDescription",vm:"1",version:"DICOM"},"(0008,103F)":{tag:"(0008,103F)",vr:"SQ",name:"SeriesDescriptionCodeSequence",vm:"1",version:"DICOM"},"(0008,1040)":{tag:"(0008,1040)",vr:"LO",name:"InstitutionalDepartmentName",vm:"1",version:"DICOM"},"(0008,1041)":{tag:"(0008,1041)",vr:"SQ",name:"InstitutionalDepartmentTypeCodeSequence",vm:"1",version:"DICOM"},"(0008,1048)":{tag:"(0008,1048)",vr:"PN",name:"PhysiciansOfRecord",vm:"1-n",version:"DICOM"},"(0008,1049)":{tag:"(0008,1049)",vr:"SQ",name:"PhysiciansOfRecordIdentificationSequence",vm:"1",version:"DICOM"},"(0008,1050)":{tag:"(0008,1050)",vr:"PN",name:"PerformingPhysicianName",vm:"1-n",version:"DICOM"},"(0008,1052)":{tag:"(0008,1052)",vr:"SQ",name:"PerformingPhysicianIdentificationSequence",vm:"1",version:"DICOM"},"(0008,1060)":{tag:"(0008,1060)",vr:"PN",name:"NameOfPhysiciansReadingStudy",vm:"1-n",version:"DICOM"},"(0008,1062)":{tag:"(0008,1062)",vr:"SQ",name:"PhysiciansReadingStudyIdentificationSequence",vm:"1",version:"DICOM"},"(0008,1070)":{tag:"(0008,1070)",vr:"PN",name:"OperatorsName",vm:"1-n",version:"DICOM"},"(0008,1072)":{tag:"(0008,1072)",vr:"SQ",name:"OperatorIdentificationSequence",vm:"1",version:"DICOM"},"(0008,1080)":{tag:"(0008,1080)",vr:"LO",name:"AdmittingDiagnosesDescription",vm:"1-n",version:"DICOM"},"(0008,1084)":{tag:"(0008,1084)",vr:"SQ",name:"AdmittingDiagnosesCodeSequence",vm:"1",version:"DICOM"},"(0008,1090)":{tag:"(0008,1090)",vr:"LO",name:"ManufacturerModelName",vm:"1",version:"DICOM"},"(0008,1110)":{tag:"(0008,1110)",vr:"SQ",name:"ReferencedStudySequence",vm:"1",version:"DICOM"},"(0008,1111)":{tag:"(0008,1111)",vr:"SQ",name:"ReferencedPerformedProcedureStepSequence",vm:"1",version:"DICOM"},"(0008,1115)":{tag:"(0008,1115)",vr:"SQ",name:"ReferencedSeriesSequence",vm:"1",version:"DICOM"},"(0008,1120)":{tag:"(0008,1120)",vr:"SQ",name:"ReferencedPatientSequence",vm:"1",version:"DICOM"},"(0008,1125)":{tag:"(0008,1125)",vr:"SQ",name:"ReferencedVisitSequence",vm:"1",version:"DICOM"},"(0008,1134)":{tag:"(0008,1134)",vr:"SQ",name:"ReferencedStereometricInstanceSequence",vm:"1",version:"DICOM"},"(0008,113A)":{tag:"(0008,113A)",vr:"SQ",name:"ReferencedWaveformSequence",vm:"1",version:"DICOM"},"(0008,1140)":{tag:"(0008,1140)",vr:"SQ",name:"ReferencedImageSequence",vm:"1",version:"DICOM"},"(0008,114A)":{tag:"(0008,114A)",vr:"SQ",name:"ReferencedInstanceSequence",vm:"1",version:"DICOM"},"(0008,114B)":{tag:"(0008,114B)",vr:"SQ",name:"ReferencedRealWorldValueMappingInstanceSequence",vm:"1",version:"DICOM"},"(0008,1150)":{tag:"(0008,1150)",vr:"UI",name:"ReferencedSOPClassUID",vm:"1",version:"DICOM"},"(0008,1155)":{tag:"(0008,1155)",vr:"UI",name:"ReferencedSOPInstanceUID",vm:"1",version:"DICOM"},"(0008,1156)":{tag:"(0008,1156)",vr:"SQ",name:"DefinitionSourceSequence",vm:"1",version:"DICOM"},"(0008,115A)":{tag:"(0008,115A)",vr:"UI",name:"SOPClassesSupported",vm:"1-n",version:"DICOM"},"(0008,1160)":{tag:"(0008,1160)",vr:"IS",name:"ReferencedFrameNumber",vm:"1-n",version:"DICOM"},"(0008,1161)":{tag:"(0008,1161)",vr:"UL",name:"SimpleFrameList",vm:"1-n",version:"DICOM"},"(0008,1162)":{tag:"(0008,1162)",vr:"UL",name:"CalculatedFrameList",vm:"3-3n",version:"DICOM"},"(0008,1163)":{tag:"(0008,1163)",vr:"FD",name:"TimeRange",vm:"2",version:"DICOM"},"(0008,1164)":{tag:"(0008,1164)",vr:"SQ",name:"FrameExtractionSequence",vm:"1",version:"DICOM"},"(0008,1167)":{tag:"(0008,1167)",vr:"UI",name:"MultiFrameSourceSOPInstanceUID",vm:"1",version:"DICOM"},"(0008,1190)":{tag:"(0008,1190)",vr:"UR",name:"RetrieveURL",vm:"1",version:"DICOM"},"(0008,1195)":{tag:"(0008,1195)",vr:"UI",name:"TransactionUID",vm:"1",version:"DICOM"},"(0008,1196)":{tag:"(0008,1196)",vr:"US",name:"WarningReason",vm:"1",version:"DICOM"},"(0008,1197)":{tag:"(0008,1197)",vr:"US",name:"FailureReason",vm:"1",version:"DICOM"},"(0008,1198)":{tag:"(0008,1198)",vr:"SQ",name:"FailedSOPSequence",vm:"1",version:"DICOM"},"(0008,1199)":{tag:"(0008,1199)",vr:"SQ",name:"ReferencedSOPSequence",vm:"1",version:"DICOM"},"(0008,119A)":{tag:"(0008,119A)",vr:"SQ",name:"OtherFailuresSequence",vm:"1",version:"DICOM"},"(0008,1200)":{tag:"(0008,1200)",vr:"SQ",name:"StudiesContainingOtherReferencedInstancesSequence",vm:"1",version:"DICOM"},"(0008,1250)":{tag:"(0008,1250)",vr:"SQ",name:"RelatedSeriesSequence",vm:"1",version:"DICOM"},"(0008,2111)":{tag:"(0008,2111)",vr:"ST",name:"DerivationDescription",vm:"1",version:"DICOM"},"(0008,2112)":{tag:"(0008,2112)",vr:"SQ",name:"SourceImageSequence",vm:"1",version:"DICOM"},"(0008,2120)":{tag:"(0008,2120)",vr:"SH",name:"StageName",vm:"1",version:"DICOM"},"(0008,2122)":{tag:"(0008,2122)",vr:"IS",name:"StageNumber",vm:"1",version:"DICOM"},"(0008,2124)":{tag:"(0008,2124)",vr:"IS",name:"NumberOfStages",vm:"1",version:"DICOM"},"(0008,2127)":{tag:"(0008,2127)",vr:"SH",name:"ViewName",vm:"1",version:"DICOM"},"(0008,2128)":{tag:"(0008,2128)",vr:"IS",name:"ViewNumber",vm:"1",version:"DICOM"},"(0008,2129)":{tag:"(0008,2129)",vr:"IS",name:"NumberOfEventTimers",vm:"1",version:"DICOM"},"(0008,212A)":{tag:"(0008,212A)",vr:"IS",name:"NumberOfViewsInStage",vm:"1",version:"DICOM"},"(0008,2130)":{tag:"(0008,2130)",vr:"DS",name:"EventElapsedTimes",vm:"1-n",version:"DICOM"},"(0008,2132)":{tag:"(0008,2132)",vr:"LO",name:"EventTimerNames",vm:"1-n",version:"DICOM"},"(0008,2133)":{tag:"(0008,2133)",vr:"SQ",name:"EventTimerSequence",vm:"1",version:"DICOM"},"(0008,2134)":{tag:"(0008,2134)",vr:"FD",name:"EventTimeOffset",vm:"1",version:"DICOM"},"(0008,2135)":{tag:"(0008,2135)",vr:"SQ",name:"EventCodeSequence",vm:"1",version:"DICOM"},"(0008,2142)":{tag:"(0008,2142)",vr:"IS",name:"StartTrim",vm:"1",version:"DICOM"},"(0008,2143)":{tag:"(0008,2143)",vr:"IS",name:"StopTrim",vm:"1",version:"DICOM"},"(0008,2144)":{tag:"(0008,2144)",vr:"IS",name:"RecommendedDisplayFrameRate",vm:"1",version:"DICOM"},"(0008,2218)":{tag:"(0008,2218)",vr:"SQ",name:"AnatomicRegionSequence",vm:"1",version:"DICOM"},"(0008,2220)":{tag:"(0008,2220)",vr:"SQ",name:"AnatomicRegionModifierSequence",vm:"1",version:"DICOM"},"(0008,2228)":{tag:"(0008,2228)",vr:"SQ",name:"PrimaryAnatomicStructureSequence",vm:"1",version:"DICOM"},"(0008,2229)":{tag:"(0008,2229)",vr:"SQ",name:"AnatomicStructureSpaceOrRegionSequence",vm:"1",version:"DICOM"},"(0008,2230)":{tag:"(0008,2230)",vr:"SQ",name:"PrimaryAnatomicStructureModifierSequence",vm:"1",version:"DICOM"},"(0008,3001)":{tag:"(0008,3001)",vr:"SQ",name:"AlternateRepresentationSequence",vm:"1",version:"DICOM"},"(0008,3002)":{tag:"(0008,3002)",vr:"UI",name:"AvailableTransferSyntaxUID",vm:"1-n",version:"DICOM"},"(0008,3010)":{tag:"(0008,3010)",vr:"UI",name:"IrradiationEventUID",vm:"1-n",version:"DICOM"},"(0008,3011)":{tag:"(0008,3011)",vr:"SQ",name:"SourceIrradiationEventSequence",vm:"1",version:"DICOM"},"(0008,3012)":{tag:"(0008,3012)",vr:"UI",name:"RadiopharmaceuticalAdministrationEventUID",vm:"1",version:"DICOM"},"(0008,9007)":{tag:"(0008,9007)",vr:"CS",name:"FrameType",vm:"4",version:"DICOM"},"(0008,9092)":{tag:"(0008,9092)",vr:"SQ",name:"ReferencedImageEvidenceSequence",vm:"1",version:"DICOM"},"(0008,9121)":{tag:"(0008,9121)",vr:"SQ",name:"ReferencedRawDataSequence",vm:"1",version:"DICOM"},"(0008,9123)":{tag:"(0008,9123)",vr:"UI",name:"CreatorVersionUID",vm:"1",version:"DICOM"},"(0008,9124)":{tag:"(0008,9124)",vr:"SQ",name:"DerivationImageSequence",vm:"1",version:"DICOM"},"(0008,9154)":{tag:"(0008,9154)",vr:"SQ",name:"SourceImageEvidenceSequence",vm:"1",version:"DICOM"},"(0008,9205)":{tag:"(0008,9205)",vr:"CS",name:"PixelPresentation",vm:"1",version:"DICOM"},"(0008,9206)":{tag:"(0008,9206)",vr:"CS",name:"VolumetricProperties",vm:"1",version:"DICOM"},"(0008,9207)":{tag:"(0008,9207)",vr:"CS",name:"VolumeBasedCalculationTechnique",vm:"1",version:"DICOM"},"(0008,9208)":{tag:"(0008,9208)",vr:"CS",name:"ComplexImageComponent",vm:"1",version:"DICOM"},"(0008,9209)":{tag:"(0008,9209)",vr:"CS",name:"AcquisitionContrast",vm:"1",version:"DICOM"},"(0008,9215)":{tag:"(0008,9215)",vr:"SQ",name:"DerivationCodeSequence",vm:"1",version:"DICOM"},"(0008,9237)":{tag:"(0008,9237)",vr:"SQ",name:"ReferencedPresentationStateSequence",vm:"1",version:"DICOM"},"(0008,9410)":{tag:"(0008,9410)",vr:"SQ",name:"ReferencedOtherPlaneSequence",vm:"1",version:"DICOM"},"(0008,9458)":{tag:"(0008,9458)",vr:"SQ",name:"FrameDisplaySequence",vm:"1",version:"DICOM"},"(0008,9459)":{tag:"(0008,9459)",vr:"FL",name:"RecommendedDisplayFrameRateInFloat",vm:"1",version:"DICOM"},"(0008,9460)":{tag:"(0008,9460)",vr:"CS",name:"SkipFrameRangeFlag",vm:"1",version:"DICOM"},"(0010,0010)":{tag:"(0010,0010)",vr:"PN",name:"PatientName",vm:"1",version:"DICOM"},"(0010,0020)":{tag:"(0010,0020)",vr:"LO",name:"PatientID",vm:"1",version:"DICOM"},"(0010,0021)":{tag:"(0010,0021)",vr:"LO",name:"IssuerOfPatientID",vm:"1",version:"DICOM"},"(0010,0022)":{tag:"(0010,0022)",vr:"CS",name:"TypeOfPatientID",vm:"1",version:"DICOM"},"(0010,0024)":{tag:"(0010,0024)",vr:"SQ",name:"IssuerOfPatientIDQualifiersSequence",vm:"1",version:"DICOM"},"(0010,0026)":{tag:"(0010,0026)",vr:"SQ",name:"SourcePatientGroupIdentificationSequence",vm:"1",version:"DICOM"},"(0010,0027)":{tag:"(0010,0027)",vr:"SQ",name:"GroupOfPatientsIdentificationSequence",vm:"1",version:"DICOM"},"(0010,0028)":{tag:"(0010,0028)",vr:"US",name:"SubjectRelativePositionInImage",vm:"3",version:"DICOM"},"(0010,0030)":{tag:"(0010,0030)",vr:"DA",name:"PatientBirthDate",vm:"1",version:"DICOM"},"(0010,0032)":{tag:"(0010,0032)",vr:"TM",name:"PatientBirthTime",vm:"1",version:"DICOM"},"(0010,0033)":{tag:"(0010,0033)",vr:"LO",name:"PatientBirthDateInAlternativeCalendar",vm:"1",version:"DICOM"},"(0010,0034)":{tag:"(0010,0034)",vr:"LO",name:"PatientDeathDateInAlternativeCalendar",vm:"1",version:"DICOM"},"(0010,0035)":{tag:"(0010,0035)",vr:"CS",name:"PatientAlternativeCalendar",vm:"1",version:"DICOM"},"(0010,0040)":{tag:"(0010,0040)",vr:"CS",name:"PatientSex",vm:"1",version:"DICOM"},"(0010,0050)":{tag:"(0010,0050)",vr:"SQ",name:"PatientInsurancePlanCodeSequence",vm:"1",version:"DICOM"},"(0010,0101)":{tag:"(0010,0101)",vr:"SQ",name:"PatientPrimaryLanguageCodeSequence",vm:"1",version:"DICOM"},"(0010,0102)":{tag:"(0010,0102)",vr:"SQ",name:"PatientPrimaryLanguageModifierCodeSequence",vm:"1",version:"DICOM"},"(0010,0200)":{tag:"(0010,0200)",vr:"CS",name:"QualityControlSubject",vm:"1",version:"DICOM"},"(0010,0201)":{tag:"(0010,0201)",vr:"SQ",name:"QualityControlSubjectTypeCodeSequence",vm:"1",version:"DICOM"},"(0010,0212)":{tag:"(0010,0212)",vr:"UC",name:"StrainDescription",vm:"1",version:"DICOM"},"(0010,0213)":{tag:"(0010,0213)",vr:"LO",name:"StrainNomenclature",vm:"1",version:"DICOM"},"(0010,0214)":{tag:"(0010,0214)",vr:"LO",name:"StrainStockNumber",vm:"1",version:"DICOM"},"(0010,0215)":{tag:"(0010,0215)",vr:"SQ",name:"StrainSourceRegistryCodeSequence",vm:"1",version:"DICOM"},"(0010,0216)":{tag:"(0010,0216)",vr:"SQ",name:"StrainStockSequence",vm:"1",version:"DICOM"},"(0010,0217)":{tag:"(0010,0217)",vr:"LO",name:"StrainSource",vm:"1",version:"DICOM"},"(0010,0218)":{tag:"(0010,0218)",vr:"UT",name:"StrainAdditionalInformation",vm:"1",version:"DICOM"},"(0010,0219)":{tag:"(0010,0219)",vr:"SQ",name:"StrainCodeSequence",vm:"1",version:"DICOM"},"(0010,0221)":{tag:"(0010,0221)",vr:"SQ",name:"GeneticModificationsSequence",vm:"1",version:"DICOM"},"(0010,0222)":{tag:"(0010,0222)",vr:"UC",name:"GeneticModificationsDescription",vm:"1",version:"DICOM"},"(0010,0223)":{tag:"(0010,0223)",vr:"LO",name:"GeneticModificationsNomenclature",vm:"1",version:"DICOM"},"(0010,0229)":{tag:"(0010,0229)",vr:"SQ",name:"GeneticModificationsCodeSequence",vm:"1",version:"DICOM"},"(0010,1000)":{tag:"(0010,1000)",vr:"LO",name:"OtherPatientIDs",vm:"1-n",version:"DICOM"},"(0010,1001)":{tag:"(0010,1001)",vr:"PN",name:"OtherPatientNames",vm:"1-n",version:"DICOM"},"(0010,1002)":{tag:"(0010,1002)",vr:"SQ",name:"OtherPatientIDsSequence",vm:"1",version:"DICOM"},"(0010,1005)":{tag:"(0010,1005)",vr:"PN",name:"PatientBirthName",vm:"1",version:"DICOM"},"(0010,1010)":{tag:"(0010,1010)",vr:"AS",name:"PatientAge",vm:"1",version:"DICOM"},"(0010,1020)":{tag:"(0010,1020)",vr:"DS",name:"PatientSize",vm:"1",version:"DICOM"},"(0010,1021)":{tag:"(0010,1021)",vr:"SQ",name:"PatientSizeCodeSequence",vm:"1",version:"DICOM"},"(0010,1022)":{tag:"(0010,1022)",vr:"DS",name:"PatientBodyMassIndex",vm:"1",version:"DICOM"},"(0010,1023)":{tag:"(0010,1023)",vr:"DS",name:"MeasuredAPDimension",vm:"1",version:"DICOM"},"(0010,1024)":{tag:"(0010,1024)",vr:"DS",name:"MeasuredLateralDimension",vm:"1",version:"DICOM"},"(0010,1030)":{tag:"(0010,1030)",vr:"DS",name:"PatientWeight",vm:"1",version:"DICOM"},"(0010,1040)":{tag:"(0010,1040)",vr:"LO",name:"PatientAddress",vm:"1",version:"DICOM"},"(0010,1060)":{tag:"(0010,1060)",vr:"PN",name:"PatientMotherBirthName",vm:"1",version:"DICOM"},"(0010,1080)":{tag:"(0010,1080)",vr:"LO",name:"MilitaryRank",vm:"1",version:"DICOM"},"(0010,1081)":{tag:"(0010,1081)",vr:"LO",name:"BranchOfService",vm:"1",version:"DICOM"},"(0010,1090)":{tag:"(0010,1090)",vr:"LO",name:"MedicalRecordLocator",vm:"1",version:"DICOM"},"(0010,1100)":{tag:"(0010,1100)",vr:"SQ",name:"ReferencedPatientPhotoSequence",vm:"1",version:"DICOM"},"(0010,2000)":{tag:"(0010,2000)",vr:"LO",name:"MedicalAlerts",vm:"1-n",version:"DICOM"},"(0010,2110)":{tag:"(0010,2110)",vr:"LO",name:"Allergies",vm:"1-n",version:"DICOM"},"(0010,2150)":{tag:"(0010,2150)",vr:"LO",name:"CountryOfResidence",vm:"1",version:"DICOM"},"(0010,2152)":{tag:"(0010,2152)",vr:"LO",name:"RegionOfResidence",vm:"1",version:"DICOM"},"(0010,2154)":{tag:"(0010,2154)",vr:"SH",name:"PatientTelephoneNumbers",vm:"1-n",version:"DICOM"},"(0010,2155)":{tag:"(0010,2155)",vr:"LT",name:"PatientTelecomInformation",vm:"1",version:"DICOM"},"(0010,2160)":{tag:"(0010,2160)",vr:"SH",name:"EthnicGroup",vm:"1",version:"DICOM"},"(0010,2180)":{tag:"(0010,2180)",vr:"SH",name:"Occupation",vm:"1",version:"DICOM"},"(0010,21A0)":{tag:"(0010,21A0)",vr:"CS",name:"SmokingStatus",vm:"1",version:"DICOM"},"(0010,21B0)":{tag:"(0010,21B0)",vr:"LT",name:"AdditionalPatientHistory",vm:"1",version:"DICOM"},"(0010,21C0)":{tag:"(0010,21C0)",vr:"US",name:"PregnancyStatus",vm:"1",version:"DICOM"},"(0010,21D0)":{tag:"(0010,21D0)",vr:"DA",name:"LastMenstrualDate",vm:"1",version:"DICOM"},"(0010,21F0)":{tag:"(0010,21F0)",vr:"LO",name:"PatientReligiousPreference",vm:"1",version:"DICOM"},"(0010,2201)":{tag:"(0010,2201)",vr:"LO",name:"PatientSpeciesDescription",vm:"1",version:"DICOM"},"(0010,2202)":{tag:"(0010,2202)",vr:"SQ",name:"PatientSpeciesCodeSequence",vm:"1",version:"DICOM"},"(0010,2203)":{tag:"(0010,2203)",vr:"CS",name:"PatientSexNeutered",vm:"1",version:"DICOM"},"(0010,2210)":{tag:"(0010,2210)",vr:"CS",name:"AnatomicalOrientationType",vm:"1",version:"DICOM"},"(0010,2292)":{tag:"(0010,2292)",vr:"LO",name:"PatientBreedDescription",vm:"1",version:"DICOM"},"(0010,2293)":{tag:"(0010,2293)",vr:"SQ",name:"PatientBreedCodeSequence",vm:"1",version:"DICOM"},"(0010,2294)":{tag:"(0010,2294)",vr:"SQ",name:"BreedRegistrationSequence",vm:"1",version:"DICOM"},"(0010,2295)":{tag:"(0010,2295)",vr:"LO",name:"BreedRegistrationNumber",vm:"1",version:"DICOM"},"(0010,2296)":{tag:"(0010,2296)",vr:"SQ",name:"BreedRegistryCodeSequence",vm:"1",version:"DICOM"},"(0010,2297)":{tag:"(0010,2297)",vr:"PN",name:"ResponsiblePerson",vm:"1",version:"DICOM"},"(0010,2298)":{tag:"(0010,2298)",vr:"CS",name:"ResponsiblePersonRole",vm:"1",version:"DICOM"},"(0010,2299)":{tag:"(0010,2299)",vr:"LO",name:"ResponsibleOrganization",vm:"1",version:"DICOM"},"(0010,4000)":{tag:"(0010,4000)",vr:"LT",name:"PatientComments",vm:"1",version:"DICOM"},"(0010,9431)":{tag:"(0010,9431)",vr:"FL",name:"ExaminedBodyThickness",vm:"1",version:"DICOM"},"(0012,0010)":{tag:"(0012,0010)",vr:"LO",name:"ClinicalTrialSponsorName",vm:"1",version:"DICOM"},"(0012,0020)":{tag:"(0012,0020)",vr:"LO",name:"ClinicalTrialProtocolID",vm:"1",version:"DICOM"},"(0012,0021)":{tag:"(0012,0021)",vr:"LO",name:"ClinicalTrialProtocolName",vm:"1",version:"DICOM"},"(0012,0030)":{tag:"(0012,0030)",vr:"LO",name:"ClinicalTrialSiteID",vm:"1",version:"DICOM"},"(0012,0031)":{tag:"(0012,0031)",vr:"LO",name:"ClinicalTrialSiteName",vm:"1",version:"DICOM"},"(0012,0040)":{tag:"(0012,0040)",vr:"LO",name:"ClinicalTrialSubjectID",vm:"1",version:"DICOM"},"(0012,0042)":{tag:"(0012,0042)",vr:"LO",name:"ClinicalTrialSubjectReadingID",vm:"1",version:"DICOM"},"(0012,0050)":{tag:"(0012,0050)",vr:"LO",name:"ClinicalTrialTimePointID",vm:"1",version:"DICOM"},"(0012,0051)":{tag:"(0012,0051)",vr:"ST",name:"ClinicalTrialTimePointDescription",vm:"1",version:"DICOM"},"(0012,0052)":{tag:"(0012,0052)",vr:"FD",name:"LongitudinalTemporalOffsetFromEvent",vm:"1",version:"DICOM"},"(0012,0053)":{tag:"(0012,0053)",vr:"CS",name:"LongitudinalTemporalEventType",vm:"1",version:"DICOM"},"(0012,0060)":{tag:"(0012,0060)",vr:"LO",name:"ClinicalTrialCoordinatingCenterName",vm:"1",version:"DICOM"},"(0012,0062)":{tag:"(0012,0062)",vr:"CS",name:"PatientIdentityRemoved",vm:"1",version:"DICOM"},"(0012,0063)":{tag:"(0012,0063)",vr:"LO",name:"DeidentificationMethod",vm:"1-n",version:"DICOM"},"(0012,0064)":{tag:"(0012,0064)",vr:"SQ",name:"DeidentificationMethodCodeSequence",vm:"1",version:"DICOM"},"(0012,0071)":{tag:"(0012,0071)",vr:"LO",name:"ClinicalTrialSeriesID",vm:"1",version:"DICOM"},"(0012,0072)":{tag:"(0012,0072)",vr:"LO",name:"ClinicalTrialSeriesDescription",vm:"1",version:"DICOM"},"(0012,0081)":{tag:"(0012,0081)",vr:"LO",name:"ClinicalTrialProtocolEthicsCommitteeName",vm:"1",version:"DICOM"},"(0012,0082)":{tag:"(0012,0082)",vr:"LO",name:"ClinicalTrialProtocolEthicsCommitteeApprovalNumber",vm:"1",version:"DICOM"},"(0012,0083)":{tag:"(0012,0083)",vr:"SQ",name:"ConsentForClinicalTrialUseSequence",vm:"1",version:"DICOM"},"(0012,0084)":{tag:"(0012,0084)",vr:"CS",name:"DistributionType",vm:"1",version:"DICOM"},"(0012,0085)":{tag:"(0012,0085)",vr:"CS",name:"ConsentForDistributionFlag",vm:"1",version:"DICOM"},"(0014,0025)":{tag:"(0014,0025)",vr:"ST",name:"ComponentManufacturingProcedure",vm:"1-n",version:"DICOM/DICONDE"},"(0014,0028)":{tag:"(0014,0028)",vr:"ST",name:"ComponentManufacturer",vm:"1-n",version:"DICOM/DICONDE"},"(0014,0030)":{tag:"(0014,0030)",vr:"DS",name:"MaterialThickness",vm:"1-n",version:"DICOM/DICONDE"},"(0014,0032)":{tag:"(0014,0032)",vr:"DS",name:"MaterialPipeDiameter",vm:"1-n",version:"DICOM/DICONDE"},"(0014,0034)":{tag:"(0014,0034)",vr:"DS",name:"MaterialIsolationDiameter",vm:"1-n",version:"DICOM/DICONDE"},"(0014,0042)":{tag:"(0014,0042)",vr:"ST",name:"MaterialGrade",vm:"1-n",version:"DICOM/DICONDE"},"(0014,0044)":{tag:"(0014,0044)",vr:"ST",name:"MaterialPropertiesDescription",vm:"1-n",version:"DICOM/DICONDE"},"(0014,0046)":{tag:"(0014,0046)",vr:"LT",name:"MaterialNotes",vm:"1",version:"DICOM/DICONDE"},"(0014,0050)":{tag:"(0014,0050)",vr:"CS",name:"ComponentShape",vm:"1",version:"DICOM/DICONDE"},"(0014,0052)":{tag:"(0014,0052)",vr:"CS",name:"CurvatureType",vm:"1",version:"DICOM/DICONDE"},"(0014,0054)":{tag:"(0014,0054)",vr:"DS",name:"OuterDiameter",vm:"1",version:"DICOM/DICONDE"},"(0014,0056)":{tag:"(0014,0056)",vr:"DS",name:"InnerDiameter",vm:"1",version:"DICOM/DICONDE"},"(0014,1010)":{tag:"(0014,1010)",vr:"ST",name:"ActualEnvironmentalConditions",vm:"1",version:"DICOM/DICONDE"},"(0014,1020)":{tag:"(0014,1020)",vr:"DA",name:"ExpiryDate",vm:"1",version:"DICOM/DICONDE"},"(0014,1040)":{tag:"(0014,1040)",vr:"ST",name:"EnvironmentalConditions",vm:"1",version:"DICOM/DICONDE"},"(0014,2002)":{tag:"(0014,2002)",vr:"SQ",name:"EvaluatorSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,2004)":{tag:"(0014,2004)",vr:"IS",name:"EvaluatorNumber",vm:"1",version:"DICOM/DICONDE"},"(0014,2006)":{tag:"(0014,2006)",vr:"PN",name:"EvaluatorName",vm:"1",version:"DICOM/DICONDE"},"(0014,2008)":{tag:"(0014,2008)",vr:"IS",name:"EvaluationAttempt",vm:"1",version:"DICOM/DICONDE"},"(0014,2012)":{tag:"(0014,2012)",vr:"SQ",name:"IndicationSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,2014)":{tag:"(0014,2014)",vr:"IS",name:"IndicationNumber",vm:"1",version:"DICOM/DICONDE"},"(0014,2016)":{tag:"(0014,2016)",vr:"SH",name:"IndicationLabel",vm:"1",version:"DICOM/DICONDE"},"(0014,2018)":{tag:"(0014,2018)",vr:"ST",name:"IndicationDescription",vm:"1",version:"DICOM/DICONDE"},"(0014,201A)":{tag:"(0014,201A)",vr:"CS",name:"IndicationType",vm:"1-n",version:"DICOM/DICONDE"},"(0014,201C)":{tag:"(0014,201C)",vr:"CS",name:"IndicationDisposition",vm:"1",version:"DICOM/DICONDE"},"(0014,201E)":{tag:"(0014,201E)",vr:"SQ",name:"IndicationROISequence",vm:"1",version:"DICOM/DICONDE"},"(0014,2030)":{tag:"(0014,2030)",vr:"SQ",name:"IndicationPhysicalPropertySequence",vm:"1",version:"DICOM/DICONDE"},"(0014,2032)":{tag:"(0014,2032)",vr:"SH",name:"PropertyLabel",vm:"1",version:"DICOM/DICONDE"},"(0014,2202)":{tag:"(0014,2202)",vr:"IS",name:"CoordinateSystemNumberOfAxes",vm:"1",version:"DICOM/DICONDE"},"(0014,2204)":{tag:"(0014,2204)",vr:"SQ",name:"CoordinateSystemAxesSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,2206)":{tag:"(0014,2206)",vr:"ST",name:"CoordinateSystemAxisDescription",vm:"1",version:"DICOM/DICONDE"},"(0014,2208)":{tag:"(0014,2208)",vr:"CS",name:"CoordinateSystemDataSetMapping",vm:"1",version:"DICOM/DICONDE"},"(0014,220A)":{tag:"(0014,220A)",vr:"IS",name:"CoordinateSystemAxisNumber",vm:"1",version:"DICOM/DICONDE"},"(0014,220C)":{tag:"(0014,220C)",vr:"CS",name:"CoordinateSystemAxisType",vm:"1",version:"DICOM/DICONDE"},"(0014,220E)":{tag:"(0014,220E)",vr:"CS",name:"CoordinateSystemAxisUnits",vm:"1",version:"DICOM/DICONDE"},"(0014,2210)":{tag:"(0014,2210)",vr:"OB",name:"CoordinateSystemAxisValues",vm:"1",version:"DICOM/DICONDE"},"(0014,2220)":{tag:"(0014,2220)",vr:"SQ",name:"CoordinateSystemTransformSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,2222)":{tag:"(0014,2222)",vr:"ST",name:"TransformDescription",vm:"1",version:"DICOM/DICONDE"},"(0014,2224)":{tag:"(0014,2224)",vr:"IS",name:"TransformNumberOfAxes",vm:"1",version:"DICOM/DICONDE"},"(0014,2226)":{tag:"(0014,2226)",vr:"IS",name:"TransformOrderOfAxes",vm:"1-n",version:"DICOM/DICONDE"},"(0014,2228)":{tag:"(0014,2228)",vr:"CS",name:"TransformedAxisUnits",vm:"1",version:"DICOM/DICONDE"},"(0014,222A)":{tag:"(0014,222A)",vr:"DS",name:"CoordinateSystemTransformRotationAndScaleMatrix",vm:"1-n",version:"DICOM/DICONDE"},"(0014,222C)":{tag:"(0014,222C)",vr:"DS",name:"CoordinateSystemTransformTranslationMatrix",vm:"1-n",version:"DICOM/DICONDE"},"(0014,3011)":{tag:"(0014,3011)",vr:"DS",name:"InternalDetectorFrameTime",vm:"1",version:"DICOM/DICONDE"},"(0014,3012)":{tag:"(0014,3012)",vr:"DS",name:"NumberOfFramesIntegrated",vm:"1",version:"DICOM/DICONDE"},"(0014,3020)":{tag:"(0014,3020)",vr:"SQ",name:"DetectorTemperatureSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,3022)":{tag:"(0014,3022)",vr:"ST",name:"SensorName",vm:"1",version:"DICOM/DICONDE"},"(0014,3024)":{tag:"(0014,3024)",vr:"DS",name:"HorizontalOffsetOfSensor",vm:"1",version:"DICOM/DICONDE"},"(0014,3026)":{tag:"(0014,3026)",vr:"DS",name:"VerticalOffsetOfSensor",vm:"1",version:"DICOM/DICONDE"},"(0014,3028)":{tag:"(0014,3028)",vr:"DS",name:"SensorTemperature",vm:"1",version:"DICOM/DICONDE"},"(0014,3040)":{tag:"(0014,3040)",vr:"SQ",name:"DarkCurrentSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,3050)":{tag:"(0014,3050)",vr:"ox",name:"DarkCurrentCounts",vm:"1",version:"DICOM/DICONDE"},"(0014,3060)":{tag:"(0014,3060)",vr:"SQ",name:"GainCorrectionReferenceSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,3070)":{tag:"(0014,3070)",vr:"ox",name:"AirCounts",vm:"1",version:"DICOM/DICONDE"},"(0014,3071)":{tag:"(0014,3071)",vr:"DS",name:"KVUsedInGainCalibration",vm:"1",version:"DICOM/DICONDE"},"(0014,3072)":{tag:"(0014,3072)",vr:"DS",name:"MAUsedInGainCalibration",vm:"1",version:"DICOM/DICONDE"},"(0014,3073)":{tag:"(0014,3073)",vr:"DS",name:"NumberOfFramesUsedForIntegration",vm:"1",version:"DICOM/DICONDE"},"(0014,3074)":{tag:"(0014,3074)",vr:"LO",name:"FilterMaterialUsedInGainCalibration",vm:"1",version:"DICOM/DICONDE"},"(0014,3075)":{tag:"(0014,3075)",vr:"DS",name:"FilterThicknessUsedInGainCalibration",vm:"1",version:"DICOM/DICONDE"},"(0014,3076)":{tag:"(0014,3076)",vr:"DA",name:"DateOfGainCalibration",vm:"1",version:"DICOM/DICONDE"},"(0014,3077)":{tag:"(0014,3077)",vr:"TM",name:"TimeOfGainCalibration",vm:"1",version:"DICOM/DICONDE"},"(0014,3080)":{tag:"(0014,3080)",vr:"OB",name:"BadPixelImage",vm:"1",version:"DICOM/DICONDE"},"(0014,3099)":{tag:"(0014,3099)",vr:"LT",name:"CalibrationNotes",vm:"1",version:"DICOM/DICONDE"},"(0014,4002)":{tag:"(0014,4002)",vr:"SQ",name:"PulserEquipmentSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,4004)":{tag:"(0014,4004)",vr:"CS",name:"PulserType",vm:"1",version:"DICOM/DICONDE"},"(0014,4006)":{tag:"(0014,4006)",vr:"LT",name:"PulserNotes",vm:"1",version:"DICOM/DICONDE"},"(0014,4008)":{tag:"(0014,4008)",vr:"SQ",name:"ReceiverEquipmentSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,400A)":{tag:"(0014,400A)",vr:"CS",name:"AmplifierType",vm:"1",version:"DICOM/DICONDE"},"(0014,400C)":{tag:"(0014,400C)",vr:"LT",name:"ReceiverNotes",vm:"1",version:"DICOM/DICONDE"},"(0014,400E)":{tag:"(0014,400E)",vr:"SQ",name:"PreAmplifierEquipmentSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,400F)":{tag:"(0014,400F)",vr:"LT",name:"PreAmplifierNotes",vm:"1",version:"DICOM/DICONDE"},"(0014,4010)":{tag:"(0014,4010)",vr:"SQ",name:"TransmitTransducerSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,4011)":{tag:"(0014,4011)",vr:"SQ",name:"ReceiveTransducerSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,4012)":{tag:"(0014,4012)",vr:"US",name:"NumberOfElements",vm:"1",version:"DICOM/DICONDE"},"(0014,4013)":{tag:"(0014,4013)",vr:"CS",name:"ElementShape",vm:"1",version:"DICOM/DICONDE"},"(0014,4014)":{tag:"(0014,4014)",vr:"DS",name:"ElementDimensionA",vm:"1",version:"DICOM/DICONDE"},"(0014,4015)":{tag:"(0014,4015)",vr:"DS",name:"ElementDimensionB",vm:"1",version:"DICOM/DICONDE"},"(0014,4016)":{tag:"(0014,4016)",vr:"DS",name:"ElementPitchA",vm:"1",version:"DICOM/DICONDE"},"(0014,4017)":{tag:"(0014,4017)",vr:"DS",name:"MeasuredBeamDimensionA",vm:"1",version:"DICOM/DICONDE"},"(0014,4018)":{tag:"(0014,4018)",vr:"DS",name:"MeasuredBeamDimensionB",vm:"1",version:"DICOM/DICONDE"},"(0014,4019)":{tag:"(0014,4019)",vr:"DS",name:"LocationOfMeasuredBeamDiameter",vm:"1",version:"DICOM/DICONDE"},"(0014,401A)":{tag:"(0014,401A)",vr:"DS",name:"NominalFrequency",vm:"1",version:"DICOM/DICONDE"},"(0014,401B)":{tag:"(0014,401B)",vr:"DS",name:"MeasuredCenterFrequency",vm:"1",version:"DICOM/DICONDE"},"(0014,401C)":{tag:"(0014,401C)",vr:"DS",name:"MeasuredBandwidth",vm:"1",version:"DICOM/DICONDE"},"(0014,401D)":{tag:"(0014,401D)",vr:"DS",name:"ElementPitchB",vm:"1",version:"DICOM/DICONDE"},"(0014,4020)":{tag:"(0014,4020)",vr:"SQ",name:"PulserSettingsSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,4022)":{tag:"(0014,4022)",vr:"DS",name:"PulseWidth",vm:"1",version:"DICOM/DICONDE"},"(0014,4024)":{tag:"(0014,4024)",vr:"DS",name:"ExcitationFrequency",vm:"1",version:"DICOM/DICONDE"},"(0014,4026)":{tag:"(0014,4026)",vr:"CS",name:"ModulationType",vm:"1",version:"DICOM/DICONDE"},"(0014,4028)":{tag:"(0014,4028)",vr:"DS",name:"Damping",vm:"1",version:"DICOM/DICONDE"},"(0014,4030)":{tag:"(0014,4030)",vr:"SQ",name:"ReceiverSettingsSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,4031)":{tag:"(0014,4031)",vr:"DS",name:"AcquiredSoundpathLength",vm:"1",version:"DICOM/DICONDE"},"(0014,4032)":{tag:"(0014,4032)",vr:"CS",name:"AcquisitionCompressionType",vm:"1",version:"DICOM/DICONDE"},"(0014,4033)":{tag:"(0014,4033)",vr:"IS",name:"AcquisitionSampleSize",vm:"1",version:"DICOM/DICONDE"},"(0014,4034)":{tag:"(0014,4034)",vr:"DS",name:"RectifierSmoothing",vm:"1",version:"DICOM/DICONDE"},"(0014,4035)":{tag:"(0014,4035)",vr:"SQ",name:"DACSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,4036)":{tag:"(0014,4036)",vr:"CS",name:"DACType",vm:"1",version:"DICOM/DICONDE"},"(0014,4038)":{tag:"(0014,4038)",vr:"DS",name:"DACGainPoints",vm:"1-n",version:"DICOM/DICONDE"},"(0014,403A)":{tag:"(0014,403A)",vr:"DS",name:"DACTimePoints",vm:"1-n",version:"DICOM/DICONDE"},"(0014,403C)":{tag:"(0014,403C)",vr:"DS",name:"DACAmplitude",vm:"1-n",version:"DICOM/DICONDE"},"(0014,4040)":{tag:"(0014,4040)",vr:"SQ",name:"PreAmplifierSettingsSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,4050)":{tag:"(0014,4050)",vr:"SQ",name:"TransmitTransducerSettingsSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,4051)":{tag:"(0014,4051)",vr:"SQ",name:"ReceiveTransducerSettingsSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,4052)":{tag:"(0014,4052)",vr:"DS",name:"IncidentAngle",vm:"1",version:"DICOM/DICONDE"},"(0014,4054)":{tag:"(0014,4054)",vr:"ST",name:"CouplingTechnique",vm:"1",version:"DICOM/DICONDE"},"(0014,4056)":{tag:"(0014,4056)",vr:"ST",name:"CouplingMedium",vm:"1",version:"DICOM/DICONDE"},"(0014,4057)":{tag:"(0014,4057)",vr:"DS",name:"CouplingVelocity",vm:"1",version:"DICOM/DICONDE"},"(0014,4058)":{tag:"(0014,4058)",vr:"DS",name:"ProbeCenterLocationX",vm:"1",version:"DICOM/DICONDE"},"(0014,4059)":{tag:"(0014,4059)",vr:"DS",name:"ProbeCenterLocationZ",vm:"1",version:"DICOM/DICONDE"},"(0014,405A)":{tag:"(0014,405A)",vr:"DS",name:"SoundPathLength",vm:"1",version:"DICOM/DICONDE"},"(0014,405C)":{tag:"(0014,405C)",vr:"ST",name:"DelayLawIdentifier",vm:"1",version:"DICOM/DICONDE"},"(0014,4060)":{tag:"(0014,4060)",vr:"SQ",name:"GateSettingsSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,4062)":{tag:"(0014,4062)",vr:"DS",name:"GateThreshold",vm:"1",version:"DICOM/DICONDE"},"(0014,4064)":{tag:"(0014,4064)",vr:"DS",name:"VelocityOfSound",vm:"1",version:"DICOM/DICONDE"},"(0014,4070)":{tag:"(0014,4070)",vr:"SQ",name:"CalibrationSettingsSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,4072)":{tag:"(0014,4072)",vr:"ST",name:"CalibrationProcedure",vm:"1",version:"DICOM/DICONDE"},"(0014,4074)":{tag:"(0014,4074)",vr:"SH",name:"ProcedureVersion",vm:"1",version:"DICOM/DICONDE"},"(0014,4076)":{tag:"(0014,4076)",vr:"DA",name:"ProcedureCreationDate",vm:"1",version:"DICOM/DICONDE"},"(0014,4078)":{tag:"(0014,4078)",vr:"DA",name:"ProcedureExpirationDate",vm:"1",version:"DICOM/DICONDE"},"(0014,407A)":{tag:"(0014,407A)",vr:"DA",name:"ProcedureLastModifiedDate",vm:"1",version:"DICOM/DICONDE"},"(0014,407C)":{tag:"(0014,407C)",vr:"TM",name:"CalibrationTime",vm:"1-n",version:"DICOM/DICONDE"},"(0014,407E)":{tag:"(0014,407E)",vr:"DA",name:"CalibrationDate",vm:"1-n",version:"DICOM/DICONDE"},"(0014,4080)":{tag:"(0014,4080)",vr:"SQ",name:"ProbeDriveEquipmentSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,4081)":{tag:"(0014,4081)",vr:"CS",name:"DriveType",vm:"1",version:"DICOM/DICONDE"},"(0014,4082)":{tag:"(0014,4082)",vr:"LT",name:"ProbeDriveNotes",vm:"1",version:"DICOM/DICONDE"},"(0014,4083)":{tag:"(0014,4083)",vr:"SQ",name:"DriveProbeSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,4084)":{tag:"(0014,4084)",vr:"DS",name:"ProbeInductance",vm:"1",version:"DICOM/DICONDE"},"(0014,4085)":{tag:"(0014,4085)",vr:"DS",name:"ProbeResistance",vm:"1",version:"DICOM/DICONDE"},"(0014,4086)":{tag:"(0014,4086)",vr:"SQ",name:"ReceiveProbeSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,4087)":{tag:"(0014,4087)",vr:"SQ",name:"ProbeDriveSettingsSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,4088)":{tag:"(0014,4088)",vr:"DS",name:"BridgeResistors",vm:"1",version:"DICOM/DICONDE"},"(0014,4089)":{tag:"(0014,4089)",vr:"DS",name:"ProbeOrientationAngle",vm:"1",version:"DICOM/DICONDE"},"(0014,408B)":{tag:"(0014,408B)",vr:"DS",name:"UserSelectedGainY",vm:"1",version:"DICOM/DICONDE"},"(0014,408C)":{tag:"(0014,408C)",vr:"DS",name:"UserSelectedPhase",vm:"1",version:"DICOM/DICONDE"},"(0014,408D)":{tag:"(0014,408D)",vr:"DS",name:"UserSelectedOffsetX",vm:"1",version:"DICOM/DICONDE"},"(0014,408E)":{tag:"(0014,408E)",vr:"DS",name:"UserSelectedOffsetY",vm:"1",version:"DICOM/DICONDE"},"(0014,4091)":{tag:"(0014,4091)",vr:"SQ",name:"ChannelSettingsSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,4092)":{tag:"(0014,4092)",vr:"DS",name:"ChannelThreshold",vm:"1",version:"DICOM/DICONDE"},"(0014,409A)":{tag:"(0014,409A)",vr:"SQ",name:"ScannerSettingsSequence",vm:"1",version:"DICOM/DICONDE"},"(0014,409B)":{tag:"(0014,409B)",vr:"ST",name:"ScanProcedure",vm:"1",version:"DICOM/DICONDE"},"(0014,409C)":{tag:"(0014,409C)",vr:"DS",name:"TranslationRateX",vm:"1",version:"DICOM/DICONDE"},"(0014,409D)":{tag:"(0014,409D)",vr:"DS",name:"TranslationRateY",vm:"1",version:"DICOM/DICONDE"},"(0014,409F)":{tag:"(0014,409F)",vr:"DS",name:"ChannelOverlap",vm:"1",version:"DICOM/DICONDE"},"(0014,40A0)":{tag:"(0014,40A0)",vr:"LO",name:"ImageQualityIndicatorType",vm:"1",version:"DICOM/DICONDE"},"(0014,40A1)":{tag:"(0014,40A1)",vr:"LO",name:"ImageQualityIndicatorMaterial",vm:"1",version:"DICOM/DICONDE"},"(0014,40A2)":{tag:"(0014,40A2)",vr:"LO",name:"ImageQualityIndicatorSize",vm:"1",version:"DICOM/DICONDE"},"(0014,5002)":{tag:"(0014,5002)",vr:"IS",name:"LINACEnergy",vm:"1",version:"DICOM/DICONDE"},"(0014,5004)":{tag:"(0014,5004)",vr:"IS",name:"LINACOutput",vm:"1",version:"DICOM/DICONDE"},"(0014,5100)":{tag:"(0014,5100)",vr:"US",name:"ActiveAperture",vm:"1",version:"DICOM/DICONDE"},"(0014,5101)":{tag:"(0014,5101)",vr:"DS",name:"TotalAperture",vm:"1",version:"DICOM/DICONDE"},"(0014,5102)":{tag:"(0014,5102)",vr:"DS",name:"ApertureElevation",vm:"1",version:"DICOM/DICONDE"},"(0014,5103)":{tag:"(0014,5103)",vr:"DS",name:"MainLobeAngle",vm:"1",version:"DICOM/DICONDE"},"(0014,5104)":{tag:"(0014,5104)",vr:"DS",name:"MainRoofAngle",vm:"1",version:"DICOM/DICONDE"},"(0014,5105)":{tag:"(0014,5105)",vr:"CS",name:"ConnectorType",vm:"1",version:"DICOM/DICONDE"},"(0014,5106)":{tag:"(0014,5106)",vr:"SH",name:"WedgeModelNumber",vm:"1",version:"DICOM/DICONDE"},"(0014,5107)":{tag:"(0014,5107)",vr:"DS",name:"WedgeAngleFloat",vm:"1",version:"DICOM/DICONDE"},"(0014,5108)":{tag:"(0014,5108)",vr:"DS",name:"WedgeRoofAngle",vm:"1",version:"DICOM/DICONDE"},"(0014,5109)":{tag:"(0014,5109)",vr:"CS",name:"WedgeElement1Position",vm:"1",version:"DICOM/DICONDE"},"(0014,510A)":{tag:"(0014,510A)",vr:"DS",name:"WedgeMaterialVelocity",vm:"1",version:"DICOM/DICONDE"},"(0014,510B)":{tag:"(0014,510B)",vr:"SH",name:"WedgeMaterial",vm:"1",version:"DICOM/DICONDE"},"(0014,510C)":{tag:"(0014,510C)",vr:"DS",name:"WedgeOffsetZ",vm:"1",version:"DICOM/DICONDE"},"(0014,510D)":{tag:"(0014,510D)",vr:"DS",name:"WedgeOriginOffsetX",vm:"1",version:"DICOM/DICONDE"},"(0014,510E)":{tag:"(0014,510E)",vr:"DS",name:"WedgeTimeDelay",vm:"1",version:"DICOM/DICONDE"},"(0014,510F)":{tag:"(0014,510F)",vr:"SH",name:"WedgeName",vm:"1",version:"DICOM/DICONDE"},"(0014,5110)":{tag:"(0014,5110)",vr:"SH",name:"WedgeManufacturerName",vm:"1",version:"DICOM/DICONDE"},"(0014,5111)":{tag:"(0014,5111)",vr:"LO",name:"WedgeDescription",vm:"1",version:"DICOM/DICONDE"},"(0014,5112)":{tag:"(0014,5112)",vr:"DS",name:"NominalBeamAngle",vm:"1",version:"DICOM/DICONDE"},"(0014,5113)":{tag:"(0014,5113)",vr:"DS",name:"WedgeOffsetX",vm:"1",version:"DICOM/DICONDE"},"(0014,5114)":{tag:"(0014,5114)",vr:"DS",name:"WedgeOffsetY",vm:"1",version:"DICOM/DICONDE"},"(0014,5115)":{tag:"(0014,5115)",vr:"DS",name:"WedgeTotalLength",vm:"1",version:"DICOM/DICONDE"},"(0014,5116)":{tag:"(0014,5116)",vr:"DS",name:"WedgeInContactLength",vm:"1",version:"DICOM/DICONDE"},"(0014,5117)":{tag:"(0014,5117)",vr:"DS",name:"WedgeFrontGap",vm:"1",version:"DICOM/DICONDE"},"(0014,5118)":{tag:"(0014,5118)",vr:"DS",name:"WedgeTotalHeight",vm:"1",version:"DICOM/DICONDE"},"(0014,5119)":{tag:"(0014,5119)",vr:"DS",name:"WedgeFrontHeight",vm:"1",version:"DICOM/DICONDE"},"(0014,511A)":{tag:"(0014,511A)",vr:"DS",name:"WedgeRearHeight",vm:"1",version:"DICOM/DICONDE"},"(0014,511B)":{tag:"(0014,511B)",vr:"DS",name:"WedgeTotalWidth",vm:"1",version:"DICOM/DICONDE"},"(0014,511C)":{tag:"(0014,511C)",vr:"DS",name:"WedgeInContactWidth",vm:"1",version:"DICOM/DICONDE"},"(0014,511D)":{tag:"(0014,511D)",vr:"DS",name:"WedgeChamferHeight",vm:"1",version:"DICOM/DICONDE"},"(0014,511E)":{tag:"(0014,511E)",vr:"CS",name:"WedgeCurve",vm:"1",version:"DICOM/DICONDE"},"(0014,511F)":{tag:"(0014,511F)",vr:"DS",name:"RadiusAlongWedge",vm:"1",version:"DICOM/DICONDE"},"(0012,0086)":{tag:"(0012,0086)",vr:"DA",name:"EthicsCommitteeApprovalEffectivenessStartDate",vm:"1",version:"DICOM"},"(0012,0087)":{tag:"(0012,0087)",vr:"DA",name:"EthicsCommitteeApprovalEffectivenessEndDate",vm:"1",version:"DICOM"},"(0014,0100)":{tag:"(0014,0100)",vr:"LO",name:"ComponentWelderIDs",vm:"1-n",version:"DICOM"},"(0014,0101)":{tag:"(0014,0101)",vr:"CS",name:"SecondaryApprovalStatus",vm:"1",version:"DICOM"},"(0014,0102)":{tag:"(0014,0102)",vr:"DA",name:"SecondaryReviewDate",vm:"1",version:"DICOM"},"(0014,0103)":{tag:"(0014,0103)",vr:"TM",name:"SecondaryReviewTime",vm:"1",version:"DICOM"},"(0014,0104)":{tag:"(0014,0104)",vr:"PN",name:"SecondaryReviewerName",vm:"1",version:"DICOM"},"(0014,0105)":{tag:"(0014,0105)",vr:"ST",name:"RepairID",vm:"1",version:"DICOM"},"(0014,0106)":{tag:"(0014,0106)",vr:"SQ",name:"MultipleComponentApprovalSequence",vm:"1",version:"DICOM"},"(0014,0107)":{tag:"(0014,0107)",vr:"CS",name:"OtherApprovalStatus",vm:"1-n",version:"DICOM"},"(0014,0108)":{tag:"(0014,0108)",vr:"CS",name:"OtherSecondaryApprovalStatus",vm:"1-n",version:"DICOM"},"(0016,0001)":{tag:"(0016,0001)",vr:"DS",name:"WhitePoint",vm:"1",version:"DICOM"},"(0016,0002)":{tag:"(0016,0002)",vr:"DS",name:"PrimaryChromaticities",vm:"3",version:"DICOM"},"(0016,0003)":{tag:"(0016,0003)",vr:"UT",name:"BatteryLevel",vm:"1",version:"DICOM"},"(0016,0004)":{tag:"(0016,0004)",vr:"DS",name:"ExposureTimeInSeconds",vm:"1",version:"DICOM"},"(0016,0005)":{tag:"(0016,0005)",vr:"DS",name:"FNumber",vm:"1",version:"DICOM"},"(0016,0006)":{tag:"(0016,0006)",vr:"IS",name:"OECFRows",vm:"1",version:"DICOM"},"(0016,0007)":{tag:"(0016,0007)",vr:"IS",name:"OECFColumns",vm:"1",version:"DICOM"},"(0016,0008)":{tag:"(0016,0008)",vr:"UC",name:"OECFColumnNames",vm:"1-n",version:"DICOM"},"(0016,0009)":{tag:"(0016,0009)",vr:"DS",name:"OECFValues",vm:"1-n",version:"DICOM"},"(0016,000A)":{tag:"(0016,000A)",vr:"IS",name:"SpatialFrequencyResponseRows",vm:"1",version:"DICOM"},"(0016,000B)":{tag:"(0016,000B)",vr:"IS",name:"SpatialFrequencyResponseColumns",vm:"1",version:"DICOM"},"(0016,000C)":{tag:"(0016,000C)",vr:"UC",name:"SpatialFrequencyResponseColumnNames",vm:"1-n",version:"DICOM"},"(0016,000D)":{tag:"(0016,000D)",vr:"DS",name:"SpatialFrequencyResponseValues",vm:"1-n",version:"DICOM"},"(0016,000E)":{tag:"(0016,000E)",vr:"IS",name:"ColorFilterArrayPatternRows",vm:"1",version:"DICOM"},"(0016,000F)":{tag:"(0016,000F)",vr:"IS",name:"ColorFilterArrayPatternColumns",vm:"1",version:"DICOM"},"(0016,0010)":{tag:"(0016,0010)",vr:"DS",name:"ColorFilterArrayPatternValues",vm:"1-n",version:"DICOM"},"(0016,0011)":{tag:"(0016,0011)",vr:"US",name:"FlashFiringStatus",vm:"1",version:"DICOM"},"(0016,0012)":{tag:"(0016,0012)",vr:"US",name:"FlashReturnStatus",vm:"1",version:"DICOM"},"(0016,0013)":{tag:"(0016,0013)",vr:"US",name:"FlashMode",vm:"1",version:"DICOM"},"(0016,0014)":{tag:"(0016,0014)",vr:"US",name:"FlashFunctionPresent",vm:"1",version:"DICOM"},"(0016,0015)":{tag:"(0016,0015)",vr:"US",name:"FlashRedEyeMode",vm:"1",version:"DICOM"},"(0016,0016)":{tag:"(0016,0016)",vr:"US",name:"ExposureProgram",vm:"1",version:"DICOM"},"(0016,0017)":{tag:"(0016,0017)",vr:"UT",name:"SpectralSensitivity",vm:"1",version:"DICOM"},"(0016,0018)":{tag:"(0016,0018)",vr:"IS",name:"PhotographicSensitivity",vm:"1",version:"DICOM"},"(0016,0019)":{tag:"(0016,0019)",vr:"IS",name:"SelfTimerMode",vm:"1",version:"DICOM"},"(0016,001A)":{tag:"(0016,001A)",vr:"US",name:"SensitivityType",vm:"1",version:"DICOM"},"(0016,001B)":{tag:"(0016,001B)",vr:"IS",name:"StandardOutputSensitivity",vm:"1",version:"DICOM"},"(0016,001C)":{tag:"(0016,001C)",vr:"IS",name:"RecommendedExposureIndex",vm:"1",version:"DICOM"},"(0016,001D)":{tag:"(0016,001D)",vr:"IS",name:"ISOSpeed",vm:"1",version:"DICOM"},"(0016,001E)":{tag:"(0016,001E)",vr:"IS",name:"ISOSpeedLatitudeyyy",vm:"1",version:"DICOM"},"(0016,001F)":{tag:"(0016,001F)",vr:"IS",name:"ISOSpeedLatitudezzz",vm:"1",version:"DICOM"},"(0016,0020)":{tag:"(0016,0020)",vr:"UT",name:"EXIFVersion",vm:"1",version:"DICOM"},"(0016,0021)":{tag:"(0016,0021)",vr:"DS",name:"ShutterSpeedValue",vm:"1",version:"DICOM"},"(0016,0022)":{tag:"(0016,0022)",vr:"DS",name:"ApertureValue",vm:"1",version:"DICOM"},"(0016,0023)":{tag:"(0016,0023)",vr:"DS",name:"BrightnessValue",vm:"1",version:"DICOM"},"(0016,0024)":{tag:"(0016,0024)",vr:"DS",name:"ExposureBiasValue",vm:"1",version:"DICOM"},"(0016,0025)":{tag:"(0016,0025)",vr:"DS",name:"MaxApertureValue",vm:"1",version:"DICOM"},"(0016,0026)":{tag:"(0016,0026)",vr:"DS",name:"SubjectDistance",vm:"1",version:"DICOM"},"(0016,0027)":{tag:"(0016,0027)",vr:"US",name:"MeteringMode",vm:"1",version:"DICOM"},"(0016,0028)":{tag:"(0016,0028)",vr:"US",name:"LightSource",vm:"1",version:"DICOM"},"(0016,0029)":{tag:"(0016,0029)",vr:"DS",name:"FocalLength",vm:"1",version:"DICOM"},"(0016,002A)":{tag:"(0016,002A)",vr:"IS",name:"SubjectArea",vm:"2-4",version:"DICOM"},"(0016,002B)":{tag:"(0016,002B)",vr:"OB",name:"MakerNote",vm:"1",version:"DICOM"},"(0016,0030)":{tag:"(0016,0030)",vr:"DS",name:"Temperature",vm:"1",version:"DICOM"},"(0016,0031)":{tag:"(0016,0031)",vr:"DS",name:"Humidity",vm:"1",version:"DICOM"},"(0016,0032)":{tag:"(0016,0032)",vr:"DS",name:"Pressure",vm:"1",version:"DICOM"},"(0016,0033)":{tag:"(0016,0033)",vr:"DS",name:"WaterDepth",vm:"1",version:"DICOM"},"(0016,0034)":{tag:"(0016,0034)",vr:"DS",name:"Acceleration",vm:"1",version:"DICOM"},"(0016,0035)":{tag:"(0016,0035)",vr:"DS",name:"CameraElevationAngle",vm:"1",version:"DICOM"},"(0016,0036)":{tag:"(0016,0036)",vr:"DS",name:"FlashEnergy",vm:"1-2",version:"DICOM"},"(0016,0037)":{tag:"(0016,0037)",vr:"IS",name:"SubjectLocation",vm:"2",version:"DICOM"},"(0016,0038)":{tag:"(0016,0038)",vr:"DS",name:"PhotographicExposureIndex",vm:"1",version:"DICOM"},"(0016,0039)":{tag:"(0016,0039)",vr:"US",name:"SensingMethod",vm:"1",version:"DICOM"},"(0016,003A)":{tag:"(0016,003A)",vr:"US",name:"FileSource",vm:"1",version:"DICOM"},"(0016,003B)":{tag:"(0016,003B)",vr:"US",name:"SceneType",vm:"1",version:"DICOM"},"(0016,0041)":{tag:"(0016,0041)",vr:"US",name:"CustomRendered",vm:"1",version:"DICOM"},"(0016,0042)":{tag:"(0016,0042)",vr:"US",name:"ExposureMode",vm:"1",version:"DICOM"},"(0016,0043)":{tag:"(0016,0043)",vr:"US",name:"WhiteBalance",vm:"1",version:"DICOM"},"(0016,0044)":{tag:"(0016,0044)",vr:"DS",name:"DigitalZoomRatio",vm:"1",version:"DICOM"},"(0016,0045)":{tag:"(0016,0045)",vr:"IS",name:"FocalLengthIn35mmFilm",vm:"1",version:"DICOM"},"(0016,0046)":{tag:"(0016,0046)",vr:"US",name:"SceneCaptureType",vm:"1",version:"DICOM"},"(0016,0047)":{tag:"(0016,0047)",vr:"US",name:"GainControl",vm:"1",version:"DICOM"},"(0016,0048)":{tag:"(0016,0048)",vr:"US",name:"Contrast",vm:"1",version:"DICOM"},"(0016,0049)":{tag:"(0016,0049)",vr:"US",name:"Saturation",vm:"1",version:"DICOM"},"(0016,004A)":{tag:"(0016,004A)",vr:"US",name:"Sharpness",vm:"1",version:"DICOM"},"(0016,004B)":{tag:"(0016,004B)",vr:"OB",name:"DeviceSettingDescription",vm:"1",version:"DICOM"},"(0016,004C)":{tag:"(0016,004C)",vr:"US",name:"SubjectDistanceRange",vm:"1",version:"DICOM"},"(0016,004D)":{tag:"(0016,004D)",vr:"UT",name:"CameraOwnerName",vm:"1",version:"DICOM"},"(0016,004E)":{tag:"(0016,004E)",vr:"DS",name:"LensSpecification",vm:"4",version:"DICOM"},"(0016,004F)":{tag:"(0016,004F)",vr:"UT",name:"LensMake",vm:"1",version:"DICOM"},"(0016,0050)":{tag:"(0016,0050)",vr:"UT",name:"LensModel",vm:"1",version:"DICOM"},"(0016,0051)":{tag:"(0016,0051)",vr:"UT",name:"LensSerialNumber",vm:"1",version:"DICOM"},"(0016,0061)":{tag:"(0016,0061)",vr:"CS",name:"InteroperabilityIndex",vm:"1",version:"DICOM"},"(0016,0062)":{tag:"(0016,0062)",vr:"OB",name:"InteroperabilityVersion",vm:"1",version:"DICOM"},"(0016,0070)":{tag:"(0016,0070)",vr:"OB",name:"GPSVersionID",vm:"1",version:"DICOM"},"(0016,0071)":{tag:"(0016,0071)",vr:"CS",name:"GPSLatitudeRef",vm:"1",version:"DICOM"},"(0016,0072)":{tag:"(0016,0072)",vr:"DS",name:"GPSLatitude",vm:"3",version:"DICOM"},"(0016,0073)":{tag:"(0016,0073)",vr:"CS",name:"GPSLongitudeRef",vm:"1",version:"DICOM"},"(0016,0074)":{tag:"(0016,0074)",vr:"DS",name:"GPSLongitude",vm:"3",version:"DICOM"},"(0016,0075)":{tag:"(0016,0075)",vr:"US",name:"GPSAltitudeRef",vm:"1",version:"DICOM"},"(0016,0076)":{tag:"(0016,0076)",vr:"DS",name:"GPSAltitude",vm:"1",version:"DICOM"},"(0016,0077)":{tag:"(0016,0077)",vr:"DT",name:"GPSTimeStamp",vm:"1",version:"DICOM"},"(0016,0078)":{tag:"(0016,0078)",vr:"UT",name:"GPSSatellites",vm:"1",version:"DICOM"},"(0016,0079)":{tag:"(0016,0079)",vr:"CS",name:"GPSStatus",vm:"1",version:"DICOM"},"(0016,007A)":{tag:"(0016,007A)",vr:"CS",name:"GPSMeasureMode",vm:"1",version:"DICOM"},"(0016,007B)":{tag:"(0016,007B)",vr:"DS",name:"GPSDOP",vm:"1",version:"DICOM"},"(0016,007C)":{tag:"(0016,007C)",vr:"CS",name:"GPSSpeedRef",vm:"1",version:"DICOM"},"(0016,007D)":{tag:"(0016,007D)",vr:"DS",name:"GPSSpeed",vm:"1",version:"DICOM"},"(0016,007E)":{tag:"(0016,007E)",vr:"CS",name:"GPSTrackRef",vm:"1",version:"DICOM"},"(0016,007F)":{tag:"(0016,007F)",vr:"DS",name:"GPSTrack",vm:"1",version:"DICOM"},"(0016,0080)":{tag:"(0016,0080)",vr:"CS",name:"GPSImgDirectionRef",vm:"1",version:"DICOM"},"(0016,0081)":{tag:"(0016,0081)",vr:"DS",name:"GPSImgDirection",vm:"1",version:"DICOM"},"(0016,0082)":{tag:"(0016,0082)",vr:"UT",name:"GPSMapDatum",vm:"1",version:"DICOM"},"(0016,0083)":{tag:"(0016,0083)",vr:"CS",name:"GPSDestLatitudeRef",vm:"1",version:"DICOM"},"(0016,0084)":{tag:"(0016,0084)",vr:"DS",name:"GPSDestLatitude",vm:"3",version:"DICOM"},"(0016,0085)":{tag:"(0016,0085)",vr:"CS",name:"GPSDestLongitudeRef",vm:"1",version:"DICOM"},"(0016,0086)":{tag:"(0016,0086)",vr:"DS",name:"GPSDestLongitude",vm:"3",version:"DICOM"},"(0016,0087)":{tag:"(0016,0087)",vr:"CS",name:"GPSDestBearingRef",vm:"1",version:"DICOM"},"(0016,0088)":{tag:"(0016,0088)",vr:"DS",name:"GPSDestBearing",vm:"1",version:"DICOM"},"(0016,0089)":{tag:"(0016,0089)",vr:"CS",name:"GPSDestDistanceRef",vm:"1",version:"DICOM"},"(0016,008A)":{tag:"(0016,008A)",vr:"DS",name:"GPSDestDistance",vm:"1",version:"DICOM"},"(0016,008B)":{tag:"(0016,008B)",vr:"OB",name:"GPSProcessingMethod",vm:"1",version:"DICOM"},"(0016,008C)":{tag:"(0016,008C)",vr:"OB",name:"GPSAreaInformation",vm:"1",version:"DICOM"},"(0016,008D)":{tag:"(0016,008D)",vr:"DT",name:"GPSDateStamp",vm:"1",version:"DICOM"},"(0016,008E)":{tag:"(0016,008E)",vr:"IS",name:"GPSDifferential",vm:"1",version:"DICOM"},"(0016,1001)":{tag:"(0016,1001)",vr:"CS",name:"LightSourcePolarization",vm:"1",version:"DICOM"},"(0016,1002)":{tag:"(0016,1002)",vr:"DS",name:"EmitterColorTemperature",vm:"1",version:"DICOM"},"(0016,1003)":{tag:"(0016,1003)",vr:"CS",name:"ContactMethod",vm:"1",version:"DICOM"},"(0016,1004)":{tag:"(0016,1004)",vr:"CS",name:"ImmersionMedia",vm:"1-n",version:"DICOM"},"(0016,1005)":{tag:"(0016,1005)",vr:"DS",name:"OpticalMagnificationFactor",vm:"1",version:"DICOM"},"(0018,0010)":{tag:"(0018,0010)",vr:"LO",name:"ContrastBolusAgent",vm:"1",version:"DICOM"},"(0018,0012)":{tag:"(0018,0012)",vr:"SQ",name:"ContrastBolusAgentSequence",vm:"1",version:"DICOM"},"(0018,0013)":{tag:"(0018,0013)",vr:"FL",name:"ContrastBolusT1Relaxivity",vm:"1",version:"DICOM"},"(0018,0014)":{tag:"(0018,0014)",vr:"SQ",name:"ContrastBolusAdministrationRouteSequence",vm:"1",version:"DICOM"},"(0018,0015)":{tag:"(0018,0015)",vr:"CS",name:"BodyPartExamined",vm:"1",version:"DICOM"},"(0018,0020)":{tag:"(0018,0020)",vr:"CS",name:"ScanningSequence",vm:"1-n",version:"DICOM"},"(0018,0021)":{tag:"(0018,0021)",vr:"CS",name:"SequenceVariant",vm:"1-n",version:"DICOM"},"(0018,0022)":{tag:"(0018,0022)",vr:"CS",name:"ScanOptions",vm:"1-n",version:"DICOM"},"(0018,0023)":{tag:"(0018,0023)",vr:"CS",name:"MRAcquisitionType",vm:"1",version:"DICOM"},"(0018,0024)":{tag:"(0018,0024)",vr:"SH",name:"SequenceName",vm:"1",version:"DICOM"},"(0018,0025)":{tag:"(0018,0025)",vr:"CS",name:"AngioFlag",vm:"1",version:"DICOM"},"(0018,0026)":{tag:"(0018,0026)",vr:"SQ",name:"InterventionDrugInformationSequence",vm:"1",version:"DICOM"},"(0018,0027)":{tag:"(0018,0027)",vr:"TM",name:"InterventionDrugStopTime",vm:"1",version:"DICOM"},"(0018,0028)":{tag:"(0018,0028)",vr:"DS",name:"InterventionDrugDose",vm:"1",version:"DICOM"},"(0018,0029)":{tag:"(0018,0029)",vr:"SQ",name:"InterventionDrugCodeSequence",vm:"1",version:"DICOM"},"(0018,002A)":{tag:"(0018,002A)",vr:"SQ",name:"AdditionalDrugSequence",vm:"1",version:"DICOM"},"(0018,0031)":{tag:"(0018,0031)",vr:"LO",name:"Radiopharmaceutical",vm:"1",version:"DICOM"},"(0018,0034)":{tag:"(0018,0034)",vr:"LO",name:"InterventionDrugName",vm:"1",version:"DICOM"},"(0018,0035)":{tag:"(0018,0035)",vr:"TM",name:"InterventionDrugStartTime",vm:"1",version:"DICOM"},"(0018,0036)":{tag:"(0018,0036)",vr:"SQ",name:"InterventionSequence",vm:"1",version:"DICOM"},"(0018,0038)":{tag:"(0018,0038)",vr:"CS",name:"InterventionStatus",vm:"1",version:"DICOM"},"(0018,003A)":{tag:"(0018,003A)",vr:"ST",name:"InterventionDescription",vm:"1",version:"DICOM"},"(0018,0040)":{tag:"(0018,0040)",vr:"IS",name:"CineRate",vm:"1",version:"DICOM"},"(0018,0042)":{tag:"(0018,0042)",vr:"CS",name:"InitialCineRunState",vm:"1",version:"DICOM"},"(0018,0050)":{tag:"(0018,0050)",vr:"DS",name:"SliceThickness",vm:"1",version:"DICOM"},"(0018,0060)":{tag:"(0018,0060)",vr:"DS",name:"KVP",vm:"1",version:"DICOM"},"(0018,0070)":{tag:"(0018,0070)",vr:"IS",name:"CountsAccumulated",vm:"1",version:"DICOM"},"(0018,0071)":{tag:"(0018,0071)",vr:"CS",name:"AcquisitionTerminationCondition",vm:"1",version:"DICOM"},"(0018,0072)":{tag:"(0018,0072)",vr:"DS",name:"EffectiveDuration",vm:"1",version:"DICOM"},"(0018,0073)":{tag:"(0018,0073)",vr:"CS",name:"AcquisitionStartCondition",vm:"1",version:"DICOM"},"(0018,0074)":{tag:"(0018,0074)",vr:"IS",name:"AcquisitionStartConditionData",vm:"1",version:"DICOM"},"(0018,0075)":{tag:"(0018,0075)",vr:"IS",name:"AcquisitionTerminationConditionData",vm:"1",version:"DICOM"},"(0018,0080)":{tag:"(0018,0080)",vr:"DS",name:"RepetitionTime",vm:"1",version:"DICOM"},"(0018,0081)":{tag:"(0018,0081)",vr:"DS",name:"EchoTime",vm:"1",version:"DICOM"},"(0018,0082)":{tag:"(0018,0082)",vr:"DS",name:"InversionTime",vm:"1",version:"DICOM"},"(0018,0083)":{tag:"(0018,0083)",vr:"DS",name:"NumberOfAverages",vm:"1",version:"DICOM"},"(0018,0084)":{tag:"(0018,0084)",vr:"DS",name:"ImagingFrequency",vm:"1",version:"DICOM"},"(0018,0085)":{tag:"(0018,0085)",vr:"SH",name:"ImagedNucleus",vm:"1",version:"DICOM"},"(0018,0086)":{tag:"(0018,0086)",vr:"IS",name:"EchoNumbers",vm:"1-n",version:"DICOM"},"(0018,0087)":{tag:"(0018,0087)",vr:"DS",name:"MagneticFieldStrength",vm:"1",version:"DICOM"},"(0018,0088)":{tag:"(0018,0088)",vr:"DS",name:"SpacingBetweenSlices",vm:"1",version:"DICOM"},"(0018,0089)":{tag:"(0018,0089)",vr:"IS",name:"NumberOfPhaseEncodingSteps",vm:"1",version:"DICOM"},"(0018,0090)":{tag:"(0018,0090)",vr:"DS",name:"DataCollectionDiameter",vm:"1",version:"DICOM"},"(0018,0091)":{tag:"(0018,0091)",vr:"IS",name:"EchoTrainLength",vm:"1",version:"DICOM"},"(0018,0093)":{tag:"(0018,0093)",vr:"DS",name:"PercentSampling",vm:"1",version:"DICOM"},"(0018,0094)":{tag:"(0018,0094)",vr:"DS",name:"PercentPhaseFieldOfView",vm:"1",version:"DICOM"},"(0018,0095)":{tag:"(0018,0095)",vr:"DS",name:"PixelBandwidth",vm:"1",version:"DICOM"},"(0018,1000)":{tag:"(0018,1000)",vr:"LO",name:"DeviceSerialNumber",vm:"1",version:"DICOM"},"(0018,1002)":{tag:"(0018,1002)",vr:"UI",name:"DeviceUID",vm:"1",version:"DICOM"},"(0018,1003)":{tag:"(0018,1003)",vr:"LO",name:"DeviceID",vm:"1",version:"DICOM"},"(0018,1004)":{tag:"(0018,1004)",vr:"LO",name:"PlateID",vm:"1",version:"DICOM"},"(0018,1005)":{tag:"(0018,1005)",vr:"LO",name:"GeneratorID",vm:"1",version:"DICOM"},"(0018,1006)":{tag:"(0018,1006)",vr:"LO",name:"GridID",vm:"1",version:"DICOM"},"(0018,1007)":{tag:"(0018,1007)",vr:"LO",name:"CassetteID",vm:"1",version:"DICOM"},"(0018,1008)":{tag:"(0018,1008)",vr:"LO",name:"GantryID",vm:"1",version:"DICOM"},"(0018,1009)":{tag:"(0018,1009)",vr:"UT",name:"UniqueDeviceIdentifier",vm:"1",version:"DICOM"},"(0018,100A)":{tag:"(0018,100A)",vr:"SQ",name:"UDISequence",vm:"1",version:"DICOM"},"(0018,100B)":{tag:"(0018,100B)",vr:"UI",name:"ManufacturerDeviceClassUID",vm:"1-n",version:"DICOM"},"(0018,1010)":{tag:"(0018,1010)",vr:"LO",name:"SecondaryCaptureDeviceID",vm:"1",version:"DICOM"},"(0018,1012)":{tag:"(0018,1012)",vr:"DA",name:"DateOfSecondaryCapture",vm:"1",version:"DICOM"},"(0018,1014)":{tag:"(0018,1014)",vr:"TM",name:"TimeOfSecondaryCapture",vm:"1",version:"DICOM"},"(0018,1016)":{tag:"(0018,1016)",vr:"LO",name:"SecondaryCaptureDeviceManufacturer",vm:"1",version:"DICOM"},"(0018,1018)":{tag:"(0018,1018)",vr:"LO",name:"SecondaryCaptureDeviceManufacturerModelName",vm:"1",version:"DICOM"},"(0018,1019)":{tag:"(0018,1019)",vr:"LO",name:"SecondaryCaptureDeviceSoftwareVersions",vm:"1-n",version:"DICOM"},"(0018,1020)":{tag:"(0018,1020)",vr:"LO",name:"SoftwareVersions",vm:"1-n",version:"DICOM"},"(0018,1022)":{tag:"(0018,1022)",vr:"SH",name:"VideoImageFormatAcquired",vm:"1",version:"DICOM"},"(0018,1023)":{tag:"(0018,1023)",vr:"LO",name:"DigitalImageFormatAcquired",vm:"1",version:"DICOM"},"(0018,1030)":{tag:"(0018,1030)",vr:"LO",name:"ProtocolName",vm:"1",version:"DICOM"},"(0018,1040)":{tag:"(0018,1040)",vr:"LO",name:"ContrastBolusRoute",vm:"1",version:"DICOM"},"(0018,1041)":{tag:"(0018,1041)",vr:"DS",name:"ContrastBolusVolume",vm:"1",version:"DICOM"},"(0018,1042)":{tag:"(0018,1042)",vr:"TM",name:"ContrastBolusStartTime",vm:"1",version:"DICOM"},"(0018,1043)":{tag:"(0018,1043)",vr:"TM",name:"ContrastBolusStopTime",vm:"1",version:"DICOM"},"(0018,1044)":{tag:"(0018,1044)",vr:"DS",name:"ContrastBolusTotalDose",vm:"1",version:"DICOM"},"(0018,1045)":{tag:"(0018,1045)",vr:"IS",name:"SyringeCounts",vm:"1",version:"DICOM"},"(0018,1046)":{tag:"(0018,1046)",vr:"DS",name:"ContrastFlowRate",vm:"1-n",version:"DICOM"},"(0018,1047)":{tag:"(0018,1047)",vr:"DS",name:"ContrastFlowDuration",vm:"1-n",version:"DICOM"},"(0018,1048)":{tag:"(0018,1048)",vr:"CS",name:"ContrastBolusIngredient",vm:"1",version:"DICOM"},"(0018,1049)":{tag:"(0018,1049)",vr:"DS",name:"ContrastBolusIngredientConcentration",vm:"1",version:"DICOM"},"(0018,1050)":{tag:"(0018,1050)",vr:"DS",name:"SpatialResolution",vm:"1",version:"DICOM"},"(0018,1060)":{tag:"(0018,1060)",vr:"DS",name:"TriggerTime",vm:"1",version:"DICOM"},"(0018,1061)":{tag:"(0018,1061)",vr:"LO",name:"TriggerSourceOrType",vm:"1",version:"DICOM"},"(0018,1062)":{tag:"(0018,1062)",vr:"IS",name:"NominalInterval",vm:"1",version:"DICOM"},"(0018,1063)":{tag:"(0018,1063)",vr:"DS",name:"FrameTime",vm:"1",version:"DICOM"},"(0018,1064)":{tag:"(0018,1064)",vr:"LO",name:"CardiacFramingType",vm:"1",version:"DICOM"},"(0018,1065)":{tag:"(0018,1065)",vr:"DS",name:"FrameTimeVector",vm:"1-n",version:"DICOM"},"(0018,1066)":{tag:"(0018,1066)",vr:"DS",name:"FrameDelay",vm:"1",version:"DICOM"},"(0018,1067)":{tag:"(0018,1067)",vr:"DS",name:"ImageTriggerDelay",vm:"1",version:"DICOM"},"(0018,1068)":{tag:"(0018,1068)",vr:"DS",name:"MultiplexGroupTimeOffset",vm:"1",version:"DICOM"},"(0018,1069)":{tag:"(0018,1069)",vr:"DS",name:"TriggerTimeOffset",vm:"1",version:"DICOM"},"(0018,106A)":{tag:"(0018,106A)",vr:"CS",name:"SynchronizationTrigger",vm:"1",version:"DICOM"},"(0018,106C)":{tag:"(0018,106C)",vr:"US",name:"SynchronizationChannel",vm:"2",version:"DICOM"},"(0018,106E)":{tag:"(0018,106E)",vr:"UL",name:"TriggerSamplePosition",vm:"1",version:"DICOM"},"(0018,1070)":{tag:"(0018,1070)",vr:"LO",name:"RadiopharmaceuticalRoute",vm:"1",version:"DICOM"},"(0018,1071)":{tag:"(0018,1071)",vr:"DS",name:"RadiopharmaceuticalVolume",vm:"1",version:"DICOM"},"(0018,1072)":{tag:"(0018,1072)",vr:"TM",name:"RadiopharmaceuticalStartTime",vm:"1",version:"DICOM"},"(0018,1073)":{tag:"(0018,1073)",vr:"TM",name:"RadiopharmaceuticalStopTime",vm:"1",version:"DICOM"},"(0018,1074)":{tag:"(0018,1074)",vr:"DS",name:"RadionuclideTotalDose",vm:"1",version:"DICOM"},"(0018,1075)":{tag:"(0018,1075)",vr:"DS",name:"RadionuclideHalfLife",vm:"1",version:"DICOM"},"(0018,1076)":{tag:"(0018,1076)",vr:"DS",name:"RadionuclidePositronFraction",vm:"1",version:"DICOM"},"(0018,1077)":{tag:"(0018,1077)",vr:"DS",name:"RadiopharmaceuticalSpecificActivity",vm:"1",version:"DICOM"},"(0018,1078)":{tag:"(0018,1078)",vr:"DT",name:"RadiopharmaceuticalStartDateTime",vm:"1",version:"DICOM"},"(0018,1079)":{tag:"(0018,1079)",vr:"DT",name:"RadiopharmaceuticalStopDateTime",vm:"1",version:"DICOM"},"(0018,1080)":{tag:"(0018,1080)",vr:"CS",name:"BeatRejectionFlag",vm:"1",version:"DICOM"},"(0018,1081)":{tag:"(0018,1081)",vr:"IS",name:"LowRRValue",vm:"1",version:"DICOM"},"(0018,1082)":{tag:"(0018,1082)",vr:"IS",name:"HighRRValue",vm:"1",version:"DICOM"},"(0018,1083)":{tag:"(0018,1083)",vr:"IS",name:"IntervalsAcquired",vm:"1",version:"DICOM"},"(0018,1084)":{tag:"(0018,1084)",vr:"IS",name:"IntervalsRejected",vm:"1",version:"DICOM"},"(0018,1085)":{tag:"(0018,1085)",vr:"LO",name:"PVCRejection",vm:"1",version:"DICOM"},"(0018,1086)":{tag:"(0018,1086)",vr:"IS",name:"SkipBeats",vm:"1",version:"DICOM"},"(0018,1088)":{tag:"(0018,1088)",vr:"IS",name:"HeartRate",vm:"1",version:"DICOM"},"(0018,1090)":{tag:"(0018,1090)",vr:"IS",name:"CardiacNumberOfImages",vm:"1",version:"DICOM"},"(0018,1094)":{tag:"(0018,1094)",vr:"IS",name:"TriggerWindow",vm:"1",version:"DICOM"},"(0018,1100)":{tag:"(0018,1100)",vr:"DS",name:"ReconstructionDiameter",vm:"1",version:"DICOM"},"(0018,1110)":{tag:"(0018,1110)",vr:"DS",name:"DistanceSourceToDetector",vm:"1",version:"DICOM"},"(0018,1111)":{tag:"(0018,1111)",vr:"DS",name:"DistanceSourceToPatient",vm:"1",version:"DICOM"},"(0018,1114)":{tag:"(0018,1114)",vr:"DS",name:"EstimatedRadiographicMagnificationFactor",vm:"1",version:"DICOM"},"(0018,1120)":{tag:"(0018,1120)",vr:"DS",name:"GantryDetectorTilt",vm:"1",version:"DICOM"},"(0018,1121)":{tag:"(0018,1121)",vr:"DS",name:"GantryDetectorSlew",vm:"1",version:"DICOM"},"(0018,1130)":{tag:"(0018,1130)",vr:"DS",name:"TableHeight",vm:"1",version:"DICOM"},"(0018,1131)":{tag:"(0018,1131)",vr:"DS",name:"TableTraverse",vm:"1",version:"DICOM"},"(0018,1134)":{tag:"(0018,1134)",vr:"CS",name:"TableMotion",vm:"1",version:"DICOM"},"(0018,1135)":{tag:"(0018,1135)",vr:"DS",name:"TableVerticalIncrement",vm:"1-n",version:"DICOM"},"(0018,1136)":{tag:"(0018,1136)",vr:"DS",name:"TableLateralIncrement",vm:"1-n",version:"DICOM"},"(0018,1137)":{tag:"(0018,1137)",vr:"DS",name:"TableLongitudinalIncrement",vm:"1-n",version:"DICOM"},"(0018,1138)":{tag:"(0018,1138)",vr:"DS",name:"TableAngle",vm:"1",version:"DICOM"},"(0018,113A)":{tag:"(0018,113A)",vr:"CS",name:"TableType",vm:"1",version:"DICOM"},"(0018,1140)":{tag:"(0018,1140)",vr:"CS",name:"RotationDirection",vm:"1",version:"DICOM"},"(0018,1142)":{tag:"(0018,1142)",vr:"DS",name:"RadialPosition",vm:"1-n",version:"DICOM"},"(0018,1143)":{tag:"(0018,1143)",vr:"DS",name:"ScanArc",vm:"1",version:"DICOM"},"(0018,1144)":{tag:"(0018,1144)",vr:"DS",name:"AngularStep",vm:"1",version:"DICOM"},"(0018,1145)":{tag:"(0018,1145)",vr:"DS",name:"CenterOfRotationOffset",vm:"1",version:"DICOM"},"(0018,1147)":{tag:"(0018,1147)",vr:"CS",name:"FieldOfViewShape",vm:"1",version:"DICOM"},"(0018,1149)":{tag:"(0018,1149)",vr:"IS",name:"FieldOfViewDimensions",vm:"1-2",version:"DICOM"},"(0018,1150)":{tag:"(0018,1150)",vr:"IS",name:"ExposureTime",vm:"1",version:"DICOM"},"(0018,1151)":{tag:"(0018,1151)",vr:"IS",name:"XRayTubeCurrent",vm:"1",version:"DICOM"},"(0018,1152)":{tag:"(0018,1152)",vr:"IS",name:"Exposure",vm:"1",version:"DICOM"},"(0018,1153)":{tag:"(0018,1153)",vr:"IS",name:"ExposureInuAs",vm:"1",version:"DICOM"},"(0018,1154)":{tag:"(0018,1154)",vr:"DS",name:"AveragePulseWidth",vm:"1",version:"DICOM"},"(0018,1155)":{tag:"(0018,1155)",vr:"CS",name:"RadiationSetting",vm:"1",version:"DICOM"},"(0018,1156)":{tag:"(0018,1156)",vr:"CS",name:"RectificationType",vm:"1",version:"DICOM"},"(0018,115A)":{tag:"(0018,115A)",vr:"CS",name:"RadiationMode",vm:"1",version:"DICOM"},"(0018,115E)":{tag:"(0018,115E)",vr:"DS",name:"ImageAndFluoroscopyAreaDoseProduct",vm:"1",version:"DICOM"},"(0018,1160)":{tag:"(0018,1160)",vr:"SH",name:"FilterType",vm:"1",version:"DICOM"},"(0018,1161)":{tag:"(0018,1161)",vr:"LO",name:"TypeOfFilters",vm:"1-n",version:"DICOM"},"(0018,1162)":{tag:"(0018,1162)",vr:"DS",name:"IntensifierSize",vm:"1",version:"DICOM"},"(0018,1164)":{tag:"(0018,1164)",vr:"DS",name:"ImagerPixelSpacing",vm:"2",version:"DICOM"},"(0018,1166)":{tag:"(0018,1166)",vr:"CS",name:"Grid",vm:"1-n",version:"DICOM"},"(0018,1170)":{tag:"(0018,1170)",vr:"IS",name:"GeneratorPower",vm:"1",version:"DICOM"},"(0018,1180)":{tag:"(0018,1180)",vr:"SH",name:"CollimatorGridName",vm:"1",version:"DICOM"},"(0018,1181)":{tag:"(0018,1181)",vr:"CS",name:"CollimatorType",vm:"1",version:"DICOM"},"(0018,1182)":{tag:"(0018,1182)",vr:"IS",name:"FocalDistance",vm:"1-2",version:"DICOM"},"(0018,1183)":{tag:"(0018,1183)",vr:"DS",name:"XFocusCenter",vm:"1-2",version:"DICOM"},"(0018,1184)":{tag:"(0018,1184)",vr:"DS",name:"YFocusCenter",vm:"1-2",version:"DICOM"},"(0018,1190)":{tag:"(0018,1190)",vr:"DS",name:"FocalSpots",vm:"1-n",version:"DICOM"},"(0018,1191)":{tag:"(0018,1191)",vr:"CS",name:"AnodeTargetMaterial",vm:"1",version:"DICOM"},"(0018,11A0)":{tag:"(0018,11A0)",vr:"DS",name:"BodyPartThickness",vm:"1",version:"DICOM"},"(0018,11A2)":{tag:"(0018,11A2)",vr:"DS",name:"CompressionForce",vm:"1",version:"DICOM"},"(0018,11A3)":{tag:"(0018,11A3)",vr:"DS",name:"CompressionPressure",vm:"1",version:"DICOM"},"(0018,11A4)":{tag:"(0018,11A4)",vr:"LO",name:"PaddleDescription",vm:"1",version:"DICOM"},"(0018,11A5)":{tag:"(0018,11A5)",vr:"DS",name:"CompressionContactArea",vm:"1",version:"DICOM"},"(0018,11B0)":{tag:"(0018,11B0)",vr:"LO",name:"AcquisitionMode",vm:"1",version:"DICOM"},"(0018,11B1)":{tag:"(0018,11B1)",vr:"LO",name:"DoseModeName",vm:"1",version:"DICOM"},"(0018,11B2)":{tag:"(0018,11B2)",vr:"CS",name:"AcquiredSubtractionMaskFlag",vm:"1",version:"DICOM"},"(0018,11B3)":{tag:"(0018,11B3)",vr:"CS",name:"FluoroscopyPersistenceFlag",vm:"1",version:"DICOM"},"(0018,11B4)":{tag:"(0018,11B4)",vr:"CS",name:"FluoroscopyLastImageHoldPersistenceFlag",vm:"1",version:"DICOM"},"(0018,11B5)":{tag:"(0018,11B5)",vr:"IS",name:"UpperLimitNumberOfPersistentFluoroscopyFrames",vm:"1",version:"DICOM"},"(0018,11B6)":{tag:"(0018,11B6)",vr:"CS",name:"ContrastBolusAutoInjectionTriggerFlag",vm:"1",version:"DICOM"},"(0018,11B7)":{tag:"(0018,11B7)",vr:"FD",name:"ContrastBolusInjectionDelay",vm:"1",version:"DICOM"},"(0018,11B8)":{tag:"(0018,11B8)",vr:"SQ",name:"XAAcquisitionPhaseDetailsSequence",vm:"1",version:"DICOM"},"(0018,11B9)":{tag:"(0018,11B9)",vr:"FD",name:"XAAcquisitionFrameRate",vm:"1",version:"DICOM"},"(0018,11BA)":{tag:"(0018,11BA)",vr:"SQ",name:"XAPlaneDetailsSequence",vm:"1",version:"DICOM"},"(0018,11BB)":{tag:"(0018,11BB)",vr:"LO",name:"AcquisitionFieldOfViewLabel",vm:"1",version:"DICOM"},"(0018,11BC)":{tag:"(0018,11BC)",vr:"SQ",name:"XRayFilterDetailsSequence",vm:"1",version:"DICOM"},"(0018,11BD)":{tag:"(0018,11BD)",vr:"FD",name:"XAAcquisitionDuration",vm:"1",version:"DICOM"},"(0018,11BE)":{tag:"(0018,11BE)",vr:"CS",name:"ReconstructionPipelineType",vm:"1",version:"DICOM"},"(0018,11BF)":{tag:"(0018,11BF)",vr:"SQ",name:"ImageFilterDetailsSequence",vm:"1",version:"DICOM"},"(0018,11C0)":{tag:"(0018,11C0)",vr:"CS",name:"AppliedMaskSubtractionFlag",vm:"1",version:"DICOM"},"(0018,11C1)":{tag:"(0018,11C1)",vr:"SQ",name:"RequestedSeriesDescriptionCodeSequence",vm:"1",version:"DICOM"},"(0018,1200)":{tag:"(0018,1200)",vr:"DA",name:"DateOfLastCalibration",vm:"1-n",version:"DICOM"},"(0018,1201)":{tag:"(0018,1201)",vr:"TM",name:"TimeOfLastCalibration",vm:"1-n",version:"DICOM"},"(0018,1202)":{tag:"(0018,1202)",vr:"DT",name:"DateTimeOfLastCalibration",vm:"1",version:"DICOM"},"(0018,1210)":{tag:"(0018,1210)",vr:"SH",name:"ConvolutionKernel",vm:"1-n",version:"DICOM"},"(0018,1242)":{tag:"(0018,1242)",vr:"IS",name:"ActualFrameDuration",vm:"1",version:"DICOM"},"(0018,1243)":{tag:"(0018,1243)",vr:"IS",name:"CountRate",vm:"1",version:"DICOM"},"(0018,1244)":{tag:"(0018,1244)",vr:"US",name:"PreferredPlaybackSequencing",vm:"1",version:"DICOM"},"(0018,1250)":{tag:"(0018,1250)",vr:"SH",name:"ReceiveCoilName",vm:"1",version:"DICOM"},"(0018,1251)":{tag:"(0018,1251)",vr:"SH",name:"TransmitCoilName",vm:"1",version:"DICOM"},"(0018,1260)":{tag:"(0018,1260)",vr:"SH",name:"PlateType",vm:"1",version:"DICOM"},"(0018,1261)":{tag:"(0018,1261)",vr:"LO",name:"PhosphorType",vm:"1",version:"DICOM"},"(0018,1271)":{tag:"(0018,1271)",vr:"FD",name:"WaterEquivalentDiameter",vm:"1",version:"DICOM"},"(0018,1272)":{tag:"(0018,1272)",vr:"SQ",name:"WaterEquivalentDiameterCalculationMethodCodeSequence",vm:"1",version:"DICOM"},"(0018,1300)":{tag:"(0018,1300)",vr:"DS",name:"ScanVelocity",vm:"1",version:"DICOM"},"(0018,1301)":{tag:"(0018,1301)",vr:"CS",name:"WholeBodyTechnique",vm:"1-n",version:"DICOM"},"(0018,1302)":{tag:"(0018,1302)",vr:"IS",name:"ScanLength",vm:"1",version:"DICOM"},"(0018,1310)":{tag:"(0018,1310)",vr:"US",name:"AcquisitionMatrix",vm:"4",version:"DICOM"},"(0018,1312)":{tag:"(0018,1312)",vr:"CS",name:"InPlanePhaseEncodingDirection",vm:"1",version:"DICOM"},"(0018,1314)":{tag:"(0018,1314)",vr:"DS",name:"FlipAngle",vm:"1",version:"DICOM"},"(0018,1315)":{tag:"(0018,1315)",vr:"CS",name:"VariableFlipAngleFlag",vm:"1",version:"DICOM"},"(0018,1316)":{tag:"(0018,1316)",vr:"DS",name:"SAR",vm:"1",version:"DICOM"},"(0018,1318)":{tag:"(0018,1318)",vr:"DS",name:"dBdt",vm:"1",version:"DICOM"},"(0018,1400)":{tag:"(0018,1400)",vr:"LO",name:"AcquisitionDeviceProcessingDescription",vm:"1",version:"DICOM"},"(0018,1401)":{tag:"(0018,1401)",vr:"LO",name:"AcquisitionDeviceProcessingCode",vm:"1",version:"DICOM"},"(0018,1402)":{tag:"(0018,1402)",vr:"CS",name:"CassetteOrientation",vm:"1",version:"DICOM"},"(0018,1403)":{tag:"(0018,1403)",vr:"CS",name:"CassetteSize",vm:"1",version:"DICOM"},"(0018,1404)":{tag:"(0018,1404)",vr:"US",name:"ExposuresOnPlate",vm:"1",version:"DICOM"},"(0018,1405)":{tag:"(0018,1405)",vr:"IS",name:"RelativeXRayExposure",vm:"1",version:"DICOM"},"(0018,1411)":{tag:"(0018,1411)",vr:"DS",name:"ExposureIndex",vm:"1",version:"DICOM"},"(0018,1412)":{tag:"(0018,1412)",vr:"DS",name:"TargetExposureIndex",vm:"1",version:"DICOM"},"(0018,1413)":{tag:"(0018,1413)",vr:"DS",name:"DeviationIndex",vm:"1",version:"DICOM"},"(0018,1450)":{tag:"(0018,1450)",vr:"DS",name:"ColumnAngulation",vm:"1",version:"DICOM"},"(0018,1460)":{tag:"(0018,1460)",vr:"DS",name:"TomoLayerHeight",vm:"1",version:"DICOM"},"(0018,1470)":{tag:"(0018,1470)",vr:"DS",name:"TomoAngle",vm:"1",version:"DICOM"},"(0018,1480)":{tag:"(0018,1480)",vr:"DS",name:"TomoTime",vm:"1",version:"DICOM"},"(0018,1490)":{tag:"(0018,1490)",vr:"CS",name:"TomoType",vm:"1",version:"DICOM"},"(0018,1491)":{tag:"(0018,1491)",vr:"CS",name:"TomoClass",vm:"1",version:"DICOM"},"(0018,1495)":{tag:"(0018,1495)",vr:"IS",name:"NumberOfTomosynthesisSourceImages",vm:"1",version:"DICOM"},"(0018,1500)":{tag:"(0018,1500)",vr:"CS",name:"PositionerMotion",vm:"1",version:"DICOM"},"(0018,1508)":{tag:"(0018,1508)",vr:"CS",name:"PositionerType",vm:"1",version:"DICOM"},"(0018,1510)":{tag:"(0018,1510)",vr:"DS",name:"PositionerPrimaryAngle",vm:"1",version:"DICOM"},"(0018,1511)":{tag:"(0018,1511)",vr:"DS",name:"PositionerSecondaryAngle",vm:"1",version:"DICOM"},"(0018,1520)":{tag:"(0018,1520)",vr:"DS",name:"PositionerPrimaryAngleIncrement",vm:"1-n",version:"DICOM"},"(0018,1521)":{tag:"(0018,1521)",vr:"DS",name:"PositionerSecondaryAngleIncrement",vm:"1-n",version:"DICOM"},"(0018,1530)":{tag:"(0018,1530)",vr:"DS",name:"DetectorPrimaryAngle",vm:"1",version:"DICOM"},"(0018,1531)":{tag:"(0018,1531)",vr:"DS",name:"DetectorSecondaryAngle",vm:"1",version:"DICOM"},"(0018,1600)":{tag:"(0018,1600)",vr:"CS",name:"ShutterShape",vm:"1-3",version:"DICOM"},"(0018,1602)":{tag:"(0018,1602)",vr:"IS",name:"ShutterLeftVerticalEdge",vm:"1",version:"DICOM"},"(0018,1604)":{tag:"(0018,1604)",vr:"IS",name:"ShutterRightVerticalEdge",vm:"1",version:"DICOM"},"(0018,1606)":{tag:"(0018,1606)",vr:"IS",name:"ShutterUpperHorizontalEdge",vm:"1",version:"DICOM"},"(0018,1608)":{tag:"(0018,1608)",vr:"IS",name:"ShutterLowerHorizontalEdge",vm:"1",version:"DICOM"},"(0018,1610)":{tag:"(0018,1610)",vr:"IS",name:"CenterOfCircularShutter",vm:"2",version:"DICOM"},"(0018,1612)":{tag:"(0018,1612)",vr:"IS",name:"RadiusOfCircularShutter",vm:"1",version:"DICOM"},"(0018,1620)":{tag:"(0018,1620)",vr:"IS",name:"VerticesOfThePolygonalShutter",vm:"2-2n",version:"DICOM"},"(0018,1622)":{tag:"(0018,1622)",vr:"US",name:"ShutterPresentationValue",vm:"1",version:"DICOM"},"(0018,1623)":{tag:"(0018,1623)",vr:"US",name:"ShutterOverlayGroup",vm:"1",version:"DICOM"},"(0018,1624)":{tag:"(0018,1624)",vr:"US",name:"ShutterPresentationColorCIELabValue",vm:"3",version:"DICOM"},"(0018,1630)":{tag:"(0018,1630)",vr:"CS",name:"OutlineShapeType",vm:"1",version:"DICOM"},"(0018,1631)":{tag:"(0018,1631)",vr:"FD",name:"OutlineLeftVerticalEdge",vm:"1",version:"DICOM"},"(0018,1632)":{tag:"(0018,1632)",vr:"FD",name:"OutlineRightVerticalEdge",vm:"1",version:"DICOM"},"(0018,1633)":{tag:"(0018,1633)",vr:"FD",name:"OutlineUpperHorizontalEdge",vm:"1",version:"DICOM"},"(0018,1634)":{tag:"(0018,1634)",vr:"FD",name:"OutlineLowerHorizontalEdge",vm:"1",version:"DICOM"},"(0018,1635)":{tag:"(0018,1635)",vr:"FD",name:"CenterOfCircularOutline",vm:"2",version:"DICOM"},"(0018,1636)":{tag:"(0018,1636)",vr:"FD",name:"DiameterOfCircularOutline",vm:"1",version:"DICOM"},"(0018,1637)":{tag:"(0018,1637)",vr:"UL",name:"NumberOfPolygonalVertices",vm:"1",version:"DICOM"},"(0018,1638)":{tag:"(0018,1638)",vr:"OF",name:"VerticesOfThePolygonalOutline",vm:"1",version:"DICOM"},"(0018,1700)":{tag:"(0018,1700)",vr:"CS",name:"CollimatorShape",vm:"1-3",version:"DICOM"},"(0018,1702)":{tag:"(0018,1702)",vr:"IS",name:"CollimatorLeftVerticalEdge",vm:"1",version:"DICOM"},"(0018,1704)":{tag:"(0018,1704)",vr:"IS",name:"CollimatorRightVerticalEdge",vm:"1",version:"DICOM"},"(0018,1706)":{tag:"(0018,1706)",vr:"IS",name:"CollimatorUpperHorizontalEdge",vm:"1",version:"DICOM"},"(0018,1708)":{tag:"(0018,1708)",vr:"IS",name:"CollimatorLowerHorizontalEdge",vm:"1",version:"DICOM"},"(0018,1710)":{tag:"(0018,1710)",vr:"IS",name:"CenterOfCircularCollimator",vm:"2",version:"DICOM"},"(0018,1712)":{tag:"(0018,1712)",vr:"IS",name:"RadiusOfCircularCollimator",vm:"1",version:"DICOM"},"(0018,1720)":{tag:"(0018,1720)",vr:"IS",name:"VerticesOfThePolygonalCollimator",vm:"2-2n",version:"DICOM"},"(0018,1800)":{tag:"(0018,1800)",vr:"CS",name:"AcquisitionTimeSynchronized",vm:"1",version:"DICOM"},"(0018,1801)":{tag:"(0018,1801)",vr:"SH",name:"TimeSource",vm:"1",version:"DICOM"},"(0018,1802)":{tag:"(0018,1802)",vr:"CS",name:"TimeDistributionProtocol",vm:"1",version:"DICOM"},"(0018,1803)":{tag:"(0018,1803)",vr:"LO",name:"NTPSourceAddress",vm:"1",version:"DICOM"},"(0018,2001)":{tag:"(0018,2001)",vr:"IS",name:"PageNumberVector",vm:"1-n",version:"DICOM"},"(0018,2002)":{tag:"(0018,2002)",vr:"SH",name:"FrameLabelVector",vm:"1-n",version:"DICOM"},"(0018,2003)":{tag:"(0018,2003)",vr:"DS",name:"FramePrimaryAngleVector",vm:"1-n",version:"DICOM"},"(0018,2004)":{tag:"(0018,2004)",vr:"DS",name:"FrameSecondaryAngleVector",vm:"1-n",version:"DICOM"},"(0018,2005)":{tag:"(0018,2005)",vr:"DS",name:"SliceLocationVector",vm:"1-n",version:"DICOM"},"(0018,2006)":{tag:"(0018,2006)",vr:"SH",name:"DisplayWindowLabelVector",vm:"1-n",version:"DICOM"},"(0018,2010)":{tag:"(0018,2010)",vr:"DS",name:"NominalScannedPixelSpacing",vm:"2",version:"DICOM"},"(0018,2020)":{tag:"(0018,2020)",vr:"CS",name:"DigitizingDeviceTransportDirection",vm:"1",version:"DICOM"},"(0018,2030)":{tag:"(0018,2030)",vr:"DS",name:"RotationOfScannedFilm",vm:"1",version:"DICOM"},"(0018,2041)":{tag:"(0018,2041)",vr:"SQ",name:"BiopsyTargetSequence",vm:"1",version:"DICOM"},"(0018,2042)":{tag:"(0018,2042)",vr:"UI",name:"TargetUID",vm:"1",version:"DICOM"},"(0018,2043)":{tag:"(0018,2043)",vr:"FL",name:"LocalizingCursorPosition",vm:"2",version:"DICOM"},"(0018,2044)":{tag:"(0018,2044)",vr:"FL",name:"CalculatedTargetPosition",vm:"3",version:"DICOM"},"(0018,2045)":{tag:"(0018,2045)",vr:"SH",name:"TargetLabel",vm:"1",version:"DICOM"},"(0018,2046)":{tag:"(0018,2046)",vr:"FL",name:"DisplayedZValue",vm:"1",version:"DICOM"},"(0018,3100)":{tag:"(0018,3100)",vr:"CS",name:"IVUSAcquisition",vm:"1",version:"DICOM"},"(0018,3101)":{tag:"(0018,3101)",vr:"DS",name:"IVUSPullbackRate",vm:"1",version:"DICOM"},"(0018,3102)":{tag:"(0018,3102)",vr:"DS",name:"IVUSGatedRate",vm:"1",version:"DICOM"},"(0018,3103)":{tag:"(0018,3103)",vr:"IS",name:"IVUSPullbackStartFrameNumber",vm:"1",version:"DICOM"},"(0018,3104)":{tag:"(0018,3104)",vr:"IS",name:"IVUSPullbackStopFrameNumber",vm:"1",version:"DICOM"},"(0018,3105)":{tag:"(0018,3105)",vr:"IS",name:"LesionNumber",vm:"1-n",version:"DICOM"},"(0018,5000)":{tag:"(0018,5000)",vr:"SH",name:"OutputPower",vm:"1-n",version:"DICOM"},"(0018,5010)":{tag:"(0018,5010)",vr:"LO",name:"TransducerData",vm:"1-n",version:"DICOM"},"(0018,5011)":{tag:"(0018,5011)",vr:"SQ",name:"TransducerIdentificationSequence",vm:"1",version:"DICOM"},"(0018,5012)":{tag:"(0018,5012)",vr:"DS",name:"FocusDepth",vm:"1",version:"DICOM"},"(0018,5020)":{tag:"(0018,5020)",vr:"LO",name:"ProcessingFunction",vm:"1",version:"DICOM"},"(0018,5022)":{tag:"(0018,5022)",vr:"DS",name:"MechanicalIndex",vm:"1",version:"DICOM"},"(0018,5024)":{tag:"(0018,5024)",vr:"DS",name:"BoneThermalIndex",vm:"1",version:"DICOM"},"(0018,5026)":{tag:"(0018,5026)",vr:"DS",name:"CranialThermalIndex",vm:"1",version:"DICOM"},"(0018,5027)":{tag:"(0018,5027)",vr:"DS",name:"SoftTissueThermalIndex",vm:"1",version:"DICOM"},"(0018,5028)":{tag:"(0018,5028)",vr:"DS",name:"SoftTissueFocusThermalIndex",vm:"1",version:"DICOM"},"(0018,5029)":{tag:"(0018,5029)",vr:"DS",name:"SoftTissueSurfaceThermalIndex",vm:"1",version:"DICOM"},"(0018,5050)":{tag:"(0018,5050)",vr:"IS",name:"DepthOfScanField",vm:"1",version:"DICOM"},"(0018,5100)":{tag:"(0018,5100)",vr:"CS",name:"PatientPosition",vm:"1",version:"DICOM"},"(0018,5101)":{tag:"(0018,5101)",vr:"CS",name:"ViewPosition",vm:"1",version:"DICOM"},"(0018,5104)":{tag:"(0018,5104)",vr:"SQ",name:"ProjectionEponymousNameCodeSequence",vm:"1",version:"DICOM"},"(0018,6000)":{tag:"(0018,6000)",vr:"DS",name:"Sensitivity",vm:"1",version:"DICOM"},"(0018,6011)":{tag:"(0018,6011)",vr:"SQ",name:"SequenceOfUltrasoundRegions",vm:"1",version:"DICOM"},"(0018,6012)":{tag:"(0018,6012)",vr:"US",name:"RegionSpatialFormat",vm:"1",version:"DICOM"},"(0018,6014)":{tag:"(0018,6014)",vr:"US",name:"RegionDataType",vm:"1",version:"DICOM"},"(0018,6016)":{tag:"(0018,6016)",vr:"UL",name:"RegionFlags",vm:"1",version:"DICOM"},"(0018,6018)":{tag:"(0018,6018)",vr:"UL",name:"RegionLocationMinX0",vm:"1",version:"DICOM"},"(0018,601A)":{tag:"(0018,601A)",vr:"UL",name:"RegionLocationMinY0",vm:"1",version:"DICOM"},"(0018,601C)":{tag:"(0018,601C)",vr:"UL",name:"RegionLocationMaxX1",vm:"1",version:"DICOM"},"(0018,601E)":{tag:"(0018,601E)",vr:"UL",name:"RegionLocationMaxY1",vm:"1",version:"DICOM"},"(0018,6020)":{tag:"(0018,6020)",vr:"SL",name:"ReferencePixelX0",vm:"1",version:"DICOM"},"(0018,6022)":{tag:"(0018,6022)",vr:"SL",name:"ReferencePixelY0",vm:"1",version:"DICOM"},"(0018,6024)":{tag:"(0018,6024)",vr:"US",name:"PhysicalUnitsXDirection",vm:"1",version:"DICOM"},"(0018,6026)":{tag:"(0018,6026)",vr:"US",name:"PhysicalUnitsYDirection",vm:"1",version:"DICOM"},"(0018,6028)":{tag:"(0018,6028)",vr:"FD",name:"ReferencePixelPhysicalValueX",vm:"1",version:"DICOM"},"(0018,602A)":{tag:"(0018,602A)",vr:"FD",name:"ReferencePixelPhysicalValueY",vm:"1",version:"DICOM"},"(0018,602C)":{tag:"(0018,602C)",vr:"FD",name:"PhysicalDeltaX",vm:"1",version:"DICOM"},"(0018,602E)":{tag:"(0018,602E)",vr:"FD",name:"PhysicalDeltaY",vm:"1",version:"DICOM"},"(0018,6030)":{tag:"(0018,6030)",vr:"UL",name:"TransducerFrequency",vm:"1",version:"DICOM"},"(0018,6031)":{tag:"(0018,6031)",vr:"CS",name:"TransducerType",vm:"1",version:"DICOM"},"(0018,6032)":{tag:"(0018,6032)",vr:"UL",name:"PulseRepetitionFrequency",vm:"1",version:"DICOM"},"(0018,6034)":{tag:"(0018,6034)",vr:"FD",name:"DopplerCorrectionAngle",vm:"1",version:"DICOM"},"(0018,6036)":{tag:"(0018,6036)",vr:"FD",name:"SteeringAngle",vm:"1",version:"DICOM"},"(0018,6039)":{tag:"(0018,6039)",vr:"SL",name:"DopplerSampleVolumeXPosition",vm:"1",version:"DICOM"},"(0018,603B)":{tag:"(0018,603B)",vr:"SL",name:"DopplerSampleVolumeYPosition",vm:"1",version:"DICOM"},"(0018,603D)":{tag:"(0018,603D)",vr:"SL",name:"TMLinePositionX0",vm:"1",version:"DICOM"},"(0018,603F)":{tag:"(0018,603F)",vr:"SL",name:"TMLinePositionY0",vm:"1",version:"DICOM"},"(0018,6041)":{tag:"(0018,6041)",vr:"SL",name:"TMLinePositionX1",vm:"1",version:"DICOM"},"(0018,6043)":{tag:"(0018,6043)",vr:"SL",name:"TMLinePositionY1",vm:"1",version:"DICOM"},"(0018,6044)":{tag:"(0018,6044)",vr:"US",name:"PixelComponentOrganization",vm:"1",version:"DICOM"},"(0018,6046)":{tag:"(0018,6046)",vr:"UL",name:"PixelComponentMask",vm:"1",version:"DICOM"},"(0018,6048)":{tag:"(0018,6048)",vr:"UL",name:"PixelComponentRangeStart",vm:"1",version:"DICOM"},"(0018,604A)":{tag:"(0018,604A)",vr:"UL",name:"PixelComponentRangeStop",vm:"1",version:"DICOM"},"(0018,604C)":{tag:"(0018,604C)",vr:"US",name:"PixelComponentPhysicalUnits",vm:"1",version:"DICOM"},"(0018,604E)":{tag:"(0018,604E)",vr:"US",name:"PixelComponentDataType",vm:"1",version:"DICOM"},"(0018,6050)":{tag:"(0018,6050)",vr:"UL",name:"NumberOfTableBreakPoints",vm:"1",version:"DICOM"},"(0018,6052)":{tag:"(0018,6052)",vr:"UL",name:"TableOfXBreakPoints",vm:"1-n",version:"DICOM"},"(0018,6054)":{tag:"(0018,6054)",vr:"FD",name:"TableOfYBreakPoints",vm:"1-n",version:"DICOM"},"(0018,6056)":{tag:"(0018,6056)",vr:"UL",name:"NumberOfTableEntries",vm:"1",version:"DICOM"},"(0018,6058)":{tag:"(0018,6058)",vr:"UL",name:"TableOfPixelValues",vm:"1-n",version:"DICOM"},"(0018,605A)":{tag:"(0018,605A)",vr:"FL",name:"TableOfParameterValues",vm:"1-n",version:"DICOM"},"(0018,6060)":{tag:"(0018,6060)",vr:"FL",name:"RWaveTimeVector",vm:"1-n",version:"DICOM"},"(0018,6070)":{tag:"(0018,6070)",vr:"US",name:"ActiveImageAreaOverlayGroup",vm:"1",version:"DICOM"},"(0018,7000)":{tag:"(0018,7000)",vr:"CS",name:"DetectorConditionsNominalFlag",vm:"1",version:"DICOM"},"(0018,7001)":{tag:"(0018,7001)",vr:"DS",name:"DetectorTemperature",vm:"1",version:"DICOM"},"(0018,7004)":{tag:"(0018,7004)",vr:"CS",name:"DetectorType",vm:"1",version:"DICOM"},"(0018,7005)":{tag:"(0018,7005)",vr:"CS",name:"DetectorConfiguration",vm:"1",version:"DICOM"},"(0018,7006)":{tag:"(0018,7006)",vr:"LT",name:"DetectorDescription",vm:"1",version:"DICOM"},"(0018,7008)":{tag:"(0018,7008)",vr:"LT",name:"DetectorMode",vm:"1",version:"DICOM"},"(0018,700A)":{tag:"(0018,700A)",vr:"SH",name:"DetectorID",vm:"1",version:"DICOM"},"(0018,700C)":{tag:"(0018,700C)",vr:"DA",name:"DateOfLastDetectorCalibration",vm:"1",version:"DICOM"},"(0018,700E)":{tag:"(0018,700E)",vr:"TM",name:"TimeOfLastDetectorCalibration",vm:"1",version:"DICOM"},"(0018,7010)":{tag:"(0018,7010)",vr:"IS",name:"ExposuresOnDetectorSinceLastCalibration",vm:"1",version:"DICOM"},"(0018,7011)":{tag:"(0018,7011)",vr:"IS",name:"ExposuresOnDetectorSinceManufactured",vm:"1",version:"DICOM"},"(0018,7012)":{tag:"(0018,7012)",vr:"DS",name:"DetectorTimeSinceLastExposure",vm:"1",version:"DICOM"},"(0018,7014)":{tag:"(0018,7014)",vr:"DS",name:"DetectorActiveTime",vm:"1",version:"DICOM"},"(0018,7016)":{tag:"(0018,7016)",vr:"DS",name:"DetectorActivationOffsetFromExposure",vm:"1",version:"DICOM"},"(0018,701A)":{tag:"(0018,701A)",vr:"DS",name:"DetectorBinning",vm:"2",version:"DICOM"},"(0018,7020)":{tag:"(0018,7020)",vr:"DS",name:"DetectorElementPhysicalSize",vm:"2",version:"DICOM"},"(0018,7022)":{tag:"(0018,7022)",vr:"DS",name:"DetectorElementSpacing",vm:"2",version:"DICOM"},"(0018,7024)":{tag:"(0018,7024)",vr:"CS",name:"DetectorActiveShape",vm:"1",version:"DICOM"},"(0018,7026)":{tag:"(0018,7026)",vr:"DS",name:"DetectorActiveDimensions",vm:"1-2",version:"DICOM"},"(0018,7028)":{tag:"(0018,7028)",vr:"DS",name:"DetectorActiveOrigin",vm:"2",version:"DICOM"},"(0018,702A)":{tag:"(0018,702A)",vr:"LO",name:"DetectorManufacturerName",vm:"1",version:"DICOM"},"(0018,702B)":{tag:"(0018,702B)",vr:"LO",name:"DetectorManufacturerModelName",vm:"1",version:"DICOM"},"(0018,7030)":{tag:"(0018,7030)",vr:"DS",name:"FieldOfViewOrigin",vm:"2",version:"DICOM"},"(0018,7032)":{tag:"(0018,7032)",vr:"DS",name:"FieldOfViewRotation",vm:"1",version:"DICOM"},"(0018,7034)":{tag:"(0018,7034)",vr:"CS",name:"FieldOfViewHorizontalFlip",vm:"1",version:"DICOM"},"(0018,7036)":{tag:"(0018,7036)",vr:"FL",name:"PixelDataAreaOriginRelativeToFOV",vm:"2",version:"DICOM"},"(0018,7038)":{tag:"(0018,7038)",vr:"FL",name:"PixelDataAreaRotationAngleRelativeToFOV",vm:"1",version:"DICOM"},"(0018,7040)":{tag:"(0018,7040)",vr:"LT",name:"GridAbsorbingMaterial",vm:"1",version:"DICOM"},"(0018,7041)":{tag:"(0018,7041)",vr:"LT",name:"GridSpacingMaterial",vm:"1",version:"DICOM"},"(0018,7042)":{tag:"(0018,7042)",vr:"DS",name:"GridThickness",vm:"1",version:"DICOM"},"(0018,7044)":{tag:"(0018,7044)",vr:"DS",name:"GridPitch",vm:"1",version:"DICOM"},"(0018,7046)":{tag:"(0018,7046)",vr:"IS",name:"GridAspectRatio",vm:"2",version:"DICOM"},"(0018,7048)":{tag:"(0018,7048)",vr:"DS",name:"GridPeriod",vm:"1",version:"DICOM"},"(0018,704C)":{tag:"(0018,704C)",vr:"DS",name:"GridFocalDistance",vm:"1",version:"DICOM"},"(0018,7050)":{tag:"(0018,7050)",vr:"CS",name:"FilterMaterial",vm:"1-n",version:"DICOM"},"(0018,7052)":{tag:"(0018,7052)",vr:"DS",name:"FilterThicknessMinimum",vm:"1-n",version:"DICOM"},"(0018,7054)":{tag:"(0018,7054)",vr:"DS",name:"FilterThicknessMaximum",vm:"1-n",version:"DICOM"},"(0018,7056)":{tag:"(0018,7056)",vr:"FL",name:"FilterBeamPathLengthMinimum",vm:"1-n",version:"DICOM"},"(0018,7058)":{tag:"(0018,7058)",vr:"FL",name:"FilterBeamPathLengthMaximum",vm:"1-n",version:"DICOM"},"(0018,7060)":{tag:"(0018,7060)",vr:"CS",name:"ExposureControlMode",vm:"1",version:"DICOM"},"(0018,7062)":{tag:"(0018,7062)",vr:"LT",name:"ExposureControlModeDescription",vm:"1",version:"DICOM"},"(0018,7064)":{tag:"(0018,7064)",vr:"CS",name:"ExposureStatus",vm:"1",version:"DICOM"},"(0018,7065)":{tag:"(0018,7065)",vr:"DS",name:"PhototimerSetting",vm:"1",version:"DICOM"},"(0018,8150)":{tag:"(0018,8150)",vr:"DS",name:"ExposureTimeInuS",vm:"1",version:"DICOM"},"(0018,8151)":{tag:"(0018,8151)",vr:"DS",name:"XRayTubeCurrentInuA",vm:"1",version:"DICOM"},"(0018,9004)":{tag:"(0018,9004)",vr:"CS",name:"ContentQualification",vm:"1",version:"DICOM"},"(0018,9005)":{tag:"(0018,9005)",vr:"SH",name:"PulseSequenceName",vm:"1",version:"DICOM"},"(0018,9006)":{tag:"(0018,9006)",vr:"SQ",name:"MRImagingModifierSequence",vm:"1",version:"DICOM"},"(0018,9008)":{tag:"(0018,9008)",vr:"CS",name:"EchoPulseSequence",vm:"1",version:"DICOM"},"(0018,9009)":{tag:"(0018,9009)",vr:"CS",name:"InversionRecovery",vm:"1",version:"DICOM"},"(0018,9010)":{tag:"(0018,9010)",vr:"CS",name:"FlowCompensation",vm:"1",version:"DICOM"},"(0018,9011)":{tag:"(0018,9011)",vr:"CS",name:"MultipleSpinEcho",vm:"1",version:"DICOM"},"(0018,9012)":{tag:"(0018,9012)",vr:"CS",name:"MultiPlanarExcitation",vm:"1",version:"DICOM"},"(0018,9014)":{tag:"(0018,9014)",vr:"CS",name:"PhaseContrast",vm:"1",version:"DICOM"},"(0018,9015)":{tag:"(0018,9015)",vr:"CS",name:"TimeOfFlightContrast",vm:"1",version:"DICOM"},"(0018,9016)":{tag:"(0018,9016)",vr:"CS",name:"Spoiling",vm:"1",version:"DICOM"},"(0018,9017)":{tag:"(0018,9017)",vr:"CS",name:"SteadyStatePulseSequence",vm:"1",version:"DICOM"},"(0018,9018)":{tag:"(0018,9018)",vr:"CS",name:"EchoPlanarPulseSequence",vm:"1",version:"DICOM"},"(0018,9019)":{tag:"(0018,9019)",vr:"FD",name:"TagAngleFirstAxis",vm:"1",version:"DICOM"},"(0018,9020)":{tag:"(0018,9020)",vr:"CS",name:"MagnetizationTransfer",vm:"1",version:"DICOM"},"(0018,9021)":{tag:"(0018,9021)",vr:"CS",name:"T2Preparation",vm:"1",version:"DICOM"},"(0018,9022)":{tag:"(0018,9022)",vr:"CS",name:"BloodSignalNulling",vm:"1",version:"DICOM"},"(0018,9024)":{tag:"(0018,9024)",vr:"CS",name:"SaturationRecovery",vm:"1",version:"DICOM"},"(0018,9025)":{tag:"(0018,9025)",vr:"CS",name:"SpectrallySelectedSuppression",vm:"1",version:"DICOM"},"(0018,9026)":{tag:"(0018,9026)",vr:"CS",name:"SpectrallySelectedExcitation",vm:"1",version:"DICOM"},"(0018,9027)":{tag:"(0018,9027)",vr:"CS",name:"SpatialPresaturation",vm:"1",version:"DICOM"},"(0018,9028)":{tag:"(0018,9028)",vr:"CS",name:"Tagging",vm:"1",version:"DICOM"},"(0018,9029)":{tag:"(0018,9029)",vr:"CS",name:"OversamplingPhase",vm:"1",version:"DICOM"},"(0018,9030)":{tag:"(0018,9030)",vr:"FD",name:"TagSpacingFirstDimension",vm:"1",version:"DICOM"},"(0018,9032)":{tag:"(0018,9032)",vr:"CS",name:"GeometryOfKSpaceTraversal",vm:"1",version:"DICOM"},"(0018,9033)":{tag:"(0018,9033)",vr:"CS",name:"SegmentedKSpaceTraversal",vm:"1",version:"DICOM"},"(0018,9034)":{tag:"(0018,9034)",vr:"CS",name:"RectilinearPhaseEncodeReordering",vm:"1",version:"DICOM"},"(0018,9035)":{tag:"(0018,9035)",vr:"FD",name:"TagThickness",vm:"1",version:"DICOM"},"(0018,9036)":{tag:"(0018,9036)",vr:"CS",name:"PartialFourierDirection",vm:"1",version:"DICOM"},"(0018,9037)":{tag:"(0018,9037)",vr:"CS",name:"CardiacSynchronizationTechnique",vm:"1",version:"DICOM"},"(0018,9041)":{tag:"(0018,9041)",vr:"LO",name:"ReceiveCoilManufacturerName",vm:"1",version:"DICOM"},"(0018,9042)":{tag:"(0018,9042)",vr:"SQ",name:"MRReceiveCoilSequence",vm:"1",version:"DICOM"},"(0018,9043)":{tag:"(0018,9043)",vr:"CS",name:"ReceiveCoilType",vm:"1",version:"DICOM"},"(0018,9044)":{tag:"(0018,9044)",vr:"CS",name:"QuadratureReceiveCoil",vm:"1",version:"DICOM"},"(0018,9045)":{tag:"(0018,9045)",vr:"SQ",name:"MultiCoilDefinitionSequence",vm:"1",version:"DICOM"},"(0018,9046)":{tag:"(0018,9046)",vr:"LO",name:"MultiCoilConfiguration",vm:"1",version:"DICOM"},"(0018,9047)":{tag:"(0018,9047)",vr:"SH",name:"MultiCoilElementName",vm:"1",version:"DICOM"},"(0018,9048)":{tag:"(0018,9048)",vr:"CS",name:"MultiCoilElementUsed",vm:"1",version:"DICOM"},"(0018,9049)":{tag:"(0018,9049)",vr:"SQ",name:"MRTransmitCoilSequence",vm:"1",version:"DICOM"},"(0018,9050)":{tag:"(0018,9050)",vr:"LO",name:"TransmitCoilManufacturerName",vm:"1",version:"DICOM"},"(0018,9051)":{tag:"(0018,9051)",vr:"CS",name:"TransmitCoilType",vm:"1",version:"DICOM"},"(0018,9052)":{tag:"(0018,9052)",vr:"FD",name:"SpectralWidth",vm:"1-2",version:"DICOM"},"(0018,9053)":{tag:"(0018,9053)",vr:"FD",name:"ChemicalShiftReference",vm:"1-2",version:"DICOM"},"(0018,9054)":{tag:"(0018,9054)",vr:"CS",name:"VolumeLocalizationTechnique",vm:"1",version:"DICOM"},"(0018,9058)":{tag:"(0018,9058)",vr:"US",name:"MRAcquisitionFrequencyEncodingSteps",vm:"1",version:"DICOM"},"(0018,9059)":{tag:"(0018,9059)",vr:"CS",name:"Decoupling",vm:"1",version:"DICOM"},"(0018,9060)":{tag:"(0018,9060)",vr:"CS",name:"DecoupledNucleus",vm:"1-2",version:"DICOM"},"(0018,9061)":{tag:"(0018,9061)",vr:"FD",name:"DecouplingFrequency",vm:"1-2",version:"DICOM"},"(0018,9062)":{tag:"(0018,9062)",vr:"CS",name:"DecouplingMethod",vm:"1",version:"DICOM"},"(0018,9063)":{tag:"(0018,9063)",vr:"FD",name:"DecouplingChemicalShiftReference",vm:"1-2",version:"DICOM"},"(0018,9064)":{tag:"(0018,9064)",vr:"CS",name:"KSpaceFiltering",vm:"1",version:"DICOM"},"(0018,9065)":{tag:"(0018,9065)",vr:"CS",name:"TimeDomainFiltering",vm:"1-2",version:"DICOM"},"(0018,9066)":{tag:"(0018,9066)",vr:"US",name:"NumberOfZeroFills",vm:"1-2",version:"DICOM"},"(0018,9067)":{tag:"(0018,9067)",vr:"CS",name:"BaselineCorrection",vm:"1",version:"DICOM"},"(0018,9069)":{tag:"(0018,9069)",vr:"FD",name:"ParallelReductionFactorInPlane",vm:"1",version:"DICOM"},"(0018,9070)":{tag:"(0018,9070)",vr:"FD",name:"CardiacRRIntervalSpecified",vm:"1",version:"DICOM"},"(0018,9073)":{tag:"(0018,9073)",vr:"FD",name:"AcquisitionDuration",vm:"1",version:"DICOM"},"(0018,9074)":{tag:"(0018,9074)",vr:"DT",name:"FrameAcquisitionDateTime",vm:"1",version:"DICOM"},"(0018,9075)":{tag:"(0018,9075)",vr:"CS",name:"DiffusionDirectionality",vm:"1",version:"DICOM"},"(0018,9076)":{tag:"(0018,9076)",vr:"SQ",name:"DiffusionGradientDirectionSequence",vm:"1",version:"DICOM"},"(0018,9077)":{tag:"(0018,9077)",vr:"CS",name:"ParallelAcquisition",vm:"1",version:"DICOM"},"(0018,9078)":{tag:"(0018,9078)",vr:"CS",name:"ParallelAcquisitionTechnique",vm:"1",version:"DICOM"},"(0018,9079)":{tag:"(0018,9079)",vr:"FD",name:"InversionTimes",vm:"1-n",version:"DICOM"},"(0018,9080)":{tag:"(0018,9080)",vr:"ST",name:"MetaboliteMapDescription",vm:"1",version:"DICOM"},"(0018,9081)":{tag:"(0018,9081)",vr:"CS",name:"PartialFourier",vm:"1",version:"DICOM"},"(0018,9082)":{tag:"(0018,9082)",vr:"FD",name:"EffectiveEchoTime",vm:"1",version:"DICOM"},"(0018,9083)":{tag:"(0018,9083)",vr:"SQ",name:"MetaboliteMapCodeSequence",vm:"1",version:"DICOM"},"(0018,9084)":{tag:"(0018,9084)",vr:"SQ",name:"ChemicalShiftSequence",vm:"1",version:"DICOM"},"(0018,9085)":{tag:"(0018,9085)",vr:"CS",name:"CardiacSignalSource",vm:"1",version:"DICOM"},"(0018,9087)":{tag:"(0018,9087)",vr:"FD",name:"DiffusionBValue",vm:"1",version:"DICOM"},"(0018,9089)":{tag:"(0018,9089)",vr:"FD",name:"DiffusionGradientOrientation",vm:"3",version:"DICOM"},"(0018,9090)":{tag:"(0018,9090)",vr:"FD",name:"VelocityEncodingDirection",vm:"3",version:"DICOM"},"(0018,9091)":{tag:"(0018,9091)",vr:"FD",name:"VelocityEncodingMinimumValue",vm:"1",version:"DICOM"},"(0018,9092)":{tag:"(0018,9092)",vr:"SQ",name:"VelocityEncodingAcquisitionSequence",vm:"1",version:"DICOM"},"(0018,9093)":{tag:"(0018,9093)",vr:"US",name:"NumberOfKSpaceTrajectories",vm:"1",version:"DICOM"},"(0018,9094)":{tag:"(0018,9094)",vr:"CS",name:"CoverageOfKSpace",vm:"1",version:"DICOM"},"(0018,9095)":{tag:"(0018,9095)",vr:"UL",name:"SpectroscopyAcquisitionPhaseRows",vm:"1",version:"DICOM"},"(0018,9098)":{tag:"(0018,9098)",vr:"FD",name:"TransmitterFrequency",vm:"1-2",version:"DICOM"},"(0018,9100)":{tag:"(0018,9100)",vr:"CS",name:"ResonantNucleus",vm:"1-2",version:"DICOM"},"(0018,9101)":{tag:"(0018,9101)",vr:"CS",name:"FrequencyCorrection",vm:"1",version:"DICOM"},"(0018,9103)":{tag:"(0018,9103)",vr:"SQ",name:"MRSpectroscopyFOVGeometrySequence",vm:"1",version:"DICOM"},"(0018,9104)":{tag:"(0018,9104)",vr:"FD",name:"SlabThickness",vm:"1",version:"DICOM"},"(0018,9105)":{tag:"(0018,9105)",vr:"FD",name:"SlabOrientation",vm:"3",version:"DICOM"},"(0018,9106)":{tag:"(0018,9106)",vr:"FD",name:"MidSlabPosition",vm:"3",version:"DICOM"},"(0018,9107)":{tag:"(0018,9107)",vr:"SQ",name:"MRSpatialSaturationSequence",vm:"1",version:"DICOM"},"(0018,9112)":{tag:"(0018,9112)",vr:"SQ",name:"MRTimingAndRelatedParametersSequence",vm:"1",version:"DICOM"},"(0018,9114)":{tag:"(0018,9114)",vr:"SQ",name:"MREchoSequence",vm:"1",version:"DICOM"},"(0018,9115)":{tag:"(0018,9115)",vr:"SQ",name:"MRModifierSequence",vm:"1",version:"DICOM"},"(0018,9117)":{tag:"(0018,9117)",vr:"SQ",name:"MRDiffusionSequence",vm:"1",version:"DICOM"},"(0018,9118)":{tag:"(0018,9118)",vr:"SQ",name:"CardiacSynchronizationSequence",vm:"1",version:"DICOM"},"(0018,9119)":{tag:"(0018,9119)",vr:"SQ",name:"MRAveragesSequence",vm:"1",version:"DICOM"},"(0018,9125)":{tag:"(0018,9125)",vr:"SQ",name:"MRFOVGeometrySequence",vm:"1",version:"DICOM"},"(0018,9126)":{tag:"(0018,9126)",vr:"SQ",name:"VolumeLocalizationSequence",vm:"1",version:"DICOM"},"(0018,9127)":{tag:"(0018,9127)",vr:"UL",name:"SpectroscopyAcquisitionDataColumns",vm:"1",version:"DICOM"},"(0018,9147)":{tag:"(0018,9147)",vr:"CS",name:"DiffusionAnisotropyType",vm:"1",version:"DICOM"},"(0018,9151)":{tag:"(0018,9151)",vr:"DT",name:"FrameReferenceDateTime",vm:"1",version:"DICOM"},"(0018,9152)":{tag:"(0018,9152)",vr:"SQ",name:"MRMetaboliteMapSequence",vm:"1",version:"DICOM"},"(0018,9155)":{tag:"(0018,9155)",vr:"FD",name:"ParallelReductionFactorOutOfPlane",vm:"1",version:"DICOM"},"(0018,9159)":{tag:"(0018,9159)",vr:"UL",name:"SpectroscopyAcquisitionOutOfPlanePhaseSteps",vm:"1",version:"DICOM"},"(0018,9168)":{tag:"(0018,9168)",vr:"FD",name:"ParallelReductionFactorSecondInPlane",vm:"1",version:"DICOM"},"(0018,9169)":{tag:"(0018,9169)",vr:"CS",name:"CardiacBeatRejectionTechnique",vm:"1",version:"DICOM"},"(0018,9170)":{tag:"(0018,9170)",vr:"CS",name:"RespiratoryMotionCompensationTechnique",vm:"1",version:"DICOM"},"(0018,9171)":{tag:"(0018,9171)",vr:"CS",name:"RespiratorySignalSource",vm:"1",version:"DICOM"},"(0018,9172)":{tag:"(0018,9172)",vr:"CS",name:"BulkMotionCompensationTechnique",vm:"1",version:"DICOM"},"(0018,9173)":{tag:"(0018,9173)",vr:"CS",name:"BulkMotionSignalSource",vm:"1",version:"DICOM"},"(0018,9174)":{tag:"(0018,9174)",vr:"CS",name:"ApplicableSafetyStandardAgency",vm:"1",version:"DICOM"},"(0018,9175)":{tag:"(0018,9175)",vr:"LO",name:"ApplicableSafetyStandardDescription",vm:"1",version:"DICOM"},"(0018,9176)":{tag:"(0018,9176)",vr:"SQ",name:"OperatingModeSequence",vm:"1",version:"DICOM"},"(0018,9177)":{tag:"(0018,9177)",vr:"CS",name:"OperatingModeType",vm:"1",version:"DICOM"},"(0018,9178)":{tag:"(0018,9178)",vr:"CS",name:"OperatingMode",vm:"1",version:"DICOM"},"(0018,9179)":{tag:"(0018,9179)",vr:"CS",name:"SpecificAbsorptionRateDefinition",vm:"1",version:"DICOM"},"(0018,9180)":{tag:"(0018,9180)",vr:"CS",name:"GradientOutputType",vm:"1",version:"DICOM"},"(0018,9181)":{tag:"(0018,9181)",vr:"FD",name:"SpecificAbsorptionRateValue",vm:"1",version:"DICOM"},"(0018,9182)":{tag:"(0018,9182)",vr:"FD",name:"GradientOutput",vm:"1",version:"DICOM"},"(0018,9183)":{tag:"(0018,9183)",vr:"CS",name:"FlowCompensationDirection",vm:"1",version:"DICOM"},"(0018,9184)":{tag:"(0018,9184)",vr:"FD",name:"TaggingDelay",vm:"1",version:"DICOM"},"(0018,9185)":{tag:"(0018,9185)",vr:"ST",name:"RespiratoryMotionCompensationTechniqueDescription",vm:"1",version:"DICOM"},"(0018,9186)":{tag:"(0018,9186)",vr:"SH",name:"RespiratorySignalSourceID",vm:"1",version:"DICOM"},"(0018,9197)":{tag:"(0018,9197)",vr:"SQ",name:"MRVelocityEncodingSequence",vm:"1",version:"DICOM"},"(0018,9198)":{tag:"(0018,9198)",vr:"CS",name:"FirstOrderPhaseCorrection",vm:"1",version:"DICOM"},"(0018,9199)":{tag:"(0018,9199)",vr:"CS",name:"WaterReferencedPhaseCorrection",vm:"1",version:"DICOM"},"(0018,9200)":{tag:"(0018,9200)",vr:"CS",name:"MRSpectroscopyAcquisitionType",vm:"1",version:"DICOM"},"(0018,9214)":{tag:"(0018,9214)",vr:"CS",name:"RespiratoryCyclePosition",vm:"1",version:"DICOM"},"(0018,9217)":{tag:"(0018,9217)",vr:"FD",name:"VelocityEncodingMaximumValue",vm:"1",version:"DICOM"},"(0018,9218)":{tag:"(0018,9218)",vr:"FD",name:"TagSpacingSecondDimension",vm:"1",version:"DICOM"},"(0018,9219)":{tag:"(0018,9219)",vr:"SS",name:"TagAngleSecondAxis",vm:"1",version:"DICOM"},"(0018,9220)":{tag:"(0018,9220)",vr:"FD",name:"FrameAcquisitionDuration",vm:"1",version:"DICOM"},"(0018,9226)":{tag:"(0018,9226)",vr:"SQ",name:"MRImageFrameTypeSequence",vm:"1",version:"DICOM"},"(0018,9227)":{tag:"(0018,9227)",vr:"SQ",name:"MRSpectroscopyFrameTypeSequence",vm:"1",version:"DICOM"},"(0018,9231)":{tag:"(0018,9231)",vr:"US",name:"MRAcquisitionPhaseEncodingStepsInPlane",vm:"1",version:"DICOM"},"(0018,9232)":{tag:"(0018,9232)",vr:"US",name:"MRAcquisitionPhaseEncodingStepsOutOfPlane",vm:"1",version:"DICOM"},"(0018,9234)":{tag:"(0018,9234)",vr:"UL",name:"SpectroscopyAcquisitionPhaseColumns",vm:"1",version:"DICOM"},"(0018,9236)":{tag:"(0018,9236)",vr:"CS",name:"CardiacCyclePosition",vm:"1",version:"DICOM"},"(0018,9239)":{tag:"(0018,9239)",vr:"SQ",name:"SpecificAbsorptionRateSequence",vm:"1",version:"DICOM"},"(0018,9240)":{tag:"(0018,9240)",vr:"US",name:"RFEchoTrainLength",vm:"1",version:"DICOM"},"(0018,9241)":{tag:"(0018,9241)",vr:"US",name:"GradientEchoTrainLength",vm:"1",version:"DICOM"},"(0018,9250)":{tag:"(0018,9250)",vr:"CS",name:"ArterialSpinLabelingContrast",vm:"1",version:"DICOM"},"(0018,9251)":{tag:"(0018,9251)",vr:"SQ",name:"MRArterialSpinLabelingSequence",vm:"1",version:"DICOM"},"(0018,9252)":{tag:"(0018,9252)",vr:"LO",name:"ASLTechniqueDescription",vm:"1",version:"DICOM"},"(0018,9253)":{tag:"(0018,9253)",vr:"US",name:"ASLSlabNumber",vm:"1",version:"DICOM"},"(0018,9254)":{tag:"(0018,9254)",vr:"FD",name:"ASLSlabThickness",vm:"1",version:"DICOM"},"(0018,9255)":{tag:"(0018,9255)",vr:"FD",name:"ASLSlabOrientation",vm:"3",version:"DICOM"},"(0018,9256)":{tag:"(0018,9256)",vr:"FD",name:"ASLMidSlabPosition",vm:"3",version:"DICOM"},"(0018,9257)":{tag:"(0018,9257)",vr:"CS",name:"ASLContext",vm:"1",version:"DICOM"},"(0018,9258)":{tag:"(0018,9258)",vr:"UL",name:"ASLPulseTrainDuration",vm:"1",version:"DICOM"},"(0018,9259)":{tag:"(0018,9259)",vr:"CS",name:"ASLCrusherFlag",vm:"1",version:"DICOM"},"(0018,925A)":{tag:"(0018,925A)",vr:"FD",name:"ASLCrusherFlowLimit",vm:"1",version:"DICOM"},"(0018,925B)":{tag:"(0018,925B)",vr:"LO",name:"ASLCrusherDescription",vm:"1",version:"DICOM"},"(0018,925C)":{tag:"(0018,925C)",vr:"CS",name:"ASLBolusCutoffFlag",vm:"1",version:"DICOM"},"(0018,925D)":{tag:"(0018,925D)",vr:"SQ",name:"ASLBolusCutoffTimingSequence",vm:"1",version:"DICOM"},"(0018,925E)":{tag:"(0018,925E)",vr:"LO",name:"ASLBolusCutoffTechnique",vm:"1",version:"DICOM"},"(0018,925F)":{tag:"(0018,925F)",vr:"UL",name:"ASLBolusCutoffDelayTime",vm:"1",version:"DICOM"},"(0018,9260)":{tag:"(0018,9260)",vr:"SQ",name:"ASLSlabSequence",vm:"1",version:"DICOM"},"(0018,9295)":{tag:"(0018,9295)",vr:"FD",name:"ChemicalShiftMinimumIntegrationLimitInppm",vm:"1",version:"DICOM"},"(0018,9296)":{tag:"(0018,9296)",vr:"FD",name:"ChemicalShiftMaximumIntegrationLimitInppm",vm:"1",version:"DICOM"},"(0018,9297)":{tag:"(0018,9297)",vr:"CS",name:"WaterReferenceAcquisition",vm:"1",version:"DICOM"},"(0018,9298)":{tag:"(0018,9298)",vr:"IS",name:"EchoPeakPosition",vm:"1",version:"DICOM"},"(0018,9301)":{tag:"(0018,9301)",vr:"SQ",name:"CTAcquisitionTypeSequence",vm:"1",version:"DICOM"},"(0018,9302)":{tag:"(0018,9302)",vr:"CS",name:"AcquisitionType",vm:"1",version:"DICOM"},"(0018,9303)":{tag:"(0018,9303)",vr:"FD",name:"TubeAngle",vm:"1",version:"DICOM"},"(0018,9304)":{tag:"(0018,9304)",vr:"SQ",name:"CTAcquisitionDetailsSequence",vm:"1",version:"DICOM"},"(0018,9305)":{tag:"(0018,9305)",vr:"FD",name:"RevolutionTime",vm:"1",version:"DICOM"},"(0018,9306)":{tag:"(0018,9306)",vr:"FD",name:"SingleCollimationWidth",vm:"1",version:"DICOM"},"(0018,9307)":{tag:"(0018,9307)",vr:"FD",name:"TotalCollimationWidth",vm:"1",version:"DICOM"},"(0018,9308)":{tag:"(0018,9308)",vr:"SQ",name:"CTTableDynamicsSequence",vm:"1",version:"DICOM"},"(0018,9309)":{tag:"(0018,9309)",vr:"FD",name:"TableSpeed",vm:"1",version:"DICOM"},"(0018,9310)":{tag:"(0018,9310)",vr:"FD",name:"TableFeedPerRotation",vm:"1",version:"DICOM"},"(0018,9311)":{tag:"(0018,9311)",vr:"FD",name:"SpiralPitchFactor",vm:"1",version:"DICOM"},"(0018,9312)":{tag:"(0018,9312)",vr:"SQ",name:"CTGeometrySequence",vm:"1",version:"DICOM"},"(0018,9313)":{tag:"(0018,9313)",vr:"FD",name:"DataCollectionCenterPatient",vm:"3",version:"DICOM"},"(0018,9314)":{tag:"(0018,9314)",vr:"SQ",name:"CTReconstructionSequence",vm:"1",version:"DICOM"},"(0018,9315)":{tag:"(0018,9315)",vr:"CS",name:"ReconstructionAlgorithm",vm:"1",version:"DICOM"},"(0018,9316)":{tag:"(0018,9316)",vr:"CS",name:"ConvolutionKernelGroup",vm:"1",version:"DICOM"},"(0018,9317)":{tag:"(0018,9317)",vr:"FD",name:"ReconstructionFieldOfView",vm:"2",version:"DICOM"},"(0018,9318)":{tag:"(0018,9318)",vr:"FD",name:"ReconstructionTargetCenterPatient",vm:"3",version:"DICOM"},"(0018,9319)":{tag:"(0018,9319)",vr:"FD",name:"ReconstructionAngle",vm:"1",version:"DICOM"},"(0018,9320)":{tag:"(0018,9320)",vr:"SH",name:"ImageFilter",vm:"1",version:"DICOM"},"(0018,9321)":{tag:"(0018,9321)",vr:"SQ",name:"CTExposureSequence",vm:"1",version:"DICOM"},"(0018,9322)":{tag:"(0018,9322)",vr:"FD",name:"ReconstructionPixelSpacing",vm:"2",version:"DICOM"},"(0018,9323)":{tag:"(0018,9323)",vr:"CS",name:"ExposureModulationType",vm:"1",version:"DICOM"},"(0018,9324)":{tag:"(0018,9324)",vr:"FD",name:"EstimatedDoseSaving",vm:"1",version:"DICOM"},"(0018,9325)":{tag:"(0018,9325)",vr:"SQ",name:"CTXRayDetailsSequence",vm:"1",version:"DICOM"},"(0018,9326)":{tag:"(0018,9326)",vr:"SQ",name:"CTPositionSequence",vm:"1",version:"DICOM"},"(0018,9327)":{tag:"(0018,9327)",vr:"FD",name:"TablePosition",vm:"1",version:"DICOM"},"(0018,9328)":{tag:"(0018,9328)",vr:"FD",name:"ExposureTimeInms",vm:"1",version:"DICOM"},"(0018,9329)":{tag:"(0018,9329)",vr:"SQ",name:"CTImageFrameTypeSequence",vm:"1",version:"DICOM"},"(0018,9330)":{tag:"(0018,9330)",vr:"FD",name:"XRayTubeCurrentInmA",vm:"1",version:"DICOM"},"(0018,9332)":{tag:"(0018,9332)",vr:"FD",name:"ExposureInmAs",vm:"1",version:"DICOM"},"(0018,9333)":{tag:"(0018,9333)",vr:"CS",name:"ConstantVolumeFlag",vm:"1",version:"DICOM"},"(0018,9334)":{tag:"(0018,9334)",vr:"CS",name:"FluoroscopyFlag",vm:"1",version:"DICOM"},"(0018,9335)":{tag:"(0018,9335)",vr:"FD",name:"DistanceSourceToDataCollectionCenter",vm:"1",version:"DICOM"},"(0018,9337)":{tag:"(0018,9337)",vr:"US",name:"ContrastBolusAgentNumber",vm:"1",version:"DICOM"},"(0018,9338)":{tag:"(0018,9338)",vr:"SQ",name:"ContrastBolusIngredientCodeSequence",vm:"1",version:"DICOM"},"(0018,9340)":{tag:"(0018,9340)",vr:"SQ",name:"ContrastAdministrationProfileSequence",vm:"1",version:"DICOM"},"(0018,9341)":{tag:"(0018,9341)",vr:"SQ",name:"ContrastBolusUsageSequence",vm:"1",version:"DICOM"},"(0018,9342)":{tag:"(0018,9342)",vr:"CS",name:"ContrastBolusAgentAdministered",vm:"1",version:"DICOM"},"(0018,9343)":{tag:"(0018,9343)",vr:"CS",name:"ContrastBolusAgentDetected",vm:"1",version:"DICOM"},"(0018,9344)":{tag:"(0018,9344)",vr:"CS",name:"ContrastBolusAgentPhase",vm:"1",version:"DICOM"},"(0018,9345)":{tag:"(0018,9345)",vr:"FD",name:"CTDIvol",vm:"1",version:"DICOM"},"(0018,9346)":{tag:"(0018,9346)",vr:"SQ",name:"CTDIPhantomTypeCodeSequence",vm:"1",version:"DICOM"},"(0018,9351)":{tag:"(0018,9351)",vr:"FL",name:"CalciumScoringMassFactorPatient",vm:"1",version:"DICOM"},"(0018,9352)":{tag:"(0018,9352)",vr:"FL",name:"CalciumScoringMassFactorDevice",vm:"3",version:"DICOM"},"(0018,9353)":{tag:"(0018,9353)",vr:"FL",name:"EnergyWeightingFactor",vm:"1",version:"DICOM"},"(0018,9360)":{tag:"(0018,9360)",vr:"SQ",name:"CTAdditionalXRaySourceSequence",vm:"1",version:"DICOM"},"(0018,9361)":{tag:"(0018,9361)",vr:"CS",name:"MultienergyCTAcquisition",vm:"1",version:"DICOM"},"(0018,9362)":{tag:"(0018,9362)",vr:"SQ",name:"MultienergyCTAcquisitionSequence",vm:"1",version:"DICOM"},"(0018,9363)":{tag:"(0018,9363)",vr:"SQ",name:"MultienergyCTProcessingSequence",vm:"1",version:"DICOM"},"(0018,9364)":{tag:"(0018,9364)",vr:"SQ",name:"MultienergyCTCharacteristicsSequence",vm:"1",version:"DICOM"},"(0018,9365)":{tag:"(0018,9365)",vr:"SQ",name:"MultienergyCTXRaySourceSequence",vm:"1",version:"DICOM"},"(0018,9366)":{tag:"(0018,9366)",vr:"US",name:"XRaySourceIndex",vm:"1",version:"DICOM"},"(0018,9367)":{tag:"(0018,9367)",vr:"UC",name:"XRaySourceID",vm:"1",version:"DICOM"},"(0018,9368)":{tag:"(0018,9368)",vr:"CS",name:"MultienergySourceTechnique",vm:"1",version:"DICOM"},"(0018,9369)":{tag:"(0018,9369)",vr:"DT",name:"SourceStartDateTime",vm:"1",version:"DICOM"},"(0018,936A)":{tag:"(0018,936A)",vr:"DT",name:"SourceEndDateTime",vm:"1",version:"DICOM"},"(0018,936B)":{tag:"(0018,936B)",vr:"US",name:"SwitchingPhaseNumber",vm:"1",version:"DICOM"},"(0018,936C)":{tag:"(0018,936C)",vr:"DS",name:"SwitchingPhaseNominalDuration",vm:"1",version:"DICOM"},"(0018,936D)":{tag:"(0018,936D)",vr:"DS",name:"SwitchingPhaseTransitionDuration",vm:"1",version:"DICOM"},"(0018,936E)":{tag:"(0018,936E)",vr:"DS",name:"EffectiveBinEnergy",vm:"1",version:"DICOM"},"(0018,936F)":{tag:"(0018,936F)",vr:"SQ",name:"MultienergyCTXRayDetectorSequence",vm:"1",version:"DICOM"},"(0018,9370)":{tag:"(0018,9370)",vr:"US",name:"XRayDetectorIndex",vm:"1",version:"DICOM"},"(0018,9371)":{tag:"(0018,9371)",vr:"UC",name:"XRayDetectorID",vm:"1",version:"DICOM"},"(0018,9372)":{tag:"(0018,9372)",vr:"CS",name:"MultienergyDetectorType",vm:"1",version:"DICOM"},"(0018,9373)":{tag:"(0018,9373)",vr:"ST",name:"XRayDetectorLabel",vm:"1",version:"DICOM"},"(0018,9374)":{tag:"(0018,9374)",vr:"DS",name:"NominalMaxEnergy",vm:"1",version:"DICOM"},"(0018,9375)":{tag:"(0018,9375)",vr:"DS",name:"NominalMinEnergy",vm:"1",version:"DICOM"},"(0018,9376)":{tag:"(0018,9376)",vr:"US",name:"ReferencedXRayDetectorIndex",vm:"1-n",version:"DICOM"},"(0018,9377)":{tag:"(0018,9377)",vr:"US",name:"ReferencedXRaySourceIndex",vm:"1-n",version:"DICOM"},"(0018,9378)":{tag:"(0018,9378)",vr:"US",name:"ReferencedPathIndex",vm:"1-n",version:"DICOM"},"(0018,9379)":{tag:"(0018,9379)",vr:"SQ",name:"MultienergyCTPathSequence",vm:"1",version:"DICOM"},"(0018,937A)":{tag:"(0018,937A)",vr:"US",name:"MultienergyCTPathIndex",vm:"1",version:"DICOM"},"(0018,937B)":{tag:"(0018,937B)",vr:"UT",name:"MultienergyAcquisitionDescription",vm:"1",version:"DICOM"},"(0018,937C)":{tag:"(0018,937C)",vr:"FD",name:"MonoenergeticEnergyEquivalent",vm:"1",version:"DICOM"},"(0018,937D)":{tag:"(0018,937D)",vr:"SQ",name:"MaterialCodeSequence",vm:"1",version:"DICOM"},"(0018,937E)":{tag:"(0018,937E)",vr:"CS",name:"DecompositionMethod",vm:"1",version:"DICOM"},"(0018,937F)":{tag:"(0018,937F)",vr:"UT",name:"DecompositionDescription",vm:"1",version:"DICOM"},"(0018,9380)":{tag:"(0018,9380)",vr:"SQ",name:"DecompositionAlgorithmIdentificationSequence",vm:"1",version:"DICOM"},"(0018,9381)":{tag:"(0018,9381)",vr:"SQ",name:"DecompositionMaterialSequence",vm:"1",version:"DICOM"},"(0018,9382)":{tag:"(0018,9382)",vr:"SQ",name:"MaterialAttenuationSequence",vm:"1",version:"DICOM"},"(0018,9383)":{tag:"(0018,9383)",vr:"DS",name:"PhotonEnergy",vm:"1",version:"DICOM"},"(0018,9384)":{tag:"(0018,9384)",vr:"DS",name:"XRayMassAttenuationCoefficient",vm:"1",version:"DICOM"},"(0018,9401)":{tag:"(0018,9401)",vr:"SQ",name:"ProjectionPixelCalibrationSequence",vm:"1",version:"DICOM"},"(0018,9402)":{tag:"(0018,9402)",vr:"FL",name:"DistanceSourceToIsocenter",vm:"1",version:"DICOM"},"(0018,9403)":{tag:"(0018,9403)",vr:"FL",name:"DistanceObjectToTableTop",vm:"1",version:"DICOM"},"(0018,9404)":{tag:"(0018,9404)",vr:"FL",name:"ObjectPixelSpacingInCenterOfBeam",vm:"2",version:"DICOM"},"(0018,9405)":{tag:"(0018,9405)",vr:"SQ",name:"PositionerPositionSequence",vm:"1",version:"DICOM"},"(0018,9406)":{tag:"(0018,9406)",vr:"SQ",name:"TablePositionSequence",vm:"1",version:"DICOM"},"(0018,9407)":{tag:"(0018,9407)",vr:"SQ",name:"CollimatorShapeSequence",vm:"1",version:"DICOM"},"(0018,9410)":{tag:"(0018,9410)",vr:"CS",name:"PlanesInAcquisition",vm:"1",version:"DICOM"},"(0018,9412)":{tag:"(0018,9412)",vr:"SQ",name:"XAXRFFrameCharacteristicsSequence",vm:"1",version:"DICOM"},"(0018,9417)":{tag:"(0018,9417)",vr:"SQ",name:"FrameAcquisitionSequence",vm:"1",version:"DICOM"},"(0018,9420)":{tag:"(0018,9420)",vr:"CS",name:"XRayReceptorType",vm:"1",version:"DICOM"},"(0018,9423)":{tag:"(0018,9423)",vr:"LO",name:"AcquisitionProtocolName",vm:"1",version:"DICOM"},"(0018,9424)":{tag:"(0018,9424)",vr:"LT",name:"AcquisitionProtocolDescription",vm:"1",version:"DICOM"},"(0018,9425)":{tag:"(0018,9425)",vr:"CS",name:"ContrastBolusIngredientOpaque",vm:"1",version:"DICOM"},"(0018,9426)":{tag:"(0018,9426)",vr:"FL",name:"DistanceReceptorPlaneToDetectorHousing",vm:"1",version:"DICOM"},"(0018,9427)":{tag:"(0018,9427)",vr:"CS",name:"IntensifierActiveShape",vm:"1",version:"DICOM"},"(0018,9428)":{tag:"(0018,9428)",vr:"FL",name:"IntensifierActiveDimensions",vm:"1-2",version:"DICOM"},"(0018,9429)":{tag:"(0018,9429)",vr:"FL",name:"PhysicalDetectorSize",vm:"2",version:"DICOM"},"(0018,9430)":{tag:"(0018,9430)",vr:"FL",name:"PositionOfIsocenterProjection",vm:"2",version:"DICOM"},"(0018,9432)":{tag:"(0018,9432)",vr:"SQ",name:"FieldOfViewSequence",vm:"1",version:"DICOM"},"(0018,9433)":{tag:"(0018,9433)",vr:"LO",name:"FieldOfViewDescription",vm:"1",version:"DICOM"},"(0018,9434)":{tag:"(0018,9434)",vr:"SQ",name:"ExposureControlSensingRegionsSequence",vm:"1",version:"DICOM"},"(0018,9435)":{tag:"(0018,9435)",vr:"CS",name:"ExposureControlSensingRegionShape",vm:"1",version:"DICOM"},"(0018,9436)":{tag:"(0018,9436)",vr:"SS",name:"ExposureControlSensingRegionLeftVerticalEdge",vm:"1",version:"DICOM"},"(0018,9437)":{tag:"(0018,9437)",vr:"SS",name:"ExposureControlSensingRegionRightVerticalEdge",vm:"1",version:"DICOM"},"(0018,9438)":{tag:"(0018,9438)",vr:"SS",name:"ExposureControlSensingRegionUpperHorizontalEdge",vm:"1",version:"DICOM"},"(0018,9439)":{tag:"(0018,9439)",vr:"SS",name:"ExposureControlSensingRegionLowerHorizontalEdge",vm:"1",version:"DICOM"},"(0018,9440)":{tag:"(0018,9440)",vr:"SS",name:"CenterOfCircularExposureControlSensingRegion",vm:"2",version:"DICOM"},"(0018,9441)":{tag:"(0018,9441)",vr:"US",name:"RadiusOfCircularExposureControlSensingRegion",vm:"1",version:"DICOM"},"(0018,9442)":{tag:"(0018,9442)",vr:"SS",name:"VerticesOfThePolygonalExposureControlSensingRegion",vm:"2-n",version:"DICOM"},"(0018,9447)":{tag:"(0018,9447)",vr:"FL",name:"ColumnAngulationPatient",vm:"1",version:"DICOM"},"(0018,9449)":{tag:"(0018,9449)",vr:"FL",name:"BeamAngle",vm:"1",version:"DICOM"},"(0018,9451)":{tag:"(0018,9451)",vr:"SQ",name:"FrameDetectorParametersSequence",vm:"1",version:"DICOM"},"(0018,9452)":{tag:"(0018,9452)",vr:"FL",name:"CalculatedAnatomyThickness",vm:"1",version:"DICOM"},"(0018,9455)":{tag:"(0018,9455)",vr:"SQ",name:"CalibrationSequence",vm:"1",version:"DICOM"},"(0018,9456)":{tag:"(0018,9456)",vr:"SQ",name:"ObjectThicknessSequence",vm:"1",version:"DICOM"},"(0018,9457)":{tag:"(0018,9457)",vr:"CS",name:"PlaneIdentification",vm:"1",version:"DICOM"},"(0018,9461)":{tag:"(0018,9461)",vr:"FL",name:"FieldOfViewDimensionsInFloat",vm:"1-2",version:"DICOM"},"(0018,9462)":{tag:"(0018,9462)",vr:"SQ",name:"IsocenterReferenceSystemSequence",vm:"1",version:"DICOM"},"(0018,9463)":{tag:"(0018,9463)",vr:"FL",name:"PositionerIsocenterPrimaryAngle",vm:"1",version:"DICOM"},"(0018,9464)":{tag:"(0018,9464)",vr:"FL",name:"PositionerIsocenterSecondaryAngle",vm:"1",version:"DICOM"},"(0018,9465)":{tag:"(0018,9465)",vr:"FL",name:"PositionerIsocenterDetectorRotationAngle",vm:"1",version:"DICOM"},"(0018,9466)":{tag:"(0018,9466)",vr:"FL",name:"TableXPositionToIsocenter",vm:"1",version:"DICOM"},"(0018,9467)":{tag:"(0018,9467)",vr:"FL",name:"TableYPositionToIsocenter",vm:"1",version:"DICOM"},"(0018,9468)":{tag:"(0018,9468)",vr:"FL",name:"TableZPositionToIsocenter",vm:"1",version:"DICOM"},"(0018,9469)":{tag:"(0018,9469)",vr:"FL",name:"TableHorizontalRotationAngle",vm:"1",version:"DICOM"},"(0018,9470)":{tag:"(0018,9470)",vr:"FL",name:"TableHeadTiltAngle",vm:"1",version:"DICOM"},"(0018,9471)":{tag:"(0018,9471)",vr:"FL",name:"TableCradleTiltAngle",vm:"1",version:"DICOM"},"(0018,9472)":{tag:"(0018,9472)",vr:"SQ",name:"FrameDisplayShutterSequence",vm:"1",version:"DICOM"},"(0018,9473)":{tag:"(0018,9473)",vr:"FL",name:"AcquiredImageAreaDoseProduct",vm:"1",version:"DICOM"},"(0018,9474)":{tag:"(0018,9474)",vr:"CS",name:"CArmPositionerTabletopRelationship",vm:"1",version:"DICOM"},"(0018,9476)":{tag:"(0018,9476)",vr:"SQ",name:"XRayGeometrySequence",vm:"1",version:"DICOM"},"(0018,9477)":{tag:"(0018,9477)",vr:"SQ",name:"IrradiationEventIdentificationSequence",vm:"1",version:"DICOM"},"(0018,9504)":{tag:"(0018,9504)",vr:"SQ",name:"XRay3DFrameTypeSequence",vm:"1",version:"DICOM"},"(0018,9506)":{tag:"(0018,9506)",vr:"SQ",name:"ContributingSourcesSequence",vm:"1",version:"DICOM"},"(0018,9507)":{tag:"(0018,9507)",vr:"SQ",name:"XRay3DAcquisitionSequence",vm:"1",version:"DICOM"},"(0018,9508)":{tag:"(0018,9508)",vr:"FL",name:"PrimaryPositionerScanArc",vm:"1",version:"DICOM"},"(0018,9509)":{tag:"(0018,9509)",vr:"FL",name:"SecondaryPositionerScanArc",vm:"1",version:"DICOM"},"(0018,9510)":{tag:"(0018,9510)",vr:"FL",name:"PrimaryPositionerScanStartAngle",vm:"1",version:"DICOM"},"(0018,9511)":{tag:"(0018,9511)",vr:"FL",name:"SecondaryPositionerScanStartAngle",vm:"1",version:"DICOM"},"(0018,9514)":{tag:"(0018,9514)",vr:"FL",name:"PrimaryPositionerIncrement",vm:"1",version:"DICOM"},"(0018,9515)":{tag:"(0018,9515)",vr:"FL",name:"SecondaryPositionerIncrement",vm:"1",version:"DICOM"},"(0018,9516)":{tag:"(0018,9516)",vr:"DT",name:"StartAcquisitionDateTime",vm:"1",version:"DICOM"},"(0018,9517)":{tag:"(0018,9517)",vr:"DT",name:"EndAcquisitionDateTime",vm:"1",version:"DICOM"},"(0018,9518)":{tag:"(0018,9518)",vr:"SS",name:"PrimaryPositionerIncrementSign",vm:"1",version:"DICOM"},"(0018,9519)":{tag:"(0018,9519)",vr:"SS",name:"SecondaryPositionerIncrementSign",vm:"1",version:"DICOM"},"(0018,9524)":{tag:"(0018,9524)",vr:"LO",name:"ApplicationName",vm:"1",version:"DICOM"},"(0018,9525)":{tag:"(0018,9525)",vr:"LO",name:"ApplicationVersion",vm:"1",version:"DICOM"},"(0018,9526)":{tag:"(0018,9526)",vr:"LO",name:"ApplicationManufacturer",vm:"1",version:"DICOM"},"(0018,9527)":{tag:"(0018,9527)",vr:"CS",name:"AlgorithmType",vm:"1",version:"DICOM"},"(0018,9528)":{tag:"(0018,9528)",vr:"LO",name:"AlgorithmDescription",vm:"1",version:"DICOM"},"(0018,9530)":{tag:"(0018,9530)",vr:"SQ",name:"XRay3DReconstructionSequence",vm:"1",version:"DICOM"},"(0018,9531)":{tag:"(0018,9531)",vr:"LO",name:"ReconstructionDescription",vm:"1",version:"DICOM"},"(0018,9538)":{tag:"(0018,9538)",vr:"SQ",name:"PerProjectionAcquisitionSequence",vm:"1",version:"DICOM"},"(0018,9541)":{tag:"(0018,9541)",vr:"SQ",name:"DetectorPositionSequence",vm:"1",version:"DICOM"},"(0018,9542)":{tag:"(0018,9542)",vr:"SQ",name:"XRayAcquisitionDoseSequence",vm:"1",version:"DICOM"},"(0018,9543)":{tag:"(0018,9543)",vr:"FD",name:"XRaySourceIsocenterPrimaryAngle",vm:"1",version:"DICOM"},"(0018,9544)":{tag:"(0018,9544)",vr:"FD",name:"XRaySourceIsocenterSecondaryAngle",vm:"1",version:"DICOM"},"(0018,9545)":{tag:"(0018,9545)",vr:"FD",name:"BreastSupportIsocenterPrimaryAngle",vm:"1",version:"DICOM"},"(0018,9546)":{tag:"(0018,9546)",vr:"FD",name:"BreastSupportIsocenterSecondaryAngle",vm:"1",version:"DICOM"},"(0018,9547)":{tag:"(0018,9547)",vr:"FD",name:"BreastSupportXPositionToIsocenter",vm:"1",version:"DICOM"},"(0018,9548)":{tag:"(0018,9548)",vr:"FD",name:"BreastSupportYPositionToIsocenter",vm:"1",version:"DICOM"},"(0018,9549)":{tag:"(0018,9549)",vr:"FD",name:"BreastSupportZPositionToIsocenter",vm:"1",version:"DICOM"},"(0018,9550)":{tag:"(0018,9550)",vr:"FD",name:"DetectorIsocenterPrimaryAngle",vm:"1",version:"DICOM"},"(0018,9551)":{tag:"(0018,9551)",vr:"FD",name:"DetectorIsocenterSecondaryAngle",vm:"1",version:"DICOM"},"(0018,9552)":{tag:"(0018,9552)",vr:"FD",name:"DetectorXPositionToIsocenter",vm:"1",version:"DICOM"},"(0018,9553)":{tag:"(0018,9553)",vr:"FD",name:"DetectorYPositionToIsocenter",vm:"1",version:"DICOM"},"(0018,9554)":{tag:"(0018,9554)",vr:"FD",name:"DetectorZPositionToIsocenter",vm:"1",version:"DICOM"},"(0018,9555)":{tag:"(0018,9555)",vr:"SQ",name:"XRayGridSequence",vm:"1",version:"DICOM"},"(0018,9556)":{tag:"(0018,9556)",vr:"SQ",name:"XRayFilterSequence",vm:"1",version:"DICOM"},"(0018,9557)":{tag:"(0018,9557)",vr:"FD",name:"DetectorActiveAreaTLHCPosition",vm:"3",version:"DICOM"},"(0018,9558)":{tag:"(0018,9558)",vr:"FD",name:"DetectorActiveAreaOrientation",vm:"6",version:"DICOM"},"(0018,9559)":{tag:"(0018,9559)",vr:"CS",name:"PositionerPrimaryAngleDirection",vm:"1",version:"DICOM"},"(0018,9601)":{tag:"(0018,9601)",vr:"SQ",name:"DiffusionBMatrixSequence",vm:"1",version:"DICOM"},"(0018,9602)":{tag:"(0018,9602)",vr:"FD",name:"DiffusionBValueXX",vm:"1",version:"DICOM"},"(0018,9603)":{tag:"(0018,9603)",vr:"FD",name:"DiffusionBValueXY",vm:"1",version:"DICOM"},"(0018,9604)":{tag:"(0018,9604)",vr:"FD",name:"DiffusionBValueXZ",vm:"1",version:"DICOM"},"(0018,9605)":{tag:"(0018,9605)",vr:"FD",name:"DiffusionBValueYY",vm:"1",version:"DICOM"},"(0018,9606)":{tag:"(0018,9606)",vr:"FD",name:"DiffusionBValueYZ",vm:"1",version:"DICOM"},"(0018,9607)":{tag:"(0018,9607)",vr:"FD",name:"DiffusionBValueZZ",vm:"1",version:"DICOM"},"(0018,9621)":{tag:"(0018,9621)",vr:"SQ",name:"FunctionalMRSequence",vm:"1",version:"DICOM"},"(0018,9622)":{tag:"(0018,9622)",vr:"CS",name:"FunctionalSettlingPhaseFramesPresent",vm:"1",version:"DICOM"},"(0018,9623)":{tag:"(0018,9623)",vr:"DT",name:"FunctionalSyncPulse",vm:"1",version:"DICOM"},"(0018,9624)":{tag:"(0018,9624)",vr:"CS",name:"SettlingPhaseFrame",vm:"1",version:"DICOM"},"(0018,9701)":{tag:"(0018,9701)",vr:"DT",name:"DecayCorrectionDateTime",vm:"1",version:"DICOM"},"(0018,9715)":{tag:"(0018,9715)",vr:"FD",name:"StartDensityThreshold",vm:"1",version:"DICOM"},"(0018,9716)":{tag:"(0018,9716)",vr:"FD",name:"StartRelativeDensityDifferenceThreshold",vm:"1",version:"DICOM"},"(0018,9717)":{tag:"(0018,9717)",vr:"FD",name:"StartCardiacTriggerCountThreshold",vm:"1",version:"DICOM"},"(0018,9718)":{tag:"(0018,9718)",vr:"FD",name:"StartRespiratoryTriggerCountThreshold",vm:"1",version:"DICOM"},"(0018,9719)":{tag:"(0018,9719)",vr:"FD",name:"TerminationCountsThreshold",vm:"1",version:"DICOM"},"(0018,9720)":{tag:"(0018,9720)",vr:"FD",name:"TerminationDensityThreshold",vm:"1",version:"DICOM"},"(0018,9721)":{tag:"(0018,9721)",vr:"FD",name:"TerminationRelativeDensityThreshold",vm:"1",version:"DICOM"},"(0018,9722)":{tag:"(0018,9722)",vr:"FD",name:"TerminationTimeThreshold",vm:"1",version:"DICOM"},"(0018,9723)":{tag:"(0018,9723)",vr:"FD",name:"TerminationCardiacTriggerCountThreshold",vm:"1",version:"DICOM"},"(0018,9724)":{tag:"(0018,9724)",vr:"FD",name:"TerminationRespiratoryTriggerCountThreshold",vm:"1",version:"DICOM"},"(0018,9725)":{tag:"(0018,9725)",vr:"CS",name:"DetectorGeometry",vm:"1",version:"DICOM"},"(0018,9726)":{tag:"(0018,9726)",vr:"FD",name:"TransverseDetectorSeparation",vm:"1",version:"DICOM"},"(0018,9727)":{tag:"(0018,9727)",vr:"FD",name:"AxialDetectorDimension",vm:"1",version:"DICOM"},"(0018,9729)":{tag:"(0018,9729)",vr:"US",name:"RadiopharmaceuticalAgentNumber",vm:"1",version:"DICOM"},"(0018,9732)":{tag:"(0018,9732)",vr:"SQ",name:"PETFrameAcquisitionSequence",vm:"1",version:"DICOM"},"(0018,9733)":{tag:"(0018,9733)",vr:"SQ",name:"PETDetectorMotionDetailsSequence",vm:"1",version:"DICOM"},"(0018,9734)":{tag:"(0018,9734)",vr:"SQ",name:"PETTableDynamicsSequence",vm:"1",version:"DICOM"},"(0018,9735)":{tag:"(0018,9735)",vr:"SQ",name:"PETPositionSequence",vm:"1",version:"DICOM"},"(0018,9736)":{tag:"(0018,9736)",vr:"SQ",name:"PETFrameCorrectionFactorsSequence",vm:"1",version:"DICOM"},"(0018,9737)":{tag:"(0018,9737)",vr:"SQ",name:"RadiopharmaceuticalUsageSequence",vm:"1",version:"DICOM"},"(0018,9738)":{tag:"(0018,9738)",vr:"CS",name:"AttenuationCorrectionSource",vm:"1",version:"DICOM"},"(0018,9739)":{tag:"(0018,9739)",vr:"US",name:"NumberOfIterations",vm:"1",version:"DICOM"},"(0018,9740)":{tag:"(0018,9740)",vr:"US",name:"NumberOfSubsets",vm:"1",version:"DICOM"},"(0018,9749)":{tag:"(0018,9749)",vr:"SQ",name:"PETReconstructionSequence",vm:"1",version:"DICOM"},"(0018,9751)":{tag:"(0018,9751)",vr:"SQ",name:"PETFrameTypeSequence",vm:"1",version:"DICOM"},"(0018,9755)":{tag:"(0018,9755)",vr:"CS",name:"TimeOfFlightInformationUsed",vm:"1",version:"DICOM"},"(0018,9756)":{tag:"(0018,9756)",vr:"CS",name:"ReconstructionType",vm:"1",version:"DICOM"},"(0018,9758)":{tag:"(0018,9758)",vr:"CS",name:"DecayCorrected",vm:"1",version:"DICOM"},"(0018,9759)":{tag:"(0018,9759)",vr:"CS",name:"AttenuationCorrected",vm:"1",version:"DICOM"},"(0018,9760)":{tag:"(0018,9760)",vr:"CS",name:"ScatterCorrected",vm:"1",version:"DICOM"},"(0018,9761)":{tag:"(0018,9761)",vr:"CS",name:"DeadTimeCorrected",vm:"1",version:"DICOM"},"(0018,9762)":{tag:"(0018,9762)",vr:"CS",name:"GantryMotionCorrected",vm:"1",version:"DICOM"},"(0018,9763)":{tag:"(0018,9763)",vr:"CS",name:"PatientMotionCorrected",vm:"1",version:"DICOM"},"(0018,9764)":{tag:"(0018,9764)",vr:"CS",name:"CountLossNormalizationCorrected",vm:"1",version:"DICOM"},"(0018,9765)":{tag:"(0018,9765)",vr:"CS",name:"RandomsCorrected",vm:"1",version:"DICOM"},"(0018,9766)":{tag:"(0018,9766)",vr:"CS",name:"NonUniformRadialSamplingCorrected",vm:"1",version:"DICOM"},"(0018,9767)":{tag:"(0018,9767)",vr:"CS",name:"SensitivityCalibrated",vm:"1",version:"DICOM"},"(0018,9768)":{tag:"(0018,9768)",vr:"CS",name:"DetectorNormalizationCorrection",vm:"1",version:"DICOM"},"(0018,9769)":{tag:"(0018,9769)",vr:"CS",name:"IterativeReconstructionMethod",vm:"1",version:"DICOM"},"(0018,9770)":{tag:"(0018,9770)",vr:"CS",name:"AttenuationCorrectionTemporalRelationship",vm:"1",version:"DICOM"},"(0018,9771)":{tag:"(0018,9771)",vr:"SQ",name:"PatientPhysiologicalStateSequence",vm:"1",version:"DICOM"},"(0018,9772)":{tag:"(0018,9772)",vr:"SQ",name:"PatientPhysiologicalStateCodeSequence",vm:"1",version:"DICOM"},"(0018,9801)":{tag:"(0018,9801)",vr:"FD",name:"DepthsOfFocus",vm:"1-n",version:"DICOM"},"(0018,9803)":{tag:"(0018,9803)",vr:"SQ",name:"ExcludedIntervalsSequence",vm:"1",version:"DICOM"},"(0018,9804)":{tag:"(0018,9804)",vr:"DT",name:"ExclusionStartDateTime",vm:"1",version:"DICOM"},"(0018,9805)":{tag:"(0018,9805)",vr:"FD",name:"ExclusionDuration",vm:"1",version:"DICOM"},"(0018,9806)":{tag:"(0018,9806)",vr:"SQ",name:"USImageDescriptionSequence",vm:"1",version:"DICOM"},"(0018,9807)":{tag:"(0018,9807)",vr:"SQ",name:"ImageDataTypeSequence",vm:"1",version:"DICOM"},"(0018,9808)":{tag:"(0018,9808)",vr:"CS",name:"DataType",vm:"1",version:"DICOM"},"(0018,9809)":{tag:"(0018,9809)",vr:"SQ",name:"TransducerScanPatternCodeSequence",vm:"1",version:"DICOM"},"(0018,980B)":{tag:"(0018,980B)",vr:"CS",name:"AliasedDataType",vm:"1",version:"DICOM"},"(0018,980C)":{tag:"(0018,980C)",vr:"CS",name:"PositionMeasuringDeviceUsed",vm:"1",version:"DICOM"},"(0018,980D)":{tag:"(0018,980D)",vr:"SQ",name:"TransducerGeometryCodeSequence",vm:"1",version:"DICOM"},"(0018,980E)":{tag:"(0018,980E)",vr:"SQ",name:"TransducerBeamSteeringCodeSequence",vm:"1",version:"DICOM"},"(0018,980F)":{tag:"(0018,980F)",vr:"SQ",name:"TransducerApplicationCodeSequence",vm:"1",version:"DICOM"},"(0018,9810)":{tag:"(0018,9810)",vr:"xs",name:"ZeroVelocityPixelValue",vm:"1",version:"DICOM"},"(0018,9900)":{tag:"(0018,9900)",vr:"LO",name:"ReferenceLocationLabel",vm:"1",version:"DICOM"},"(0018,9901)":{tag:"(0018,9901)",vr:"UT",name:"ReferenceLocationDescription",vm:"1",version:"DICOM"},"(0018,9902)":{tag:"(0018,9902)",vr:"SQ",name:"ReferenceBasisCodeSequence",vm:"1",version:"DICOM"},"(0018,9903)":{tag:"(0018,9903)",vr:"SQ",name:"ReferenceGeometryCodeSequence",vm:"1",version:"DICOM"},"(0018,9904)":{tag:"(0018,9904)",vr:"DS",name:"OffsetDistance",vm:"1",version:"DICOM"},"(0018,9905)":{tag:"(0018,9905)",vr:"CS",name:"OffsetDirection",vm:"1",version:"DICOM"},"(0018,9906)":{tag:"(0018,9906)",vr:"SQ",name:"PotentialScheduledProtocolCodeSequence",vm:"1",version:"DICOM"},"(0018,9907)":{tag:"(0018,9907)",vr:"SQ",name:"PotentialRequestedProcedureCodeSequence",vm:"1",version:"DICOM"},"(0018,9908)":{tag:"(0018,9908)",vr:"UC",name:"PotentialReasonsForProcedure",vm:"1-n",version:"DICOM"},"(0018,9909)":{tag:"(0018,9909)",vr:"SQ",name:"PotentialReasonsForProcedureCodeSequence",vm:"1",version:"DICOM"},"(0018,990A)":{tag:"(0018,990A)",vr:"UC",name:"PotentialDiagnosticTasks",vm:"1-n",version:"DICOM"},"(0018,990B)":{tag:"(0018,990B)",vr:"SQ",name:"ContraindicationsCodeSequence",vm:"1",version:"DICOM"},"(0018,990C)":{tag:"(0018,990C)",vr:"SQ",name:"ReferencedDefinedProtocolSequence",vm:"1",version:"DICOM"},"(0018,990D)":{tag:"(0018,990D)",vr:"SQ",name:"ReferencedPerformedProtocolSequence",vm:"1",version:"DICOM"},"(0018,990E)":{tag:"(0018,990E)",vr:"SQ",name:"PredecessorProtocolSequence",vm:"1",version:"DICOM"},"(0018,990F)":{tag:"(0018,990F)",vr:"UT",name:"ProtocolPlanningInformation",vm:"1",version:"DICOM"},"(0018,9910)":{tag:"(0018,9910)",vr:"UT",name:"ProtocolDesignRationale",vm:"1",version:"DICOM"},"(0018,9911)":{tag:"(0018,9911)",vr:"SQ",name:"PatientSpecificationSequence",vm:"1",version:"DICOM"},"(0018,9912)":{tag:"(0018,9912)",vr:"SQ",name:"ModelSpecificationSequence",vm:"1",version:"DICOM"},"(0018,9913)":{tag:"(0018,9913)",vr:"SQ",name:"ParametersSpecificationSequence",vm:"1",version:"DICOM"},"(0018,9914)":{tag:"(0018,9914)",vr:"SQ",name:"InstructionSequence",vm:"1",version:"DICOM"},"(0018,9915)":{tag:"(0018,9915)",vr:"US",name:"InstructionIndex",vm:"1",version:"DICOM"},"(0018,9916)":{tag:"(0018,9916)",vr:"LO",name:"InstructionText",vm:"1",version:"DICOM"},"(0018,9917)":{tag:"(0018,9917)",vr:"UT",name:"InstructionDescription",vm:"1",version:"DICOM"},"(0018,9918)":{tag:"(0018,9918)",vr:"CS",name:"InstructionPerformedFlag",vm:"1",version:"DICOM"},"(0018,9919)":{tag:"(0018,9919)",vr:"DT",name:"InstructionPerformedDateTime",vm:"1",version:"DICOM"},"(0018,991A)":{tag:"(0018,991A)",vr:"UT",name:"InstructionPerformanceComment",vm:"1",version:"DICOM"},"(0018,991B)":{tag:"(0018,991B)",vr:"SQ",name:"PatientPositioningInstructionSequence",vm:"1",version:"DICOM"},"(0018,991C)":{tag:"(0018,991C)",vr:"SQ",name:"PositioningMethodCodeSequence",vm:"1",version:"DICOM"},"(0018,991D)":{tag:"(0018,991D)",vr:"SQ",name:"PositioningLandmarkSequence",vm:"1",version:"DICOM"},"(0018,991E)":{tag:"(0018,991E)",vr:"UI",name:"TargetFrameOfReferenceUID",vm:"1",version:"DICOM"},"(0018,991F)":{tag:"(0018,991F)",vr:"SQ",name:"AcquisitionProtocolElementSpecificationSequence",vm:"1",version:"DICOM"},"(0018,9920)":{tag:"(0018,9920)",vr:"SQ",name:"AcquisitionProtocolElementSequence",vm:"1",version:"DICOM"},"(0018,9921)":{tag:"(0018,9921)",vr:"US",name:"ProtocolElementNumber",vm:"1",version:"DICOM"},"(0018,9922)":{tag:"(0018,9922)",vr:"LO",name:"ProtocolElementName",vm:"1",version:"DICOM"},"(0018,9923)":{tag:"(0018,9923)",vr:"UT",name:"ProtocolElementCharacteristicsSummary",vm:"1",version:"DICOM"},"(0018,9924)":{tag:"(0018,9924)",vr:"UT",name:"ProtocolElementPurpose",vm:"1",version:"DICOM"},"(0018,9930)":{tag:"(0018,9930)",vr:"CS",name:"AcquisitionMotion",vm:"1",version:"DICOM"},"(0018,9931)":{tag:"(0018,9931)",vr:"SQ",name:"AcquisitionStartLocationSequence",vm:"1",version:"DICOM"},"(0018,9932)":{tag:"(0018,9932)",vr:"SQ",name:"AcquisitionEndLocationSequence",vm:"1",version:"DICOM"},"(0018,9933)":{tag:"(0018,9933)",vr:"SQ",name:"ReconstructionProtocolElementSpecificationSequence",vm:"1",version:"DICOM"},"(0018,9934)":{tag:"(0018,9934)",vr:"SQ",name:"ReconstructionProtocolElementSequence",vm:"1",version:"DICOM"},"(0018,9935)":{tag:"(0018,9935)",vr:"SQ",name:"StorageProtocolElementSpecificationSequence",vm:"1",version:"DICOM"},"(0018,9936)":{tag:"(0018,9936)",vr:"SQ",name:"StorageProtocolElementSequence",vm:"1",version:"DICOM"},"(0018,9937)":{tag:"(0018,9937)",vr:"LO",name:"RequestedSeriesDescription",vm:"1",version:"DICOM"},"(0018,9938)":{tag:"(0018,9938)",vr:"US",name:"SourceAcquisitionProtocolElementNumber",vm:"1-n",version:"DICOM"},"(0018,9939)":{tag:"(0018,9939)",vr:"US",name:"SourceAcquisitionBeamNumber",vm:"1-n",version:"DICOM"},"(0018,993A)":{tag:"(0018,993A)",vr:"US",name:"SourceReconstructionProtocolElementNumber",vm:"1-n",version:"DICOM"},"(0018,993B)":{tag:"(0018,993B)",vr:"SQ",name:"ReconstructionStartLocationSequence",vm:"1",version:"DICOM"},"(0018,993C)":{tag:"(0018,993C)",vr:"SQ",name:"ReconstructionEndLocationSequence",vm:"1",version:"DICOM"},"(0018,993D)":{tag:"(0018,993D)",vr:"SQ",name:"ReconstructionAlgorithmSequence",vm:"1",version:"DICOM"},"(0018,993E)":{tag:"(0018,993E)",vr:"SQ",name:"ReconstructionTargetCenterLocationSequence",vm:"1",version:"DICOM"},"(0018,9941)":{tag:"(0018,9941)",vr:"UT",name:"ImageFilterDescription",vm:"1",version:"DICOM"},"(0018,9942)":{tag:"(0018,9942)",vr:"FD",name:"CTDIvolNotificationTrigger",vm:"1",version:"DICOM"},"(0018,9943)":{tag:"(0018,9943)",vr:"FD",name:"DLPNotificationTrigger",vm:"1",version:"DICOM"},"(0018,9944)":{tag:"(0018,9944)",vr:"CS",name:"AutoKVPSelectionType",vm:"1",version:"DICOM"},"(0018,9945)":{tag:"(0018,9945)",vr:"FD",name:"AutoKVPUpperBound",vm:"1",version:"DICOM"},"(0018,9946)":{tag:"(0018,9946)",vr:"FD",name:"AutoKVPLowerBound",vm:"1",version:"DICOM"},"(0018,9947)":{tag:"(0018,9947)",vr:"CS",name:"ProtocolDefinedPatientPosition",vm:"1",version:"DICOM"},"(0018,A001)":{tag:"(0018,A001)",vr:"SQ",name:"ContributingEquipmentSequence",vm:"1",version:"DICOM"},"(0018,A002)":{tag:"(0018,A002)",vr:"DT",name:"ContributionDateTime",vm:"1",version:"DICOM"},"(0018,A003)":{tag:"(0018,A003)",vr:"ST",name:"ContributionDescription",vm:"1",version:"DICOM"},"(0020,000D)":{tag:"(0020,000D)",vr:"UI",name:"StudyInstanceUID",vm:"1",version:"DICOM"},"(0020,000E)":{tag:"(0020,000E)",vr:"UI",name:"SeriesInstanceUID",vm:"1",version:"DICOM"},"(0020,0010)":{tag:"(0020,0010)",vr:"SH",name:"StudyID",vm:"1",version:"DICOM"},"(0020,0011)":{tag:"(0020,0011)",vr:"IS",name:"SeriesNumber",vm:"1",version:"DICOM"},"(0020,0012)":{tag:"(0020,0012)",vr:"IS",name:"AcquisitionNumber",vm:"1",version:"DICOM"},"(0020,0013)":{tag:"(0020,0013)",vr:"IS",name:"InstanceNumber",vm:"1",version:"DICOM"},"(0020,0019)":{tag:"(0020,0019)",vr:"IS",name:"ItemNumber",vm:"1",version:"DICOM"},"(0020,0020)":{tag:"(0020,0020)",vr:"CS",name:"PatientOrientation",vm:"2",version:"DICOM"},"(0020,0032)":{tag:"(0020,0032)",vr:"DS",name:"ImagePositionPatient",vm:"3",version:"DICOM"},"(0020,0037)":{tag:"(0020,0037)",vr:"DS",name:"ImageOrientationPatient",vm:"6",version:"DICOM"},"(0020,0052)":{tag:"(0020,0052)",vr:"UI",name:"FrameOfReferenceUID",vm:"1",version:"DICOM"},"(0020,0060)":{tag:"(0020,0060)",vr:"CS",name:"Laterality",vm:"1",version:"DICOM"},"(0020,0062)":{tag:"(0020,0062)",vr:"CS",name:"ImageLaterality",vm:"1",version:"DICOM"},"(0020,0100)":{tag:"(0020,0100)",vr:"IS",name:"TemporalPositionIdentifier",vm:"1",version:"DICOM"},"(0020,0105)":{tag:"(0020,0105)",vr:"IS",name:"NumberOfTemporalPositions",vm:"1",version:"DICOM"},"(0020,0110)":{tag:"(0020,0110)",vr:"DS",name:"TemporalResolution",vm:"1",version:"DICOM"},"(0020,0200)":{tag:"(0020,0200)",vr:"UI",name:"SynchronizationFrameOfReferenceUID",vm:"1",version:"DICOM"},"(0020,0242)":{tag:"(0020,0242)",vr:"UI",name:"SOPInstanceUIDOfConcatenationSource",vm:"1",version:"DICOM"},"(0020,1002)":{tag:"(0020,1002)",vr:"IS",name:"ImagesInAcquisition",vm:"1",version:"DICOM"},"(0020,103F)":{tag:"(0020,103F)",vr:"LO",name:"TargetPositionReferenceIndicator",vm:"1",version:"DICOM"},"(0020,1040)":{tag:"(0020,1040)",vr:"LO",name:"PositionReferenceIndicator",vm:"1",version:"DICOM"},"(0020,1041)":{tag:"(0020,1041)",vr:"DS",name:"SliceLocation",vm:"1",version:"DICOM"},"(0020,1200)":{tag:"(0020,1200)",vr:"IS",name:"NumberOfPatientRelatedStudies",vm:"1",version:"DICOM"},"(0020,1202)":{tag:"(0020,1202)",vr:"IS",name:"NumberOfPatientRelatedSeries",vm:"1",version:"DICOM"},"(0020,1204)":{tag:"(0020,1204)",vr:"IS",name:"NumberOfPatientRelatedInstances",vm:"1",version:"DICOM"},"(0020,1206)":{tag:"(0020,1206)",vr:"IS",name:"NumberOfStudyRelatedSeries",vm:"1",version:"DICOM"},"(0020,1208)":{tag:"(0020,1208)",vr:"IS",name:"NumberOfStudyRelatedInstances",vm:"1",version:"DICOM"},"(0020,1209)":{tag:"(0020,1209)",vr:"IS",name:"NumberOfSeriesRelatedInstances",vm:"1",version:"DICOM"},"(0020,4000)":{tag:"(0020,4000)",vr:"LT",name:"ImageComments",vm:"1",version:"DICOM"},"(0020,9056)":{tag:"(0020,9056)",vr:"SH",name:"StackID",vm:"1",version:"DICOM"},"(0020,9057)":{tag:"(0020,9057)",vr:"UL",name:"InStackPositionNumber",vm:"1",version:"DICOM"},"(0020,9071)":{tag:"(0020,9071)",vr:"SQ",name:"FrameAnatomySequence",vm:"1",version:"DICOM"},"(0020,9072)":{tag:"(0020,9072)",vr:"CS",name:"FrameLaterality",vm:"1",version:"DICOM"},"(0020,9111)":{tag:"(0020,9111)",vr:"SQ",name:"FrameContentSequence",vm:"1",version:"DICOM"},"(0020,9113)":{tag:"(0020,9113)",vr:"SQ",name:"PlanePositionSequence",vm:"1",version:"DICOM"},"(0020,9116)":{tag:"(0020,9116)",vr:"SQ",name:"PlaneOrientationSequence",vm:"1",version:"DICOM"},"(0020,9128)":{tag:"(0020,9128)",vr:"UL",name:"TemporalPositionIndex",vm:"1",version:"DICOM"},"(0020,9153)":{tag:"(0020,9153)",vr:"FD",name:"NominalCardiacTriggerDelayTime",vm:"1",version:"DICOM"},"(0020,9154)":{tag:"(0020,9154)",vr:"FL",name:"NominalCardiacTriggerTimePriorToRPeak",vm:"1",version:"DICOM"},"(0020,9155)":{tag:"(0020,9155)",vr:"FL",name:"ActualCardiacTriggerTimePriorToRPeak",vm:"1",version:"DICOM"},"(0020,9156)":{tag:"(0020,9156)",vr:"US",name:"FrameAcquisitionNumber",vm:"1",version:"DICOM"},"(0020,9157)":{tag:"(0020,9157)",vr:"UL",name:"DimensionIndexValues",vm:"1-n",version:"DICOM"},"(0020,9158)":{tag:"(0020,9158)",vr:"LT",name:"FrameComments",vm:"1",version:"DICOM"},"(0020,9161)":{tag:"(0020,9161)",vr:"UI",name:"ConcatenationUID",vm:"1",version:"DICOM"},"(0020,9162)":{tag:"(0020,9162)",vr:"US",name:"InConcatenationNumber",vm:"1",version:"DICOM"},"(0020,9163)":{tag:"(0020,9163)",vr:"US",name:"InConcatenationTotalNumber",vm:"1",version:"DICOM"},"(0020,9164)":{tag:"(0020,9164)",vr:"UI",name:"DimensionOrganizationUID",vm:"1",version:"DICOM"},"(0020,9165)":{tag:"(0020,9165)",vr:"AT",name:"DimensionIndexPointer",vm:"1",version:"DICOM"},"(0020,9167)":{tag:"(0020,9167)",vr:"AT",name:"FunctionalGroupPointer",vm:"1",version:"DICOM"},"(0020,9170)":{tag:"(0020,9170)",vr:"SQ",name:"UnassignedSharedConvertedAttributesSequence",vm:"1",version:"DICOM"},"(0020,9171)":{tag:"(0020,9171)",vr:"SQ",name:"UnassignedPerFrameConvertedAttributesSequence",vm:"1",version:"DICOM"},"(0020,9172)":{tag:"(0020,9172)",vr:"SQ",name:"ConversionSourceAttributesSequence",vm:"1",version:"DICOM"},"(0020,9213)":{tag:"(0020,9213)",vr:"LO",name:"DimensionIndexPrivateCreator",vm:"1",version:"DICOM"},"(0020,9221)":{tag:"(0020,9221)",vr:"SQ",name:"DimensionOrganizationSequence",vm:"1",version:"DICOM"},"(0020,9222)":{tag:"(0020,9222)",vr:"SQ",name:"DimensionIndexSequence",vm:"1",version:"DICOM"},"(0020,9228)":{tag:"(0020,9228)",vr:"UL",name:"ConcatenationFrameOffsetNumber",vm:"1",version:"DICOM"},"(0020,9238)":{tag:"(0020,9238)",vr:"LO",name:"FunctionalGroupPrivateCreator",vm:"1",version:"DICOM"},"(0020,9241)":{tag:"(0020,9241)",vr:"FL",name:"NominalPercentageOfCardiacPhase",vm:"1",version:"DICOM"},"(0020,9245)":{tag:"(0020,9245)",vr:"FL",name:"NominalPercentageOfRespiratoryPhase",vm:"1",version:"DICOM"},"(0020,9246)":{tag:"(0020,9246)",vr:"FL",name:"StartingRespiratoryAmplitude",vm:"1",version:"DICOM"},"(0020,9247)":{tag:"(0020,9247)",vr:"CS",name:"StartingRespiratoryPhase",vm:"1",version:"DICOM"},"(0020,9248)":{tag:"(0020,9248)",vr:"FL",name:"EndingRespiratoryAmplitude",vm:"1",version:"DICOM"},"(0020,9249)":{tag:"(0020,9249)",vr:"CS",name:"EndingRespiratoryPhase",vm:"1",version:"DICOM"},"(0020,9250)":{tag:"(0020,9250)",vr:"CS",name:"RespiratoryTriggerType",vm:"1",version:"DICOM"},"(0020,9251)":{tag:"(0020,9251)",vr:"FD",name:"RRIntervalTimeNominal",vm:"1",version:"DICOM"},"(0020,9252)":{tag:"(0020,9252)",vr:"FD",name:"ActualCardiacTriggerDelayTime",vm:"1",version:"DICOM"},"(0020,9253)":{tag:"(0020,9253)",vr:"SQ",name:"RespiratorySynchronizationSequence",vm:"1",version:"DICOM"},"(0020,9254)":{tag:"(0020,9254)",vr:"FD",name:"RespiratoryIntervalTime",vm:"1",version:"DICOM"},"(0020,9255)":{tag:"(0020,9255)",vr:"FD",name:"NominalRespiratoryTriggerDelayTime",vm:"1",version:"DICOM"},"(0020,9256)":{tag:"(0020,9256)",vr:"FD",name:"RespiratoryTriggerDelayThreshold",vm:"1",version:"DICOM"},"(0020,9257)":{tag:"(0020,9257)",vr:"FD",name:"ActualRespiratoryTriggerDelayTime",vm:"1",version:"DICOM"},"(0020,9301)":{tag:"(0020,9301)",vr:"FD",name:"ImagePositionVolume",vm:"3",version:"DICOM"},"(0020,9302)":{tag:"(0020,9302)",vr:"FD",name:"ImageOrientationVolume",vm:"6",version:"DICOM"},"(0020,9307)":{tag:"(0020,9307)",vr:"CS",name:"UltrasoundAcquisitionGeometry",vm:"1",version:"DICOM"},"(0020,9308)":{tag:"(0020,9308)",vr:"FD",name:"ApexPosition",vm:"3",version:"DICOM"},"(0020,9309)":{tag:"(0020,9309)",vr:"FD",name:"VolumeToTransducerMappingMatrix",vm:"16",version:"DICOM"},"(0020,930A)":{tag:"(0020,930A)",vr:"FD",name:"VolumeToTableMappingMatrix",vm:"16",version:"DICOM"},"(0020,930B)":{tag:"(0020,930B)",vr:"CS",name:"VolumeToTransducerRelationship",vm:"1",version:"DICOM"},"(0020,930C)":{tag:"(0020,930C)",vr:"CS",name:"PatientFrameOfReferenceSource",vm:"1",version:"DICOM"},"(0020,930D)":{tag:"(0020,930D)",vr:"FD",name:"TemporalPositionTimeOffset",vm:"1",version:"DICOM"},"(0020,930E)":{tag:"(0020,930E)",vr:"SQ",name:"PlanePositionVolumeSequence",vm:"1",version:"DICOM"},"(0020,930F)":{tag:"(0020,930F)",vr:"SQ",name:"PlaneOrientationVolumeSequence",vm:"1",version:"DICOM"},"(0020,9310)":{tag:"(0020,9310)",vr:"SQ",name:"TemporalPositionSequence",vm:"1",version:"DICOM"},"(0020,9311)":{tag:"(0020,9311)",vr:"CS",name:"DimensionOrganizationType",vm:"1",version:"DICOM"},"(0020,9312)":{tag:"(0020,9312)",vr:"UI",name:"VolumeFrameOfReferenceUID",vm:"1",version:"DICOM"},"(0020,9313)":{tag:"(0020,9313)",vr:"UI",name:"TableFrameOfReferenceUID",vm:"1",version:"DICOM"},"(0020,9421)":{tag:"(0020,9421)",vr:"LO",name:"DimensionDescriptionLabel",vm:"1",version:"DICOM"},"(0020,9450)":{tag:"(0020,9450)",vr:"SQ",name:"PatientOrientationInFrameSequence",vm:"1",version:"DICOM"},"(0020,9453)":{tag:"(0020,9453)",vr:"LO",name:"FrameLabel",vm:"1",version:"DICOM"},"(0020,9518)":{tag:"(0020,9518)",vr:"US",name:"AcquisitionIndex",vm:"1-n",version:"DICOM"},"(0020,9529)":{tag:"(0020,9529)",vr:"SQ",name:"ContributingSOPInstancesReferenceSequence",vm:"1",version:"DICOM"},"(0020,9536)":{tag:"(0020,9536)",vr:"US",name:"ReconstructionIndex",vm:"1",version:"DICOM"},"(0022,0001)":{tag:"(0022,0001)",vr:"US",name:"LightPathFilterPassThroughWavelength",vm:"1",version:"DICOM"},"(0022,0002)":{tag:"(0022,0002)",vr:"US",name:"LightPathFilterPassBand",vm:"2",version:"DICOM"},"(0022,0003)":{tag:"(0022,0003)",vr:"US",name:"ImagePathFilterPassThroughWavelength",vm:"1",version:"DICOM"},"(0022,0004)":{tag:"(0022,0004)",vr:"US",name:"ImagePathFilterPassBand",vm:"2",version:"DICOM"},"(0022,0005)":{tag:"(0022,0005)",vr:"CS",name:"PatientEyeMovementCommanded",vm:"1",version:"DICOM"},"(0022,0006)":{tag:"(0022,0006)",vr:"SQ",name:"PatientEyeMovementCommandCodeSequence",vm:"1",version:"DICOM"},"(0022,0007)":{tag:"(0022,0007)",vr:"FL",name:"SphericalLensPower",vm:"1",version:"DICOM"},"(0022,0008)":{tag:"(0022,0008)",vr:"FL",name:"CylinderLensPower",vm:"1",version:"DICOM"},"(0022,0009)":{tag:"(0022,0009)",vr:"FL",name:"CylinderAxis",vm:"1",version:"DICOM"},"(0022,000A)":{tag:"(0022,000A)",vr:"FL",name:"EmmetropicMagnification",vm:"1",version:"DICOM"},"(0022,000B)":{tag:"(0022,000B)",vr:"FL",name:"IntraOcularPressure",vm:"1",version:"DICOM"},"(0022,000C)":{tag:"(0022,000C)",vr:"FL",name:"HorizontalFieldOfView",vm:"1",version:"DICOM"},"(0022,000D)":{tag:"(0022,000D)",vr:"CS",name:"PupilDilated",vm:"1",version:"DICOM"},"(0022,000E)":{tag:"(0022,000E)",vr:"FL",name:"DegreeOfDilation",vm:"1",version:"DICOM"},"(0022,0010)":{tag:"(0022,0010)",vr:"FL",name:"StereoBaselineAngle",vm:"1",version:"DICOM"},"(0022,0011)":{tag:"(0022,0011)",vr:"FL",name:"StereoBaselineDisplacement",vm:"1",version:"DICOM"},"(0022,0012)":{tag:"(0022,0012)",vr:"FL",name:"StereoHorizontalPixelOffset",vm:"1",version:"DICOM"},"(0022,0013)":{tag:"(0022,0013)",vr:"FL",name:"StereoVerticalPixelOffset",vm:"1",version:"DICOM"},"(0022,0014)":{tag:"(0022,0014)",vr:"FL",name:"StereoRotation",vm:"1",version:"DICOM"},"(0022,0015)":{tag:"(0022,0015)",vr:"SQ",name:"AcquisitionDeviceTypeCodeSequence",vm:"1",version:"DICOM"},"(0022,0016)":{tag:"(0022,0016)",vr:"SQ",name:"IlluminationTypeCodeSequence",vm:"1",version:"DICOM"},"(0022,0017)":{tag:"(0022,0017)",vr:"SQ",name:"LightPathFilterTypeStackCodeSequence",vm:"1",version:"DICOM"},"(0022,0018)":{tag:"(0022,0018)",vr:"SQ",name:"ImagePathFilterTypeStackCodeSequence",vm:"1",version:"DICOM"},"(0022,0019)":{tag:"(0022,0019)",vr:"SQ",name:"LensesCodeSequence",vm:"1",version:"DICOM"},"(0022,001A)":{tag:"(0022,001A)",vr:"SQ",name:"ChannelDescriptionCodeSequence",vm:"1",version:"DICOM"},"(0022,001B)":{tag:"(0022,001B)",vr:"SQ",name:"RefractiveStateSequence",vm:"1",version:"DICOM"},"(0022,001C)":{tag:"(0022,001C)",vr:"SQ",name:"MydriaticAgentCodeSequence",vm:"1",version:"DICOM"},"(0022,001D)":{tag:"(0022,001D)",vr:"SQ",name:"RelativeImagePositionCodeSequence",vm:"1",version:"DICOM"},"(0022,001E)":{tag:"(0022,001E)",vr:"FL",name:"CameraAngleOfView",vm:"1",version:"DICOM"},"(0022,0020)":{tag:"(0022,0020)",vr:"SQ",name:"StereoPairsSequence",vm:"1",version:"DICOM"},"(0022,0021)":{tag:"(0022,0021)",vr:"SQ",name:"LeftImageSequence",vm:"1",version:"DICOM"},"(0022,0022)":{tag:"(0022,0022)",vr:"SQ",name:"RightImageSequence",vm:"1",version:"DICOM"},"(0022,0028)":{tag:"(0022,0028)",vr:"CS",name:"StereoPairsPresent",vm:"1",version:"DICOM"},"(0022,0030)":{tag:"(0022,0030)",vr:"FL",name:"AxialLengthOfTheEye",vm:"1",version:"DICOM"},"(0022,0031)":{tag:"(0022,0031)",vr:"SQ",name:"OphthalmicFrameLocationSequence",vm:"1",version:"DICOM"},"(0022,0032)":{tag:"(0022,0032)",vr:"FL",name:"ReferenceCoordinates",vm:"2-2n",version:"DICOM"},"(0022,0035)":{tag:"(0022,0035)",vr:"FL",name:"DepthSpatialResolution",vm:"1",version:"DICOM"},"(0022,0036)":{tag:"(0022,0036)",vr:"FL",name:"MaximumDepthDistortion",vm:"1",version:"DICOM"},"(0022,0037)":{tag:"(0022,0037)",vr:"FL",name:"AlongScanSpatialResolution",vm:"1",version:"DICOM"},"(0022,0038)":{tag:"(0022,0038)",vr:"FL",name:"MaximumAlongScanDistortion",vm:"1",version:"DICOM"},"(0022,0039)":{tag:"(0022,0039)",vr:"CS",name:"OphthalmicImageOrientation",vm:"1",version:"DICOM"},"(0022,0041)":{tag:"(0022,0041)",vr:"FL",name:"DepthOfTransverseImage",vm:"1",version:"DICOM"},"(0022,0042)":{tag:"(0022,0042)",vr:"SQ",name:"MydriaticAgentConcentrationUnitsSequence",vm:"1",version:"DICOM"},"(0022,0048)":{tag:"(0022,0048)",vr:"FL",name:"AcrossScanSpatialResolution",vm:"1",version:"DICOM"},"(0022,0049)":{tag:"(0022,0049)",vr:"FL",name:"MaximumAcrossScanDistortion",vm:"1",version:"DICOM"},"(0022,004E)":{tag:"(0022,004E)",vr:"DS",name:"MydriaticAgentConcentration",vm:"1",version:"DICOM"},"(0022,0055)":{tag:"(0022,0055)",vr:"FL",name:"IlluminationWaveLength",vm:"1",version:"DICOM"},"(0022,0056)":{tag:"(0022,0056)",vr:"FL",name:"IlluminationPower",vm:"1",version:"DICOM"},"(0022,0057)":{tag:"(0022,0057)",vr:"FL",name:"IlluminationBandwidth",vm:"1",version:"DICOM"},"(0022,0058)":{tag:"(0022,0058)",vr:"SQ",name:"MydriaticAgentSequence",vm:"1",version:"DICOM"},"(0022,1007)":{tag:"(0022,1007)",vr:"SQ",name:"OphthalmicAxialMeasurementsRightEyeSequence",vm:"1",version:"DICOM"},"(0022,1008)":{tag:"(0022,1008)",vr:"SQ",name:"OphthalmicAxialMeasurementsLeftEyeSequence",vm:"1",version:"DICOM"},"(0022,1009)":{tag:"(0022,1009)",vr:"CS",name:"OphthalmicAxialMeasurementsDeviceType",vm:"1",version:"DICOM"},"(0022,1010)":{tag:"(0022,1010)",vr:"CS",name:"OphthalmicAxialLengthMeasurementsType",vm:"1",version:"DICOM"},"(0022,1012)":{tag:"(0022,1012)",vr:"SQ",name:"OphthalmicAxialLengthSequence",vm:"1",version:"DICOM"},"(0022,1019)":{tag:"(0022,1019)",vr:"FL",name:"OphthalmicAxialLength",vm:"1",version:"DICOM"},"(0022,1024)":{tag:"(0022,1024)",vr:"SQ",name:"LensStatusCodeSequence",vm:"1",version:"DICOM"},"(0022,1025)":{tag:"(0022,1025)",vr:"SQ",name:"VitreousStatusCodeSequence",vm:"1",version:"DICOM"},"(0022,1028)":{tag:"(0022,1028)",vr:"SQ",name:"IOLFormulaCodeSequence",vm:"1",version:"DICOM"},"(0022,1029)":{tag:"(0022,1029)",vr:"LO",name:"IOLFormulaDetail",vm:"1",version:"DICOM"},"(0022,1033)":{tag:"(0022,1033)",vr:"FL",name:"KeratometerIndex",vm:"1",version:"DICOM"},"(0022,1035)":{tag:"(0022,1035)",vr:"SQ",name:"SourceOfOphthalmicAxialLengthCodeSequence",vm:"1",version:"DICOM"},"(0022,1036)":{tag:"(0022,1036)",vr:"SQ",name:"SourceOfCornealSizeDataCodeSequence",vm:"1",version:"DICOM"},"(0022,1037)":{tag:"(0022,1037)",vr:"FL",name:"TargetRefraction",vm:"1",version:"DICOM"},"(0022,1039)":{tag:"(0022,1039)",vr:"CS",name:"RefractiveProcedureOccurred",vm:"1",version:"DICOM"},"(0022,1040)":{tag:"(0022,1040)",vr:"SQ",name:"RefractiveSurgeryTypeCodeSequence",vm:"1",version:"DICOM"},"(0022,1044)":{tag:"(0022,1044)",vr:"SQ",name:"OphthalmicUltrasoundMethodCodeSequence",vm:"1",version:"DICOM"},"(0022,1045)":{tag:"(0022,1045)",vr:"SQ",name:"SurgicallyInducedAstigmatismSequence",vm:"1",version:"DICOM"},"(0022,1046)":{tag:"(0022,1046)",vr:"CS",name:"TypeOfOpticalCorrection",vm:"1",version:"DICOM"},"(0022,1047)":{tag:"(0022,1047)",vr:"SQ",name:"ToricIOLPowerSequence",vm:"1",version:"DICOM"},"(0022,1048)":{tag:"(0022,1048)",vr:"SQ",name:"PredictedToricErrorSequence",vm:"1",version:"DICOM"},"(0022,1049)":{tag:"(0022,1049)",vr:"CS",name:"PreSelectedForImplantation",vm:"1",version:"DICOM"},"(0022,104A)":{tag:"(0022,104A)",vr:"SQ",name:"ToricIOLPowerForExactEmmetropiaSequence",vm:"1",version:"DICOM"},"(0022,104B)":{tag:"(0022,104B)",vr:"SQ",name:"ToricIOLPowerForExactTargetRefractionSequence",vm:"1",version:"DICOM"},"(0022,1050)":{tag:"(0022,1050)",vr:"SQ",name:"OphthalmicAxialLengthMeasurementsSequence",vm:"1",version:"DICOM"},"(0022,1053)":{tag:"(0022,1053)",vr:"FL",name:"IOLPower",vm:"1",version:"DICOM"},"(0022,1054)":{tag:"(0022,1054)",vr:"FL",name:"PredictedRefractiveError",vm:"1",version:"DICOM"},"(0022,1059)":{tag:"(0022,1059)",vr:"FL",name:"OphthalmicAxialLengthVelocity",vm:"1",version:"DICOM"},"(0022,1065)":{tag:"(0022,1065)",vr:"LO",name:"LensStatusDescription",vm:"1",version:"DICOM"},"(0022,1066)":{tag:"(0022,1066)",vr:"LO",name:"VitreousStatusDescription",vm:"1",version:"DICOM"},"(0022,1090)":{tag:"(0022,1090)",vr:"SQ",name:"IOLPowerSequence",vm:"1",version:"DICOM"},"(0022,1092)":{tag:"(0022,1092)",vr:"SQ",name:"LensConstantSequence",vm:"1",version:"DICOM"},"(0022,1093)":{tag:"(0022,1093)",vr:"LO",name:"IOLManufacturer",vm:"1",version:"DICOM"},"(0022,1095)":{tag:"(0022,1095)",vr:"LO",name:"ImplantName",vm:"1",version:"DICOM"},"(0022,1096)":{tag:"(0022,1096)",vr:"SQ",name:"KeratometryMeasurementTypeCodeSequence",vm:"1",version:"DICOM"},"(0022,1097)":{tag:"(0022,1097)",vr:"LO",name:"ImplantPartNumber",vm:"1",version:"DICOM"},"(0022,1100)":{tag:"(0022,1100)",vr:"SQ",name:"ReferencedOphthalmicAxialMeasurementsSequence",vm:"1",version:"DICOM"},"(0022,1101)":{tag:"(0022,1101)",vr:"SQ",name:"OphthalmicAxialLengthMeasurementsSegmentNameCodeSequence",vm:"1",version:"DICOM"},"(0022,1103)":{tag:"(0022,1103)",vr:"SQ",name:"RefractiveErrorBeforeRefractiveSurgeryCodeSequence",vm:"1",version:"DICOM"},"(0022,1121)":{tag:"(0022,1121)",vr:"FL",name:"IOLPowerForExactEmmetropia",vm:"1",version:"DICOM"},"(0022,1122)":{tag:"(0022,1122)",vr:"FL",name:"IOLPowerForExactTargetRefraction",vm:"1",version:"DICOM"},"(0022,1125)":{tag:"(0022,1125)",vr:"SQ",name:"AnteriorChamberDepthDefinitionCodeSequence",vm:"1",version:"DICOM"},"(0022,1127)":{tag:"(0022,1127)",vr:"SQ",name:"LensThicknessSequence",vm:"1",version:"DICOM"},"(0022,1128)":{tag:"(0022,1128)",vr:"SQ",name:"AnteriorChamberDepthSequence",vm:"1",version:"DICOM"},"(0022,112A)":{tag:"(0022,112A)",vr:"SQ",name:"CalculationCommentSequence",vm:"1",version:"DICOM"},"(0022,112B)":{tag:"(0022,112B)",vr:"CS",name:"CalculationCommentType",vm:"1",version:"DICOM"},"(0022,112C)":{tag:"(0022,112C)",vr:"LT",name:"CalculationComment",vm:"1",version:"DICOM"},"(0022,1130)":{tag:"(0022,1130)",vr:"FL",name:"LensThickness",vm:"1",version:"DICOM"},"(0022,1131)":{tag:"(0022,1131)",vr:"FL",name:"AnteriorChamberDepth",vm:"1",version:"DICOM"},"(0022,1132)":{tag:"(0022,1132)",vr:"SQ",name:"SourceOfLensThicknessDataCodeSequence",vm:"1",version:"DICOM"},"(0022,1133)":{tag:"(0022,1133)",vr:"SQ",name:"SourceOfAnteriorChamberDepthDataCodeSequence",vm:"1",version:"DICOM"},"(0022,1134)":{tag:"(0022,1134)",vr:"SQ",name:"SourceOfRefractiveMeasurementsSequence",vm:"1",version:"DICOM"},"(0022,1135)":{tag:"(0022,1135)",vr:"SQ",name:"SourceOfRefractiveMeasurementsCodeSequence",vm:"1",version:"DICOM"},"(0022,1140)":{tag:"(0022,1140)",vr:"CS",name:"OphthalmicAxialLengthMeasurementModified",vm:"1",version:"DICOM"},"(0022,1150)":{tag:"(0022,1150)",vr:"SQ",name:"OphthalmicAxialLengthDataSourceCodeSequence",vm:"1",version:"DICOM"},"(0022,1155)":{tag:"(0022,1155)",vr:"FL",name:"SignalToNoiseRatio",vm:"1",version:"DICOM"},"(0022,1159)":{tag:"(0022,1159)",vr:"LO",name:"OphthalmicAxialLengthDataSourceDescription",vm:"1",version:"DICOM"},"(0022,1210)":{tag:"(0022,1210)",vr:"SQ",name:"OphthalmicAxialLengthMeasurementsTotalLengthSequence",vm:"1",version:"DICOM"},"(0022,1211)":{tag:"(0022,1211)",vr:"SQ",name:"OphthalmicAxialLengthMeasurementsSegmentalLengthSequence",vm:"1",version:"DICOM"},"(0022,1212)":{tag:"(0022,1212)",vr:"SQ",name:"OphthalmicAxialLengthMeasurementsLengthSummationSequence",vm:"1",version:"DICOM"},"(0022,1220)":{tag:"(0022,1220)",vr:"SQ",name:"UltrasoundOphthalmicAxialLengthMeasurementsSequence",vm:"1",version:"DICOM"},"(0022,1225)":{tag:"(0022,1225)",vr:"SQ",name:"OpticalOphthalmicAxialLengthMeasurementsSequence",vm:"1",version:"DICOM"},"(0022,1230)":{tag:"(0022,1230)",vr:"SQ",name:"UltrasoundSelectedOphthalmicAxialLengthSequence",vm:"1",version:"DICOM"},"(0022,1250)":{tag:"(0022,1250)",vr:"SQ",name:"OphthalmicAxialLengthSelectionMethodCodeSequence",vm:"1",version:"DICOM"},"(0022,1255)":{tag:"(0022,1255)",vr:"SQ",name:"OpticalSelectedOphthalmicAxialLengthSequence",vm:"1",version:"DICOM"},"(0022,1257)":{tag:"(0022,1257)",vr:"SQ",name:"SelectedSegmentalOphthalmicAxialLengthSequence",vm:"1",version:"DICOM"},"(0022,1260)":{tag:"(0022,1260)",vr:"SQ",name:"SelectedTotalOphthalmicAxialLengthSequence",vm:"1",version:"DICOM"},"(0022,1262)":{tag:"(0022,1262)",vr:"SQ",name:"OphthalmicAxialLengthQualityMetricSequence",vm:"1",version:"DICOM"},"(0022,1300)":{tag:"(0022,1300)",vr:"SQ",name:"IntraocularLensCalculationsRightEyeSequence",vm:"1",version:"DICOM"},"(0022,1310)":{tag:"(0022,1310)",vr:"SQ",name:"IntraocularLensCalculationsLeftEyeSequence",vm:"1",version:"DICOM"},"(0022,1330)":{tag:"(0022,1330)",vr:"SQ",name:"ReferencedOphthalmicAxialLengthMeasurementQCImageSequence",vm:"1",version:"DICOM"},"(0022,1415)":{tag:"(0022,1415)",vr:"CS",name:"OphthalmicMappingDeviceType",vm:"1",version:"DICOM"},"(0022,1420)":{tag:"(0022,1420)",vr:"SQ",name:"AcquisitionMethodCodeSequence",vm:"1",version:"DICOM"},"(0022,1423)":{tag:"(0022,1423)",vr:"SQ",name:"AcquisitionMethodAlgorithmSequence",vm:"1",version:"DICOM"},"(0022,1436)":{tag:"(0022,1436)",vr:"SQ",name:"OphthalmicThicknessMapTypeCodeSequence",vm:"1",version:"DICOM"},"(0022,1443)":{tag:"(0022,1443)",vr:"SQ",name:"OphthalmicThicknessMappingNormalsSequence",vm:"1",version:"DICOM"},"(0022,1445)":{tag:"(0022,1445)",vr:"SQ",name:"RetinalThicknessDefinitionCodeSequence",vm:"1",version:"DICOM"},"(0022,1450)":{tag:"(0022,1450)",vr:"SQ",name:"PixelValueMappingToCodedConceptSequence",vm:"1",version:"DICOM"},"(0022,1452)":{tag:"(0022,1452)",vr:"xs",name:"MappedPixelValue",vm:"1",version:"DICOM"},"(0022,1454)":{tag:"(0022,1454)",vr:"LO",name:"PixelValueMappingExplanation",vm:"1",version:"DICOM"},"(0022,1458)":{tag:"(0022,1458)",vr:"SQ",name:"OphthalmicThicknessMapQualityThresholdSequence",vm:"1",version:"DICOM"},"(0022,1460)":{tag:"(0022,1460)",vr:"FL",name:"OphthalmicThicknessMapThresholdQualityRating",vm:"1",version:"DICOM"},"(0022,1463)":{tag:"(0022,1463)",vr:"FL",name:"AnatomicStructureReferencePoint",vm:"2",version:"DICOM"},"(0022,1465)":{tag:"(0022,1465)",vr:"SQ",name:"RegistrationToLocalizerSequence",vm:"1",version:"DICOM"},"(0022,1466)":{tag:"(0022,1466)",vr:"CS",name:"RegisteredLocalizerUnits",vm:"1",version:"DICOM"},"(0022,1467)":{tag:"(0022,1467)",vr:"FL",name:"RegisteredLocalizerTopLeftHandCorner",vm:"2",version:"DICOM"},"(0022,1468)":{tag:"(0022,1468)",vr:"FL",name:"RegisteredLocalizerBottomRightHandCorner",vm:"2",version:"DICOM"},"(0022,1470)":{tag:"(0022,1470)",vr:"SQ",name:"OphthalmicThicknessMapQualityRatingSequence",vm:"1",version:"DICOM"},"(0022,1472)":{tag:"(0022,1472)",vr:"SQ",name:"RelevantOPTAttributesSequence",vm:"1",version:"DICOM"},"(0022,1512)":{tag:"(0022,1512)",vr:"SQ",name:"TransformationMethodCodeSequence",vm:"1",version:"DICOM"},"(0022,1513)":{tag:"(0022,1513)",vr:"SQ",name:"TransformationAlgorithmSequence",vm:"1",version:"DICOM"},"(0022,1515)":{tag:"(0022,1515)",vr:"CS",name:"OphthalmicAxialLengthMethod",vm:"1",version:"DICOM"},"(0022,1517)":{tag:"(0022,1517)",vr:"FL",name:"OphthalmicFOV",vm:"1",version:"DICOM"},"(0022,1518)":{tag:"(0022,1518)",vr:"SQ",name:"TwoDimensionalToThreeDimensionalMapSequence",vm:"1",version:"DICOM"},"(0022,1525)":{tag:"(0022,1525)",vr:"SQ",name:"WideFieldOphthalmicPhotographyQualityRatingSequence",vm:"1",version:"DICOM"},"(0022,1526)":{tag:"(0022,1526)",vr:"SQ",name:"WideFieldOphthalmicPhotographyQualityThresholdSequence",vm:"1",version:"DICOM"},"(0022,1527)":{tag:"(0022,1527)",vr:"FL",name:"WideFieldOphthalmicPhotographyThresholdQualityRating",vm:"1",version:"DICOM"},"(0022,1528)":{tag:"(0022,1528)",vr:"FL",name:"XCoordinatesCenterPixelViewAngle",vm:"1",version:"DICOM"},"(0022,1529)":{tag:"(0022,1529)",vr:"FL",name:"YCoordinatesCenterPixelViewAngle",vm:"1",version:"DICOM"},"(0022,1530)":{tag:"(0022,1530)",vr:"UL",name:"NumberOfMapPoints",vm:"1",version:"DICOM"},"(0022,1531)":{tag:"(0022,1531)",vr:"OF",name:"TwoDimensionalToThreeDimensionalMapData",vm:"1",version:"DICOM"},"(0022,1612)":{tag:"(0022,1612)",vr:"SQ",name:"DerivationAlgorithmSequence",vm:"1",version:"DICOM"},"(0022,1615)":{tag:"(0022,1615)",vr:"SQ",name:"OphthalmicImageTypeCodeSequence",vm:"1",version:"DICOM"},"(0022,1616)":{tag:"(0022,1616)",vr:"LO",name:"OphthalmicImageTypeDescription",vm:"1",version:"DICOM"},"(0022,1618)":{tag:"(0022,1618)",vr:"SQ",name:"ScanPatternTypeCodeSequence",vm:"1",version:"DICOM"},"(0022,1620)":{tag:"(0022,1620)",vr:"SQ",name:"ReferencedSurfaceMeshIdentificationSequence",vm:"1",version:"DICOM"},"(0022,1622)":{tag:"(0022,1622)",vr:"CS",name:"OphthalmicVolumetricPropertiesFlag",vm:"1",version:"DICOM"},"(0022,1624)":{tag:"(0022,1624)",vr:"FL",name:"OphthalmicAnatomicReferencePointXCoordinate",vm:"1",version:"DICOM"},"(0022,1626)":{tag:"(0022,1626)",vr:"FL",name:"OphthalmicAnatomicReferencePointYCoordinate",vm:"1",version:"DICOM"},"(0022,1628)":{tag:"(0022,1628)",vr:"SQ",name:"OphthalmicEnFaceImageQualityRatingSequence",vm:"1",version:"DICOM"},"(0022,1630)":{tag:"(0022,1630)",vr:"DS",name:"QualityThreshold",vm:"1",version:"DICOM"},"(0022,1640)":{tag:"(0022,1640)",vr:"SQ",name:"OCTBscanAnalysisAcquisitionParametersSequence",vm:"1",version:"DICOM"},"(0022,1642)":{tag:"(0022,1642)",vr:"UL",name:"NumberofBscansPerFrame",vm:"1",version:"DICOM"},"(0022,1643)":{tag:"(0022,1643)",vr:"FL",name:"BscanSlabThickness",vm:"1",version:"DICOM"},"(0022,1644)":{tag:"(0022,1644)",vr:"FL",name:"DistanceBetweenBscanSlabs",vm:"1",version:"DICOM"},"(0022,1645)":{tag:"(0022,1645)",vr:"FL",name:"BscanCycleTime",vm:"1",version:"DICOM"},"(0022,1646)":{tag:"(0022,1646)",vr:"FL",name:"BscanCycleTimeVector",vm:"1-n",version:"DICOM"},"(0022,1649)":{tag:"(0022,1649)",vr:"FL",name:"AscanRate",vm:"1",version:"DICOM"},"(0022,1650)":{tag:"(0022,1650)",vr:"FL",name:"BscanRate",vm:"1",version:"DICOM"},"(0022,1658)":{tag:"(0022,1658)",vr:"UL",name:"SurfaceMeshZPixelOffset",vm:"1",version:"DICOM"},"(0024,0010)":{tag:"(0024,0010)",vr:"FL",name:"VisualFieldHorizontalExtent",vm:"1",version:"DICOM"},"(0024,0011)":{tag:"(0024,0011)",vr:"FL",name:"VisualFieldVerticalExtent",vm:"1",version:"DICOM"},"(0024,0012)":{tag:"(0024,0012)",vr:"CS",name:"VisualFieldShape",vm:"1",version:"DICOM"},"(0024,0016)":{tag:"(0024,0016)",vr:"SQ",name:"ScreeningTestModeCodeSequence",vm:"1",version:"DICOM"},"(0024,0018)":{tag:"(0024,0018)",vr:"FL",name:"MaximumStimulusLuminance",vm:"1",version:"DICOM"},"(0024,0020)":{tag:"(0024,0020)",vr:"FL",name:"BackgroundLuminance",vm:"1",version:"DICOM"},"(0024,0021)":{tag:"(0024,0021)",vr:"SQ",name:"StimulusColorCodeSequence",vm:"1",version:"DICOM"},"(0024,0024)":{tag:"(0024,0024)",vr:"SQ",name:"BackgroundIlluminationColorCodeSequence",vm:"1",version:"DICOM"},"(0024,0025)":{tag:"(0024,0025)",vr:"FL",name:"StimulusArea",vm:"1",version:"DICOM"},"(0024,0028)":{tag:"(0024,0028)",vr:"FL",name:"StimulusPresentationTime",vm:"1",version:"DICOM"},"(0024,0032)":{tag:"(0024,0032)",vr:"SQ",name:"FixationSequence",vm:"1",version:"DICOM"},"(0024,0033)":{tag:"(0024,0033)",vr:"SQ",name:"FixationMonitoringCodeSequence",vm:"1",version:"DICOM"},"(0024,0034)":{tag:"(0024,0034)",vr:"SQ",name:"VisualFieldCatchTrialSequence",vm:"1",version:"DICOM"},"(0024,0035)":{tag:"(0024,0035)",vr:"US",name:"FixationCheckedQuantity",vm:"1",version:"DICOM"},"(0024,0036)":{tag:"(0024,0036)",vr:"US",name:"PatientNotProperlyFixatedQuantity",vm:"1",version:"DICOM"},"(0024,0037)":{tag:"(0024,0037)",vr:"CS",name:"PresentedVisualStimuliDataFlag",vm:"1",version:"DICOM"},"(0024,0038)":{tag:"(0024,0038)",vr:"US",name:"NumberOfVisualStimuli",vm:"1",version:"DICOM"},"(0024,0039)":{tag:"(0024,0039)",vr:"CS",name:"ExcessiveFixationLossesDataFlag",vm:"1",version:"DICOM"},"(0024,0040)":{tag:"(0024,0040)",vr:"CS",name:"ExcessiveFixationLosses",vm:"1",version:"DICOM"},"(0024,0042)":{tag:"(0024,0042)",vr:"US",name:"StimuliRetestingQuantity",vm:"1",version:"DICOM"},"(0024,0044)":{tag:"(0024,0044)",vr:"LT",name:"CommentsOnPatientPerformanceOfVisualField",vm:"1",version:"DICOM"},"(0024,0045)":{tag:"(0024,0045)",vr:"CS",name:"FalseNegativesEstimateFlag",vm:"1",version:"DICOM"},"(0024,0046)":{tag:"(0024,0046)",vr:"FL",name:"FalseNegativesEstimate",vm:"1",version:"DICOM"},"(0024,0048)":{tag:"(0024,0048)",vr:"US",name:"NegativeCatchTrialsQuantity",vm:"1",version:"DICOM"},"(0024,0050)":{tag:"(0024,0050)",vr:"US",name:"FalseNegativesQuantity",vm:"1",version:"DICOM"},"(0024,0051)":{tag:"(0024,0051)",vr:"CS",name:"ExcessiveFalseNegativesDataFlag",vm:"1",version:"DICOM"},"(0024,0052)":{tag:"(0024,0052)",vr:"CS",name:"ExcessiveFalseNegatives",vm:"1",version:"DICOM"},"(0024,0053)":{tag:"(0024,0053)",vr:"CS",name:"FalsePositivesEstimateFlag",vm:"1",version:"DICOM"},"(0024,0054)":{tag:"(0024,0054)",vr:"FL",name:"FalsePositivesEstimate",vm:"1",version:"DICOM"},"(0024,0055)":{tag:"(0024,0055)",vr:"CS",name:"CatchTrialsDataFlag",vm:"1",version:"DICOM"},"(0024,0056)":{tag:"(0024,0056)",vr:"US",name:"PositiveCatchTrialsQuantity",vm:"1",version:"DICOM"},"(0024,0057)":{tag:"(0024,0057)",vr:"CS",name:"TestPointNormalsDataFlag",vm:"1",version:"DICOM"},"(0024,0058)":{tag:"(0024,0058)",vr:"SQ",name:"TestPointNormalsSequence",vm:"1",version:"DICOM"},"(0024,0059)":{tag:"(0024,0059)",vr:"CS",name:"GlobalDeviationProbabilityNormalsFlag",vm:"1",version:"DICOM"},"(0024,0060)":{tag:"(0024,0060)",vr:"US",name:"FalsePositivesQuantity",vm:"1",version:"DICOM"},"(0024,0061)":{tag:"(0024,0061)",vr:"CS",name:"ExcessiveFalsePositivesDataFlag",vm:"1",version:"DICOM"},"(0024,0062)":{tag:"(0024,0062)",vr:"CS",name:"ExcessiveFalsePositives",vm:"1",version:"DICOM"},"(0024,0063)":{tag:"(0024,0063)",vr:"CS",name:"VisualFieldTestNormalsFlag",vm:"1",version:"DICOM"},"(0024,0064)":{tag:"(0024,0064)",vr:"SQ",name:"ResultsNormalsSequence",vm:"1",version:"DICOM"},"(0024,0065)":{tag:"(0024,0065)",vr:"SQ",name:"AgeCorrectedSensitivityDeviationAlgorithmSequence",vm:"1",version:"DICOM"},"(0024,0066)":{tag:"(0024,0066)",vr:"FL",name:"GlobalDeviationFromNormal",vm:"1",version:"DICOM"},"(0024,0067)":{tag:"(0024,0067)",vr:"SQ",name:"GeneralizedDefectSensitivityDeviationAlgorithmSequence",vm:"1",version:"DICOM"},"(0024,0068)":{tag:"(0024,0068)",vr:"FL",name:"LocalizedDeviationFromNormal",vm:"1",version:"DICOM"},"(0024,0069)":{tag:"(0024,0069)",vr:"LO",name:"PatientReliabilityIndicator",vm:"1",version:"DICOM"},"(0024,0070)":{tag:"(0024,0070)",vr:"FL",name:"VisualFieldMeanSensitivity",vm:"1",version:"DICOM"},"(0024,0071)":{tag:"(0024,0071)",vr:"FL",name:"GlobalDeviationProbability",vm:"1",version:"DICOM"},"(0024,0072)":{tag:"(0024,0072)",vr:"CS",name:"LocalDeviationProbabilityNormalsFlag",vm:"1",version:"DICOM"},"(0024,0073)":{tag:"(0024,0073)",vr:"FL",name:"LocalizedDeviationProbability",vm:"1",version:"DICOM"},"(0024,0074)":{tag:"(0024,0074)",vr:"CS",name:"ShortTermFluctuationCalculated",vm:"1",version:"DICOM"},"(0024,0075)":{tag:"(0024,0075)",vr:"FL",name:"ShortTermFluctuation",vm:"1",version:"DICOM"},"(0024,0076)":{tag:"(0024,0076)",vr:"CS",name:"ShortTermFluctuationProbabilityCalculated",vm:"1",version:"DICOM"},"(0024,0077)":{tag:"(0024,0077)",vr:"FL",name:"ShortTermFluctuationProbability",vm:"1",version:"DICOM"},"(0024,0078)":{tag:"(0024,0078)",vr:"CS",name:"CorrectedLocalizedDeviationFromNormalCalculated",vm:"1",version:"DICOM"},"(0024,0079)":{tag:"(0024,0079)",vr:"FL",name:"CorrectedLocalizedDeviationFromNormal",vm:"1",version:"DICOM"},"(0024,0080)":{tag:"(0024,0080)",vr:"CS",name:"CorrectedLocalizedDeviationFromNormalProbabilityCalculated",vm:"1",version:"DICOM"},"(0024,0081)":{tag:"(0024,0081)",vr:"FL",name:"CorrectedLocalizedDeviationFromNormalProbability",vm:"1",version:"DICOM"},"(0024,0083)":{tag:"(0024,0083)",vr:"SQ",name:"GlobalDeviationProbabilitySequence",vm:"1",version:"DICOM"},"(0024,0085)":{tag:"(0024,0085)",vr:"SQ",name:"LocalizedDeviationProbabilitySequence",vm:"1",version:"DICOM"},"(0024,0086)":{tag:"(0024,0086)",vr:"CS",name:"FovealSensitivityMeasured",vm:"1",version:"DICOM"},"(0024,0087)":{tag:"(0024,0087)",vr:"FL",name:"FovealSensitivity",vm:"1",version:"DICOM"},"(0024,0088)":{tag:"(0024,0088)",vr:"FL",name:"VisualFieldTestDuration",vm:"1",version:"DICOM"},"(0024,0089)":{tag:"(0024,0089)",vr:"SQ",name:"VisualFieldTestPointSequence",vm:"1",version:"DICOM"},"(0024,0090)":{tag:"(0024,0090)",vr:"FL",name:"VisualFieldTestPointXCoordinate",vm:"1",version:"DICOM"},"(0024,0091)":{tag:"(0024,0091)",vr:"FL",name:"VisualFieldTestPointYCoordinate",vm:"1",version:"DICOM"},"(0024,0092)":{tag:"(0024,0092)",vr:"FL",name:"AgeCorrectedSensitivityDeviationValue",vm:"1",version:"DICOM"},"(0024,0093)":{tag:"(0024,0093)",vr:"CS",name:"StimulusResults",vm:"1",version:"DICOM"},"(0024,0094)":{tag:"(0024,0094)",vr:"FL",name:"SensitivityValue",vm:"1",version:"DICOM"},"(0024,0095)":{tag:"(0024,0095)",vr:"CS",name:"RetestStimulusSeen",vm:"1",version:"DICOM"},"(0024,0096)":{tag:"(0024,0096)",vr:"FL",name:"RetestSensitivityValue",vm:"1",version:"DICOM"},"(0024,0097)":{tag:"(0024,0097)",vr:"SQ",name:"VisualFieldTestPointNormalsSequence",vm:"1",version:"DICOM"},"(0024,0098)":{tag:"(0024,0098)",vr:"FL",name:"QuantifiedDefect",vm:"1",version:"DICOM"},"(0024,0100)":{tag:"(0024,0100)",vr:"FL",name:"AgeCorrectedSensitivityDeviationProbabilityValue",vm:"1",version:"DICOM"},"(0024,0102)":{tag:"(0024,0102)",vr:"CS",name:"GeneralizedDefectCorrectedSensitivityDeviationFlag",vm:"1",version:"DICOM"},"(0024,0103)":{tag:"(0024,0103)",vr:"FL",name:"GeneralizedDefectCorrectedSensitivityDeviationValue",vm:"1",version:"DICOM"},"(0024,0104)":{tag:"(0024,0104)",vr:"FL",name:"GeneralizedDefectCorrectedSensitivityDeviationProbabilityValue",vm:"1",version:"DICOM"},"(0024,0105)":{tag:"(0024,0105)",vr:"FL",name:"MinimumSensitivityValue",vm:"1",version:"DICOM"},"(0024,0106)":{tag:"(0024,0106)",vr:"CS",name:"BlindSpotLocalized",vm:"1",version:"DICOM"},"(0024,0107)":{tag:"(0024,0107)",vr:"FL",name:"BlindSpotXCoordinate",vm:"1",version:"DICOM"},"(0024,0108)":{tag:"(0024,0108)",vr:"FL",name:"BlindSpotYCoordinate",vm:"1",version:"DICOM"},"(0024,0110)":{tag:"(0024,0110)",vr:"SQ",name:"VisualAcuityMeasurementSequence",vm:"1",version:"DICOM"},"(0024,0112)":{tag:"(0024,0112)",vr:"SQ",name:"RefractiveParametersUsedOnPatientSequence",vm:"1",version:"DICOM"},"(0024,0113)":{tag:"(0024,0113)",vr:"CS",name:"MeasurementLaterality",vm:"1",version:"DICOM"},"(0024,0114)":{tag:"(0024,0114)",vr:"SQ",name:"OphthalmicPatientClinicalInformationLeftEyeSequence",vm:"1",version:"DICOM"},"(0024,0115)":{tag:"(0024,0115)",vr:"SQ",name:"OphthalmicPatientClinicalInformationRightEyeSequence",vm:"1",version:"DICOM"},"(0024,0117)":{tag:"(0024,0117)",vr:"CS",name:"FovealPointNormativeDataFlag",vm:"1",version:"DICOM"},"(0024,0118)":{tag:"(0024,0118)",vr:"FL",name:"FovealPointProbabilityValue",vm:"1",version:"DICOM"},"(0024,0120)":{tag:"(0024,0120)",vr:"CS",name:"ScreeningBaselineMeasured",vm:"1",version:"DICOM"},"(0024,0122)":{tag:"(0024,0122)",vr:"SQ",name:"ScreeningBaselineMeasuredSequence",vm:"1",version:"DICOM"},"(0024,0124)":{tag:"(0024,0124)",vr:"CS",name:"ScreeningBaselineType",vm:"1",version:"DICOM"},"(0024,0126)":{tag:"(0024,0126)",vr:"FL",name:"ScreeningBaselineValue",vm:"1",version:"DICOM"},"(0024,0202)":{tag:"(0024,0202)",vr:"LO",name:"AlgorithmSource",vm:"1",version:"DICOM"},"(0024,0306)":{tag:"(0024,0306)",vr:"LO",name:"DataSetName",vm:"1",version:"DICOM"},"(0024,0307)":{tag:"(0024,0307)",vr:"LO",name:"DataSetVersion",vm:"1",version:"DICOM"},"(0024,0308)":{tag:"(0024,0308)",vr:"LO",name:"DataSetSource",vm:"1",version:"DICOM"},"(0024,0309)":{tag:"(0024,0309)",vr:"LO",name:"DataSetDescription",vm:"1",version:"DICOM"},"(0024,0317)":{tag:"(0024,0317)",vr:"SQ",name:"VisualFieldTestReliabilityGlobalIndexSequence",vm:"1",version:"DICOM"},"(0024,0320)":{tag:"(0024,0320)",vr:"SQ",name:"VisualFieldGlobalResultsIndexSequence",vm:"1",version:"DICOM"},"(0024,0325)":{tag:"(0024,0325)",vr:"SQ",name:"DataObservationSequence",vm:"1",version:"DICOM"},"(0024,0338)":{tag:"(0024,0338)",vr:"CS",name:"IndexNormalsFlag",vm:"1",version:"DICOM"},"(0024,0341)":{tag:"(0024,0341)",vr:"FL",name:"IndexProbability",vm:"1",version:"DICOM"},"(0024,0344)":{tag:"(0024,0344)",vr:"SQ",name:"IndexProbabilitySequence",vm:"1",version:"DICOM"},"(0028,0002)":{tag:"(0028,0002)",vr:"US",name:"SamplesPerPixel",vm:"1",version:"DICOM"},"(0028,0003)":{tag:"(0028,0003)",vr:"US",name:"SamplesPerPixelUsed",vm:"1",version:"DICOM"},"(0028,0004)":{tag:"(0028,0004)",vr:"CS",name:"PhotometricInterpretation",vm:"1",version:"DICOM"},"(0028,0006)":{tag:"(0028,0006)",vr:"US",name:"PlanarConfiguration",vm:"1",version:"DICOM"},"(0028,0008)":{tag:"(0028,0008)",vr:"IS",name:"NumberOfFrames",vm:"1",version:"DICOM"},"(0028,0009)":{tag:"(0028,0009)",vr:"AT",name:"FrameIncrementPointer",vm:"1-n",version:"DICOM"},"(0028,000A)":{tag:"(0028,000A)",vr:"AT",name:"FrameDimensionPointer",vm:"1-n",version:"DICOM"},"(0028,0010)":{tag:"(0028,0010)",vr:"US",name:"Rows",vm:"1",version:"DICOM"},"(0028,0011)":{tag:"(0028,0011)",vr:"US",name:"Columns",vm:"1",version:"DICOM"},"(0028,0014)":{tag:"(0028,0014)",vr:"US",name:"UltrasoundColorDataPresent",vm:"1",version:"DICOM"},"(0028,0030)":{tag:"(0028,0030)",vr:"DS",name:"PixelSpacing",vm:"2",version:"DICOM"},"(0028,0031)":{tag:"(0028,0031)",vr:"DS",name:"ZoomFactor",vm:"2",version:"DICOM"},"(0028,0032)":{tag:"(0028,0032)",vr:"DS",name:"ZoomCenter",vm:"2",version:"DICOM"},"(0028,0034)":{tag:"(0028,0034)",vr:"IS",name:"PixelAspectRatio",vm:"2",version:"DICOM"},"(0028,0051)":{tag:"(0028,0051)",vr:"CS",name:"CorrectedImage",vm:"1-n",version:"DICOM"},"(0028,0100)":{tag:"(0028,0100)",vr:"US",name:"BitsAllocated",vm:"1",version:"DICOM"},"(0028,0101)":{tag:"(0028,0101)",vr:"US",name:"BitsStored",vm:"1",version:"DICOM"},"(0028,0102)":{tag:"(0028,0102)",vr:"US",name:"HighBit",vm:"1",version:"DICOM"},"(0028,0103)":{tag:"(0028,0103)",vr:"US",name:"PixelRepresentation",vm:"1",version:"DICOM"},"(0028,0106)":{tag:"(0028,0106)",vr:"xs",name:"SmallestImagePixelValue",vm:"1",version:"DICOM"},"(0028,0107)":{tag:"(0028,0107)",vr:"xs",name:"LargestImagePixelValue",vm:"1",version:"DICOM"},"(0028,0108)":{tag:"(0028,0108)",vr:"xs",name:"SmallestPixelValueInSeries",vm:"1",version:"DICOM"},"(0028,0109)":{tag:"(0028,0109)",vr:"xs",name:"LargestPixelValueInSeries",vm:"1",version:"DICOM"},"(0028,0120)":{tag:"(0028,0120)",vr:"xs",name:"PixelPaddingValue",vm:"1",version:"DICOM"},"(0028,0121)":{tag:"(0028,0121)",vr:"xs",name:"PixelPaddingRangeLimit",vm:"1",version:"DICOM"},"(0028,0122)":{tag:"(0028,0122)",vr:"FL",name:"FloatPixelPaddingValue",vm:"1",version:"DICOM"},"(0028,0123)":{tag:"(0028,0123)",vr:"FD",name:"DoubleFloatPixelPaddingValue",vm:"1",version:"DICOM"},"(0028,0124)":{tag:"(0028,0124)",vr:"FL",name:"FloatPixelPaddingRangeLimit",vm:"1",version:"DICOM"},"(0028,0125)":{tag:"(0028,0125)",vr:"FD",name:"DoubleFloatPixelPaddingRangeLimit",vm:"1",version:"DICOM"},"(0028,0300)":{tag:"(0028,0300)",vr:"CS",name:"QualityControlImage",vm:"1",version:"DICOM"},"(0028,0301)":{tag:"(0028,0301)",vr:"CS",name:"BurnedInAnnotation",vm:"1",version:"DICOM"},"(0028,0302)":{tag:"(0028,0302)",vr:"CS",name:"RecognizableVisualFeatures",vm:"1",version:"DICOM"},"(0028,0303)":{tag:"(0028,0303)",vr:"CS",name:"LongitudinalTemporalInformationModified",vm:"1",version:"DICOM"},"(0028,0304)":{tag:"(0028,0304)",vr:"UI",name:"ReferencedColorPaletteInstanceUID",vm:"1",version:"DICOM"},"(0028,0A02)":{tag:"(0028,0A02)",vr:"CS",name:"PixelSpacingCalibrationType",vm:"1",version:"DICOM"},"(0028,0A04)":{tag:"(0028,0A04)",vr:"LO",name:"PixelSpacingCalibrationDescription",vm:"1",version:"DICOM"},"(0028,1040)":{tag:"(0028,1040)",vr:"CS",name:"PixelIntensityRelationship",vm:"1",version:"DICOM"},"(0028,1041)":{tag:"(0028,1041)",vr:"SS",name:"PixelIntensityRelationshipSign",vm:"1",version:"DICOM"},"(0028,1050)":{tag:"(0028,1050)",vr:"DS",name:"WindowCenter",vm:"1-n",version:"DICOM"},"(0028,1051)":{tag:"(0028,1051)",vr:"DS",name:"WindowWidth",vm:"1-n",version:"DICOM"},"(0028,1052)":{tag:"(0028,1052)",vr:"DS",name:"RescaleIntercept",vm:"1",version:"DICOM"},"(0028,1053)":{tag:"(0028,1053)",vr:"DS",name:"RescaleSlope",vm:"1",version:"DICOM"},"(0028,1054)":{tag:"(0028,1054)",vr:"LO",name:"RescaleType",vm:"1",version:"DICOM"},"(0028,1055)":{tag:"(0028,1055)",vr:"LO",name:"WindowCenterWidthExplanation",vm:"1-n",version:"DICOM"},"(0028,1056)":{tag:"(0028,1056)",vr:"CS",name:"VOILUTFunction",vm:"1",version:"DICOM"},"(0028,1090)":{tag:"(0028,1090)",vr:"CS",name:"RecommendedViewingMode",vm:"1",version:"DICOM"},"(0028,1101)":{tag:"(0028,1101)",vr:"xs",name:"RedPaletteColorLookupTableDescriptor",vm:"3",version:"DICOM"},"(0028,1102)":{tag:"(0028,1102)",vr:"xs",name:"GreenPaletteColorLookupTableDescriptor",vm:"3",version:"DICOM"},"(0028,1103)":{tag:"(0028,1103)",vr:"xs",name:"BluePaletteColorLookupTableDescriptor",vm:"3",version:"DICOM"},"(0028,1104)":{tag:"(0028,1104)",vr:"US",name:"AlphaPaletteColorLookupTableDescriptor",vm:"3",version:"DICOM"},"(0028,1199)":{tag:"(0028,1199)",vr:"UI",name:"PaletteColorLookupTableUID",vm:"1",version:"DICOM"},"(0028,1201)":{tag:"(0028,1201)",vr:"OW",name:"RedPaletteColorLookupTableData",vm:"1",version:"DICOM"},"(0028,1202)":{tag:"(0028,1202)",vr:"OW",name:"GreenPaletteColorLookupTableData",vm:"1",version:"DICOM"},"(0028,1203)":{tag:"(0028,1203)",vr:"OW",name:"BluePaletteColorLookupTableData",vm:"1",version:"DICOM"},"(0028,1204)":{tag:"(0028,1204)",vr:"OW",name:"AlphaPaletteColorLookupTableData",vm:"1",version:"DICOM"},"(0028,1221)":{tag:"(0028,1221)",vr:"OW",name:"SegmentedRedPaletteColorLookupTableData",vm:"1",version:"DICOM"},"(0028,1222)":{tag:"(0028,1222)",vr:"OW",name:"SegmentedGreenPaletteColorLookupTableData",vm:"1",version:"DICOM"},"(0028,1223)":{tag:"(0028,1223)",vr:"OW",name:"SegmentedBluePaletteColorLookupTableData",vm:"1",version:"DICOM"},"(0028,1230)":{tag:"(0028,1230)",vr:"SQ",name:"StoredValueColorRangeSequence",vm:"1",version:"DICOM"},"(0028,1231)":{tag:"(0028,1231)",vr:"FD",name:"MinimumStoredValueMapped",vm:"1",version:"DICOM"},"(0028,1232)":{tag:"(0028,1232)",vr:"FD",name:"MaximumStoredValueMapped",vm:"1",version:"DICOM"},"(0028,1300)":{tag:"(0028,1300)",vr:"CS",name:"BreastImplantPresent",vm:"1",version:"DICOM"},"(0028,1350)":{tag:"(0028,1350)",vr:"CS",name:"PartialView",vm:"1",version:"DICOM"},"(0028,1351)":{tag:"(0028,1351)",vr:"ST",name:"PartialViewDescription",vm:"1",version:"DICOM"},"(0028,1352)":{tag:"(0028,1352)",vr:"SQ",name:"PartialViewCodeSequence",vm:"1",version:"DICOM"},"(0028,135A)":{tag:"(0028,135A)",vr:"CS",name:"SpatialLocationsPreserved",vm:"1",version:"DICOM"},"(0028,1401)":{tag:"(0028,1401)",vr:"SQ",name:"DataFrameAssignmentSequence",vm:"1",version:"DICOM"},"(0028,1402)":{tag:"(0028,1402)",vr:"CS",name:"DataPathAssignment",vm:"1",version:"DICOM"},"(0028,1403)":{tag:"(0028,1403)",vr:"US",name:"BitsMappedToColorLookupTable",vm:"1",version:"DICOM"},"(0028,1404)":{tag:"(0028,1404)",vr:"SQ",name:"BlendingLUT1Sequence",vm:"1",version:"DICOM"},"(0028,1405)":{tag:"(0028,1405)",vr:"CS",name:"BlendingLUT1TransferFunction",vm:"1",version:"DICOM"},"(0028,1406)":{tag:"(0028,1406)",vr:"FD",name:"BlendingWeightConstant",vm:"1",version:"DICOM"},"(0028,1407)":{tag:"(0028,1407)",vr:"US",name:"BlendingLookupTableDescriptor",vm:"3",version:"DICOM"},"(0028,1408)":{tag:"(0028,1408)",vr:"OW",name:"BlendingLookupTableData",vm:"1",version:"DICOM"},"(0028,140B)":{tag:"(0028,140B)",vr:"SQ",name:"EnhancedPaletteColorLookupTableSequence",vm:"1",version:"DICOM"},"(0028,140C)":{tag:"(0028,140C)",vr:"SQ",name:"BlendingLUT2Sequence",vm:"1",version:"DICOM"},"(0028,140D)":{tag:"(0028,140D)",vr:"CS",name:"BlendingLUT2TransferFunction",vm:"1",version:"DICOM"},"(0028,140E)":{tag:"(0028,140E)",vr:"CS",name:"DataPathID",vm:"1",version:"DICOM"},"(0028,140F)":{tag:"(0028,140F)",vr:"CS",name:"RGBLUTTransferFunction",vm:"1",version:"DICOM"},"(0028,1410)":{tag:"(0028,1410)",vr:"CS",name:"AlphaLUTTransferFunction",vm:"1",version:"DICOM"},"(0028,2000)":{tag:"(0028,2000)",vr:"OB",name:"ICCProfile",vm:"1",version:"DICOM"},"(0028,2110)":{tag:"(0028,2110)",vr:"CS",name:"LossyImageCompression",vm:"1",version:"DICOM"},"(0028,2112)":{tag:"(0028,2112)",vr:"DS",name:"LossyImageCompressionRatio",vm:"1-n",version:"DICOM"},"(0028,2114)":{tag:"(0028,2114)",vr:"CS",name:"LossyImageCompressionMethod",vm:"1-n",version:"DICOM"},"(0028,3000)":{tag:"(0028,3000)",vr:"SQ",name:"ModalityLUTSequence",vm:"1",version:"DICOM"},"(0028,3002)":{tag:"(0028,3002)",vr:"xs",name:"LUTDescriptor",vm:"3",version:"DICOM"},"(0028,3003)":{tag:"(0028,3003)",vr:"LO",name:"LUTExplanation",vm:"1",version:"DICOM"},"(0028,3004)":{tag:"(0028,3004)",vr:"LO",name:"ModalityLUTType",vm:"1",version:"DICOM"},"(0028,3006)":{tag:"(0028,3006)",vr:"lt",name:"LUTData",vm:"1-n",version:"DICOM"},"(0028,3010)":{tag:"(0028,3010)",vr:"SQ",name:"VOILUTSequence",vm:"1",version:"DICOM"},"(0028,3110)":{tag:"(0028,3110)",vr:"SQ",name:"SoftcopyVOILUTSequence",vm:"1",version:"DICOM"},"(0028,6010)":{tag:"(0028,6010)",vr:"US",name:"RepresentativeFrameNumber",vm:"1",version:"DICOM"},"(0028,6020)":{tag:"(0028,6020)",vr:"US",name:"FrameNumbersOfInterest",vm:"1-n",version:"DICOM"},"(0028,6022)":{tag:"(0028,6022)",vr:"LO",name:"FrameOfInterestDescription",vm:"1-n",version:"DICOM"},"(0028,6023)":{tag:"(0028,6023)",vr:"CS",name:"FrameOfInterestType",vm:"1-n",version:"DICOM"},"(0028,6040)":{tag:"(0028,6040)",vr:"US",name:"RWavePointer",vm:"1-n",version:"DICOM"},"(0028,6100)":{tag:"(0028,6100)",vr:"SQ",name:"MaskSubtractionSequence",vm:"1",version:"DICOM"},"(0028,6101)":{tag:"(0028,6101)",vr:"CS",name:"MaskOperation",vm:"1",version:"DICOM"},"(0028,6102)":{tag:"(0028,6102)",vr:"US",name:"ApplicableFrameRange",vm:"2-2n",version:"DICOM"},"(0028,6110)":{tag:"(0028,6110)",vr:"US",name:"MaskFrameNumbers",vm:"1-n",version:"DICOM"},"(0028,6112)":{tag:"(0028,6112)",vr:"US",name:"ContrastFrameAveraging",vm:"1",version:"DICOM"},"(0028,6114)":{tag:"(0028,6114)",vr:"FL",name:"MaskSubPixelShift",vm:"2",version:"DICOM"},"(0028,6120)":{tag:"(0028,6120)",vr:"SS",name:"TIDOffset",vm:"1",version:"DICOM"},"(0028,6190)":{tag:"(0028,6190)",vr:"ST",name:"MaskOperationExplanation",vm:"1",version:"DICOM"},"(0028,7000)":{tag:"(0028,7000)",vr:"SQ",name:"EquipmentAdministratorSequence",vm:"1",version:"DICOM"},"(0028,7001)":{tag:"(0028,7001)",vr:"US",name:"NumberOfDisplaySubsystems",vm:"1",version:"DICOM"},"(0028,7002)":{tag:"(0028,7002)",vr:"US",name:"CurrentConfigurationID",vm:"1",version:"DICOM"},"(0028,7003)":{tag:"(0028,7003)",vr:"US",name:"DisplaySubsystemID",vm:"1",version:"DICOM"},"(0028,7004)":{tag:"(0028,7004)",vr:"SH",name:"DisplaySubsystemName",vm:"1",version:"DICOM"},"(0028,7005)":{tag:"(0028,7005)",vr:"LO",name:"DisplaySubsystemDescription",vm:"1",version:"DICOM"},"(0028,7006)":{tag:"(0028,7006)",vr:"CS",name:"SystemStatus",vm:"1",version:"DICOM"},"(0028,7007)":{tag:"(0028,7007)",vr:"LO",name:"SystemStatusComment",vm:"1",version:"DICOM"},"(0028,7008)":{tag:"(0028,7008)",vr:"SQ",name:"TargetLuminanceCharacteristicsSequence",vm:"1",version:"DICOM"},"(0028,7009)":{tag:"(0028,7009)",vr:"US",name:"LuminanceCharacteristicsID",vm:"1",version:"DICOM"},"(0028,700A)":{tag:"(0028,700A)",vr:"SQ",name:"DisplaySubsystemConfigurationSequence",vm:"1",version:"DICOM"},"(0028,700B)":{tag:"(0028,700B)",vr:"US",name:"ConfigurationID",vm:"1",version:"DICOM"},"(0028,700C)":{tag:"(0028,700C)",vr:"SH",name:"ConfigurationName",vm:"1",version:"DICOM"},"(0028,700D)":{tag:"(0028,700D)",vr:"LO",name:"ConfigurationDescription",vm:"1",version:"DICOM"},"(0028,700E)":{tag:"(0028,700E)",vr:"US",name:"ReferencedTargetLuminanceCharacteristicsID",vm:"1",version:"DICOM"},"(0028,700F)":{tag:"(0028,700F)",vr:"SQ",name:"QAResultsSequence",vm:"1",version:"DICOM"},"(0028,7010)":{tag:"(0028,7010)",vr:"SQ",name:"DisplaySubsystemQAResultsSequence",vm:"1",version:"DICOM"},"(0028,7011)":{tag:"(0028,7011)",vr:"SQ",name:"ConfigurationQAResultsSequence",vm:"1",version:"DICOM"},"(0028,7012)":{tag:"(0028,7012)",vr:"SQ",name:"MeasurementEquipmentSequence",vm:"1",version:"DICOM"},"(0028,7013)":{tag:"(0028,7013)",vr:"CS",name:"MeasurementFunctions",vm:"1-n",version:"DICOM"},"(0028,7014)":{tag:"(0028,7014)",vr:"CS",name:"MeasurementEquipmentType",vm:"1",version:"DICOM"},"(0028,7015)":{tag:"(0028,7015)",vr:"SQ",name:"VisualEvaluationResultSequence",vm:"1",version:"DICOM"},"(0028,7016)":{tag:"(0028,7016)",vr:"SQ",name:"DisplayCalibrationResultSequence",vm:"1",version:"DICOM"},"(0028,7017)":{tag:"(0028,7017)",vr:"US",name:"DDLValue",vm:"1",version:"DICOM"},"(0028,7018)":{tag:"(0028,7018)",vr:"FL",name:"CIExyWhitePoint",vm:"2",version:"DICOM"},"(0028,7019)":{tag:"(0028,7019)",vr:"CS",name:"DisplayFunctionType",vm:"1",version:"DICOM"},"(0028,701A)":{tag:"(0028,701A)",vr:"FL",name:"GammaValue",vm:"1",version:"DICOM"},"(0028,701B)":{tag:"(0028,701B)",vr:"US",name:"NumberOfLuminancePoints",vm:"1",version:"DICOM"},"(0028,701C)":{tag:"(0028,701C)",vr:"SQ",name:"LuminanceResponseSequence",vm:"1",version:"DICOM"},"(0028,701D)":{tag:"(0028,701D)",vr:"FL",name:"TargetMinimumLuminance",vm:"1",version:"DICOM"},"(0028,701E)":{tag:"(0028,701E)",vr:"FL",name:"TargetMaximumLuminance",vm:"1",version:"DICOM"},"(0028,701F)":{tag:"(0028,701F)",vr:"FL",name:"LuminanceValue",vm:"1",version:"DICOM"},"(0028,7020)":{tag:"(0028,7020)",vr:"LO",name:"LuminanceResponseDescription",vm:"1",version:"DICOM"},"(0028,7021)":{tag:"(0028,7021)",vr:"CS",name:"WhitePointFlag",vm:"1",version:"DICOM"},"(0028,7022)":{tag:"(0028,7022)",vr:"SQ",name:"DisplayDeviceTypeCodeSequence",vm:"1",version:"DICOM"},"(0028,7023)":{tag:"(0028,7023)",vr:"SQ",name:"DisplaySubsystemSequence",vm:"1",version:"DICOM"},"(0028,7024)":{tag:"(0028,7024)",vr:"SQ",name:"LuminanceResultSequence",vm:"1",version:"DICOM"},"(0028,7025)":{tag:"(0028,7025)",vr:"CS",name:"AmbientLightValueSource",vm:"1",version:"DICOM"},"(0028,7026)":{tag:"(0028,7026)",vr:"CS",name:"MeasuredCharacteristics",vm:"1-n",version:"DICOM"},"(0028,7027)":{tag:"(0028,7027)",vr:"SQ",name:"LuminanceUniformityResultSequence",vm:"1",version:"DICOM"},"(0028,7028)":{tag:"(0028,7028)",vr:"SQ",name:"VisualEvaluationTestSequence",vm:"1",version:"DICOM"},"(0028,7029)":{tag:"(0028,7029)",vr:"CS",name:"TestResult",vm:"1",version:"DICOM"},"(0028,702A)":{tag:"(0028,702A)",vr:"LO",name:"TestResultComment",vm:"1",version:"DICOM"},"(0028,702B)":{tag:"(0028,702B)",vr:"CS",name:"TestImageValidation",vm:"1",version:"DICOM"},"(0028,702C)":{tag:"(0028,702C)",vr:"SQ",name:"TestPatternCodeSequence",vm:"1",version:"DICOM"},"(0028,702D)":{tag:"(0028,702D)",vr:"SQ",name:"MeasurementPatternCodeSequence",vm:"1",version:"DICOM"},"(0028,702E)":{tag:"(0028,702E)",vr:"SQ",name:"VisualEvaluationMethodCodeSequence",vm:"1",version:"DICOM"},"(0028,7FE0)":{tag:"(0028,7FE0)",vr:"UR",name:"PixelDataProviderURL",vm:"1",version:"DICOM"},"(0028,9001)":{tag:"(0028,9001)",vr:"UL",name:"DataPointRows",vm:"1",version:"DICOM"},"(0028,9002)":{tag:"(0028,9002)",vr:"UL",name:"DataPointColumns",vm:"1",version:"DICOM"},"(0028,9003)":{tag:"(0028,9003)",vr:"CS",name:"SignalDomainColumns",vm:"1",version:"DICOM"},"(0028,9108)":{tag:"(0028,9108)",vr:"CS",name:"DataRepresentation",vm:"1",version:"DICOM"},"(0028,9110)":{tag:"(0028,9110)",vr:"SQ",name:"PixelMeasuresSequence",vm:"1",version:"DICOM"},"(0028,9132)":{tag:"(0028,9132)",vr:"SQ",name:"FrameVOILUTSequence",vm:"1",version:"DICOM"},"(0028,9145)":{tag:"(0028,9145)",vr:"SQ",name:"PixelValueTransformationSequence",vm:"1",version:"DICOM"},"(0028,9235)":{tag:"(0028,9235)",vr:"CS",name:"SignalDomainRows",vm:"1",version:"DICOM"},"(0028,9411)":{tag:"(0028,9411)",vr:"FL",name:"DisplayFilterPercentage",vm:"1",version:"DICOM"},"(0028,9415)":{tag:"(0028,9415)",vr:"SQ",name:"FramePixelShiftSequence",vm:"1",version:"DICOM"},"(0028,9416)":{tag:"(0028,9416)",vr:"US",name:"SubtractionItemID",vm:"1",version:"DICOM"},"(0028,9422)":{tag:"(0028,9422)",vr:"SQ",name:"PixelIntensityRelationshipLUTSequence",vm:"1",version:"DICOM"},"(0028,9443)":{tag:"(0028,9443)",vr:"SQ",name:"FramePixelDataPropertiesSequence",vm:"1",version:"DICOM"},"(0028,9444)":{tag:"(0028,9444)",vr:"CS",name:"GeometricalProperties",vm:"1",version:"DICOM"},"(0028,9445)":{tag:"(0028,9445)",vr:"FL",name:"GeometricMaximumDistortion",vm:"1",version:"DICOM"},"(0028,9446)":{tag:"(0028,9446)",vr:"CS",name:"ImageProcessingApplied",vm:"1-n",version:"DICOM"},"(0028,9454)":{tag:"(0028,9454)",vr:"CS",name:"MaskSelectionMode",vm:"1",version:"DICOM"},"(0028,9474)":{tag:"(0028,9474)",vr:"CS",name:"LUTFunction",vm:"1",version:"DICOM"},"(0028,9478)":{tag:"(0028,9478)",vr:"FL",name:"MaskVisibilityPercentage",vm:"1",version:"DICOM"},"(0028,9501)":{tag:"(0028,9501)",vr:"SQ",name:"PixelShiftSequence",vm:"1",version:"DICOM"},"(0028,9502)":{tag:"(0028,9502)",vr:"SQ",name:"RegionPixelShiftSequence",vm:"1",version:"DICOM"},"(0028,9503)":{tag:"(0028,9503)",vr:"SS",name:"VerticesOfTheRegion",vm:"2-2n",version:"DICOM"},"(0028,9505)":{tag:"(0028,9505)",vr:"SQ",name:"MultiFramePresentationSequence",vm:"1",version:"DICOM"},"(0028,9506)":{tag:"(0028,9506)",vr:"US",name:"PixelShiftFrameRange",vm:"2-2n",version:"DICOM"},"(0028,9507)":{tag:"(0028,9507)",vr:"US",name:"LUTFrameRange",vm:"2-2n",version:"DICOM"},"(0028,9520)":{tag:"(0028,9520)",vr:"DS",name:"ImageToEquipmentMappingMatrix",vm:"16",version:"DICOM"},"(0028,9537)":{tag:"(0028,9537)",vr:"CS",name:"EquipmentCoordinateSystemIdentification",vm:"1",version:"DICOM"},"(0032,1031)":{tag:"(0032,1031)",vr:"SQ",name:"RequestingPhysicianIdentificationSequence",vm:"1",version:"DICOM"},"(0032,1032)":{tag:"(0032,1032)",vr:"PN",name:"RequestingPhysician",vm:"1",version:"DICOM"},"(0032,1033)":{tag:"(0032,1033)",vr:"LO",name:"RequestingService",vm:"1",version:"DICOM"},"(0032,1034)":{tag:"(0032,1034)",vr:"SQ",name:"RequestingServiceCodeSequence",vm:"1",version:"DICOM"},"(0032,1060)":{tag:"(0032,1060)",vr:"LO",name:"RequestedProcedureDescription",vm:"1",version:"DICOM"},"(0032,1064)":{tag:"(0032,1064)",vr:"SQ",name:"RequestedProcedureCodeSequence",vm:"1",version:"DICOM"},"(0032,1066)":{tag:"(0032,1066)",vr:"UT",name:"ReasonForVisit",vm:"1",version:"DICOM"},"(0032,1067)":{tag:"(0032,1067)",vr:"SQ",name:"ReasonForVisitCodeSequence",vm:"1",version:"DICOM"},"(0032,1070)":{tag:"(0032,1070)",vr:"LO",name:"RequestedContrastAgent",vm:"1",version:"DICOM"},"(0034,0001)":{tag:"(0034,0001)",vr:"SQ",name:"FlowIdentifierSequence",vm:"1",version:"DICOM"},"(0034,0002)":{tag:"(0034,0002)",vr:"OB",name:"FlowIdentifier",vm:"1",version:"DICOM"},"(0034,0003)":{tag:"(0034,0003)",vr:"UI",name:"FlowTransferSyntaxUID",vm:"1",version:"DICOM"},"(0034,0004)":{tag:"(0034,0004)",vr:"UL",name:"FlowRTPSamplingRate",vm:"1",version:"DICOM"},"(0034,0005)":{tag:"(0034,0005)",vr:"OB",name:"SourceIdentifier",vm:"1",version:"DICOM"},"(0034,0007)":{tag:"(0034,0007)",vr:"OB",name:"FrameOriginTimestamp",vm:"1",version:"DICOM"},"(0034,0008)":{tag:"(0034,0008)",vr:"CS",name:"IncludesImagingSubject",vm:"1",version:"DICOM"},"(0034,0009)":{tag:"(0034,0009)",vr:"SQ",name:"FrameUsefulnessGroupSequence",vm:"1",version:"DICOM"},"(0034,000A)":{tag:"(0034,000A)",vr:"SQ",name:"RealTimeBulkDataFlowSequence",vm:"1",version:"DICOM"},"(0034,000B)":{tag:"(0034,000B)",vr:"SQ",name:"CameraPositionGroupSequence",vm:"1",version:"DICOM"},"(0034,000C)":{tag:"(0034,000C)",vr:"CS",name:"IncludesInformation",vm:"1",version:"DICOM"},"(0034,000D)":{tag:"(0034,000D)",vr:"SQ",name:"TimeOfFrameGroupSequence",vm:"1",version:"DICOM"},"(0038,0004)":{tag:"(0038,0004)",vr:"SQ",name:"ReferencedPatientAliasSequence",vm:"1",version:"DICOM"},"(0038,0008)":{tag:"(0038,0008)",vr:"CS",name:"VisitStatusID",vm:"1",version:"DICOM"},"(0038,0010)":{tag:"(0038,0010)",vr:"LO",name:"AdmissionID",vm:"1",version:"DICOM"},"(0038,0014)":{tag:"(0038,0014)",vr:"SQ",name:"IssuerOfAdmissionIDSequence",vm:"1",version:"DICOM"},"(0038,0016)":{tag:"(0038,0016)",vr:"LO",name:"RouteOfAdmissions",vm:"1",version:"DICOM"},"(0038,0020)":{tag:"(0038,0020)",vr:"DA",name:"AdmittingDate",vm:"1",version:"DICOM"},"(0038,0021)":{tag:"(0038,0021)",vr:"TM",name:"AdmittingTime",vm:"1",version:"DICOM"},"(0038,0050)":{tag:"(0038,0050)",vr:"LO",name:"SpecialNeeds",vm:"1",version:"DICOM"},"(0038,0060)":{tag:"(0038,0060)",vr:"LO",name:"ServiceEpisodeID",vm:"1",version:"DICOM"},"(0038,0062)":{tag:"(0038,0062)",vr:"LO",name:"ServiceEpisodeDescription",vm:"1",version:"DICOM"},"(0038,0064)":{tag:"(0038,0064)",vr:"SQ",name:"IssuerOfServiceEpisodeIDSequence",vm:"1",version:"DICOM"},"(0038,0100)":{tag:"(0038,0100)",vr:"SQ",name:"PertinentDocumentsSequence",vm:"1",version:"DICOM"},"(0038,0101)":{tag:"(0038,0101)",vr:"SQ",name:"PertinentResourcesSequence",vm:"1",version:"DICOM"},"(0038,0102)":{tag:"(0038,0102)",vr:"LO",name:"ResourceDescription",vm:"1",version:"DICOM"},"(0038,0300)":{tag:"(0038,0300)",vr:"LO",name:"CurrentPatientLocation",vm:"1",version:"DICOM"},"(0038,0400)":{tag:"(0038,0400)",vr:"LO",name:"PatientInstitutionResidence",vm:"1",version:"DICOM"},"(0038,0500)":{tag:"(0038,0500)",vr:"LO",name:"PatientState",vm:"1",version:"DICOM"},"(0038,0502)":{tag:"(0038,0502)",vr:"SQ",name:"PatientClinicalTrialParticipationSequence",vm:"1",version:"DICOM"},"(0038,4000)":{tag:"(0038,4000)",vr:"LT",name:"VisitComments",vm:"1",version:"DICOM"},"(003A,0004)":{tag:"(003A,0004)",vr:"CS",name:"WaveformOriginality",vm:"1",version:"DICOM"},"(003A,0005)":{tag:"(003A,0005)",vr:"US",name:"NumberOfWaveformChannels",vm:"1",version:"DICOM"},"(003A,0010)":{tag:"(003A,0010)",vr:"UL",name:"NumberOfWaveformSamples",vm:"1",version:"DICOM"},"(003A,001A)":{tag:"(003A,001A)",vr:"DS",name:"SamplingFrequency",vm:"1",version:"DICOM"},"(003A,0020)":{tag:"(003A,0020)",vr:"SH",name:"MultiplexGroupLabel",vm:"1",version:"DICOM"},"(003A,0200)":{tag:"(003A,0200)",vr:"SQ",name:"ChannelDefinitionSequence",vm:"1",version:"DICOM"},"(003A,0202)":{tag:"(003A,0202)",vr:"IS",name:"WaveformChannelNumber",vm:"1",version:"DICOM"},"(003A,0203)":{tag:"(003A,0203)",vr:"SH",name:"ChannelLabel",vm:"1",version:"DICOM"},"(003A,0205)":{tag:"(003A,0205)",vr:"CS",name:"ChannelStatus",vm:"1-n",version:"DICOM"},"(003A,0208)":{tag:"(003A,0208)",vr:"SQ",name:"ChannelSourceSequence",vm:"1",version:"DICOM"},"(003A,0209)":{tag:"(003A,0209)",vr:"SQ",name:"ChannelSourceModifiersSequence",vm:"1",version:"DICOM"},"(003A,020A)":{tag:"(003A,020A)",vr:"SQ",name:"SourceWaveformSequence",vm:"1",version:"DICOM"},"(003A,020C)":{tag:"(003A,020C)",vr:"LO",name:"ChannelDerivationDescription",vm:"1",version:"DICOM"},"(003A,0210)":{tag:"(003A,0210)",vr:"DS",name:"ChannelSensitivity",vm:"1",version:"DICOM"},"(003A,0211)":{tag:"(003A,0211)",vr:"SQ",name:"ChannelSensitivityUnitsSequence",vm:"1",version:"DICOM"},"(003A,0212)":{tag:"(003A,0212)",vr:"DS",name:"ChannelSensitivityCorrectionFactor",vm:"1",version:"DICOM"},"(003A,0213)":{tag:"(003A,0213)",vr:"DS",name:"ChannelBaseline",vm:"1",version:"DICOM"},"(003A,0214)":{tag:"(003A,0214)",vr:"DS",name:"ChannelTimeSkew",vm:"1",version:"DICOM"},"(003A,0215)":{tag:"(003A,0215)",vr:"DS",name:"ChannelSampleSkew",vm:"1",version:"DICOM"},"(003A,0218)":{tag:"(003A,0218)",vr:"DS",name:"ChannelOffset",vm:"1",version:"DICOM"},"(003A,021A)":{tag:"(003A,021A)",vr:"US",name:"WaveformBitsStored",vm:"1",version:"DICOM"},"(003A,0220)":{tag:"(003A,0220)",vr:"DS",name:"FilterLowFrequency",vm:"1",version:"DICOM"},"(003A,0221)":{tag:"(003A,0221)",vr:"DS",name:"FilterHighFrequency",vm:"1",version:"DICOM"},"(003A,0222)":{tag:"(003A,0222)",vr:"DS",name:"NotchFilterFrequency",vm:"1",version:"DICOM"},"(003A,0223)":{tag:"(003A,0223)",vr:"DS",name:"NotchFilterBandwidth",vm:"1",version:"DICOM"},"(003A,0230)":{tag:"(003A,0230)",vr:"FL",name:"WaveformDataDisplayScale",vm:"1",version:"DICOM"},"(003A,0231)":{tag:"(003A,0231)",vr:"US",name:"WaveformDisplayBackgroundCIELabValue",vm:"3",version:"DICOM"},"(003A,0240)":{tag:"(003A,0240)",vr:"SQ",name:"WaveformPresentationGroupSequence",vm:"1",version:"DICOM"},"(003A,0241)":{tag:"(003A,0241)",vr:"US",name:"PresentationGroupNumber",vm:"1",version:"DICOM"},"(003A,0242)":{tag:"(003A,0242)",vr:"SQ",name:"ChannelDisplaySequence",vm:"1",version:"DICOM"},"(003A,0244)":{tag:"(003A,0244)",vr:"US",name:"ChannelRecommendedDisplayCIELabValue",vm:"3",version:"DICOM"},"(003A,0245)":{tag:"(003A,0245)",vr:"FL",name:"ChannelPosition",vm:"1",version:"DICOM"},"(003A,0246)":{tag:"(003A,0246)",vr:"CS",name:"DisplayShadingFlag",vm:"1",version:"DICOM"},"(003A,0247)":{tag:"(003A,0247)",vr:"FL",name:"FractionalChannelDisplayScale",vm:"1",version:"DICOM"},"(003A,0248)":{tag:"(003A,0248)",vr:"FL",name:"AbsoluteChannelDisplayScale",vm:"1",version:"DICOM"},"(003A,0300)":{tag:"(003A,0300)",vr:"SQ",name:"MultiplexedAudioChannelsDescriptionCodeSequence",vm:"1",version:"DICOM"},"(003A,0301)":{tag:"(003A,0301)",vr:"IS",name:"ChannelIdentificationCode",vm:"1",version:"DICOM"},"(003A,0302)":{tag:"(003A,0302)",vr:"CS",name:"ChannelMode",vm:"1",version:"DICOM"},"(003A,0310)":{tag:"(003A,0310)",vr:"UI",name:"MultiplexGroupUID",vm:"1",version:"DICOM"},"(003A,0311)":{tag:"(003A,0311)",vr:"DS",name:"PowerlineFrequency",vm:"1",version:"DICOM"},"(003A,0312)":{tag:"(003A,0312)",vr:"SQ",name:"ChannelImpedanceSequence",vm:"1",version:"DICOM"},"(003A,0313)":{tag:"(003A,0313)",vr:"DS",name:"ImpedanceValue",vm:"1",version:"DICOM"},"(003A,0314)":{tag:"(003A,0314)",vr:"DT",name:"ImpedanceMeasurementDateTime",vm:"1",version:"DICOM"},"(003A,0315)":{tag:"(003A,0315)",vr:"DS",name:"ImpedanceMeasurementFrequency",vm:"1",version:"DICOM"},"(003A,0316)":{tag:"(003A,0316)",vr:"CS",name:"ImpedanceMeasurementCurrentType",vm:"1",version:"DICOM"},"(0040,0001)":{tag:"(0040,0001)",vr:"AE",name:"ScheduledStationAETitle",vm:"1-n",version:"DICOM"},"(0040,0002)":{tag:"(0040,0002)",vr:"DA",name:"ScheduledProcedureStepStartDate",vm:"1",version:"DICOM"},"(0040,0003)":{tag:"(0040,0003)",vr:"TM",name:"ScheduledProcedureStepStartTime",vm:"1",version:"DICOM"},"(0040,0004)":{tag:"(0040,0004)",vr:"DA",name:"ScheduledProcedureStepEndDate",vm:"1",version:"DICOM"},"(0040,0005)":{tag:"(0040,0005)",vr:"TM",name:"ScheduledProcedureStepEndTime",vm:"1",version:"DICOM"},"(0040,0006)":{tag:"(0040,0006)",vr:"PN",name:"ScheduledPerformingPhysicianName",vm:"1",version:"DICOM"},"(0040,0007)":{tag:"(0040,0007)",vr:"LO",name:"ScheduledProcedureStepDescription",vm:"1",version:"DICOM"},"(0040,0008)":{tag:"(0040,0008)",vr:"SQ",name:"ScheduledProtocolCodeSequence",vm:"1",version:"DICOM"},"(0040,0009)":{tag:"(0040,0009)",vr:"SH",name:"ScheduledProcedureStepID",vm:"1",version:"DICOM"},"(0040,000A)":{tag:"(0040,000A)",vr:"SQ",name:"StageCodeSequence",vm:"1",version:"DICOM"},"(0040,000B)":{tag:"(0040,000B)",vr:"SQ",name:"ScheduledPerformingPhysicianIdentificationSequence",vm:"1",version:"DICOM"},"(0040,0010)":{tag:"(0040,0010)",vr:"SH",name:"ScheduledStationName",vm:"1-n",version:"DICOM"},"(0040,0011)":{tag:"(0040,0011)",vr:"SH",name:"ScheduledProcedureStepLocation",vm:"1",version:"DICOM"},"(0040,0012)":{tag:"(0040,0012)",vr:"LO",name:"PreMedication",vm:"1",version:"DICOM"},"(0040,0020)":{tag:"(0040,0020)",vr:"CS",name:"ScheduledProcedureStepStatus",vm:"1",version:"DICOM"},"(0040,0026)":{tag:"(0040,0026)",vr:"SQ",name:"OrderPlacerIdentifierSequence",vm:"1",version:"DICOM"},"(0040,0027)":{tag:"(0040,0027)",vr:"SQ",name:"OrderFillerIdentifierSequence",vm:"1",version:"DICOM"},"(0040,0031)":{tag:"(0040,0031)",vr:"UT",name:"LocalNamespaceEntityID",vm:"1",version:"DICOM"},"(0040,0032)":{tag:"(0040,0032)",vr:"UT",name:"UniversalEntityID",vm:"1",version:"DICOM"},"(0040,0033)":{tag:"(0040,0033)",vr:"CS",name:"UniversalEntityIDType",vm:"1",version:"DICOM"},"(0040,0035)":{tag:"(0040,0035)",vr:"CS",name:"IdentifierTypeCode",vm:"1",version:"DICOM"},"(0040,0036)":{tag:"(0040,0036)",vr:"SQ",name:"AssigningFacilitySequence",vm:"1",version:"DICOM"},"(0040,0039)":{tag:"(0040,0039)",vr:"SQ",name:"AssigningJurisdictionCodeSequence",vm:"1",version:"DICOM"},"(0040,003A)":{tag:"(0040,003A)",vr:"SQ",name:"AssigningAgencyOrDepartmentCodeSequence",vm:"1",version:"DICOM"},"(0040,0100)":{tag:"(0040,0100)",vr:"SQ",name:"ScheduledProcedureStepSequence",vm:"1",version:"DICOM"},"(0040,0220)":{tag:"(0040,0220)",vr:"SQ",name:"ReferencedNonImageCompositeSOPInstanceSequence",vm:"1",version:"DICOM"},"(0040,0241)":{tag:"(0040,0241)",vr:"AE",name:"PerformedStationAETitle",vm:"1",version:"DICOM"},"(0040,0242)":{tag:"(0040,0242)",vr:"SH",name:"PerformedStationName",vm:"1",version:"DICOM"},"(0040,0243)":{tag:"(0040,0243)",vr:"SH",name:"PerformedLocation",vm:"1",version:"DICOM"},"(0040,0244)":{tag:"(0040,0244)",vr:"DA",name:"PerformedProcedureStepStartDate",vm:"1",version:"DICOM"},"(0040,0245)":{tag:"(0040,0245)",vr:"TM",name:"PerformedProcedureStepStartTime",vm:"1",version:"DICOM"},"(0040,0250)":{tag:"(0040,0250)",vr:"DA",name:"PerformedProcedureStepEndDate",vm:"1",version:"DICOM"},"(0040,0251)":{tag:"(0040,0251)",vr:"TM",name:"PerformedProcedureStepEndTime",vm:"1",version:"DICOM"},"(0040,0252)":{tag:"(0040,0252)",vr:"CS",name:"PerformedProcedureStepStatus",vm:"1",version:"DICOM"},"(0040,0253)":{tag:"(0040,0253)",vr:"SH",name:"PerformedProcedureStepID",vm:"1",version:"DICOM"},"(0040,0254)":{tag:"(0040,0254)",vr:"LO",name:"PerformedProcedureStepDescription",vm:"1",version:"DICOM"},"(0040,0255)":{tag:"(0040,0255)",vr:"LO",name:"PerformedProcedureTypeDescription",vm:"1",version:"DICOM"},"(0040,0260)":{tag:"(0040,0260)",vr:"SQ",name:"PerformedProtocolCodeSequence",vm:"1",version:"DICOM"},"(0040,0261)":{tag:"(0040,0261)",vr:"CS",name:"PerformedProtocolType",vm:"1",version:"DICOM"},"(0040,0270)":{tag:"(0040,0270)",vr:"SQ",name:"ScheduledStepAttributesSequence",vm:"1",version:"DICOM"},"(0040,0275)":{tag:"(0040,0275)",vr:"SQ",name:"RequestAttributesSequence",vm:"1",version:"DICOM"},"(0040,0280)":{tag:"(0040,0280)",vr:"ST",name:"CommentsOnThePerformedProcedureStep",vm:"1",version:"DICOM"},"(0040,0281)":{tag:"(0040,0281)",vr:"SQ",name:"PerformedProcedureStepDiscontinuationReasonCodeSequence",vm:"1",version:"DICOM"},"(0040,0293)":{tag:"(0040,0293)",vr:"SQ",name:"QuantitySequence",vm:"1",version:"DICOM"},"(0040,0294)":{tag:"(0040,0294)",vr:"DS",name:"Quantity",vm:"1",version:"DICOM"},"(0040,0295)":{tag:"(0040,0295)",vr:"SQ",name:"MeasuringUnitsSequence",vm:"1",version:"DICOM"},"(0040,0296)":{tag:"(0040,0296)",vr:"SQ",name:"BillingItemSequence",vm:"1",version:"DICOM"},"(0040,0300)":{tag:"(0040,0300)",vr:"US",name:"TotalTimeOfFluoroscopy",vm:"1",version:"DICOM"},"(0040,0301)":{tag:"(0040,0301)",vr:"US",name:"TotalNumberOfExposures",vm:"1",version:"DICOM"},"(0040,0302)":{tag:"(0040,0302)",vr:"US",name:"EntranceDose",vm:"1",version:"DICOM"},"(0040,0303)":{tag:"(0040,0303)",vr:"US",name:"ExposedArea",vm:"1-2",version:"DICOM"},"(0040,0306)":{tag:"(0040,0306)",vr:"DS",name:"DistanceSourceToEntrance",vm:"1",version:"DICOM"},"(0040,030E)":{tag:"(0040,030E)",vr:"SQ",name:"ExposureDoseSequence",vm:"1",version:"DICOM"},"(0040,0310)":{tag:"(0040,0310)",vr:"ST",name:"CommentsOnRadiationDose",vm:"1",version:"DICOM"},"(0040,0312)":{tag:"(0040,0312)",vr:"DS",name:"XRayOutput",vm:"1",version:"DICOM"},"(0040,0314)":{tag:"(0040,0314)",vr:"DS",name:"HalfValueLayer",vm:"1",version:"DICOM"},"(0040,0316)":{tag:"(0040,0316)",vr:"DS",name:"OrganDose",vm:"1",version:"DICOM"},"(0040,0318)":{tag:"(0040,0318)",vr:"CS",name:"OrganExposed",vm:"1",version:"DICOM"},"(0040,0320)":{tag:"(0040,0320)",vr:"SQ",name:"BillingProcedureStepSequence",vm:"1",version:"DICOM"},"(0040,0321)":{tag:"(0040,0321)",vr:"SQ",name:"FilmConsumptionSequence",vm:"1",version:"DICOM"},"(0040,0324)":{tag:"(0040,0324)",vr:"SQ",name:"BillingSuppliesAndDevicesSequence",vm:"1",version:"DICOM"},"(0040,0340)":{tag:"(0040,0340)",vr:"SQ",name:"PerformedSeriesSequence",vm:"1",version:"DICOM"},"(0040,0400)":{tag:"(0040,0400)",vr:"LT",name:"CommentsOnTheScheduledProcedureStep",vm:"1",version:"DICOM"},"(0040,0440)":{tag:"(0040,0440)",vr:"SQ",name:"ProtocolContextSequence",vm:"1",version:"DICOM"},"(0040,0441)":{tag:"(0040,0441)",vr:"SQ",name:"ContentItemModifierSequence",vm:"1",version:"DICOM"},"(0040,0500)":{tag:"(0040,0500)",vr:"SQ",name:"ScheduledSpecimenSequence",vm:"1",version:"DICOM"},"(0040,0512)":{tag:"(0040,0512)",vr:"LO",name:"ContainerIdentifier",vm:"1",version:"DICOM"},"(0040,0513)":{tag:"(0040,0513)",vr:"SQ",name:"IssuerOfTheContainerIdentifierSequence",vm:"1",version:"DICOM"},"(0040,0515)":{tag:"(0040,0515)",vr:"SQ",name:"AlternateContainerIdentifierSequence",vm:"1",version:"DICOM"},"(0040,0518)":{tag:"(0040,0518)",vr:"SQ",name:"ContainerTypeCodeSequence",vm:"1",version:"DICOM"},"(0040,051A)":{tag:"(0040,051A)",vr:"LO",name:"ContainerDescription",vm:"1",version:"DICOM"},"(0040,0520)":{tag:"(0040,0520)",vr:"SQ",name:"ContainerComponentSequence",vm:"1",version:"DICOM"},"(0040,0551)":{tag:"(0040,0551)",vr:"LO",name:"SpecimenIdentifier",vm:"1",version:"DICOM"},"(0040,0554)":{tag:"(0040,0554)",vr:"UI",name:"SpecimenUID",vm:"1",version:"DICOM"},"(0040,0555)":{tag:"(0040,0555)",vr:"SQ",name:"AcquisitionContextSequence",vm:"1",version:"DICOM"},"(0040,0556)":{tag:"(0040,0556)",vr:"ST",name:"AcquisitionContextDescription",vm:"1",version:"DICOM"},"(0040,0560)":{tag:"(0040,0560)",vr:"SQ",name:"SpecimenDescriptionSequence",vm:"1",version:"DICOM"},"(0040,0562)":{tag:"(0040,0562)",vr:"SQ",name:"IssuerOfTheSpecimenIdentifierSequence",vm:"1",version:"DICOM"},"(0040,059A)":{tag:"(0040,059A)",vr:"SQ",name:"SpecimenTypeCodeSequence",vm:"1",version:"DICOM"},"(0040,0600)":{tag:"(0040,0600)",vr:"LO",name:"SpecimenShortDescription",vm:"1",version:"DICOM"},"(0040,0602)":{tag:"(0040,0602)",vr:"UT",name:"SpecimenDetailedDescription",vm:"1",version:"DICOM"},"(0040,0610)":{tag:"(0040,0610)",vr:"SQ",name:"SpecimenPreparationSequence",vm:"1",version:"DICOM"},"(0040,0612)":{tag:"(0040,0612)",vr:"SQ",name:"SpecimenPreparationStepContentItemSequence",vm:"1",version:"DICOM"},"(0040,0620)":{tag:"(0040,0620)",vr:"SQ",name:"SpecimenLocalizationContentItemSequence",vm:"1",version:"DICOM"},"(0040,0710)":{tag:"(0040,0710)",vr:"SQ",name:"WholeSlideMicroscopyImageFrameTypeSequence",vm:"1",version:"DICOM"},"(0040,071A)":{tag:"(0040,071A)",vr:"SQ",name:"ImageCenterPointCoordinatesSequence",vm:"1",version:"DICOM"},"(0040,072A)":{tag:"(0040,072A)",vr:"DS",name:"XOffsetInSlideCoordinateSystem",vm:"1",version:"DICOM"},"(0040,073A)":{tag:"(0040,073A)",vr:"DS",name:"YOffsetInSlideCoordinateSystem",vm:"1",version:"DICOM"},"(0040,074A)":{tag:"(0040,074A)",vr:"DS",name:"ZOffsetInSlideCoordinateSystem",vm:"1",version:"DICOM"},"(0040,08EA)":{tag:"(0040,08EA)",vr:"SQ",name:"MeasurementUnitsCodeSequence",vm:"1",version:"DICOM"},"(0040,1001)":{tag:"(0040,1001)",vr:"SH",name:"RequestedProcedureID",vm:"1",version:"DICOM"},"(0040,1002)":{tag:"(0040,1002)",vr:"LO",name:"ReasonForTheRequestedProcedure",vm:"1",version:"DICOM"},"(0040,1003)":{tag:"(0040,1003)",vr:"SH",name:"RequestedProcedurePriority",vm:"1",version:"DICOM"},"(0040,1004)":{tag:"(0040,1004)",vr:"LO",name:"PatientTransportArrangements",vm:"1",version:"DICOM"},"(0040,1005)":{tag:"(0040,1005)",vr:"LO",name:"RequestedProcedureLocation",vm:"1",version:"DICOM"},"(0040,1008)":{tag:"(0040,1008)",vr:"LO",name:"ConfidentialityCode",vm:"1",version:"DICOM"},"(0040,1009)":{tag:"(0040,1009)",vr:"SH",name:"ReportingPriority",vm:"1",version:"DICOM"},"(0040,100A)":{tag:"(0040,100A)",vr:"SQ",name:"ReasonForRequestedProcedureCodeSequence",vm:"1",version:"DICOM"},"(0040,1010)":{tag:"(0040,1010)",vr:"PN",name:"NamesOfIntendedRecipientsOfResults",vm:"1-n",version:"DICOM"},"(0040,1011)":{tag:"(0040,1011)",vr:"SQ",name:"IntendedRecipientsOfResultsIdentificationSequence",vm:"1",version:"DICOM"},"(0040,1012)":{tag:"(0040,1012)",vr:"SQ",name:"ReasonForPerformedProcedureCodeSequence",vm:"1",version:"DICOM"},"(0040,1101)":{tag:"(0040,1101)",vr:"SQ",name:"PersonIdentificationCodeSequence",vm:"1",version:"DICOM"},"(0040,1102)":{tag:"(0040,1102)",vr:"ST",name:"PersonAddress",vm:"1",version:"DICOM"},"(0040,1103)":{tag:"(0040,1103)",vr:"LO",name:"PersonTelephoneNumbers",vm:"1-n",version:"DICOM"},"(0040,1104)":{tag:"(0040,1104)",vr:"LT",name:"PersonTelecomInformation",vm:"1",version:"DICOM"},"(0040,1400)":{tag:"(0040,1400)",vr:"LT",name:"RequestedProcedureComments",vm:"1",version:"DICOM"},"(0040,2004)":{tag:"(0040,2004)",vr:"DA",name:"IssueDateOfImagingServiceRequest",vm:"1",version:"DICOM"},"(0040,2005)":{tag:"(0040,2005)",vr:"TM",name:"IssueTimeOfImagingServiceRequest",vm:"1",version:"DICOM"},"(0040,2008)":{tag:"(0040,2008)",vr:"PN",name:"OrderEnteredBy",vm:"1",version:"DICOM"},"(0040,2009)":{tag:"(0040,2009)",vr:"SH",name:"OrderEntererLocation",vm:"1",version:"DICOM"},"(0040,2010)":{tag:"(0040,2010)",vr:"SH",name:"OrderCallbackPhoneNumber",vm:"1",version:"DICOM"},"(0040,2011)":{tag:"(0040,2011)",vr:"LT",name:"OrderCallbackTelecomInformation",vm:"1",version:"DICOM"},"(0040,2016)":{tag:"(0040,2016)",vr:"LO",name:"PlacerOrderNumberImagingServiceRequest",vm:"1",version:"DICOM"},"(0040,2017)":{tag:"(0040,2017)",vr:"LO",name:"FillerOrderNumberImagingServiceRequest",vm:"1",version:"DICOM"},"(0040,2400)":{tag:"(0040,2400)",vr:"LT",name:"ImagingServiceRequestComments",vm:"1",version:"DICOM"},"(0040,3001)":{tag:"(0040,3001)",vr:"LO",name:"ConfidentialityConstraintOnPatientDataDescription",vm:"1",version:"DICOM"},"(0040,4005)":{tag:"(0040,4005)",vr:"DT",name:"ScheduledProcedureStepStartDateTime",vm:"1",version:"DICOM"},"(0040,4007)":{tag:"(0040,4007)",vr:"SQ",name:"PerformedProcessingApplicationsCodeSequence",vm:"1",version:"DICOM"},"(0040,4008)":{tag:"(0040,4008)",vr:"DT",name:"ScheduledProcedureStepExpirationDateTime",vm:"1",version:"DICOM"},"(0040,4009)":{tag:"(0040,4009)",vr:"SQ",name:"HumanPerformerCodeSequence",vm:"1",version:"DICOM"},"(0040,4010)":{tag:"(0040,4010)",vr:"DT",name:"ScheduledProcedureStepModificationDateTime",vm:"1",version:"DICOM"},"(0040,4011)":{tag:"(0040,4011)",vr:"DT",name:"ExpectedCompletionDateTime",vm:"1",version:"DICOM"},"(0040,4018)":{tag:"(0040,4018)",vr:"SQ",name:"ScheduledWorkitemCodeSequence",vm:"1",version:"DICOM"},"(0040,4019)":{tag:"(0040,4019)",vr:"SQ",name:"PerformedWorkitemCodeSequence",vm:"1",version:"DICOM"},"(0040,4020)":{tag:"(0040,4020)",vr:"CS",name:"InputAvailabilityFlag",vm:"1",version:"DICOM"},"(0040,4021)":{tag:"(0040,4021)",vr:"SQ",name:"InputInformationSequence",vm:"1",version:"DICOM"},"(0040,4025)":{tag:"(0040,4025)",vr:"SQ",name:"ScheduledStationNameCodeSequence",vm:"1",version:"DICOM"},"(0040,4026)":{tag:"(0040,4026)",vr:"SQ",name:"ScheduledStationClassCodeSequence",vm:"1",version:"DICOM"},"(0040,4027)":{tag:"(0040,4027)",vr:"SQ",name:"ScheduledStationGeographicLocationCodeSequence",vm:"1",version:"DICOM"},"(0040,4028)":{tag:"(0040,4028)",vr:"SQ",name:"PerformedStationNameCodeSequence",vm:"1",version:"DICOM"},"(0040,4029)":{tag:"(0040,4029)",vr:"SQ",name:"PerformedStationClassCodeSequence",vm:"1",version:"DICOM"},"(0040,4030)":{tag:"(0040,4030)",vr:"SQ",name:"PerformedStationGeographicLocationCodeSequence",vm:"1",version:"DICOM"},"(0040,4033)":{tag:"(0040,4033)",vr:"SQ",name:"OutputInformationSequence",vm:"1",version:"DICOM"},"(0040,4034)":{tag:"(0040,4034)",vr:"SQ",name:"ScheduledHumanPerformersSequence",vm:"1",version:"DICOM"},"(0040,4035)":{tag:"(0040,4035)",vr:"SQ",name:"ActualHumanPerformersSequence",vm:"1",version:"DICOM"},"(0040,4036)":{tag:"(0040,4036)",vr:"LO",name:"HumanPerformerOrganization",vm:"1",version:"DICOM"},"(0040,4037)":{tag:"(0040,4037)",vr:"PN",name:"HumanPerformerName",vm:"1",version:"DICOM"},"(0040,4040)":{tag:"(0040,4040)",vr:"CS",name:"RawDataHandling",vm:"1",version:"DICOM"},"(0040,4041)":{tag:"(0040,4041)",vr:"CS",name:"InputReadinessState",vm:"1",version:"DICOM"},"(0040,4050)":{tag:"(0040,4050)",vr:"DT",name:"PerformedProcedureStepStartDateTime",vm:"1",version:"DICOM"},"(0040,4051)":{tag:"(0040,4051)",vr:"DT",name:"PerformedProcedureStepEndDateTime",vm:"1",version:"DICOM"},"(0040,4052)":{tag:"(0040,4052)",vr:"DT",name:"ProcedureStepCancellationDateTime",vm:"1",version:"DICOM"},"(0040,8302)":{tag:"(0040,8302)",vr:"DS",name:"EntranceDoseInmGy",vm:"1",version:"DICOM"},"(0040,8303)":{tag:"(0040,8303)",vr:"CS",name:"EntranceDoseDerivation",vm:"1",version:"DICOM"},"(0040,9092)":{tag:"(0040,9092)",vr:"SQ",name:"ParametricMapFrameTypeSequence",vm:"1",version:"DICOM"},"(0040,9094)":{tag:"(0040,9094)",vr:"SQ",name:"ReferencedImageRealWorldValueMappingSequence",vm:"1",version:"DICOM"},"(0040,9096)":{tag:"(0040,9096)",vr:"SQ",name:"RealWorldValueMappingSequence",vm:"1",version:"DICOM"},"(0040,9098)":{tag:"(0040,9098)",vr:"SQ",name:"PixelValueMappingCodeSequence",vm:"1",version:"DICOM"},"(0040,9210)":{tag:"(0040,9210)",vr:"SH",name:"LUTLabel",vm:"1",version:"DICOM"},"(0040,9211)":{tag:"(0040,9211)",vr:"xs",name:"RealWorldValueLastValueMapped",vm:"1",version:"DICOM"},"(0040,9212)":{tag:"(0040,9212)",vr:"FD",name:"RealWorldValueLUTData",vm:"1-n",version:"DICOM"},"(0040,9216)":{tag:"(0040,9216)",vr:"xs",name:"RealWorldValueFirstValueMapped",vm:"1",version:"DICOM"},"(0040,9220)":{tag:"(0040,9220)",vr:"SQ",name:"QuantityDefinitionSequence",vm:"1",version:"DICOM"},"(0040,9224)":{tag:"(0040,9224)",vr:"FD",name:"RealWorldValueIntercept",vm:"1",version:"DICOM"},"(0040,9225)":{tag:"(0040,9225)",vr:"FD",name:"RealWorldValueSlope",vm:"1",version:"DICOM"},"(0040,A010)":{tag:"(0040,A010)",vr:"CS",name:"RelationshipType",vm:"1",version:"DICOM"},"(0040,A027)":{tag:"(0040,A027)",vr:"LO",name:"VerifyingOrganization",vm:"1",version:"DICOM"},"(0040,A030)":{tag:"(0040,A030)",vr:"DT",name:"VerificationDateTime",vm:"1",version:"DICOM"},"(0040,A032)":{tag:"(0040,A032)",vr:"DT",name:"ObservationDateTime",vm:"1",version:"DICOM"},"(0040,A033)":{tag:"(0040,A033)",vr:"DT",name:"ObservationStartDateTime",vm:"1",version:"DICOM"},"(0040,A040)":{tag:"(0040,A040)",vr:"CS",name:"ValueType",vm:"1",version:"DICOM"},"(0040,A043)":{tag:"(0040,A043)",vr:"SQ",name:"ConceptNameCodeSequence",vm:"1",version:"DICOM"},"(0040,A050)":{tag:"(0040,A050)",vr:"CS",name:"ContinuityOfContent",vm:"1",version:"DICOM"},"(0040,A073)":{tag:"(0040,A073)",vr:"SQ",name:"VerifyingObserverSequence",vm:"1",version:"DICOM"},"(0040,A075)":{tag:"(0040,A075)",vr:"PN",name:"VerifyingObserverName",vm:"1",version:"DICOM"},"(0040,A078)":{tag:"(0040,A078)",vr:"SQ",name:"AuthorObserverSequence",vm:"1",version:"DICOM"},"(0040,A07A)":{tag:"(0040,A07A)",vr:"SQ",name:"ParticipantSequence",vm:"1",version:"DICOM"},"(0040,A07C)":{tag:"(0040,A07C)",vr:"SQ",name:"CustodialOrganizationSequence",vm:"1",version:"DICOM"},"(0040,A080)":{tag:"(0040,A080)",vr:"CS",name:"ParticipationType",vm:"1",version:"DICOM"},"(0040,A082)":{tag:"(0040,A082)",vr:"DT",name:"ParticipationDateTime",vm:"1",version:"DICOM"},"(0040,A084)":{tag:"(0040,A084)",vr:"CS",name:"ObserverType",vm:"1",version:"DICOM"},"(0040,A088)":{tag:"(0040,A088)",vr:"SQ",name:"VerifyingObserverIdentificationCodeSequence",vm:"1",version:"DICOM"},"(0040,A0B0)":{tag:"(0040,A0B0)",vr:"US",name:"ReferencedWaveformChannels",vm:"2-2n",version:"DICOM"},"(0040,A120)":{tag:"(0040,A120)",vr:"DT",name:"DateTime",vm:"1",version:"DICOM"},"(0040,A121)":{tag:"(0040,A121)",vr:"DA",name:"Date",vm:"1",version:"DICOM"},"(0040,A122)":{tag:"(0040,A122)",vr:"TM",name:"Time",vm:"1",version:"DICOM"},"(0040,A123)":{tag:"(0040,A123)",vr:"PN",name:"PersonName",vm:"1",version:"DICOM"},"(0040,A124)":{tag:"(0040,A124)",vr:"UI",name:"UID",vm:"1",version:"DICOM"},"(0040,A130)":{tag:"(0040,A130)",vr:"CS",name:"TemporalRangeType",vm:"1",version:"DICOM"},"(0040,A132)":{tag:"(0040,A132)",vr:"UL",name:"ReferencedSamplePositions",vm:"1-n",version:"DICOM"},"(0040,A136)":{tag:"(0040,A136)",vr:"US",name:"ReferencedFrameNumbers",vm:"1-n",version:"DICOM"},"(0040,A138)":{tag:"(0040,A138)",vr:"DS",name:"ReferencedTimeOffsets",vm:"1-n",version:"DICOM"},"(0040,A13A)":{tag:"(0040,A13A)",vr:"DT",name:"ReferencedDateTime",vm:"1-n",version:"DICOM"},"(0040,A160)":{tag:"(0040,A160)",vr:"UT",name:"TextValue",vm:"1",version:"DICOM"},"(0040,A161)":{tag:"(0040,A161)",vr:"FD",name:"FloatingPointValue",vm:"1-n",version:"DICOM"},"(0040,A162)":{tag:"(0040,A162)",vr:"SL",name:"RationalNumeratorValue",vm:"1-n",version:"DICOM"},"(0040,A163)":{tag:"(0040,A163)",vr:"UL",name:"RationalDenominatorValue",vm:"1-n",version:"DICOM"},"(0040,A168)":{tag:"(0040,A168)",vr:"SQ",name:"ConceptCodeSequence",vm:"1",version:"DICOM"},"(0040,A170)":{tag:"(0040,A170)",vr:"SQ",name:"PurposeOfReferenceCodeSequence",vm:"1",version:"DICOM"},"(0040,A171)":{tag:"(0040,A171)",vr:"UI",name:"ObservationUID",vm:"1",version:"DICOM"},"(0040,A180)":{tag:"(0040,A180)",vr:"US",name:"AnnotationGroupNumber",vm:"1",version:"DICOM"},"(0040,A195)":{tag:"(0040,A195)",vr:"SQ",name:"ModifierCodeSequence",vm:"1",version:"DICOM"},"(0040,A300)":{tag:"(0040,A300)",vr:"SQ",name:"MeasuredValueSequence",vm:"1",version:"DICOM"},"(0040,A301)":{tag:"(0040,A301)",vr:"SQ",name:"NumericValueQualifierCodeSequence",vm:"1",version:"DICOM"},"(0040,A30A)":{tag:"(0040,A30A)",vr:"DS",name:"NumericValue",vm:"1-n",version:"DICOM"},"(0040,A360)":{tag:"(0040,A360)",vr:"SQ",name:"PredecessorDocumentsSequence",vm:"1",version:"DICOM"},"(0040,A370)":{tag:"(0040,A370)",vr:"SQ",name:"ReferencedRequestSequence",vm:"1",version:"DICOM"},"(0040,A372)":{tag:"(0040,A372)",vr:"SQ",name:"PerformedProcedureCodeSequence",vm:"1",version:"DICOM"},"(0040,A375)":{tag:"(0040,A375)",vr:"SQ",name:"CurrentRequestedProcedureEvidenceSequence",vm:"1",version:"DICOM"},"(0040,A385)":{tag:"(0040,A385)",vr:"SQ",name:"PertinentOtherEvidenceSequence",vm:"1",version:"DICOM"},"(0040,A390)":{tag:"(0040,A390)",vr:"SQ",name:"HL7StructuredDocumentReferenceSequence",vm:"1",version:"DICOM"},"(0040,A491)":{tag:"(0040,A491)",vr:"CS",name:"CompletionFlag",vm:"1",version:"DICOM"},"(0040,A492)":{tag:"(0040,A492)",vr:"LO",name:"CompletionFlagDescription",vm:"1",version:"DICOM"},"(0040,A493)":{tag:"(0040,A493)",vr:"CS",name:"VerificationFlag",vm:"1",version:"DICOM"},"(0040,A494)":{tag:"(0040,A494)",vr:"CS",name:"ArchiveRequested",vm:"1",version:"DICOM"},"(0040,A496)":{tag:"(0040,A496)",vr:"CS",name:"PreliminaryFlag",vm:"1",version:"DICOM"},"(0040,A504)":{tag:"(0040,A504)",vr:"SQ",name:"ContentTemplateSequence",vm:"1",version:"DICOM"},"(0040,A525)":{tag:"(0040,A525)",vr:"SQ",name:"IdenticalDocumentsSequence",vm:"1",version:"DICOM"},"(0040,A730)":{tag:"(0040,A730)",vr:"SQ",name:"ContentSequence",vm:"1",version:"DICOM"},"(0040,A801)":{tag:"(0040,A801)",vr:"SQ",name:"TabulatedValuesSequence",vm:"1",version:"DICOM"},"(0040,A802)":{tag:"(0040,A802)",vr:"UL",name:"NumberOfTableRows",vm:"1",version:"DICOM"},"(0040,A803)":{tag:"(0040,A803)",vr:"UL",name:"NumbeOfTableColumns",vm:"1",version:"DICOM"},"(0040,A804)":{tag:"(0040,A804)",vr:"UL",name:"TableRowNumber",vm:"1",version:"DICOM"},"(0040,A805)":{tag:"(0040,A805)",vr:"UL",name:"TableColumnNumber",vm:"1",version:"DICOM"},"(0040,A806)":{tag:"(0040,A806)",vr:"SQ",name:"TableRowDefinitionSequence",vm:"1",version:"DICOM"},"(0040,A807)":{tag:"(0040,A807)",vr:"SQ",name:"TableColumnDefinitionSequence",vm:"1",version:"DICOM"},"(0040,A808)":{tag:"(0040,A808)",vr:"SQ",name:"CellValuesSequence",vm:"1",version:"DICOM"},"(0040,B020)":{tag:"(0040,B020)",vr:"SQ",name:"WaveformAnnotationSequence",vm:"1",version:"DICOM"},"(0040,DB00)":{tag:"(0040,DB00)",vr:"CS",name:"TemplateIdentifier",vm:"1",version:"DICOM"},"(0040,DB73)":{tag:"(0040,DB73)",vr:"UL",name:"ReferencedContentItemIdentifier",vm:"1-n",version:"DICOM"},"(0040,E001)":{tag:"(0040,E001)",vr:"ST",name:"HL7InstanceIdentifier",vm:"1",version:"DICOM"},"(0040,E004)":{tag:"(0040,E004)",vr:"DT",name:"HL7DocumentEffectiveTime",vm:"1",version:"DICOM"},"(0040,E006)":{tag:"(0040,E006)",vr:"SQ",name:"HL7DocumentTypeCodeSequence",vm:"1",version:"DICOM"},"(0040,E008)":{tag:"(0040,E008)",vr:"SQ",name:"DocumentClassCodeSequence",vm:"1",version:"DICOM"},"(0040,E010)":{tag:"(0040,E010)",vr:"UR",name:"RetrieveURI",vm:"1",version:"DICOM"},"(0040,E011)":{tag:"(0040,E011)",vr:"UI",name:"RetrieveLocationUID",vm:"1",version:"DICOM"},"(0040,E020)":{tag:"(0040,E020)",vr:"CS",name:"TypeOfInstances",vm:"1",version:"DICOM"},"(0040,E021)":{tag:"(0040,E021)",vr:"SQ",name:"DICOMRetrievalSequence",vm:"1",version:"DICOM"},"(0040,E022)":{tag:"(0040,E022)",vr:"SQ",name:"DICOMMediaRetrievalSequence",vm:"1",version:"DICOM"},"(0040,E023)":{tag:"(0040,E023)",vr:"SQ",name:"WADORetrievalSequence",vm:"1",version:"DICOM"},"(0040,E024)":{tag:"(0040,E024)",vr:"SQ",name:"XDSRetrievalSequence",vm:"1",version:"DICOM"},"(0040,E025)":{tag:"(0040,E025)",vr:"SQ",name:"WADORSRetrievalSequence",vm:"1",version:"DICOM"},"(0040,E030)":{tag:"(0040,E030)",vr:"UI",name:"RepositoryUniqueID",vm:"1",version:"DICOM"},"(0040,E031)":{tag:"(0040,E031)",vr:"UI",name:"HomeCommunityID",vm:"1",version:"DICOM"},"(0042,0010)":{tag:"(0042,0010)",vr:"ST",name:"DocumentTitle",vm:"1",version:"DICOM"},"(0042,0011)":{tag:"(0042,0011)",vr:"OB",name:"EncapsulatedDocument",vm:"1",version:"DICOM"},"(0042,0012)":{tag:"(0042,0012)",vr:"LO",name:"MIMETypeOfEncapsulatedDocument",vm:"1",version:"DICOM"},"(0042,0013)":{tag:"(0042,0013)",vr:"SQ",name:"SourceInstanceSequence",vm:"1",version:"DICOM"},"(0042,0014)":{tag:"(0042,0014)",vr:"LO",name:"ListOfMIMETypes",vm:"1-n",version:"DICOM"},"(0042,0015)":{tag:"(0042,0015)",vr:"UL",name:"EncapsulatedDocumentLength",vm:"1",version:"DICOM"},"(0044,0001)":{tag:"(0044,0001)",vr:"ST",name:"ProductPackageIdentifier",vm:"1",version:"DICOM"},"(0044,0002)":{tag:"(0044,0002)",vr:"CS",name:"SubstanceAdministrationApproval",vm:"1",version:"DICOM"},"(0044,0003)":{tag:"(0044,0003)",vr:"LT",name:"ApprovalStatusFurtherDescription",vm:"1",version:"DICOM"},"(0044,0004)":{tag:"(0044,0004)",vr:"DT",name:"ApprovalStatusDateTime",vm:"1",version:"DICOM"},"(0044,0007)":{tag:"(0044,0007)",vr:"SQ",name:"ProductTypeCodeSequence",vm:"1",version:"DICOM"},"(0044,0008)":{tag:"(0044,0008)",vr:"LO",name:"ProductName",vm:"1-n",version:"DICOM"},"(0044,0009)":{tag:"(0044,0009)",vr:"LT",name:"ProductDescription",vm:"1",version:"DICOM"},"(0044,000A)":{tag:"(0044,000A)",vr:"LO",name:"ProductLotIdentifier",vm:"1",version:"DICOM"},"(0044,000B)":{tag:"(0044,000B)",vr:"DT",name:"ProductExpirationDateTime",vm:"1",version:"DICOM"},"(0044,0010)":{tag:"(0044,0010)",vr:"DT",name:"SubstanceAdministrationDateTime",vm:"1",version:"DICOM"},"(0044,0011)":{tag:"(0044,0011)",vr:"LO",name:"SubstanceAdministrationNotes",vm:"1",version:"DICOM"},"(0044,0012)":{tag:"(0044,0012)",vr:"LO",name:"SubstanceAdministrationDeviceID",vm:"1",version:"DICOM"},"(0044,0013)":{tag:"(0044,0013)",vr:"SQ",name:"ProductParameterSequence",vm:"1",version:"DICOM"},"(0044,0019)":{tag:"(0044,0019)",vr:"SQ",name:"SubstanceAdministrationParameterSequence",vm:"1",version:"DICOM"},"(0044,0100)":{tag:"(0044,0100)",vr:"SQ",name:"ApprovalSequence",vm:"1",version:"DICOM"},"(0044,0101)":{tag:"(0044,0101)",vr:"SQ",name:"AssertionCodeSequence",vm:"1",version:"DICOM"},"(0044,0102)":{tag:"(0044,0102)",vr:"UI",name:"AssertionUID",vm:"1",version:"DICOM"},"(0044,0103)":{tag:"(0044,0103)",vr:"SQ",name:"AsserterIdentificationSequence",vm:"1",version:"DICOM"},"(0044,0104)":{tag:"(0044,0104)",vr:"DT",name:"AssertionDateTime",vm:"1",version:"DICOM"},"(0044,0105)":{tag:"(0044,0105)",vr:"DT",name:"AssertionExpirationDateTime",vm:"1",version:"DICOM"},"(0044,0106)":{tag:"(0044,0106)",vr:"UT",name:"AssertionComments",vm:"1",version:"DICOM"},"(0044,0107)":{tag:"(0044,0107)",vr:"SQ",name:"RelatedAssertionSequence",vm:"1",version:"DICOM"},"(0044,0108)":{tag:"(0044,0108)",vr:"UI",name:"ReferencedAssertionUID",vm:"1",version:"DICOM"},"(0044,0109)":{tag:"(0044,0109)",vr:"SQ",name:"ApprovalSubjectSequence",vm:"1",version:"DICOM"},"(0044,010A)":{tag:"(0044,010A)",vr:"SQ",name:"OrganizationalRoleCodeSequence",vm:"1",version:"DICOM"},"(0046,0012)":{tag:"(0046,0012)",vr:"LO",name:"LensDescription",vm:"1",version:"DICOM"},"(0046,0014)":{tag:"(0046,0014)",vr:"SQ",name:"RightLensSequence",vm:"1",version:"DICOM"},"(0046,0015)":{tag:"(0046,0015)",vr:"SQ",name:"LeftLensSequence",vm:"1",version:"DICOM"},"(0046,0016)":{tag:"(0046,0016)",vr:"SQ",name:"UnspecifiedLateralityLensSequence",vm:"1",version:"DICOM"},"(0046,0018)":{tag:"(0046,0018)",vr:"SQ",name:"CylinderSequence",vm:"1",version:"DICOM"},"(0046,0028)":{tag:"(0046,0028)",vr:"SQ",name:"PrismSequence",vm:"1",version:"DICOM"},"(0046,0030)":{tag:"(0046,0030)",vr:"FD",name:"HorizontalPrismPower",vm:"1",version:"DICOM"},"(0046,0032)":{tag:"(0046,0032)",vr:"CS",name:"HorizontalPrismBase",vm:"1",version:"DICOM"},"(0046,0034)":{tag:"(0046,0034)",vr:"FD",name:"VerticalPrismPower",vm:"1",version:"DICOM"},"(0046,0036)":{tag:"(0046,0036)",vr:"CS",name:"VerticalPrismBase",vm:"1",version:"DICOM"},"(0046,0038)":{tag:"(0046,0038)",vr:"CS",name:"LensSegmentType",vm:"1",version:"DICOM"},"(0046,0040)":{tag:"(0046,0040)",vr:"FD",name:"OpticalTransmittance",vm:"1",version:"DICOM"},"(0046,0042)":{tag:"(0046,0042)",vr:"FD",name:"ChannelWidth",vm:"1",version:"DICOM"},"(0046,0044)":{tag:"(0046,0044)",vr:"FD",name:"PupilSize",vm:"1",version:"DICOM"},"(0046,0046)":{tag:"(0046,0046)",vr:"FD",name:"CornealSize",vm:"1",version:"DICOM"},"(0046,0047)":{tag:"(0046,0047)",vr:"SQ",name:"CornealSizeSequence",vm:"1",version:"DICOM"},"(0046,0050)":{tag:"(0046,0050)",vr:"SQ",name:"AutorefractionRightEyeSequence",vm:"1",version:"DICOM"},"(0046,0052)":{tag:"(0046,0052)",vr:"SQ",name:"AutorefractionLeftEyeSequence",vm:"1",version:"DICOM"},"(0046,0060)":{tag:"(0046,0060)",vr:"FD",name:"DistancePupillaryDistance",vm:"1",version:"DICOM"},"(0046,0062)":{tag:"(0046,0062)",vr:"FD",name:"NearPupillaryDistance",vm:"1",version:"DICOM"},"(0046,0063)":{tag:"(0046,0063)",vr:"FD",name:"IntermediatePupillaryDistance",vm:"1",version:"DICOM"},"(0046,0064)":{tag:"(0046,0064)",vr:"FD",name:"OtherPupillaryDistance",vm:"1",version:"DICOM"},"(0046,0070)":{tag:"(0046,0070)",vr:"SQ",name:"KeratometryRightEyeSequence",vm:"1",version:"DICOM"},"(0046,0071)":{tag:"(0046,0071)",vr:"SQ",name:"KeratometryLeftEyeSequence",vm:"1",version:"DICOM"},"(0046,0074)":{tag:"(0046,0074)",vr:"SQ",name:"SteepKeratometricAxisSequence",vm:"1",version:"DICOM"},"(0046,0075)":{tag:"(0046,0075)",vr:"FD",name:"RadiusOfCurvature",vm:"1",version:"DICOM"},"(0046,0076)":{tag:"(0046,0076)",vr:"FD",name:"KeratometricPower",vm:"1",version:"DICOM"},"(0046,0077)":{tag:"(0046,0077)",vr:"FD",name:"KeratometricAxis",vm:"1",version:"DICOM"},"(0046,0080)":{tag:"(0046,0080)",vr:"SQ",name:"FlatKeratometricAxisSequence",vm:"1",version:"DICOM"},"(0046,0092)":{tag:"(0046,0092)",vr:"CS",name:"BackgroundColor",vm:"1",version:"DICOM"},"(0046,0094)":{tag:"(0046,0094)",vr:"CS",name:"Optotype",vm:"1",version:"DICOM"},"(0046,0095)":{tag:"(0046,0095)",vr:"CS",name:"OptotypePresentation",vm:"1",version:"DICOM"},"(0046,0097)":{tag:"(0046,0097)",vr:"SQ",name:"SubjectiveRefractionRightEyeSequence",vm:"1",version:"DICOM"},"(0046,0098)":{tag:"(0046,0098)",vr:"SQ",name:"SubjectiveRefractionLeftEyeSequence",vm:"1",version:"DICOM"},"(0046,0100)":{tag:"(0046,0100)",vr:"SQ",name:"AddNearSequence",vm:"1",version:"DICOM"},"(0046,0101)":{tag:"(0046,0101)",vr:"SQ",name:"AddIntermediateSequence",vm:"1",version:"DICOM"},"(0046,0102)":{tag:"(0046,0102)",vr:"SQ",name:"AddOtherSequence",vm:"1",version:"DICOM"},"(0046,0104)":{tag:"(0046,0104)",vr:"FD",name:"AddPower",vm:"1",version:"DICOM"},"(0046,0106)":{tag:"(0046,0106)",vr:"FD",name:"ViewingDistance",vm:"1",version:"DICOM"},"(0046,0110)":{tag:"(0046,0110)",vr:"SQ",name:"CorneaMeasurementsSequence",vm:"1",version:"DICOM"},"(0046,0111)":{tag:"(0046,0111)",vr:"SQ",name:"SourceOfCorneaMeasurementDataCodeSequence",vm:"1",version:"DICOM"},"(0046,0112)":{tag:"(0046,0112)",vr:"SQ",name:"SteepCornealAxisSequence",vm:"1",version:"DICOM"},"(0046,0113)":{tag:"(0046,0113)",vr:"SQ",name:"FlatCornealAxisSequence",vm:"1",version:"DICOM"},"(0046,0114)":{tag:"(0046,0114)",vr:"FD",name:"CornealPower",vm:"1",version:"DICOM"},"(0046,0115)":{tag:"(0046,0115)",vr:"FD",name:"CornealAxis",vm:"1",version:"DICOM"},"(0046,0116)":{tag:"(0046,0116)",vr:"SQ",name:"CorneaMeasurementMethodCodeSequence",vm:"1",version:"DICOM"},"(0046,0117)":{tag:"(0046,0117)",vr:"FL",name:"RefractiveIndexOfCornea",vm:"1",version:"DICOM"},"(0046,0118)":{tag:"(0046,0118)",vr:"FL",name:"RefractiveIndexOfAqueousHumor",vm:"1",version:"DICOM"},"(0046,0121)":{tag:"(0046,0121)",vr:"SQ",name:"VisualAcuityTypeCodeSequence",vm:"1",version:"DICOM"},"(0046,0122)":{tag:"(0046,0122)",vr:"SQ",name:"VisualAcuityRightEyeSequence",vm:"1",version:"DICOM"},"(0046,0123)":{tag:"(0046,0123)",vr:"SQ",name:"VisualAcuityLeftEyeSequence",vm:"1",version:"DICOM"},"(0046,0124)":{tag:"(0046,0124)",vr:"SQ",name:"VisualAcuityBothEyesOpenSequence",vm:"1",version:"DICOM"},"(0046,0125)":{tag:"(0046,0125)",vr:"CS",name:"ViewingDistanceType",vm:"1",version:"DICOM"},"(0046,0135)":{tag:"(0046,0135)",vr:"SS",name:"VisualAcuityModifiers",vm:"2",version:"DICOM"},"(0046,0137)":{tag:"(0046,0137)",vr:"FD",name:"DecimalVisualAcuity",vm:"1",version:"DICOM"},"(0046,0139)":{tag:"(0046,0139)",vr:"LO",name:"OptotypeDetailedDefinition",vm:"1",version:"DICOM"},"(0046,0145)":{tag:"(0046,0145)",vr:"SQ",name:"ReferencedRefractiveMeasurementsSequence",vm:"1",version:"DICOM"},"(0046,0146)":{tag:"(0046,0146)",vr:"FD",name:"SpherePower",vm:"1",version:"DICOM"},"(0046,0147)":{tag:"(0046,0147)",vr:"FD",name:"CylinderPower",vm:"1",version:"DICOM"},"(0046,0201)":{tag:"(0046,0201)",vr:"CS",name:"CornealTopographySurface",vm:"1",version:"DICOM"},"(0046,0202)":{tag:"(0046,0202)",vr:"FL",name:"CornealVertexLocation",vm:"2",version:"DICOM"},"(0046,0203)":{tag:"(0046,0203)",vr:"FL",name:"PupilCentroidXCoordinate",vm:"1",version:"DICOM"},"(0046,0204)":{tag:"(0046,0204)",vr:"FL",name:"PupilCentroidYCoordinate",vm:"1",version:"DICOM"},"(0046,0205)":{tag:"(0046,0205)",vr:"FL",name:"EquivalentPupilRadius",vm:"1",version:"DICOM"},"(0046,0207)":{tag:"(0046,0207)",vr:"SQ",name:"CornealTopographyMapTypeCodeSequence",vm:"1",version:"DICOM"},"(0046,0208)":{tag:"(0046,0208)",vr:"IS",name:"VerticesOfTheOutlineOfPupil",vm:"2-2n",version:"DICOM"},"(0046,0210)":{tag:"(0046,0210)",vr:"SQ",name:"CornealTopographyMappingNormalsSequence",vm:"1",version:"DICOM"},"(0046,0211)":{tag:"(0046,0211)",vr:"SQ",name:"MaximumCornealCurvatureSequence",vm:"1",version:"DICOM"},"(0046,0212)":{tag:"(0046,0212)",vr:"FL",name:"MaximumCornealCurvature",vm:"1",version:"DICOM"},"(0046,0213)":{tag:"(0046,0213)",vr:"FL",name:"MaximumCornealCurvatureLocation",vm:"2",version:"DICOM"},"(0046,0215)":{tag:"(0046,0215)",vr:"SQ",name:"MinimumKeratometricSequence",vm:"1",version:"DICOM"},"(0046,0218)":{tag:"(0046,0218)",vr:"SQ",name:"SimulatedKeratometricCylinderSequence",vm:"1",version:"DICOM"},"(0046,0220)":{tag:"(0046,0220)",vr:"FL",name:"AverageCornealPower",vm:"1",version:"DICOM"},"(0046,0224)":{tag:"(0046,0224)",vr:"FL",name:"CornealISValue",vm:"1",version:"DICOM"},"(0046,0227)":{tag:"(0046,0227)",vr:"FL",name:"AnalyzedArea",vm:"1",version:"DICOM"},"(0046,0230)":{tag:"(0046,0230)",vr:"FL",name:"SurfaceRegularityIndex",vm:"1",version:"DICOM"},"(0046,0232)":{tag:"(0046,0232)",vr:"FL",name:"SurfaceAsymmetryIndex",vm:"1",version:"DICOM"},"(0046,0234)":{tag:"(0046,0234)",vr:"FL",name:"CornealEccentricityIndex",vm:"1",version:"DICOM"},"(0046,0236)":{tag:"(0046,0236)",vr:"FL",name:"KeratoconusPredictionIndex",vm:"1",version:"DICOM"},"(0046,0238)":{tag:"(0046,0238)",vr:"FL",name:"DecimalPotentialVisualAcuity",vm:"1",version:"DICOM"},"(0046,0242)":{tag:"(0046,0242)",vr:"CS",name:"CornealTopographyMapQualityEvaluation",vm:"1",version:"DICOM"},"(0046,0244)":{tag:"(0046,0244)",vr:"SQ",name:"SourceImageCornealProcessedDataSequence",vm:"1",version:"DICOM"},"(0046,0247)":{tag:"(0046,0247)",vr:"FL",name:"CornealPointLocation",vm:"3",version:"DICOM"},"(0046,0248)":{tag:"(0046,0248)",vr:"CS",name:"CornealPointEstimated",vm:"1",version:"DICOM"},"(0046,0249)":{tag:"(0046,0249)",vr:"FL",name:"AxialPower",vm:"1",version:"DICOM"},"(0046,0250)":{tag:"(0046,0250)",vr:"FL",name:"TangentialPower",vm:"1",version:"DICOM"},"(0046,0251)":{tag:"(0046,0251)",vr:"FL",name:"RefractivePower",vm:"1",version:"DICOM"},"(0046,0252)":{tag:"(0046,0252)",vr:"FL",name:"RelativeElevation",vm:"1",version:"DICOM"},"(0046,0253)":{tag:"(0046,0253)",vr:"FL",name:"CornealWavefront",vm:"1",version:"DICOM"},"(0048,0001)":{tag:"(0048,0001)",vr:"FL",name:"ImagedVolumeWidth",vm:"1",version:"DICOM"},"(0048,0002)":{tag:"(0048,0002)",vr:"FL",name:"ImagedVolumeHeight",vm:"1",version:"DICOM"},"(0048,0003)":{tag:"(0048,0003)",vr:"FL",name:"ImagedVolumeDepth",vm:"1",version:"DICOM"},"(0048,0006)":{tag:"(0048,0006)",vr:"UL",name:"TotalPixelMatrixColumns",vm:"1",version:"DICOM"},"(0048,0007)":{tag:"(0048,0007)",vr:"UL",name:"TotalPixelMatrixRows",vm:"1",version:"DICOM"},"(0048,0008)":{tag:"(0048,0008)",vr:"SQ",name:"TotalPixelMatrixOriginSequence",vm:"1",version:"DICOM"},"(0048,0010)":{tag:"(0048,0010)",vr:"CS",name:"SpecimenLabelInImage",vm:"1",version:"DICOM"},"(0048,0011)":{tag:"(0048,0011)",vr:"CS",name:"FocusMethod",vm:"1",version:"DICOM"},"(0048,0012)":{tag:"(0048,0012)",vr:"CS",name:"ExtendedDepthOfField",vm:"1",version:"DICOM"},"(0048,0013)":{tag:"(0048,0013)",vr:"US",name:"NumberOfFocalPlanes",vm:"1",version:"DICOM"},"(0048,0014)":{tag:"(0048,0014)",vr:"FL",name:"DistanceBetweenFocalPlanes",vm:"1",version:"DICOM"},"(0048,0015)":{tag:"(0048,0015)",vr:"US",name:"RecommendedAbsentPixelCIELabValue",vm:"3",version:"DICOM"},"(0048,0100)":{tag:"(0048,0100)",vr:"SQ",name:"IlluminatorTypeCodeSequence",vm:"1",version:"DICOM"},"(0048,0102)":{tag:"(0048,0102)",vr:"DS",name:"ImageOrientationSlide",vm:"6",version:"DICOM"},"(0048,0105)":{tag:"(0048,0105)",vr:"SQ",name:"OpticalPathSequence",vm:"1",version:"DICOM"},"(0048,0106)":{tag:"(0048,0106)",vr:"SH",name:"OpticalPathIdentifier",vm:"1",version:"DICOM"},"(0048,0107)":{tag:"(0048,0107)",vr:"ST",name:"OpticalPathDescription",vm:"1",version:"DICOM"},"(0048,0108)":{tag:"(0048,0108)",vr:"SQ",name:"IlluminationColorCodeSequence",vm:"1",version:"DICOM"},"(0048,0110)":{tag:"(0048,0110)",vr:"SQ",name:"SpecimenReferenceSequence",vm:"1",version:"DICOM"},"(0048,0111)":{tag:"(0048,0111)",vr:"DS",name:"CondenserLensPower",vm:"1",version:"DICOM"},"(0048,0112)":{tag:"(0048,0112)",vr:"DS",name:"ObjectiveLensPower",vm:"1",version:"DICOM"},"(0048,0113)":{tag:"(0048,0113)",vr:"DS",name:"ObjectiveLensNumericalAperture",vm:"1",version:"DICOM"},"(0048,0120)":{tag:"(0048,0120)",vr:"SQ",name:"PaletteColorLookupTableSequence",vm:"1",version:"DICOM"},"(0048,0200)":{tag:"(0048,0200)",vr:"SQ",name:"ReferencedImageNavigationSequence",vm:"1",version:"DICOM"},"(0048,0201)":{tag:"(0048,0201)",vr:"US",name:"TopLeftHandCornerOfLocalizerArea",vm:"2",version:"DICOM"},"(0048,0202)":{tag:"(0048,0202)",vr:"US",name:"BottomRightHandCornerOfLocalizerArea",vm:"2",version:"DICOM"},"(0048,0207)":{tag:"(0048,0207)",vr:"SQ",name:"OpticalPathIdentificationSequence",vm:"1",version:"DICOM"},"(0048,021A)":{tag:"(0048,021A)",vr:"SQ",name:"PlanePositionSlideSequence",vm:"1",version:"DICOM"},"(0048,021E)":{tag:"(0048,021E)",vr:"SL",name:"ColumnPositionInTotalImagePixelMatrix",vm:"1",version:"DICOM"},"(0048,021F)":{tag:"(0048,021F)",vr:"SL",name:"RowPositionInTotalImagePixelMatrix",vm:"1",version:"DICOM"},"(0048,0301)":{tag:"(0048,0301)",vr:"CS",name:"PixelOriginInterpretation",vm:"1",version:"DICOM"},"(0048,0302)":{tag:"(0048,0302)",vr:"UL",name:"NumberOfOpticalPaths",vm:"1",version:"DICOM"},"(0048,0303)":{tag:"(0048,0303)",vr:"UL",name:"TotalPixelMatrixFocalPlanes",vm:"1",version:"DICOM"},"(0050,0004)":{tag:"(0050,0004)",vr:"CS",name:"CalibrationImage",vm:"1",version:"DICOM"},"(0050,0010)":{tag:"(0050,0010)",vr:"SQ",name:"DeviceSequence",vm:"1",version:"DICOM"},"(0050,0012)":{tag:"(0050,0012)",vr:"SQ",name:"ContainerComponentTypeCodeSequence",vm:"1",version:"DICOM"},"(0050,0013)":{tag:"(0050,0013)",vr:"FD",name:"ContainerComponentThickness",vm:"1",version:"DICOM"},"(0050,0014)":{tag:"(0050,0014)",vr:"DS",name:"DeviceLength",vm:"1",version:"DICOM"},"(0050,0015)":{tag:"(0050,0015)",vr:"FD",name:"ContainerComponentWidth",vm:"1",version:"DICOM"},"(0050,0016)":{tag:"(0050,0016)",vr:"DS",name:"DeviceDiameter",vm:"1",version:"DICOM"},"(0050,0017)":{tag:"(0050,0017)",vr:"CS",name:"DeviceDiameterUnits",vm:"1",version:"DICOM"},"(0050,0018)":{tag:"(0050,0018)",vr:"DS",name:"DeviceVolume",vm:"1",version:"DICOM"},"(0050,0019)":{tag:"(0050,0019)",vr:"DS",name:"InterMarkerDistance",vm:"1",version:"DICOM"},"(0050,001A)":{tag:"(0050,001A)",vr:"CS",name:"ContainerComponentMaterial",vm:"1",version:"DICOM"},"(0050,001B)":{tag:"(0050,001B)",vr:"LO",name:"ContainerComponentID",vm:"1",version:"DICOM"},"(0050,001C)":{tag:"(0050,001C)",vr:"FD",name:"ContainerComponentLength",vm:"1",version:"DICOM"},"(0050,001D)":{tag:"(0050,001D)",vr:"FD",name:"ContainerComponentDiameter",vm:"1",version:"DICOM"},"(0050,001E)":{tag:"(0050,001E)",vr:"LO",name:"ContainerComponentDescription",vm:"1",version:"DICOM"},"(0050,0020)":{tag:"(0050,0020)",vr:"LO",name:"DeviceDescription",vm:"1",version:"DICOM"},"(0050,0021)":{tag:"(0050,0021)",vr:"ST",name:"LongDeviceDescription",vm:"1",version:"DICOM"},"(0052,0001)":{tag:"(0052,0001)",vr:"FL",name:"ContrastBolusIngredientPercentByVolume",vm:"1",version:"DICOM"},"(0052,0002)":{tag:"(0052,0002)",vr:"FD",name:"OCTFocalDistance",vm:"1",version:"DICOM"},"(0052,0003)":{tag:"(0052,0003)",vr:"FD",name:"BeamSpotSize",vm:"1",version:"DICOM"},"(0052,0004)":{tag:"(0052,0004)",vr:"FD",name:"EffectiveRefractiveIndex",vm:"1",version:"DICOM"},"(0052,0006)":{tag:"(0052,0006)",vr:"CS",name:"OCTAcquisitionDomain",vm:"1",version:"DICOM"},"(0052,0007)":{tag:"(0052,0007)",vr:"FD",name:"OCTOpticalCenterWavelength",vm:"1",version:"DICOM"},"(0052,0008)":{tag:"(0052,0008)",vr:"FD",name:"AxialResolution",vm:"1",version:"DICOM"},"(0052,0009)":{tag:"(0052,0009)",vr:"FD",name:"RangingDepth",vm:"1",version:"DICOM"},"(0052,0011)":{tag:"(0052,0011)",vr:"FD",name:"ALineRate",vm:"1",version:"DICOM"},"(0052,0012)":{tag:"(0052,0012)",vr:"US",name:"ALinesPerFrame",vm:"1",version:"DICOM"},"(0052,0013)":{tag:"(0052,0013)",vr:"FD",name:"CatheterRotationalRate",vm:"1",version:"DICOM"},"(0052,0014)":{tag:"(0052,0014)",vr:"FD",name:"ALinePixelSpacing",vm:"1",version:"DICOM"},"(0052,0016)":{tag:"(0052,0016)",vr:"SQ",name:"ModeOfPercutaneousAccessSequence",vm:"1",version:"DICOM"},"(0052,0025)":{tag:"(0052,0025)",vr:"SQ",name:"IntravascularOCTFrameTypeSequence",vm:"1",version:"DICOM"},"(0052,0026)":{tag:"(0052,0026)",vr:"CS",name:"OCTZOffsetApplied",vm:"1",version:"DICOM"},"(0052,0027)":{tag:"(0052,0027)",vr:"SQ",name:"IntravascularFrameContentSequence",vm:"1",version:"DICOM"},"(0052,0028)":{tag:"(0052,0028)",vr:"FD",name:"IntravascularLongitudinalDistance",vm:"1",version:"DICOM"},"(0052,0029)":{tag:"(0052,0029)",vr:"SQ",name:"IntravascularOCTFrameContentSequence",vm:"1",version:"DICOM"},"(0052,0030)":{tag:"(0052,0030)",vr:"SS",name:"OCTZOffsetCorrection",vm:"1",version:"DICOM"},"(0052,0031)":{tag:"(0052,0031)",vr:"CS",name:"CatheterDirectionOfRotation",vm:"1",version:"DICOM"},"(0052,0033)":{tag:"(0052,0033)",vr:"FD",name:"SeamLineLocation",vm:"1",version:"DICOM"},"(0052,0034)":{tag:"(0052,0034)",vr:"FD",name:"FirstALineLocation",vm:"1",version:"DICOM"},"(0052,0036)":{tag:"(0052,0036)",vr:"US",name:"SeamLineIndex",vm:"1",version:"DICOM"},"(0052,0038)":{tag:"(0052,0038)",vr:"US",name:"NumberOfPaddedALines",vm:"1",version:"DICOM"},"(0052,0039)":{tag:"(0052,0039)",vr:"CS",name:"InterpolationType",vm:"1",version:"DICOM"},"(0052,003A)":{tag:"(0052,003A)",vr:"CS",name:"RefractiveIndexApplied",vm:"1",version:"DICOM"},"(0054,0010)":{tag:"(0054,0010)",vr:"US",name:"EnergyWindowVector",vm:"1-n",version:"DICOM"},"(0054,0011)":{tag:"(0054,0011)",vr:"US",name:"NumberOfEnergyWindows",vm:"1",version:"DICOM"},"(0054,0012)":{tag:"(0054,0012)",vr:"SQ",name:"EnergyWindowInformationSequence",vm:"1",version:"DICOM"},"(0054,0013)":{tag:"(0054,0013)",vr:"SQ",name:"EnergyWindowRangeSequence",vm:"1",version:"DICOM"},"(0054,0014)":{tag:"(0054,0014)",vr:"DS",name:"EnergyWindowLowerLimit",vm:"1",version:"DICOM"},"(0054,0015)":{tag:"(0054,0015)",vr:"DS",name:"EnergyWindowUpperLimit",vm:"1",version:"DICOM"},"(0054,0016)":{tag:"(0054,0016)",vr:"SQ",name:"RadiopharmaceuticalInformationSequence",vm:"1",version:"DICOM"},"(0054,0017)":{tag:"(0054,0017)",vr:"IS",name:"ResidualSyringeCounts",vm:"1",version:"DICOM"},"(0054,0018)":{tag:"(0054,0018)",vr:"SH",name:"EnergyWindowName",vm:"1",version:"DICOM"},"(0054,0020)":{tag:"(0054,0020)",vr:"US",name:"DetectorVector",vm:"1-n",version:"DICOM"},"(0054,0021)":{tag:"(0054,0021)",vr:"US",name:"NumberOfDetectors",vm:"1",version:"DICOM"},"(0054,0022)":{tag:"(0054,0022)",vr:"SQ",name:"DetectorInformationSequence",vm:"1",version:"DICOM"},"(0054,0030)":{tag:"(0054,0030)",vr:"US",name:"PhaseVector",vm:"1-n",version:"DICOM"},"(0054,0031)":{tag:"(0054,0031)",vr:"US",name:"NumberOfPhases",vm:"1",version:"DICOM"},"(0054,0032)":{tag:"(0054,0032)",vr:"SQ",name:"PhaseInformationSequence",vm:"1",version:"DICOM"},"(0054,0033)":{tag:"(0054,0033)",vr:"US",name:"NumberOfFramesInPhase",vm:"1",version:"DICOM"},"(0054,0036)":{tag:"(0054,0036)",vr:"IS",name:"PhaseDelay",vm:"1",version:"DICOM"},"(0054,0038)":{tag:"(0054,0038)",vr:"IS",name:"PauseBetweenFrames",vm:"1",version:"DICOM"},"(0054,0039)":{tag:"(0054,0039)",vr:"CS",name:"PhaseDescription",vm:"1",version:"DICOM"},"(0054,0050)":{tag:"(0054,0050)",vr:"US",name:"RotationVector",vm:"1-n",version:"DICOM"},"(0054,0051)":{tag:"(0054,0051)",vr:"US",name:"NumberOfRotations",vm:"1",version:"DICOM"},"(0054,0052)":{tag:"(0054,0052)",vr:"SQ",name:"RotationInformationSequence",vm:"1",version:"DICOM"},"(0054,0053)":{tag:"(0054,0053)",vr:"US",name:"NumberOfFramesInRotation",vm:"1",version:"DICOM"},"(0054,0060)":{tag:"(0054,0060)",vr:"US",name:"RRIntervalVector",vm:"1-n",version:"DICOM"},"(0054,0061)":{tag:"(0054,0061)",vr:"US",name:"NumberOfRRIntervals",vm:"1",version:"DICOM"},"(0054,0062)":{tag:"(0054,0062)",vr:"SQ",name:"GatedInformationSequence",vm:"1",version:"DICOM"},"(0054,0063)":{tag:"(0054,0063)",vr:"SQ",name:"DataInformationSequence",vm:"1",version:"DICOM"},"(0054,0070)":{tag:"(0054,0070)",vr:"US",name:"TimeSlotVector",vm:"1-n",version:"DICOM"},"(0054,0071)":{tag:"(0054,0071)",vr:"US",name:"NumberOfTimeSlots",vm:"1",version:"DICOM"},"(0054,0072)":{tag:"(0054,0072)",vr:"SQ",name:"TimeSlotInformationSequence",vm:"1",version:"DICOM"},"(0054,0073)":{tag:"(0054,0073)",vr:"DS",name:"TimeSlotTime",vm:"1",version:"DICOM"},"(0054,0080)":{tag:"(0054,0080)",vr:"US",name:"SliceVector",vm:"1-n",version:"DICOM"},"(0054,0081)":{tag:"(0054,0081)",vr:"US",name:"NumberOfSlices",vm:"1",version:"DICOM"},"(0054,0090)":{tag:"(0054,0090)",vr:"US",name:"AngularViewVector",vm:"1-n",version:"DICOM"},"(0054,0100)":{tag:"(0054,0100)",vr:"US",name:"TimeSliceVector",vm:"1-n",version:"DICOM"},"(0054,0101)":{tag:"(0054,0101)",vr:"US",name:"NumberOfTimeSlices",vm:"1",version:"DICOM"},"(0054,0200)":{tag:"(0054,0200)",vr:"DS",name:"StartAngle",vm:"1",version:"DICOM"},"(0054,0202)":{tag:"(0054,0202)",vr:"CS",name:"TypeOfDetectorMotion",vm:"1",version:"DICOM"},"(0054,0210)":{tag:"(0054,0210)",vr:"IS",name:"TriggerVector",vm:"1-n",version:"DICOM"},"(0054,0211)":{tag:"(0054,0211)",vr:"US",name:"NumberOfTriggersInPhase",vm:"1",version:"DICOM"},"(0054,0220)":{tag:"(0054,0220)",vr:"SQ",name:"ViewCodeSequence",vm:"1",version:"DICOM"},"(0054,0222)":{tag:"(0054,0222)",vr:"SQ",name:"ViewModifierCodeSequence",vm:"1",version:"DICOM"},"(0054,0300)":{tag:"(0054,0300)",vr:"SQ",name:"RadionuclideCodeSequence",vm:"1",version:"DICOM"},"(0054,0302)":{tag:"(0054,0302)",vr:"SQ",name:"AdministrationRouteCodeSequence",vm:"1",version:"DICOM"},"(0054,0304)":{tag:"(0054,0304)",vr:"SQ",name:"RadiopharmaceuticalCodeSequence",vm:"1",version:"DICOM"},"(0054,0306)":{tag:"(0054,0306)",vr:"SQ",name:"CalibrationDataSequence",vm:"1",version:"DICOM"},"(0054,0308)":{tag:"(0054,0308)",vr:"US",name:"EnergyWindowNumber",vm:"1",version:"DICOM"},"(0054,0400)":{tag:"(0054,0400)",vr:"SH",name:"ImageID",vm:"1",version:"DICOM"},"(0054,0410)":{tag:"(0054,0410)",vr:"SQ",name:"PatientOrientationCodeSequence",vm:"1",version:"DICOM"},"(0054,0412)":{tag:"(0054,0412)",vr:"SQ",name:"PatientOrientationModifierCodeSequence",vm:"1",version:"DICOM"},"(0054,0414)":{tag:"(0054,0414)",vr:"SQ",name:"PatientGantryRelationshipCodeSequence",vm:"1",version:"DICOM"},"(0054,0500)":{tag:"(0054,0500)",vr:"CS",name:"SliceProgressionDirection",vm:"1",version:"DICOM"},"(0054,0501)":{tag:"(0054,0501)",vr:"CS",name:"ScanProgressionDirection",vm:"1",version:"DICOM"},"(0054,1000)":{tag:"(0054,1000)",vr:"CS",name:"SeriesType",vm:"2",version:"DICOM"},"(0054,1001)":{tag:"(0054,1001)",vr:"CS",name:"Units",vm:"1",version:"DICOM"},"(0054,1002)":{tag:"(0054,1002)",vr:"CS",name:"CountsSource",vm:"1",version:"DICOM"},"(0054,1004)":{tag:"(0054,1004)",vr:"CS",name:"ReprojectionMethod",vm:"1",version:"DICOM"},"(0054,1006)":{tag:"(0054,1006)",vr:"CS",name:"SUVType",vm:"1",version:"DICOM"},"(0054,1100)":{tag:"(0054,1100)",vr:"CS",name:"RandomsCorrectionMethod",vm:"1",version:"DICOM"},"(0054,1101)":{tag:"(0054,1101)",vr:"LO",name:"AttenuationCorrectionMethod",vm:"1",version:"DICOM"},"(0054,1102)":{tag:"(0054,1102)",vr:"CS",name:"DecayCorrection",vm:"1",version:"DICOM"},"(0054,1103)":{tag:"(0054,1103)",vr:"LO",name:"ReconstructionMethod",vm:"1",version:"DICOM"},"(0054,1104)":{tag:"(0054,1104)",vr:"LO",name:"DetectorLinesOfResponseUsed",vm:"1",version:"DICOM"},"(0054,1105)":{tag:"(0054,1105)",vr:"LO",name:"ScatterCorrectionMethod",vm:"1",version:"DICOM"},"(0054,1200)":{tag:"(0054,1200)",vr:"DS",name:"AxialAcceptance",vm:"1",version:"DICOM"},"(0054,1201)":{tag:"(0054,1201)",vr:"IS",name:"AxialMash",vm:"2",version:"DICOM"},"(0054,1202)":{tag:"(0054,1202)",vr:"IS",name:"TransverseMash",vm:"1",version:"DICOM"},"(0054,1203)":{tag:"(0054,1203)",vr:"DS",name:"DetectorElementSize",vm:"2",version:"DICOM"},"(0054,1210)":{tag:"(0054,1210)",vr:"DS",name:"CoincidenceWindowWidth",vm:"1",version:"DICOM"},"(0054,1220)":{tag:"(0054,1220)",vr:"CS",name:"SecondaryCountsType",vm:"1-n",version:"DICOM"},"(0054,1300)":{tag:"(0054,1300)",vr:"DS",name:"FrameReferenceTime",vm:"1",version:"DICOM"},"(0054,1310)":{tag:"(0054,1310)",vr:"IS",name:"PrimaryPromptsCountsAccumulated",vm:"1",version:"DICOM"},"(0054,1311)":{tag:"(0054,1311)",vr:"IS",name:"SecondaryCountsAccumulated",vm:"1-n",version:"DICOM"},"(0054,1320)":{tag:"(0054,1320)",vr:"DS",name:"SliceSensitivityFactor",vm:"1",version:"DICOM"},"(0054,1321)":{tag:"(0054,1321)",vr:"DS",name:"DecayFactor",vm:"1",version:"DICOM"},"(0054,1322)":{tag:"(0054,1322)",vr:"DS",name:"DoseCalibrationFactor",vm:"1",version:"DICOM"},"(0054,1323)":{tag:"(0054,1323)",vr:"DS",name:"ScatterFractionFactor",vm:"1",version:"DICOM"},"(0054,1324)":{tag:"(0054,1324)",vr:"DS",name:"DeadTimeFactor",vm:"1",version:"DICOM"},"(0054,1330)":{tag:"(0054,1330)",vr:"US",name:"ImageIndex",vm:"1",version:"DICOM"},"(0060,3000)":{tag:"(0060,3000)",vr:"SQ",name:"HistogramSequence",vm:"1",version:"DICOM"},"(0060,3002)":{tag:"(0060,3002)",vr:"US",name:"HistogramNumberOfBins",vm:"1",version:"DICOM"},"(0060,3004)":{tag:"(0060,3004)",vr:"xs",name:"HistogramFirstBinValue",vm:"1",version:"DICOM"},"(0060,3006)":{tag:"(0060,3006)",vr:"xs",name:"HistogramLastBinValue",vm:"1",version:"DICOM"},"(0060,3008)":{tag:"(0060,3008)",vr:"US",name:"HistogramBinWidth",vm:"1",version:"DICOM"},"(0060,3010)":{tag:"(0060,3010)",vr:"LO",name:"HistogramExplanation",vm:"1",version:"DICOM"},"(0060,3020)":{tag:"(0060,3020)",vr:"UL",name:"HistogramData",vm:"1-n",version:"DICOM"},"(0062,0001)":{tag:"(0062,0001)",vr:"CS",name:"SegmentationType",vm:"1",version:"DICOM"},"(0062,0002)":{tag:"(0062,0002)",vr:"SQ",name:"SegmentSequence",vm:"1",version:"DICOM"},"(0062,0003)":{tag:"(0062,0003)",vr:"SQ",name:"SegmentedPropertyCategoryCodeSequence",vm:"1",version:"DICOM"},"(0062,0004)":{tag:"(0062,0004)",vr:"US",name:"SegmentNumber",vm:"1",version:"DICOM"},"(0062,0005)":{tag:"(0062,0005)",vr:"LO",name:"SegmentLabel",vm:"1",version:"DICOM"},"(0062,0006)":{tag:"(0062,0006)",vr:"ST",name:"SegmentDescription",vm:"1",version:"DICOM"},"(0062,0007)":{tag:"(0062,0007)",vr:"SQ",name:"SegmentationAlgorithmIdentificationSequence",vm:"1",version:"DICOM"},"(0062,0008)":{tag:"(0062,0008)",vr:"CS",name:"SegmentAlgorithmType",vm:"1",version:"DICOM"},"(0062,0009)":{tag:"(0062,0009)",vr:"LO",name:"SegmentAlgorithmName",vm:"1",version:"DICOM"},"(0062,000A)":{tag:"(0062,000A)",vr:"SQ",name:"SegmentIdentificationSequence",vm:"1",version:"DICOM"},"(0062,000B)":{tag:"(0062,000B)",vr:"US",name:"ReferencedSegmentNumber",vm:"1-n",version:"DICOM"},"(0062,000C)":{tag:"(0062,000C)",vr:"US",name:"RecommendedDisplayGrayscaleValue",vm:"1",version:"DICOM"},"(0062,000D)":{tag:"(0062,000D)",vr:"US",name:"RecommendedDisplayCIELabValue",vm:"3",version:"DICOM"},"(0062,000E)":{tag:"(0062,000E)",vr:"US",name:"MaximumFractionalValue",vm:"1",version:"DICOM"},"(0062,000F)":{tag:"(0062,000F)",vr:"SQ",name:"SegmentedPropertyTypeCodeSequence",vm:"1",version:"DICOM"},"(0062,0010)":{tag:"(0062,0010)",vr:"CS",name:"SegmentationFractionalType",vm:"1",version:"DICOM"},"(0062,0011)":{tag:"(0062,0011)",vr:"SQ",name:"SegmentedPropertyTypeModifierCodeSequence",vm:"1",version:"DICOM"},"(0062,0012)":{tag:"(0062,0012)",vr:"SQ",name:"UsedSegmentsSequence",vm:"1",version:"DICOM"},"(0062,0013)":{tag:"(0062,0013)",vr:"CS",name:"SegmentsOverlap",vm:"1",version:"DICOM"},"(0062,0020)":{tag:"(0062,0020)",vr:"UT",name:"TrackingID",vm:"1",version:"DICOM"},"(0062,0021)":{tag:"(0062,0021)",vr:"UI",name:"TrackingUID",vm:"1",version:"DICOM"},"(0064,0002)":{tag:"(0064,0002)",vr:"SQ",name:"DeformableRegistrationSequence",vm:"1",version:"DICOM"},"(0064,0003)":{tag:"(0064,0003)",vr:"UI",name:"SourceFrameOfReferenceUID",vm:"1",version:"DICOM"},"(0064,0005)":{tag:"(0064,0005)",vr:"SQ",name:"DeformableRegistrationGridSequence",vm:"1",version:"DICOM"},"(0064,0007)":{tag:"(0064,0007)",vr:"UL",name:"GridDimensions",vm:"3",version:"DICOM"},"(0064,0008)":{tag:"(0064,0008)",vr:"FD",name:"GridResolution",vm:"3",version:"DICOM"},"(0064,0009)":{tag:"(0064,0009)",vr:"OF",name:"VectorGridData",vm:"1",version:"DICOM"},"(0064,000F)":{tag:"(0064,000F)",vr:"SQ",name:"PreDeformationMatrixRegistrationSequence",vm:"1",version:"DICOM"},"(0064,0010)":{tag:"(0064,0010)",vr:"SQ",name:"PostDeformationMatrixRegistrationSequence",vm:"1",version:"DICOM"},"(0066,0001)":{tag:"(0066,0001)",vr:"UL",name:"NumberOfSurfaces",vm:"1",version:"DICOM"},"(0066,0002)":{tag:"(0066,0002)",vr:"SQ",name:"SurfaceSequence",vm:"1",version:"DICOM"},"(0066,0003)":{tag:"(0066,0003)",vr:"UL",name:"SurfaceNumber",vm:"1",version:"DICOM"},"(0066,0004)":{tag:"(0066,0004)",vr:"LT",name:"SurfaceComments",vm:"1",version:"DICOM"},"(0066,0009)":{tag:"(0066,0009)",vr:"CS",name:"SurfaceProcessing",vm:"1",version:"DICOM"},"(0066,000A)":{tag:"(0066,000A)",vr:"FL",name:"SurfaceProcessingRatio",vm:"1",version:"DICOM"},"(0066,000B)":{tag:"(0066,000B)",vr:"LO",name:"SurfaceProcessingDescription",vm:"1",version:"DICOM"},"(0066,000C)":{tag:"(0066,000C)",vr:"FL",name:"RecommendedPresentationOpacity",vm:"1",version:"DICOM"},"(0066,000D)":{tag:"(0066,000D)",vr:"CS",name:"RecommendedPresentationType",vm:"1",version:"DICOM"},"(0066,000E)":{tag:"(0066,000E)",vr:"CS",name:"FiniteVolume",vm:"1",version:"DICOM"},"(0066,0010)":{tag:"(0066,0010)",vr:"CS",name:"Manifold",vm:"1",version:"DICOM"},"(0066,0011)":{tag:"(0066,0011)",vr:"SQ",name:"SurfacePointsSequence",vm:"1",version:"DICOM"},"(0066,0012)":{tag:"(0066,0012)",vr:"SQ",name:"SurfacePointsNormalsSequence",vm:"1",version:"DICOM"},"(0066,0013)":{tag:"(0066,0013)",vr:"SQ",name:"SurfaceMeshPrimitivesSequence",vm:"1",version:"DICOM"},"(0066,0015)":{tag:"(0066,0015)",vr:"UL",name:"NumberOfSurfacePoints",vm:"1",version:"DICOM"},"(0066,0016)":{tag:"(0066,0016)",vr:"OF",name:"PointCoordinatesData",vm:"1",version:"DICOM"},"(0066,0017)":{tag:"(0066,0017)",vr:"FL",name:"PointPositionAccuracy",vm:"3",version:"DICOM"},"(0066,0018)":{tag:"(0066,0018)",vr:"FL",name:"MeanPointDistance",vm:"1",version:"DICOM"},"(0066,0019)":{tag:"(0066,0019)",vr:"FL",name:"MaximumPointDistance",vm:"1",version:"DICOM"},"(0066,001A)":{tag:"(0066,001A)",vr:"FL",name:"PointsBoundingBoxCoordinates",vm:"6",version:"DICOM"},"(0066,001B)":{tag:"(0066,001B)",vr:"FL",name:"AxisOfRotation",vm:"3",version:"DICOM"},"(0066,001C)":{tag:"(0066,001C)",vr:"FL",name:"CenterOfRotation",vm:"3",version:"DICOM"},"(0066,001E)":{tag:"(0066,001E)",vr:"UL",name:"NumberOfVectors",vm:"1",version:"DICOM"},"(0066,001F)":{tag:"(0066,001F)",vr:"US",name:"VectorDimensionality",vm:"1",version:"DICOM"},"(0066,0020)":{tag:"(0066,0020)",vr:"FL",name:"VectorAccuracy",vm:"1-n",version:"DICOM"},"(0066,0021)":{tag:"(0066,0021)",vr:"OF",name:"VectorCoordinateData",vm:"1",version:"DICOM"},"(0066,0023)":{tag:"(0066,0023)",vr:"OW",name:"TrianglePointIndexList",vm:"1",version:"DICOM"},"(0066,0024)":{tag:"(0066,0024)",vr:"OW",name:"EdgePointIndexList",vm:"1",version:"DICOM"},"(0066,0025)":{tag:"(0066,0025)",vr:"OW",name:"VertexPointIndexList",vm:"1",version:"DICOM"},"(0066,0026)":{tag:"(0066,0026)",vr:"SQ",name:"TriangleStripSequence",vm:"1",version:"DICOM"},"(0066,0027)":{tag:"(0066,0027)",vr:"SQ",name:"TriangleFanSequence",vm:"1",version:"DICOM"},"(0066,0028)":{tag:"(0066,0028)",vr:"SQ",name:"LineSequence",vm:"1",version:"DICOM"},"(0066,0029)":{tag:"(0066,0029)",vr:"OW",name:"PrimitivePointIndexList",vm:"1",version:"DICOM"},"(0066,002A)":{tag:"(0066,002A)",vr:"UL",name:"SurfaceCount",vm:"1",version:"DICOM"},"(0066,002B)":{tag:"(0066,002B)",vr:"SQ",name:"ReferencedSurfaceSequence",vm:"1",version:"DICOM"},"(0066,002C)":{tag:"(0066,002C)",vr:"UL",name:"ReferencedSurfaceNumber",vm:"1",version:"DICOM"},"(0066,002D)":{tag:"(0066,002D)",vr:"SQ",name:"SegmentSurfaceGenerationAlgorithmIdentificationSequence",vm:"1",version:"DICOM"},"(0066,002E)":{tag:"(0066,002E)",vr:"SQ",name:"SegmentSurfaceSourceInstanceSequence",vm:"1",version:"DICOM"},"(0066,002F)":{tag:"(0066,002F)",vr:"SQ",name:"AlgorithmFamilyCodeSequence",vm:"1",version:"DICOM"},"(0066,0030)":{tag:"(0066,0030)",vr:"SQ",name:"AlgorithmNameCodeSequence",vm:"1",version:"DICOM"},"(0066,0031)":{tag:"(0066,0031)",vr:"LO",name:"AlgorithmVersion",vm:"1",version:"DICOM"},"(0066,0032)":{tag:"(0066,0032)",vr:"LT",name:"AlgorithmParameters",vm:"1",version:"DICOM"},"(0066,0034)":{tag:"(0066,0034)",vr:"SQ",name:"FacetSequence",vm:"1",version:"DICOM"},"(0066,0035)":{tag:"(0066,0035)",vr:"SQ",name:"SurfaceProcessingAlgorithmIdentificationSequence",vm:"1",version:"DICOM"},"(0066,0036)":{tag:"(0066,0036)",vr:"LO",name:"AlgorithmName",vm:"1",version:"DICOM"},"(0066,0037)":{tag:"(0066,0037)",vr:"FL",name:"RecommendedPointRadius",vm:"1",version:"DICOM"},"(0066,0038)":{tag:"(0066,0038)",vr:"FL",name:"RecommendedLineThickness",vm:"1",version:"DICOM"},"(0066,0040)":{tag:"(0066,0040)",vr:"UL",name:"LongPrimitivePointIndexList",vm:"1-n",version:"DICOM"},"(0066,0041)":{tag:"(0066,0041)",vr:"UL",name:"LongTrianglePointIndexList",vm:"3-3n",version:"DICOM"},"(0066,0042)":{tag:"(0066,0042)",vr:"UL",name:"LongEdgePointIndexList",vm:"2-2n",version:"DICOM"},"(0066,0043)":{tag:"(0066,0043)",vr:"UL",name:"LongVertexPointIndexList",vm:"1-n",version:"DICOM"},"(0066,0101)":{tag:"(0066,0101)",vr:"SQ",name:"TrackSetSequence",vm:"1",version:"DICOM"},"(0066,0102)":{tag:"(0066,0102)",vr:"SQ",name:"TrackSequence",vm:"1",version:"DICOM"},"(0066,0103)":{tag:"(0066,0103)",vr:"OW",name:"RecommendedDisplayCIELabValueList",vm:"1",version:"DICOM"},"(0066,0104)":{tag:"(0066,0104)",vr:"SQ",name:"TrackingAlgorithmIdentificationSequence",vm:"1",version:"DICOM"},"(0066,0105)":{tag:"(0066,0105)",vr:"UL",name:"TrackSetNumber",vm:"1",version:"DICOM"},"(0066,0106)":{tag:"(0066,0106)",vr:"LO",name:"TrackSetLabel",vm:"1",version:"DICOM"},"(0066,0107)":{tag:"(0066,0107)",vr:"UT",name:"TrackSetDescription",vm:"1",version:"DICOM"},"(0066,0108)":{tag:"(0066,0108)",vr:"SQ",name:"TrackSetAnatomicalTypeCodeSequence",vm:"1",version:"DICOM"},"(0066,0121)":{tag:"(0066,0121)",vr:"SQ",name:"MeasurementsSequence",vm:"1",version:"DICOM"},"(0066,0124)":{tag:"(0066,0124)",vr:"SQ",name:"TrackSetStatisticsSequence",vm:"1",version:"DICOM"},"(0066,0125)":{tag:"(0066,0125)",vr:"OF",name:"FloatingPointValues",vm:"1",version:"DICOM"},"(0066,0129)":{tag:"(0066,0129)",vr:"OL",name:"TrackPointIndexList",vm:"1",version:"DICOM"},"(0066,0130)":{tag:"(0066,0130)",vr:"SQ",name:"TrackStatisticsSequence",vm:"1",version:"DICOM"},"(0066,0132)":{tag:"(0066,0132)",vr:"SQ",name:"MeasurementValuesSequence",vm:"1",version:"DICOM"},"(0066,0133)":{tag:"(0066,0133)",vr:"SQ",name:"DiffusionAcquisitionCodeSequence",vm:"1",version:"DICOM"},"(0066,0134)":{tag:"(0066,0134)",vr:"SQ",name:"DiffusionModelCodeSequence",vm:"1",version:"DICOM"},"(0068,6210)":{tag:"(0068,6210)",vr:"LO",name:"ImplantSize",vm:"1",version:"DICOM"},"(0068,6221)":{tag:"(0068,6221)",vr:"LO",name:"ImplantTemplateVersion",vm:"1",version:"DICOM"},"(0068,6222)":{tag:"(0068,6222)",vr:"SQ",name:"ReplacedImplantTemplateSequence",vm:"1",version:"DICOM"},"(0068,6223)":{tag:"(0068,6223)",vr:"CS",name:"ImplantType",vm:"1",version:"DICOM"},"(0068,6224)":{tag:"(0068,6224)",vr:"SQ",name:"DerivationImplantTemplateSequence",vm:"1",version:"DICOM"},"(0068,6225)":{tag:"(0068,6225)",vr:"SQ",name:"OriginalImplantTemplateSequence",vm:"1",version:"DICOM"},"(0068,6226)":{tag:"(0068,6226)",vr:"DT",name:"EffectiveDateTime",vm:"1",version:"DICOM"},"(0068,6230)":{tag:"(0068,6230)",vr:"SQ",name:"ImplantTargetAnatomySequence",vm:"1",version:"DICOM"},"(0068,6260)":{tag:"(0068,6260)",vr:"SQ",name:"InformationFromManufacturerSequence",vm:"1",version:"DICOM"},"(0068,6265)":{tag:"(0068,6265)",vr:"SQ",name:"NotificationFromManufacturerSequence",vm:"1",version:"DICOM"},"(0068,6270)":{tag:"(0068,6270)",vr:"DT",name:"InformationIssueDateTime",vm:"1",version:"DICOM"},"(0068,6280)":{tag:"(0068,6280)",vr:"ST",name:"InformationSummary",vm:"1",version:"DICOM"},"(0068,62A0)":{tag:"(0068,62A0)",vr:"SQ",name:"ImplantRegulatoryDisapprovalCodeSequence",vm:"1",version:"DICOM"},"(0068,62A5)":{tag:"(0068,62A5)",vr:"FD",name:"OverallTemplateSpatialTolerance",vm:"1",version:"DICOM"},"(0068,62C0)":{tag:"(0068,62C0)",vr:"SQ",name:"HPGLDocumentSequence",vm:"1",version:"DICOM"},"(0068,62D0)":{tag:"(0068,62D0)",vr:"US",name:"HPGLDocumentID",vm:"1",version:"DICOM"},"(0068,62D5)":{tag:"(0068,62D5)",vr:"LO",name:"HPGLDocumentLabel",vm:"1",version:"DICOM"},"(0068,62E0)":{tag:"(0068,62E0)",vr:"SQ",name:"ViewOrientationCodeSequence",vm:"1",version:"DICOM"},"(0068,62F0)":{tag:"(0068,62F0)",vr:"FD",name:"ViewOrientationModifier",vm:"9",version:"DICOM"},"(0068,62F2)":{tag:"(0068,62F2)",vr:"FD",name:"HPGLDocumentScaling",vm:"1",version:"DICOM"},"(0068,6300)":{tag:"(0068,6300)",vr:"OB",name:"HPGLDocument",vm:"1",version:"DICOM"},"(0068,6310)":{tag:"(0068,6310)",vr:"US",name:"HPGLContourPenNumber",vm:"1",version:"DICOM"},"(0068,6320)":{tag:"(0068,6320)",vr:"SQ",name:"HPGLPenSequence",vm:"1",version:"DICOM"},"(0068,6330)":{tag:"(0068,6330)",vr:"US",name:"HPGLPenNumber",vm:"1",version:"DICOM"},"(0068,6340)":{tag:"(0068,6340)",vr:"LO",name:"HPGLPenLabel",vm:"1",version:"DICOM"},"(0068,6345)":{tag:"(0068,6345)",vr:"ST",name:"HPGLPenDescription",vm:"1",version:"DICOM"},"(0068,6346)":{tag:"(0068,6346)",vr:"FD",name:"RecommendedRotationPoint",vm:"2",version:"DICOM"},"(0068,6347)":{tag:"(0068,6347)",vr:"FD",name:"BoundingRectangle",vm:"4",version:"DICOM"},"(0068,6350)":{tag:"(0068,6350)",vr:"US",name:"ImplantTemplate3DModelSurfaceNumber",vm:"1-n",version:"DICOM"},"(0068,6360)":{tag:"(0068,6360)",vr:"SQ",name:"SurfaceModelDescriptionSequence",vm:"1",version:"DICOM"},"(0068,6380)":{tag:"(0068,6380)",vr:"LO",name:"SurfaceModelLabel",vm:"1",version:"DICOM"},"(0068,6390)":{tag:"(0068,6390)",vr:"FD",name:"SurfaceModelScalingFactor",vm:"1",version:"DICOM"},"(0068,63A0)":{tag:"(0068,63A0)",vr:"SQ",name:"MaterialsCodeSequence",vm:"1",version:"DICOM"},"(0068,63A4)":{tag:"(0068,63A4)",vr:"SQ",name:"CoatingMaterialsCodeSequence",vm:"1",version:"DICOM"},"(0068,63A8)":{tag:"(0068,63A8)",vr:"SQ",name:"ImplantTypeCodeSequence",vm:"1",version:"DICOM"},"(0068,63AC)":{tag:"(0068,63AC)",vr:"SQ",name:"FixationMethodCodeSequence",vm:"1",version:"DICOM"},"(0068,63B0)":{tag:"(0068,63B0)",vr:"SQ",name:"MatingFeatureSetsSequence",vm:"1",version:"DICOM"},"(0068,63C0)":{tag:"(0068,63C0)",vr:"US",name:"MatingFeatureSetID",vm:"1",version:"DICOM"},"(0068,63D0)":{tag:"(0068,63D0)",vr:"LO",name:"MatingFeatureSetLabel",vm:"1",version:"DICOM"},"(0068,63E0)":{tag:"(0068,63E0)",vr:"SQ",name:"MatingFeatureSequence",vm:"1",version:"DICOM"},"(0068,63F0)":{tag:"(0068,63F0)",vr:"US",name:"MatingFeatureID",vm:"1",version:"DICOM"},"(0068,6400)":{tag:"(0068,6400)",vr:"SQ",name:"MatingFeatureDegreeOfFreedomSequence",vm:"1",version:"DICOM"},"(0068,6410)":{tag:"(0068,6410)",vr:"US",name:"DegreeOfFreedomID",vm:"1",version:"DICOM"},"(0068,6420)":{tag:"(0068,6420)",vr:"CS",name:"DegreeOfFreedomType",vm:"1",version:"DICOM"},"(0068,6430)":{tag:"(0068,6430)",vr:"SQ",name:"TwoDMatingFeatureCoordinatesSequence",vm:"1",version:"DICOM"},"(0068,6440)":{tag:"(0068,6440)",vr:"US",name:"ReferencedHPGLDocumentID",vm:"1",version:"DICOM"},"(0068,6450)":{tag:"(0068,6450)",vr:"FD",name:"TwoDMatingPoint",vm:"2",version:"DICOM"},"(0068,6460)":{tag:"(0068,6460)",vr:"FD",name:"TwoDMatingAxes",vm:"4",version:"DICOM"},"(0068,6470)":{tag:"(0068,6470)",vr:"SQ",name:"TwoDDegreeOfFreedomSequence",vm:"1",version:"DICOM"},"(0068,6490)":{tag:"(0068,6490)",vr:"FD",name:"ThreeDDegreeOfFreedomAxis",vm:"3",version:"DICOM"},"(0068,64A0)":{tag:"(0068,64A0)",vr:"FD",name:"RangeOfFreedom",vm:"2",version:"DICOM"},"(0068,64C0)":{tag:"(0068,64C0)",vr:"FD",name:"ThreeDMatingPoint",vm:"3",version:"DICOM"},"(0068,64D0)":{tag:"(0068,64D0)",vr:"FD",name:"ThreeDMatingAxes",vm:"9",version:"DICOM"},"(0068,64F0)":{tag:"(0068,64F0)",vr:"FD",name:"TwoDDegreeOfFreedomAxis",vm:"3",version:"DICOM"},"(0068,6500)":{tag:"(0068,6500)",vr:"SQ",name:"PlanningLandmarkPointSequence",vm:"1",version:"DICOM"},"(0068,6510)":{tag:"(0068,6510)",vr:"SQ",name:"PlanningLandmarkLineSequence",vm:"1",version:"DICOM"},"(0068,6520)":{tag:"(0068,6520)",vr:"SQ",name:"PlanningLandmarkPlaneSequence",vm:"1",version:"DICOM"},"(0068,6530)":{tag:"(0068,6530)",vr:"US",name:"PlanningLandmarkID",vm:"1",version:"DICOM"},"(0068,6540)":{tag:"(0068,6540)",vr:"LO",name:"PlanningLandmarkDescription",vm:"1",version:"DICOM"},"(0068,6545)":{tag:"(0068,6545)",vr:"SQ",name:"PlanningLandmarkIdentificationCodeSequence",vm:"1",version:"DICOM"},"(0068,6550)":{tag:"(0068,6550)",vr:"SQ",name:"TwoDPointCoordinatesSequence",vm:"1",version:"DICOM"},"(0068,6560)":{tag:"(0068,6560)",vr:"FD",name:"TwoDPointCoordinates",vm:"2",version:"DICOM"},"(0068,6590)":{tag:"(0068,6590)",vr:"FD",name:"ThreeDPointCoordinates",vm:"3",version:"DICOM"},"(0068,65A0)":{tag:"(0068,65A0)",vr:"SQ",name:"TwoDLineCoordinatesSequence",vm:"1",version:"DICOM"},"(0068,65B0)":{tag:"(0068,65B0)",vr:"FD",name:"TwoDLineCoordinates",vm:"4",version:"DICOM"},"(0068,65D0)":{tag:"(0068,65D0)",vr:"FD",name:"ThreeDLineCoordinates",vm:"6",version:"DICOM"},"(0068,65E0)":{tag:"(0068,65E0)",vr:"SQ",name:"TwoDPlaneCoordinatesSequence",vm:"1",version:"DICOM"},"(0068,65F0)":{tag:"(0068,65F0)",vr:"FD",name:"TwoDPlaneIntersection",vm:"4",version:"DICOM"},"(0068,6610)":{tag:"(0068,6610)",vr:"FD",name:"ThreeDPlaneOrigin",vm:"3",version:"DICOM"},"(0068,6620)":{tag:"(0068,6620)",vr:"FD",name:"ThreeDPlaneNormal",vm:"3",version:"DICOM"},"(0068,7001)":{tag:"(0068,7001)",vr:"CS",name:"ModelModification",vm:"1",version:"DICOM"},"(0068,7002)":{tag:"(0068,7002)",vr:"CS",name:"ModelMirroring",vm:"1",version:"DICOM"},"(0068,7003)":{tag:"(0068,7003)",vr:"SQ",name:"ModelUsageCodeSequence",vm:"1",version:"DICOM"},"(0068,7004)":{tag:"(0068,7004)",vr:"UI",name:"ModelGroupUID",vm:"1",version:"DICOM"},"(0068,7005)":{tag:"(0068,7005)",vr:"UR",name:"RelativeURIReferenceWithinEncapsulatedDocument",vm:"1",version:"DICOM"},"(0070,0001)":{tag:"(0070,0001)",vr:"SQ",name:"GraphicAnnotationSequence",vm:"1",version:"DICOM"},"(0070,0002)":{tag:"(0070,0002)",vr:"CS",name:"GraphicLayer",vm:"1",version:"DICOM"},"(0070,0003)":{tag:"(0070,0003)",vr:"CS",name:"BoundingBoxAnnotationUnits",vm:"1",version:"DICOM"},"(0070,0004)":{tag:"(0070,0004)",vr:"CS",name:"AnchorPointAnnotationUnits",vm:"1",version:"DICOM"},"(0070,0005)":{tag:"(0070,0005)",vr:"CS",name:"GraphicAnnotationUnits",vm:"1",version:"DICOM"},"(0070,0006)":{tag:"(0070,0006)",vr:"ST",name:"UnformattedTextValue",vm:"1",version:"DICOM"},"(0070,0008)":{tag:"(0070,0008)",vr:"SQ",name:"TextObjectSequence",vm:"1",version:"DICOM"},"(0070,0009)":{tag:"(0070,0009)",vr:"SQ",name:"GraphicObjectSequence",vm:"1",version:"DICOM"},"(0070,0010)":{tag:"(0070,0010)",vr:"FL",name:"BoundingBoxTopLeftHandCorner",vm:"2",version:"DICOM"},"(0070,0011)":{tag:"(0070,0011)",vr:"FL",name:"BoundingBoxBottomRightHandCorner",vm:"2",version:"DICOM"},"(0070,0012)":{tag:"(0070,0012)",vr:"CS",name:"BoundingBoxTextHorizontalJustification",vm:"1",version:"DICOM"},"(0070,0014)":{tag:"(0070,0014)",vr:"FL",name:"AnchorPoint",vm:"2",version:"DICOM"},"(0070,0015)":{tag:"(0070,0015)",vr:"CS",name:"AnchorPointVisibility",vm:"1",version:"DICOM"},"(0070,0020)":{tag:"(0070,0020)",vr:"US",name:"GraphicDimensions",vm:"1",version:"DICOM"},"(0070,0021)":{tag:"(0070,0021)",vr:"US",name:"NumberOfGraphicPoints",vm:"1",version:"DICOM"},"(0070,0022)":{tag:"(0070,0022)",vr:"FL",name:"GraphicData",vm:"2-n",version:"DICOM"},"(0070,0023)":{tag:"(0070,0023)",vr:"CS",name:"GraphicType",vm:"1",version:"DICOM"},"(0070,0024)":{tag:"(0070,0024)",vr:"CS",name:"GraphicFilled",vm:"1",version:"DICOM"},"(0070,0041)":{tag:"(0070,0041)",vr:"CS",name:"ImageHorizontalFlip",vm:"1",version:"DICOM"},"(0070,0042)":{tag:"(0070,0042)",vr:"US",name:"ImageRotation",vm:"1",version:"DICOM"},"(0070,0052)":{tag:"(0070,0052)",vr:"SL",name:"DisplayedAreaTopLeftHandCorner",vm:"2",version:"DICOM"},"(0070,0053)":{tag:"(0070,0053)",vr:"SL",name:"DisplayedAreaBottomRightHandCorner",vm:"2",version:"DICOM"},"(0070,005A)":{tag:"(0070,005A)",vr:"SQ",name:"DisplayedAreaSelectionSequence",vm:"1",version:"DICOM"},"(0070,0060)":{tag:"(0070,0060)",vr:"SQ",name:"GraphicLayerSequence",vm:"1",version:"DICOM"},"(0070,0062)":{tag:"(0070,0062)",vr:"IS",name:"GraphicLayerOrder",vm:"1",version:"DICOM"},"(0070,0066)":{tag:"(0070,0066)",vr:"US",name:"GraphicLayerRecommendedDisplayGrayscaleValue",vm:"1",version:"DICOM"},"(0070,0068)":{tag:"(0070,0068)",vr:"LO",name:"GraphicLayerDescription",vm:"1",version:"DICOM"},"(0070,0080)":{tag:"(0070,0080)",vr:"CS",name:"ContentLabel",vm:"1",version:"DICOM"},"(0070,0081)":{tag:"(0070,0081)",vr:"LO",name:"ContentDescription",vm:"1",version:"DICOM"},"(0070,0082)":{tag:"(0070,0082)",vr:"DA",name:"PresentationCreationDate",vm:"1",version:"DICOM"},"(0070,0083)":{tag:"(0070,0083)",vr:"TM",name:"PresentationCreationTime",vm:"1",version:"DICOM"},"(0070,0084)":{tag:"(0070,0084)",vr:"PN",name:"ContentCreatorName",vm:"1",version:"DICOM"},"(0070,0086)":{tag:"(0070,0086)",vr:"SQ",name:"ContentCreatorIdentificationCodeSequence",vm:"1",version:"DICOM"},"(0070,0087)":{tag:"(0070,0087)",vr:"SQ",name:"AlternateContentDescriptionSequence",vm:"1",version:"DICOM"},"(0070,0100)":{tag:"(0070,0100)",vr:"CS",name:"PresentationSizeMode",vm:"1",version:"DICOM"},"(0070,0101)":{tag:"(0070,0101)",vr:"DS",name:"PresentationPixelSpacing",vm:"2",version:"DICOM"},"(0070,0102)":{tag:"(0070,0102)",vr:"IS",name:"PresentationPixelAspectRatio",vm:"2",version:"DICOM"},"(0070,0103)":{tag:"(0070,0103)",vr:"FL",name:"PresentationPixelMagnificationRatio",vm:"1",version:"DICOM"},"(0070,0207)":{tag:"(0070,0207)",vr:"LO",name:"GraphicGroupLabel",vm:"1",version:"DICOM"},"(0070,0208)":{tag:"(0070,0208)",vr:"ST",name:"GraphicGroupDescription",vm:"1",version:"DICOM"},"(0070,0209)":{tag:"(0070,0209)",vr:"SQ",name:"CompoundGraphicSequence",vm:"1",version:"DICOM"},"(0070,0226)":{tag:"(0070,0226)",vr:"UL",name:"CompoundGraphicInstanceID",vm:"1",version:"DICOM"},"(0070,0227)":{tag:"(0070,0227)",vr:"LO",name:"FontName",vm:"1",version:"DICOM"},"(0070,0228)":{tag:"(0070,0228)",vr:"CS",name:"FontNameType",vm:"1",version:"DICOM"},"(0070,0229)":{tag:"(0070,0229)",vr:"LO",name:"CSSFontName",vm:"1",version:"DICOM"},"(0070,0230)":{tag:"(0070,0230)",vr:"FD",name:"RotationAngle",vm:"1",version:"DICOM"},"(0070,0231)":{tag:"(0070,0231)",vr:"SQ",name:"TextStyleSequence",vm:"1",version:"DICOM"},"(0070,0232)":{tag:"(0070,0232)",vr:"SQ",name:"LineStyleSequence",vm:"1",version:"DICOM"},"(0070,0233)":{tag:"(0070,0233)",vr:"SQ",name:"FillStyleSequence",vm:"1",version:"DICOM"},"(0070,0234)":{tag:"(0070,0234)",vr:"SQ",name:"GraphicGroupSequence",vm:"1",version:"DICOM"},"(0070,0241)":{tag:"(0070,0241)",vr:"US",name:"TextColorCIELabValue",vm:"3",version:"DICOM"},"(0070,0242)":{tag:"(0070,0242)",vr:"CS",name:"HorizontalAlignment",vm:"1",version:"DICOM"},"(0070,0243)":{tag:"(0070,0243)",vr:"CS",name:"VerticalAlignment",vm:"1",version:"DICOM"},"(0070,0244)":{tag:"(0070,0244)",vr:"CS",name:"ShadowStyle",vm:"1",version:"DICOM"},"(0070,0245)":{tag:"(0070,0245)",vr:"FL",name:"ShadowOffsetX",vm:"1",version:"DICOM"},"(0070,0246)":{tag:"(0070,0246)",vr:"FL",name:"ShadowOffsetY",vm:"1",version:"DICOM"},"(0070,0247)":{tag:"(0070,0247)",vr:"US",name:"ShadowColorCIELabValue",vm:"3",version:"DICOM"},"(0070,0248)":{tag:"(0070,0248)",vr:"CS",name:"Underlined",vm:"1",version:"DICOM"},"(0070,0249)":{tag:"(0070,0249)",vr:"CS",name:"Bold",vm:"1",version:"DICOM"},"(0070,0250)":{tag:"(0070,0250)",vr:"CS",name:"Italic",vm:"1",version:"DICOM"},"(0070,0251)":{tag:"(0070,0251)",vr:"US",name:"PatternOnColorCIELabValue",vm:"3",version:"DICOM"},"(0070,0252)":{tag:"(0070,0252)",vr:"US",name:"PatternOffColorCIELabValue",vm:"3",version:"DICOM"},"(0070,0253)":{tag:"(0070,0253)",vr:"FL",name:"LineThickness",vm:"1",version:"DICOM"},"(0070,0254)":{tag:"(0070,0254)",vr:"CS",name:"LineDashingStyle",vm:"1",version:"DICOM"},"(0070,0255)":{tag:"(0070,0255)",vr:"UL",name:"LinePattern",vm:"1",version:"DICOM"},"(0070,0256)":{tag:"(0070,0256)",vr:"OB",name:"FillPattern",vm:"1",version:"DICOM"},"(0070,0257)":{tag:"(0070,0257)",vr:"CS",name:"FillMode",vm:"1",version:"DICOM"},"(0070,0258)":{tag:"(0070,0258)",vr:"FL",name:"ShadowOpacity",vm:"1",version:"DICOM"},"(0070,0261)":{tag:"(0070,0261)",vr:"FL",name:"GapLength",vm:"1",version:"DICOM"},"(0070,0262)":{tag:"(0070,0262)",vr:"FL",name:"DiameterOfVisibility",vm:"1",version:"DICOM"},"(0070,0273)":{tag:"(0070,0273)",vr:"FL",name:"RotationPoint",vm:"2",version:"DICOM"},"(0070,0274)":{tag:"(0070,0274)",vr:"CS",name:"TickAlignment",vm:"1",version:"DICOM"},"(0070,0278)":{tag:"(0070,0278)",vr:"CS",name:"ShowTickLabel",vm:"1",version:"DICOM"},"(0070,0279)":{tag:"(0070,0279)",vr:"CS",name:"TickLabelAlignment",vm:"1",version:"DICOM"},"(0070,0282)":{tag:"(0070,0282)",vr:"CS",name:"CompoundGraphicUnits",vm:"1",version:"DICOM"},"(0070,0284)":{tag:"(0070,0284)",vr:"FL",name:"PatternOnOpacity",vm:"1",version:"DICOM"},"(0070,0285)":{tag:"(0070,0285)",vr:"FL",name:"PatternOffOpacity",vm:"1",version:"DICOM"},"(0070,0287)":{tag:"(0070,0287)",vr:"SQ",name:"MajorTicksSequence",vm:"1",version:"DICOM"},"(0070,0288)":{tag:"(0070,0288)",vr:"FL",name:"TickPosition",vm:"1",version:"DICOM"},"(0070,0289)":{tag:"(0070,0289)",vr:"SH",name:"TickLabel",vm:"1",version:"DICOM"},"(0070,0294)":{tag:"(0070,0294)",vr:"CS",name:"CompoundGraphicType",vm:"1",version:"DICOM"},"(0070,0295)":{tag:"(0070,0295)",vr:"UL",name:"GraphicGroupID",vm:"1",version:"DICOM"},"(0070,0306)":{tag:"(0070,0306)",vr:"CS",name:"ShapeType",vm:"1",version:"DICOM"},"(0070,0308)":{tag:"(0070,0308)",vr:"SQ",name:"RegistrationSequence",vm:"1",version:"DICOM"},"(0070,0309)":{tag:"(0070,0309)",vr:"SQ",name:"MatrixRegistrationSequence",vm:"1",version:"DICOM"},"(0070,030A)":{tag:"(0070,030A)",vr:"SQ",name:"MatrixSequence",vm:"1",version:"DICOM"},"(0070,030B)":{tag:"(0070,030B)",vr:"FD",name:"FrameOfReferenceToDisplayedCoordinateSystemTransformationMatrix",vm:"16",version:"DICOM"},"(0070,030C)":{tag:"(0070,030C)",vr:"CS",name:"FrameOfReferenceTransformationMatrixType",vm:"1",version:"DICOM"},"(0070,030D)":{tag:"(0070,030D)",vr:"SQ",name:"RegistrationTypeCodeSequence",vm:"1",version:"DICOM"},"(0070,030F)":{tag:"(0070,030F)",vr:"ST",name:"FiducialDescription",vm:"1",version:"DICOM"},"(0070,0310)":{tag:"(0070,0310)",vr:"SH",name:"FiducialIdentifier",vm:"1",version:"DICOM"},"(0070,0311)":{tag:"(0070,0311)",vr:"SQ",name:"FiducialIdentifierCodeSequence",vm:"1",version:"DICOM"},"(0070,0312)":{tag:"(0070,0312)",vr:"FD",name:"ContourUncertaintyRadius",vm:"1",version:"DICOM"},"(0070,0314)":{tag:"(0070,0314)",vr:"SQ",name:"UsedFiducialsSequence",vm:"1",version:"DICOM"},"(0070,0318)":{tag:"(0070,0318)",vr:"SQ",name:"GraphicCoordinatesDataSequence",vm:"1",version:"DICOM"},"(0070,031A)":{tag:"(0070,031A)",vr:"UI",name:"FiducialUID",vm:"1",version:"DICOM"},"(0070,031B)":{tag:"(0070,031B)",vr:"UI",name:"ReferencedFiducialUID",vm:"1",version:"DICOM"},"(0070,031C)":{tag:"(0070,031C)",vr:"SQ",name:"FiducialSetSequence",vm:"1",version:"DICOM"},"(0070,031E)":{tag:"(0070,031E)",vr:"SQ",name:"FiducialSequence",vm:"1",version:"DICOM"},"(0070,031F)":{tag:"(0070,031F)",vr:"SQ",name:"FiducialsPropertyCategoryCodeSequence",vm:"1",version:"DICOM"},"(0070,0401)":{tag:"(0070,0401)",vr:"US",name:"GraphicLayerRecommendedDisplayCIELabValue",vm:"3",version:"DICOM"},"(0070,0402)":{tag:"(0070,0402)",vr:"SQ",name:"BlendingSequence",vm:"1",version:"DICOM"},"(0070,0403)":{tag:"(0070,0403)",vr:"FL",name:"RelativeOpacity",vm:"1",version:"DICOM"},"(0070,0404)":{tag:"(0070,0404)",vr:"SQ",name:"ReferencedSpatialRegistrationSequence",vm:"1",version:"DICOM"},"(0070,0405)":{tag:"(0070,0405)",vr:"CS",name:"BlendingPosition",vm:"1",version:"DICOM"},"(0070,1209)":{tag:"(0070,1209)",vr:"UI",name:"VolumetricPresentationInputSetUID",vm:"1",version:"DICOM"},"(0070,120A)":{tag:"(0070,120A)",vr:"SQ",name:"VolumetricPresentationInputSetSequence",vm:"1",version:"DICOM"},"(0070,120B)":{tag:"(0070,120B)",vr:"CS",name:"GlobalCrop",vm:"1",version:"DICOM"},"(0070,120C)":{tag:"(0070,120C)",vr:"US",name:"GlobalCroppingSpecificationIndex",vm:"1-n",version:"DICOM"},"(0070,120D)":{tag:"(0070,120D)",vr:"CS",name:"RenderingMethod",vm:"1",version:"DICOM"},"(0070,1602)":{tag:"(0070,1602)",vr:"CS",name:"RenderProjection",vm:"1",version:"DICOM"},"(0070,1603)":{tag:"(0070,1603)",vr:"FD",name:"ViewpointPosition",vm:"3",version:"DICOM"},"(0070,1604)":{tag:"(0070,1604)",vr:"FD",name:"ViewpointLookAtPoint",vm:"3",version:"DICOM"},"(0070,1605)":{tag:"(0070,1605)",vr:"FD",name:"ViewpointUpDirection",vm:"3",version:"DICOM"},"(0070,1606)":{tag:"(0070,1606)",vr:"FD",name:"RenderFieldOfView",vm:"6",version:"DICOM"},"(0070,1607)":{tag:"(0070,1607)",vr:"FD",name:"SamplingStepSize",vm:"1",version:"DICOM"},"(0070,1701)":{tag:"(0070,1701)",vr:"CS",name:"ShadingStyle",vm:"1",version:"DICOM"},"(0070,1702)":{tag:"(0070,1702)",vr:"FD",name:"AmbientReflectionIntensity",vm:"1",version:"DICOM"},"(0070,1703)":{tag:"(0070,1703)",vr:"FD",name:"LightDirection",vm:"3",version:"DICOM"},"(0070,1704)":{tag:"(0070,1704)",vr:"FD",name:"DiffuseReflectionIntensity",vm:"1",version:"DICOM"},"(0070,1705)":{tag:"(0070,1705)",vr:"FD",name:"SpecularReflectionIntensity",vm:"1",version:"DICOM"},"(0070,1706)":{tag:"(0070,1706)",vr:"FD",name:"Shininess",vm:"1",version:"DICOM"},"(0070,1A06)":{tag:"(0070,1A06)",vr:"FD",name:"SwivelRange",vm:"1",version:"DICOM"},"(0070,1A07)":{tag:"(0070,1A07)",vr:"OD",name:"VolumetricCurveUpDirections",vm:"1",version:"DICOM"},"(0070,1A08)":{tag:"(0070,1A08)",vr:"SQ",name:"VolumeStreamSequence",vm:"1",version:"DICOM"},"(0070,1A09)":{tag:"(0070,1A09)",vr:"LO",name:"RGBATransferFunctionDescription",vm:"1",version:"DICOM"},"(0070,1B01)":{tag:"(0070,1B01)",vr:"SQ",name:"AdvancedBlendingSequence",vm:"1",version:"DICOM"},"(0070,1B02)":{tag:"(0070,1B02)",vr:"US",name:"BlendingInputNumber",vm:"1",version:"DICOM"},"(0070,1B03)":{tag:"(0070,1B03)",vr:"SQ",name:"BlendingDisplayInputSequence",vm:"1",version:"DICOM"},"(0070,1B04)":{tag:"(0070,1B04)",vr:"SQ",name:"BlendingDisplaySequence",vm:"1",version:"DICOM"},"(0070,1B06)":{tag:"(0070,1B06)",vr:"CS",name:"BlendingMode",vm:"1",version:"DICOM"},"(0070,1B07)":{tag:"(0070,1B07)",vr:"CS",name:"TimeSeriesBlending",vm:"1",version:"DICOM"},"(0070,1B08)":{tag:"(0070,1B08)",vr:"CS",name:"GeometryForDisplay",vm:"1",version:"DICOM"},"(0070,1B11)":{tag:"(0070,1B11)",vr:"SQ",name:"ThresholdSequence",vm:"1",version:"DICOM"},"(0070,1B12)":{tag:"(0070,1B12)",vr:"SQ",name:"ThresholdValueSequence",vm:"1",version:"DICOM"},"(0070,1B13)":{tag:"(0070,1B13)",vr:"CS",name:"ThresholdType",vm:"1",version:"DICOM"},"(0070,1B14)":{tag:"(0070,1B14)",vr:"FD",name:"ThresholdValue",vm:"1",version:"DICOM"},"(0072,0002)":{tag:"(0072,0002)",vr:"SH",name:"HangingProtocolName",vm:"1",version:"DICOM"},"(0072,0004)":{tag:"(0072,0004)",vr:"LO",name:"HangingProtocolDescription",vm:"1",version:"DICOM"},"(0072,0006)":{tag:"(0072,0006)",vr:"CS",name:"HangingProtocolLevel",vm:"1",version:"DICOM"},"(0072,0008)":{tag:"(0072,0008)",vr:"LO",name:"HangingProtocolCreator",vm:"1",version:"DICOM"},"(0072,000A)":{tag:"(0072,000A)",vr:"DT",name:"HangingProtocolCreationDateTime",vm:"1",version:"DICOM"},"(0072,000C)":{tag:"(0072,000C)",vr:"SQ",name:"HangingProtocolDefinitionSequence",vm:"1",version:"DICOM"},"(0072,000E)":{tag:"(0072,000E)",vr:"SQ",name:"HangingProtocolUserIdentificationCodeSequence",vm:"1",version:"DICOM"},"(0072,0010)":{tag:"(0072,0010)",vr:"LO",name:"HangingProtocolUserGroupName",vm:"1",version:"DICOM"},"(0072,0012)":{tag:"(0072,0012)",vr:"SQ",name:"SourceHangingProtocolSequence",vm:"1",version:"DICOM"},"(0072,0014)":{tag:"(0072,0014)",vr:"US",name:"NumberOfPriorsReferenced",vm:"1",version:"DICOM"},"(0072,0020)":{tag:"(0072,0020)",vr:"SQ",name:"ImageSetsSequence",vm:"1",version:"DICOM"},"(0072,0022)":{tag:"(0072,0022)",vr:"SQ",name:"ImageSetSelectorSequence",vm:"1",version:"DICOM"},"(0072,0024)":{tag:"(0072,0024)",vr:"CS",name:"ImageSetSelectorUsageFlag",vm:"1",version:"DICOM"},"(0072,0026)":{tag:"(0072,0026)",vr:"AT",name:"SelectorAttribute",vm:"1",version:"DICOM"},"(0072,0028)":{tag:"(0072,0028)",vr:"US",name:"SelectorValueNumber",vm:"1",version:"DICOM"},"(0072,0030)":{tag:"(0072,0030)",vr:"SQ",name:"TimeBasedImageSetsSequence",vm:"1",version:"DICOM"},"(0072,0032)":{tag:"(0072,0032)",vr:"US",name:"ImageSetNumber",vm:"1",version:"DICOM"},"(0072,0034)":{tag:"(0072,0034)",vr:"CS",name:"ImageSetSelectorCategory",vm:"1",version:"DICOM"},"(0072,0038)":{tag:"(0072,0038)",vr:"US",name:"RelativeTime",vm:"2",version:"DICOM"},"(0072,003A)":{tag:"(0072,003A)",vr:"CS",name:"RelativeTimeUnits",vm:"1",version:"DICOM"},"(0072,003C)":{tag:"(0072,003C)",vr:"SS",name:"AbstractPriorValue",vm:"2",version:"DICOM"},"(0072,003E)":{tag:"(0072,003E)",vr:"SQ",name:"AbstractPriorCodeSequence",vm:"1",version:"DICOM"},"(0072,0040)":{tag:"(0072,0040)",vr:"LO",name:"ImageSetLabel",vm:"1",version:"DICOM"},"(0072,0050)":{tag:"(0072,0050)",vr:"CS",name:"SelectorAttributeVR",vm:"1",version:"DICOM"},"(0072,0052)":{tag:"(0072,0052)",vr:"AT",name:"SelectorSequencePointer",vm:"1-n",version:"DICOM"},"(0072,0054)":{tag:"(0072,0054)",vr:"LO",name:"SelectorSequencePointerPrivateCreator",vm:"1-n",version:"DICOM"},"(0072,0056)":{tag:"(0072,0056)",vr:"LO",name:"SelectorAttributePrivateCreator",vm:"1",version:"DICOM"},"(0072,005E)":{tag:"(0072,005E)",vr:"AE",name:"SelectorAEValue",vm:"1-n",version:"DICOM"},"(0072,005F)":{tag:"(0072,005F)",vr:"AS",name:"SelectorASValue",vm:"1-n",version:"DICOM"},"(0072,0060)":{tag:"(0072,0060)",vr:"AT",name:"SelectorATValue",vm:"1-n",version:"DICOM"},"(0072,0061)":{tag:"(0072,0061)",vr:"DA",name:"SelectorDAValue",vm:"1-n",version:"DICOM"},"(0072,0062)":{tag:"(0072,0062)",vr:"CS",name:"SelectorCSValue",vm:"1-n",version:"DICOM"},"(0072,0063)":{tag:"(0072,0063)",vr:"DT",name:"SelectorDTValue",vm:"1-n",version:"DICOM"},"(0072,0064)":{tag:"(0072,0064)",vr:"IS",name:"SelectorISValue",vm:"1-n",version:"DICOM"},"(0072,0065)":{tag:"(0072,0065)",vr:"OB",name:"SelectorOBValue",vm:"1",version:"DICOM"},"(0072,0066)":{tag:"(0072,0066)",vr:"LO",name:"SelectorLOValue",vm:"1-n",version:"DICOM"},"(0072,0067)":{tag:"(0072,0067)",vr:"OF",name:"SelectorOFValue",vm:"1",version:"DICOM"},"(0072,0068)":{tag:"(0072,0068)",vr:"LT",name:"SelectorLTValue",vm:"1",version:"DICOM"},"(0072,0069)":{tag:"(0072,0069)",vr:"OW",name:"SelectorOWValue",vm:"1",version:"DICOM"},"(0072,006A)":{tag:"(0072,006A)",vr:"PN",name:"SelectorPNValue",vm:"1-n",version:"DICOM"},"(0072,006B)":{tag:"(0072,006B)",vr:"TM",name:"SelectorTMValue",vm:"1-n",version:"DICOM"},"(0072,006C)":{tag:"(0072,006C)",vr:"SH",name:"SelectorSHValue",vm:"1-n",version:"DICOM"},"(0072,006D)":{tag:"(0072,006D)",vr:"UN",name:"SelectorUNValue",vm:"1",version:"DICOM"},"(0072,006E)":{tag:"(0072,006E)",vr:"ST",name:"SelectorSTValue",vm:"1",version:"DICOM"},"(0072,006F)":{tag:"(0072,006F)",vr:"UC",name:"SelectorUCValue",vm:"1-n",version:"DICOM"},"(0072,0070)":{tag:"(0072,0070)",vr:"UT",name:"SelectorUTValue",vm:"1",version:"DICOM"},"(0072,0071)":{tag:"(0072,0071)",vr:"UR",name:"SelectorURValue",vm:"1",version:"DICOM"},"(0072,0072)":{tag:"(0072,0072)",vr:"DS",name:"SelectorDSValue",vm:"1-n",version:"DICOM"},"(0072,0073)":{tag:"(0072,0073)",vr:"OD",name:"SelectorODValue",vm:"1",version:"DICOM"},"(0072,0074)":{tag:"(0072,0074)",vr:"FD",name:"SelectorFDValue",vm:"1-n",version:"DICOM"},"(0072,0075)":{tag:"(0072,0075)",vr:"OL",name:"SelectorOLValue",vm:"1",version:"DICOM"},"(0072,0076)":{tag:"(0072,0076)",vr:"FL",name:"SelectorFLValue",vm:"1-n",version:"DICOM"},"(0072,0078)":{tag:"(0072,0078)",vr:"UL",name:"SelectorULValue",vm:"1-n",version:"DICOM"},"(0072,007A)":{tag:"(0072,007A)",vr:"US",name:"SelectorUSValue",vm:"1-n",version:"DICOM"},"(0072,007C)":{tag:"(0072,007C)",vr:"SL",name:"SelectorSLValue",vm:"1-n",version:"DICOM"},"(0072,007E)":{tag:"(0072,007E)",vr:"SS",name:"SelectorSSValue",vm:"1-n",version:"DICOM"},"(0072,007F)":{tag:"(0072,007F)",vr:"UI",name:"SelectorUIValue",vm:"1-n",version:"DICOM"},"(0072,0080)":{tag:"(0072,0080)",vr:"SQ",name:"SelectorCodeSequenceValue",vm:"1",version:"DICOM"},"(0072,0081)":{tag:"(0072,0081)",vr:"OV",name:"SelectorOVValue",vm:"1",version:"DICOM"},"(0072,0082)":{tag:"(0072,0082)",vr:"SV",name:"SelectorSVValue",vm:"1-n",version:"DICOM"},"(0072,0083)":{tag:"(0072,0083)",vr:"UV",name:"SelectorUVValue",vm:"1-n",version:"DICOM"},"(0072,0100)":{tag:"(0072,0100)",vr:"US",name:"NumberOfScreens",vm:"1",version:"DICOM"},"(0072,0102)":{tag:"(0072,0102)",vr:"SQ",name:"NominalScreenDefinitionSequence",vm:"1",version:"DICOM"},"(0072,0104)":{tag:"(0072,0104)",vr:"US",name:"NumberOfVerticalPixels",vm:"1",version:"DICOM"},"(0072,0106)":{tag:"(0072,0106)",vr:"US",name:"NumberOfHorizontalPixels",vm:"1",version:"DICOM"},"(0072,0108)":{tag:"(0072,0108)",vr:"FD",name:"DisplayEnvironmentSpatialPosition",vm:"4",version:"DICOM"},"(0072,010A)":{tag:"(0072,010A)",vr:"US",name:"ScreenMinimumGrayscaleBitDepth",vm:"1",version:"DICOM"},"(0072,010C)":{tag:"(0072,010C)",vr:"US",name:"ScreenMinimumColorBitDepth",vm:"1",version:"DICOM"},"(0072,010E)":{tag:"(0072,010E)",vr:"US",name:"ApplicationMaximumRepaintTime",vm:"1",version:"DICOM"},"(0072,0200)":{tag:"(0072,0200)",vr:"SQ",name:"DisplaySetsSequence",vm:"1",version:"DICOM"},"(0072,0202)":{tag:"(0072,0202)",vr:"US",name:"DisplaySetNumber",vm:"1",version:"DICOM"},"(0072,0203)":{tag:"(0072,0203)",vr:"LO",name:"DisplaySetLabel",vm:"1",version:"DICOM"},"(0072,0204)":{tag:"(0072,0204)",vr:"US",name:"DisplaySetPresentationGroup",vm:"1",version:"DICOM"},"(0072,0206)":{tag:"(0072,0206)",vr:"LO",name:"DisplaySetPresentationGroupDescription",vm:"1",version:"DICOM"},"(0072,0208)":{tag:"(0072,0208)",vr:"CS",name:"PartialDataDisplayHandling",vm:"1",version:"DICOM"},"(0072,0210)":{tag:"(0072,0210)",vr:"SQ",name:"SynchronizedScrollingSequence",vm:"1",version:"DICOM"},"(0072,0212)":{tag:"(0072,0212)",vr:"US",name:"DisplaySetScrollingGroup",vm:"2-n",version:"DICOM"},"(0072,0214)":{tag:"(0072,0214)",vr:"SQ",name:"NavigationIndicatorSequence",vm:"1",version:"DICOM"},"(0072,0216)":{tag:"(0072,0216)",vr:"US",name:"NavigationDisplaySet",vm:"1",version:"DICOM"},"(0072,0218)":{tag:"(0072,0218)",vr:"US",name:"ReferenceDisplaySets",vm:"1-n",version:"DICOM"},"(0072,0300)":{tag:"(0072,0300)",vr:"SQ",name:"ImageBoxesSequence",vm:"1",version:"DICOM"},"(0072,0302)":{tag:"(0072,0302)",vr:"US",name:"ImageBoxNumber",vm:"1",version:"DICOM"},"(0072,0304)":{tag:"(0072,0304)",vr:"CS",name:"ImageBoxLayoutType",vm:"1",version:"DICOM"},"(0072,0306)":{tag:"(0072,0306)",vr:"US",name:"ImageBoxTileHorizontalDimension",vm:"1",version:"DICOM"},"(0072,0308)":{tag:"(0072,0308)",vr:"US",name:"ImageBoxTileVerticalDimension",vm:"1",version:"DICOM"},"(0072,0310)":{tag:"(0072,0310)",vr:"CS",name:"ImageBoxScrollDirection",vm:"1",version:"DICOM"},"(0072,0312)":{tag:"(0072,0312)",vr:"CS",name:"ImageBoxSmallScrollType",vm:"1",version:"DICOM"},"(0072,0314)":{tag:"(0072,0314)",vr:"US",name:"ImageBoxSmallScrollAmount",vm:"1",version:"DICOM"},"(0072,0316)":{tag:"(0072,0316)",vr:"CS",name:"ImageBoxLargeScrollType",vm:"1",version:"DICOM"},"(0072,0318)":{tag:"(0072,0318)",vr:"US",name:"ImageBoxLargeScrollAmount",vm:"1",version:"DICOM"},"(0072,0320)":{tag:"(0072,0320)",vr:"US",name:"ImageBoxOverlapPriority",vm:"1",version:"DICOM"},"(0072,0330)":{tag:"(0072,0330)",vr:"FD",name:"CineRelativeToRealTime",vm:"1",version:"DICOM"},"(0072,0400)":{tag:"(0072,0400)",vr:"SQ",name:"FilterOperationsSequence",vm:"1",version:"DICOM"},"(0072,0402)":{tag:"(0072,0402)",vr:"CS",name:"FilterByCategory",vm:"1",version:"DICOM"},"(0072,0404)":{tag:"(0072,0404)",vr:"CS",name:"FilterByAttributePresence",vm:"1",version:"DICOM"},"(0072,0406)":{tag:"(0072,0406)",vr:"CS",name:"FilterByOperator",vm:"1",version:"DICOM"},"(0072,0420)":{tag:"(0072,0420)",vr:"US",name:"StructuredDisplayBackgroundCIELabValue",vm:"3",version:"DICOM"},"(0072,0421)":{tag:"(0072,0421)",vr:"US",name:"EmptyImageBoxCIELabValue",vm:"3",version:"DICOM"},"(0072,0422)":{tag:"(0072,0422)",vr:"SQ",name:"StructuredDisplayImageBoxSequence",vm:"1",version:"DICOM"},"(0072,0424)":{tag:"(0072,0424)",vr:"SQ",name:"StructuredDisplayTextBoxSequence",vm:"1",version:"DICOM"},"(0072,0427)":{tag:"(0072,0427)",vr:"SQ",name:"ReferencedFirstFrameSequence",vm:"1",version:"DICOM"},"(0072,0430)":{tag:"(0072,0430)",vr:"SQ",name:"ImageBoxSynchronizationSequence",vm:"1",version:"DICOM"},"(0072,0432)":{tag:"(0072,0432)",vr:"US",name:"SynchronizedImageBoxList",vm:"2-n",version:"DICOM"},"(0072,0434)":{tag:"(0072,0434)",vr:"CS",name:"TypeOfSynchronization",vm:"1",version:"DICOM"},"(0072,0500)":{tag:"(0072,0500)",vr:"CS",name:"BlendingOperationType",vm:"1",version:"DICOM"},"(0072,0510)":{tag:"(0072,0510)",vr:"CS",name:"ReformattingOperationType",vm:"1",version:"DICOM"},"(0072,0512)":{tag:"(0072,0512)",vr:"FD",name:"ReformattingThickness",vm:"1",version:"DICOM"},"(0072,0514)":{tag:"(0072,0514)",vr:"FD",name:"ReformattingInterval",vm:"1",version:"DICOM"},"(0072,0516)":{tag:"(0072,0516)",vr:"CS",name:"ReformattingOperationInitialViewDirection",vm:"1",version:"DICOM"},"(0072,0520)":{tag:"(0072,0520)",vr:"CS",name:"ThreeDRenderingType",vm:"1-n",version:"DICOM"},"(0072,0600)":{tag:"(0072,0600)",vr:"SQ",name:"SortingOperationsSequence",vm:"1",version:"DICOM"},"(0072,0602)":{tag:"(0072,0602)",vr:"CS",name:"SortByCategory",vm:"1",version:"DICOM"},"(0072,0604)":{tag:"(0072,0604)",vr:"CS",name:"SortingDirection",vm:"1",version:"DICOM"},"(0072,0700)":{tag:"(0072,0700)",vr:"CS",name:"DisplaySetPatientOrientation",vm:"2",version:"DICOM"},"(0072,0702)":{tag:"(0072,0702)",vr:"CS",name:"VOIType",vm:"1",version:"DICOM"},"(0072,0704)":{tag:"(0072,0704)",vr:"CS",name:"PseudoColorType",vm:"1",version:"DICOM"},"(0072,0705)":{tag:"(0072,0705)",vr:"SQ",name:"PseudoColorPaletteInstanceReferenceSequence",vm:"1",version:"DICOM"},"(0072,0706)":{tag:"(0072,0706)",vr:"CS",name:"ShowGrayscaleInverted",vm:"1",version:"DICOM"},"(0072,0710)":{tag:"(0072,0710)",vr:"CS",name:"ShowImageTrueSizeFlag",vm:"1",version:"DICOM"},"(0072,0712)":{tag:"(0072,0712)",vr:"CS",name:"ShowGraphicAnnotationFlag",vm:"1",version:"DICOM"},"(0072,0714)":{tag:"(0072,0714)",vr:"CS",name:"ShowPatientDemographicsFlag",vm:"1",version:"DICOM"},"(0072,0716)":{tag:"(0072,0716)",vr:"CS",name:"ShowAcquisitionTechniquesFlag",vm:"1",version:"DICOM"},"(0072,0717)":{tag:"(0072,0717)",vr:"CS",name:"DisplaySetHorizontalJustification",vm:"1",version:"DICOM"},"(0072,0718)":{tag:"(0072,0718)",vr:"CS",name:"DisplaySetVerticalJustification",vm:"1",version:"DICOM"},"(0074,0120)":{tag:"(0074,0120)",vr:"FD",name:"ContinuationStartMeterset",vm:"1",version:"DICOM"},"(0074,0121)":{tag:"(0074,0121)",vr:"FD",name:"ContinuationEndMeterset",vm:"1",version:"DICOM"},"(0074,1000)":{tag:"(0074,1000)",vr:"CS",name:"ProcedureStepState",vm:"1",version:"DICOM"},"(0074,1002)":{tag:"(0074,1002)",vr:"SQ",name:"ProcedureStepProgressInformationSequence",vm:"1",version:"DICOM"},"(0074,1004)":{tag:"(0074,1004)",vr:"DS",name:"ProcedureStepProgress",vm:"1",version:"DICOM"},"(0074,1006)":{tag:"(0074,1006)",vr:"ST",name:"ProcedureStepProgressDescription",vm:"1",version:"DICOM"},"(0074,1007)":{tag:"(0074,1007)",vr:"SQ",name:"ProcedureStepProgressParametersSequence",vm:"1",version:"DICOM"},"(0074,1008)":{tag:"(0074,1008)",vr:"SQ",name:"ProcedureStepCommunicationsURISequence",vm:"1",version:"DICOM"},"(0074,100A)":{tag:"(0074,100A)",vr:"UR",name:"ContactURI",vm:"1",version:"DICOM"},"(0074,100C)":{tag:"(0074,100C)",vr:"LO",name:"ContactDisplayName",vm:"1",version:"DICOM"},"(0074,100E)":{tag:"(0074,100E)",vr:"SQ",name:"ProcedureStepDiscontinuationReasonCodeSequence",vm:"1",version:"DICOM"},"(0074,1020)":{tag:"(0074,1020)",vr:"SQ",name:"BeamTaskSequence",vm:"1",version:"DICOM"},"(0074,1022)":{tag:"(0074,1022)",vr:"CS",name:"BeamTaskType",vm:"1",version:"DICOM"},"(0074,1025)":{tag:"(0074,1025)",vr:"CS",name:"AutosequenceFlag",vm:"1",version:"DICOM"},"(0074,1026)":{tag:"(0074,1026)",vr:"FD",name:"TableTopVerticalAdjustedPosition",vm:"1",version:"DICOM"},"(0074,1027)":{tag:"(0074,1027)",vr:"FD",name:"TableTopLongitudinalAdjustedPosition",vm:"1",version:"DICOM"},"(0074,1028)":{tag:"(0074,1028)",vr:"FD",name:"TableTopLateralAdjustedPosition",vm:"1",version:"DICOM"},"(0074,102A)":{tag:"(0074,102A)",vr:"FD",name:"PatientSupportAdjustedAngle",vm:"1",version:"DICOM"},"(0074,102B)":{tag:"(0074,102B)",vr:"FD",name:"TableTopEccentricAdjustedAngle",vm:"1",version:"DICOM"},"(0074,102C)":{tag:"(0074,102C)",vr:"FD",name:"TableTopPitchAdjustedAngle",vm:"1",version:"DICOM"},"(0074,102D)":{tag:"(0074,102D)",vr:"FD",name:"TableTopRollAdjustedAngle",vm:"1",version:"DICOM"},"(0074,1030)":{tag:"(0074,1030)",vr:"SQ",name:"DeliveryVerificationImageSequence",vm:"1",version:"DICOM"},"(0074,1032)":{tag:"(0074,1032)",vr:"CS",name:"VerificationImageTiming",vm:"1",version:"DICOM"},"(0074,1034)":{tag:"(0074,1034)",vr:"CS",name:"DoubleExposureFlag",vm:"1",version:"DICOM"},"(0074,1036)":{tag:"(0074,1036)",vr:"CS",name:"DoubleExposureOrdering",vm:"1",version:"DICOM"},"(0074,1040)":{tag:"(0074,1040)",vr:"SQ",name:"RelatedReferenceRTImageSequence",vm:"1",version:"DICOM"},"(0074,1042)":{tag:"(0074,1042)",vr:"SQ",name:"GeneralMachineVerificationSequence",vm:"1",version:"DICOM"},"(0074,1044)":{tag:"(0074,1044)",vr:"SQ",name:"ConventionalMachineVerificationSequence",vm:"1",version:"DICOM"},"(0074,1046)":{tag:"(0074,1046)",vr:"SQ",name:"IonMachineVerificationSequence",vm:"1",version:"DICOM"},"(0074,1048)":{tag:"(0074,1048)",vr:"SQ",name:"FailedAttributesSequence",vm:"1",version:"DICOM"},"(0074,104A)":{tag:"(0074,104A)",vr:"SQ",name:"OverriddenAttributesSequence",vm:"1",version:"DICOM"},"(0074,104C)":{tag:"(0074,104C)",vr:"SQ",name:"ConventionalControlPointVerificationSequence",vm:"1",version:"DICOM"},"(0074,104E)":{tag:"(0074,104E)",vr:"SQ",name:"IonControlPointVerificationSequence",vm:"1",version:"DICOM"},"(0074,1050)":{tag:"(0074,1050)",vr:"SQ",name:"AttributeOccurrenceSequence",vm:"1",version:"DICOM"},"(0074,1052)":{tag:"(0074,1052)",vr:"AT",name:"AttributeOccurrencePointer",vm:"1",version:"DICOM"},"(0074,1054)":{tag:"(0074,1054)",vr:"UL",name:"AttributeItemSelector",vm:"1",version:"DICOM"},"(0074,1056)":{tag:"(0074,1056)",vr:"LO",name:"AttributeOccurrencePrivateCreator",vm:"1",version:"DICOM"},"(0074,1057)":{tag:"(0074,1057)",vr:"IS",name:"SelectorSequencePointerItems",vm:"1-n",version:"DICOM"},"(0074,1200)":{tag:"(0074,1200)",vr:"CS",name:"ScheduledProcedureStepPriority",vm:"1",version:"DICOM"},"(0074,1202)":{tag:"(0074,1202)",vr:"LO",name:"WorklistLabel",vm:"1",version:"DICOM"},"(0074,1204)":{tag:"(0074,1204)",vr:"LO",name:"ProcedureStepLabel",vm:"1",version:"DICOM"},"(0074,1210)":{tag:"(0074,1210)",vr:"SQ",name:"ScheduledProcessingParametersSequence",vm:"1",version:"DICOM"},"(0074,1212)":{tag:"(0074,1212)",vr:"SQ",name:"PerformedProcessingParametersSequence",vm:"1",version:"DICOM"},"(0074,1216)":{tag:"(0074,1216)",vr:"SQ",name:"UnifiedProcedureStepPerformedProcedureSequence",vm:"1",version:"DICOM"},"(0074,1224)":{tag:"(0074,1224)",vr:"SQ",name:"ReplacedProcedureStepSequence",vm:"1",version:"DICOM"},"(0074,1230)":{tag:"(0074,1230)",vr:"LO",name:"DeletionLock",vm:"1",version:"DICOM"},"(0074,1234)":{tag:"(0074,1234)",vr:"AE",name:"ReceivingAE",vm:"1",version:"DICOM"},"(0074,1236)":{tag:"(0074,1236)",vr:"AE",name:"RequestingAE",vm:"1",version:"DICOM"},"(0074,1238)":{tag:"(0074,1238)",vr:"LT",name:"ReasonForCancellation",vm:"1",version:"DICOM"},"(0074,1242)":{tag:"(0074,1242)",vr:"CS",name:"SCPStatus",vm:"1",version:"DICOM"},"(0074,1244)":{tag:"(0074,1244)",vr:"CS",name:"SubscriptionListStatus",vm:"1",version:"DICOM"},"(0074,1246)":{tag:"(0074,1246)",vr:"CS",name:"UnifiedProcedureStepListStatus",vm:"1",version:"DICOM"},"(0074,1324)":{tag:"(0074,1324)",vr:"UL",name:"BeamOrderIndex",vm:"1",version:"DICOM"},"(0074,1338)":{tag:"(0074,1338)",vr:"FD",name:"DoubleExposureMeterset",vm:"1",version:"DICOM"},"(0074,133A)":{tag:"(0074,133A)",vr:"FD",name:"DoubleExposureFieldDelta",vm:"4",version:"DICOM"},"(0074,1401)":{tag:"(0074,1401)",vr:"SQ",name:"BrachyTaskSequence",vm:"1",version:"DICOM"},"(0074,1402)":{tag:"(0074,1402)",vr:"DS",name:"ContinuationStartTotalReferenceAirKerma",vm:"1",version:"DICOM"},"(0074,1403)":{tag:"(0074,1403)",vr:"DS",name:"ContinuationEndTotalReferenceAirKerma",vm:"1",version:"DICOM"},"(0074,1404)":{tag:"(0074,1404)",vr:"IS",name:"ContinuationPulseNumber",vm:"1",version:"DICOM"},"(0074,1405)":{tag:"(0074,1405)",vr:"SQ",name:"ChannelDeliveryOrderSequence",vm:"1",version:"DICOM"},"(0074,1406)":{tag:"(0074,1406)",vr:"IS",name:"ReferencedChannelNumber",vm:"1",version:"DICOM"},"(0074,1407)":{tag:"(0074,1407)",vr:"DS",name:"StartCumulativeTimeWeight",vm:"1",version:"DICOM"},"(0074,1408)":{tag:"(0074,1408)",vr:"DS",name:"EndCumulativeTimeWeight",vm:"1",version:"DICOM"},"(0074,1409)":{tag:"(0074,1409)",vr:"SQ",name:"OmittedChannelSequence",vm:"1",version:"DICOM"},"(0074,140A)":{tag:"(0074,140A)",vr:"CS",name:"ReasonForChannelOmission",vm:"1",version:"DICOM"},"(0074,140B)":{tag:"(0074,140B)",vr:"LO",name:"ReasonForChannelOmissionDescription",vm:"1",version:"DICOM"},"(0074,140C)":{tag:"(0074,140C)",vr:"IS",name:"ChannelDeliveryOrderIndex",vm:"1",version:"DICOM"},"(0074,140D)":{tag:"(0074,140D)",vr:"SQ",name:"ChannelDeliveryContinuationSequence",vm:"1",version:"DICOM"},"(0074,140E)":{tag:"(0074,140E)",vr:"SQ",name:"OmittedApplicationSetupSequence",vm:"1",version:"DICOM"},"(0076,0001)":{tag:"(0076,0001)",vr:"LO",name:"ImplantAssemblyTemplateName",vm:"1",version:"DICOM"},"(0076,0003)":{tag:"(0076,0003)",vr:"LO",name:"ImplantAssemblyTemplateIssuer",vm:"1",version:"DICOM"},"(0076,0006)":{tag:"(0076,0006)",vr:"LO",name:"ImplantAssemblyTemplateVersion",vm:"1",version:"DICOM"},"(0076,0008)":{tag:"(0076,0008)",vr:"SQ",name:"ReplacedImplantAssemblyTemplateSequence",vm:"1",version:"DICOM"},"(0076,000A)":{tag:"(0076,000A)",vr:"CS",name:"ImplantAssemblyTemplateType",vm:"1",version:"DICOM"},"(0076,000C)":{tag:"(0076,000C)",vr:"SQ",name:"OriginalImplantAssemblyTemplateSequence",vm:"1",version:"DICOM"},"(0076,000E)":{tag:"(0076,000E)",vr:"SQ",name:"DerivationImplantAssemblyTemplateSequence",vm:"1",version:"DICOM"},"(0076,0010)":{tag:"(0076,0010)",vr:"SQ",name:"ImplantAssemblyTemplateTargetAnatomySequence",vm:"1",version:"DICOM"},"(0076,0020)":{tag:"(0076,0020)",vr:"SQ",name:"ProcedureTypeCodeSequence",vm:"1",version:"DICOM"},"(0076,0030)":{tag:"(0076,0030)",vr:"LO",name:"SurgicalTechnique",vm:"1",version:"DICOM"},"(0076,0032)":{tag:"(0076,0032)",vr:"SQ",name:"ComponentTypesSequence",vm:"1",version:"DICOM"},"(0076,0034)":{tag:"(0076,0034)",vr:"CS",name:"ComponentTypeCodeSequence",vm:"1",version:"DICOM"},"(0076,0036)":{tag:"(0076,0036)",vr:"CS",name:"ExclusiveComponentType",vm:"1",version:"DICOM"},"(0076,0038)":{tag:"(0076,0038)",vr:"CS",name:"MandatoryComponentType",vm:"1",version:"DICOM"},"(0076,0040)":{tag:"(0076,0040)",vr:"SQ",name:"ComponentSequence",vm:"1",version:"DICOM"},"(0076,0055)":{tag:"(0076,0055)",vr:"US",name:"ComponentID",vm:"1",version:"DICOM"},"(0076,0060)":{tag:"(0076,0060)",vr:"SQ",name:"ComponentAssemblySequence",vm:"1",version:"DICOM"},"(0076,0070)":{tag:"(0076,0070)",vr:"US",name:"Component1ReferencedID",vm:"1",version:"DICOM"},"(0076,0080)":{tag:"(0076,0080)",vr:"US",name:"Component1ReferencedMatingFeatureSetID",vm:"1",version:"DICOM"},"(0076,0090)":{tag:"(0076,0090)",vr:"US",name:"Component1ReferencedMatingFeatureID",vm:"1",version:"DICOM"},"(0076,00A0)":{tag:"(0076,00A0)",vr:"US",name:"Component2ReferencedID",vm:"1",version:"DICOM"},"(0076,00B0)":{tag:"(0076,00B0)",vr:"US",name:"Component2ReferencedMatingFeatureSetID",vm:"1",version:"DICOM"},"(0076,00C0)":{tag:"(0076,00C0)",vr:"US",name:"Component2ReferencedMatingFeatureID",vm:"1",version:"DICOM"},"(0078,0001)":{tag:"(0078,0001)",vr:"LO",name:"ImplantTemplateGroupName",vm:"1",version:"DICOM"},"(0078,0010)":{tag:"(0078,0010)",vr:"ST",name:"ImplantTemplateGroupDescription",vm:"1",version:"DICOM"},"(0078,0020)":{tag:"(0078,0020)",vr:"LO",name:"ImplantTemplateGroupIssuer",vm:"1",version:"DICOM"},"(0078,0024)":{tag:"(0078,0024)",vr:"LO",name:"ImplantTemplateGroupVersion",vm:"1",version:"DICOM"},"(0078,0026)":{tag:"(0078,0026)",vr:"SQ",name:"ReplacedImplantTemplateGroupSequence",vm:"1",version:"DICOM"},"(0078,0028)":{tag:"(0078,0028)",vr:"SQ",name:"ImplantTemplateGroupTargetAnatomySequence",vm:"1",version:"DICOM"},"(0078,002A)":{tag:"(0078,002A)",vr:"SQ",name:"ImplantTemplateGroupMembersSequence",vm:"1",version:"DICOM"},"(0078,002E)":{tag:"(0078,002E)",vr:"US",name:"ImplantTemplateGroupMemberID",vm:"1",version:"DICOM"},"(0078,0050)":{tag:"(0078,0050)",vr:"FD",name:"ThreeDImplantTemplateGroupMemberMatchingPoint",vm:"3",version:"DICOM"},"(0078,0060)":{tag:"(0078,0060)",vr:"FD",name:"ThreeDImplantTemplateGroupMemberMatchingAxes",vm:"9",version:"DICOM"},"(0078,0070)":{tag:"(0078,0070)",vr:"SQ",name:"ImplantTemplateGroupMemberMatching2DCoordinatesSequence",vm:"1",version:"DICOM"},"(0078,0090)":{tag:"(0078,0090)",vr:"FD",name:"TwoDImplantTemplateGroupMemberMatchingPoint",vm:"2",version:"DICOM"},"(0078,00A0)":{tag:"(0078,00A0)",vr:"FD",name:"TwoDImplantTemplateGroupMemberMatchingAxes",vm:"4",version:"DICOM"},"(0078,00B0)":{tag:"(0078,00B0)",vr:"SQ",name:"ImplantTemplateGroupVariationDimensionSequence",vm:"1",version:"DICOM"},"(0078,00B2)":{tag:"(0078,00B2)",vr:"LO",name:"ImplantTemplateGroupVariationDimensionName",vm:"1",version:"DICOM"},"(0078,00B4)":{tag:"(0078,00B4)",vr:"SQ",name:"ImplantTemplateGroupVariationDimensionRankSequence",vm:"1",version:"DICOM"},"(0078,00B6)":{tag:"(0078,00B6)",vr:"US",name:"ReferencedImplantTemplateGroupMemberID",vm:"1",version:"DICOM"},"(0078,00B8)":{tag:"(0078,00B8)",vr:"US",name:"ImplantTemplateGroupVariationDimensionRank",vm:"1",version:"DICOM"},"(0080,0001)":{tag:"(0080,0001)",vr:"SQ",name:"SurfaceScanAcquisitionTypeCodeSequence",vm:"1",version:"DICOM"},"(0080,0002)":{tag:"(0080,0002)",vr:"SQ",name:"SurfaceScanModeCodeSequence",vm:"1",version:"DICOM"},"(0080,0003)":{tag:"(0080,0003)",vr:"SQ",name:"RegistrationMethodCodeSequence",vm:"1",version:"DICOM"},"(0080,0004)":{tag:"(0080,0004)",vr:"FD",name:"ShotDurationTime",vm:"1",version:"DICOM"},"(0080,0005)":{tag:"(0080,0005)",vr:"FD",name:"ShotOffsetTime",vm:"1",version:"DICOM"},"(0080,0006)":{tag:"(0080,0006)",vr:"US",name:"SurfacePointPresentationValueData",vm:"1-n",version:"DICOM"},"(0080,0007)":{tag:"(0080,0007)",vr:"US",name:"SurfacePointColorCIELabValueData",vm:"3-3n",version:"DICOM"},"(0080,0008)":{tag:"(0080,0008)",vr:"SQ",name:"UVMappingSequence",vm:"1",version:"DICOM"},"(0080,0009)":{tag:"(0080,0009)",vr:"SH",name:"TextureLabel",vm:"1",version:"DICOM"},"(0080,0010)":{tag:"(0080,0010)",vr:"OF",name:"UValueData",vm:"1-n",version:"DICOM"},"(0080,0011)":{tag:"(0080,0011)",vr:"OF",name:"VValueData",vm:"1-n",version:"DICOM"},"(0080,0012)":{tag:"(0080,0012)",vr:"SQ",name:"ReferencedTextureSequence",vm:"1",version:"DICOM"},"(0080,0013)":{tag:"(0080,0013)",vr:"SQ",name:"ReferencedSurfaceDataSequence",vm:"1",version:"DICOM"},"(0082,0001)":{tag:"(0082,0001)",vr:"CS",name:"AssessmentSummary",vm:"1",version:"DICOM"},"(0082,0003)":{tag:"(0082,0003)",vr:"UT",name:"AssessmentSummaryDescription",vm:"1",version:"DICOM"},"(0082,0004)":{tag:"(0082,0004)",vr:"SQ",name:"AssessedSOPInstanceSequence",vm:"1",version:"DICOM"},"(0082,0005)":{tag:"(0082,0005)",vr:"SQ",name:"ReferencedComparisonSOPInstanceSequence",vm:"1",version:"DICOM"},"(0082,0006)":{tag:"(0082,0006)",vr:"UL",name:"NumberOfAssessmentObservations",vm:"1",version:"DICOM"},"(0082,0007)":{tag:"(0082,0007)",vr:"SQ",name:"AssessmentObservationsSequence",vm:"1",version:"DICOM"},"(0082,0008)":{tag:"(0082,0008)",vr:"CS",name:"ObservationSignificance",vm:"1",version:"DICOM"},"(0082,000A)":{tag:"(0082,000A)",vr:"UT",name:"ObservationDescription",vm:"1",version:"DICOM"},"(0082,000C)":{tag:"(0082,000C)",vr:"SQ",name:"StructuredConstraintObservationSequence",vm:"1",version:"DICOM"},"(0082,0010)":{tag:"(0082,0010)",vr:"SQ",name:"AssessedAttributeValueSequence",vm:"1",version:"DICOM"},"(0082,0016)":{tag:"(0082,0016)",vr:"LO",name:"AssessmentSetID",vm:"1",version:"DICOM"},"(0082,0017)":{tag:"(0082,0017)",vr:"SQ",name:"AssessmentRequesterSequence",vm:"1",version:"DICOM"},"(0082,0018)":{tag:"(0082,0018)",vr:"LO",name:"SelectorAttributeName",vm:"1",version:"DICOM"},"(0082,0019)":{tag:"(0082,0019)",vr:"LO",name:"SelectorAttributeKeyword",vm:"1",version:"DICOM"},"(0082,0021)":{tag:"(0082,0021)",vr:"SQ",name:"AssessmentTypeCodeSequence",vm:"1",version:"DICOM"},"(0082,0022)":{tag:"(0082,0022)",vr:"SQ",name:"ObservationBasisCodeSequence",vm:"1",version:"DICOM"},"(0082,0023)":{tag:"(0082,0023)",vr:"LO",name:"AssessmentLabel",vm:"1",version:"DICOM"},"(0082,0032)":{tag:"(0082,0032)",vr:"CS",name:"ConstraintType",vm:"1",version:"DICOM"},"(0082,0033)":{tag:"(0082,0033)",vr:"UT",name:"SpecificationSelectionGuidance",vm:"1",version:"DICOM"},"(0082,0034)":{tag:"(0082,0034)",vr:"SQ",name:"ConstraintValueSequence",vm:"1",version:"DICOM"},"(0082,0035)":{tag:"(0082,0035)",vr:"SQ",name:"RecommendedDefaultValueSequence",vm:"1",version:"DICOM"},"(0082,0036)":{tag:"(0082,0036)",vr:"CS",name:"ConstraintViolationSignificance",vm:"1",version:"DICOM"},"(0082,0037)":{tag:"(0082,0037)",vr:"UT",name:"ConstraintViolationCondition",vm:"1",version:"DICOM"},"(0082,0038)":{tag:"(0082,0038)",vr:"CS",name:"ModifiableConstraintFlag",vm:"1",version:"DICOM"},"(0088,0130)":{tag:"(0088,0130)",vr:"SH",name:"StorageMediaFileSetID",vm:"1",version:"DICOM"},"(0088,0140)":{tag:"(0088,0140)",vr:"UI",name:"StorageMediaFileSetUID",vm:"1",version:"DICOM"},"(0088,0200)":{tag:"(0088,0200)",vr:"SQ",name:"IconImageSequence",vm:"1",version:"DICOM"},"(0100,0410)":{tag:"(0100,0410)",vr:"CS",name:"SOPInstanceStatus",vm:"1",version:"DICOM"},"(0100,0420)":{tag:"(0100,0420)",vr:"DT",name:"SOPAuthorizationDateTime",vm:"1",version:"DICOM"},"(0100,0424)":{tag:"(0100,0424)",vr:"LT",name:"SOPAuthorizationComment",vm:"1",version:"DICOM"},"(0100,0426)":{tag:"(0100,0426)",vr:"LO",name:"AuthorizationEquipmentCertificationNumber",vm:"1",version:"DICOM"},"(0400,0005)":{tag:"(0400,0005)",vr:"US",name:"MACIDNumber",vm:"1",version:"DICOM"},"(0400,0010)":{tag:"(0400,0010)",vr:"UI",name:"MACCalculationTransferSyntaxUID",vm:"1",version:"DICOM"},"(0400,0015)":{tag:"(0400,0015)",vr:"CS",name:"MACAlgorithm",vm:"1",version:"DICOM"},"(0400,0020)":{tag:"(0400,0020)",vr:"AT",name:"DataElementsSigned",vm:"1-n",version:"DICOM"},"(0400,0100)":{tag:"(0400,0100)",vr:"UI",name:"DigitalSignatureUID",vm:"1",version:"DICOM"},"(0400,0105)":{tag:"(0400,0105)",vr:"DT",name:"DigitalSignatureDateTime",vm:"1",version:"DICOM"},"(0400,0110)":{tag:"(0400,0110)",vr:"CS",name:"CertificateType",vm:"1",version:"DICOM"},"(0400,0115)":{tag:"(0400,0115)",vr:"OB",name:"CertificateOfSigner",vm:"1",version:"DICOM"},"(0400,0120)":{tag:"(0400,0120)",vr:"OB",name:"Signature",vm:"1",version:"DICOM"},"(0400,0305)":{tag:"(0400,0305)",vr:"CS",name:"CertifiedTimestampType",vm:"1",version:"DICOM"},"(0400,0310)":{tag:"(0400,0310)",vr:"OB",name:"CertifiedTimestamp",vm:"1",version:"DICOM"},"(0400,0401)":{tag:"(0400,0401)",vr:"SQ",name:"DigitalSignaturePurposeCodeSequence",vm:"1",version:"DICOM"},"(0400,0402)":{tag:"(0400,0402)",vr:"SQ",name:"ReferencedDigitalSignatureSequence",vm:"1",version:"DICOM"},"(0400,0403)":{tag:"(0400,0403)",vr:"SQ",name:"ReferencedSOPInstanceMACSequence",vm:"1",version:"DICOM"},"(0400,0404)":{tag:"(0400,0404)",vr:"OB",name:"MAC",vm:"1",version:"DICOM"},"(0400,0500)":{tag:"(0400,0500)",vr:"SQ",name:"EncryptedAttributesSequence",vm:"1",version:"DICOM"},"(0400,0510)":{tag:"(0400,0510)",vr:"UI",name:"EncryptedContentTransferSyntaxUID",vm:"1",version:"DICOM"},"(0400,0520)":{tag:"(0400,0520)",vr:"OB",name:"EncryptedContent",vm:"1",version:"DICOM"},"(0400,0550)":{tag:"(0400,0550)",vr:"SQ",name:"ModifiedAttributesSequence",vm:"1",version:"DICOM"},"(0400,0551)":{tag:"(0400,0551)",vr:"SQ",name:"NonconformingModifiedAttributesSequence",vm:"1",version:"DICOM"},"(0400,0552)":{tag:"(0400,0552)",vr:"OB",name:"NonconformingDataElementValue",vm:"1",version:"DICOM"},"(0400,0561)":{tag:"(0400,0561)",vr:"SQ",name:"OriginalAttributesSequence",vm:"1",version:"DICOM"},"(0400,0562)":{tag:"(0400,0562)",vr:"DT",name:"AttributeModificationDateTime",vm:"1",version:"DICOM"},"(0400,0563)":{tag:"(0400,0563)",vr:"LO",name:"ModifyingSystem",vm:"1",version:"DICOM"},"(0400,0564)":{tag:"(0400,0564)",vr:"LO",name:"SourceOfPreviousValues",vm:"1",version:"DICOM"},"(0400,0565)":{tag:"(0400,0565)",vr:"CS",name:"ReasonForTheAttributeModification",vm:"1",version:"DICOM"},"(0400,0600)":{tag:"(0400,0600)",vr:"CS",name:"InstanceOriginStatus",vm:"1",version:"DICOM"},"(2000,0010)":{tag:"(2000,0010)",vr:"IS",name:"NumberOfCopies",vm:"1",version:"DICOM"},"(2000,001E)":{tag:"(2000,001E)",vr:"SQ",name:"PrinterConfigurationSequence",vm:"1",version:"DICOM"},"(2000,0020)":{tag:"(2000,0020)",vr:"CS",name:"PrintPriority",vm:"1",version:"DICOM"},"(2000,0030)":{tag:"(2000,0030)",vr:"CS",name:"MediumType",vm:"1",version:"DICOM"},"(2000,0040)":{tag:"(2000,0040)",vr:"CS",name:"FilmDestination",vm:"1",version:"DICOM"},"(2000,0050)":{tag:"(2000,0050)",vr:"LO",name:"FilmSessionLabel",vm:"1",version:"DICOM"},"(2000,0060)":{tag:"(2000,0060)",vr:"IS",name:"MemoryAllocation",vm:"1",version:"DICOM"},"(2000,0061)":{tag:"(2000,0061)",vr:"IS",name:"MaximumMemoryAllocation",vm:"1",version:"DICOM"},"(2000,00A0)":{tag:"(2000,00A0)",vr:"US",name:"MemoryBitDepth",vm:"1",version:"DICOM"},"(2000,00A1)":{tag:"(2000,00A1)",vr:"US",name:"PrintingBitDepth",vm:"1",version:"DICOM"},"(2000,00A2)":{tag:"(2000,00A2)",vr:"SQ",name:"MediaInstalledSequence",vm:"1",version:"DICOM"},"(2000,00A4)":{tag:"(2000,00A4)",vr:"SQ",name:"OtherMediaAvailableSequence",vm:"1",version:"DICOM"},"(2000,00A8)":{tag:"(2000,00A8)",vr:"SQ",name:"SupportedImageDisplayFormatsSequence",vm:"1",version:"DICOM"},"(2000,0500)":{tag:"(2000,0500)",vr:"SQ",name:"ReferencedFilmBoxSequence",vm:"1",version:"DICOM"},"(2010,0010)":{tag:"(2010,0010)",vr:"ST",name:"ImageDisplayFormat",vm:"1",version:"DICOM"},"(2010,0030)":{tag:"(2010,0030)",vr:"CS",name:"AnnotationDisplayFormatID",vm:"1",version:"DICOM"},"(2010,0040)":{tag:"(2010,0040)",vr:"CS",name:"FilmOrientation",vm:"1",version:"DICOM"},"(2010,0050)":{tag:"(2010,0050)",vr:"CS",name:"FilmSizeID",vm:"1",version:"DICOM"},"(2010,0052)":{tag:"(2010,0052)",vr:"CS",name:"PrinterResolutionID",vm:"1",version:"DICOM"},"(2010,0054)":{tag:"(2010,0054)",vr:"CS",name:"DefaultPrinterResolutionID",vm:"1",version:"DICOM"},"(2010,0060)":{tag:"(2010,0060)",vr:"CS",name:"MagnificationType",vm:"1",version:"DICOM"},"(2010,0080)":{tag:"(2010,0080)",vr:"CS",name:"SmoothingType",vm:"1",version:"DICOM"},"(2010,00A6)":{tag:"(2010,00A6)",vr:"CS",name:"DefaultMagnificationType",vm:"1",version:"DICOM"},"(2010,00A7)":{tag:"(2010,00A7)",vr:"CS",name:"OtherMagnificationTypesAvailable",vm:"1-n",version:"DICOM"},"(2010,00A8)":{tag:"(2010,00A8)",vr:"CS",name:"DefaultSmoothingType",vm:"1",version:"DICOM"},"(2010,00A9)":{tag:"(2010,00A9)",vr:"CS",name:"OtherSmoothingTypesAvailable",vm:"1-n",version:"DICOM"},"(2010,0100)":{tag:"(2010,0100)",vr:"CS",name:"BorderDensity",vm:"1",version:"DICOM"},"(2010,0110)":{tag:"(2010,0110)",vr:"CS",name:"EmptyImageDensity",vm:"1",version:"DICOM"},"(2010,0120)":{tag:"(2010,0120)",vr:"US",name:"MinDensity",vm:"1",version:"DICOM"},"(2010,0130)":{tag:"(2010,0130)",vr:"US",name:"MaxDensity",vm:"1",version:"DICOM"},"(2010,0140)":{tag:"(2010,0140)",vr:"CS",name:"Trim",vm:"1",version:"DICOM"},"(2010,0150)":{tag:"(2010,0150)",vr:"ST",name:"ConfigurationInformation",vm:"1",version:"DICOM"},"(2010,0152)":{tag:"(2010,0152)",vr:"LT",name:"ConfigurationInformationDescription",vm:"1",version:"DICOM"},"(2010,0154)":{tag:"(2010,0154)",vr:"IS",name:"MaximumCollatedFilms",vm:"1",version:"DICOM"},"(2010,015E)":{tag:"(2010,015E)",vr:"US",name:"Illumination",vm:"1",version:"DICOM"},"(2010,0160)":{tag:"(2010,0160)",vr:"US",name:"ReflectedAmbientLight",vm:"1",version:"DICOM"},"(2010,0376)":{tag:"(2010,0376)",vr:"DS",name:"PrinterPixelSpacing",vm:"2",version:"DICOM"},"(2010,0500)":{tag:"(2010,0500)",vr:"SQ",name:"ReferencedFilmSessionSequence",vm:"1",version:"DICOM"},"(2010,0510)":{tag:"(2010,0510)",vr:"SQ",name:"ReferencedImageBoxSequence",vm:"1",version:"DICOM"},"(2010,0520)":{tag:"(2010,0520)",vr:"SQ",name:"ReferencedBasicAnnotationBoxSequence",vm:"1",version:"DICOM"},"(2020,0010)":{tag:"(2020,0010)",vr:"US",name:"ImageBoxPosition",vm:"1",version:"DICOM"},"(2020,0020)":{tag:"(2020,0020)",vr:"CS",name:"Polarity",vm:"1",version:"DICOM"},"(2020,0030)":{tag:"(2020,0030)",vr:"DS",name:"RequestedImageSize",vm:"1",version:"DICOM"},"(2020,0040)":{tag:"(2020,0040)",vr:"CS",name:"RequestedDecimateCropBehavior",vm:"1",version:"DICOM"},"(2020,0050)":{tag:"(2020,0050)",vr:"CS",name:"RequestedResolutionID",vm:"1",version:"DICOM"},"(2020,00A0)":{tag:"(2020,00A0)",vr:"CS",name:"RequestedImageSizeFlag",vm:"1",version:"DICOM"},"(2020,00A2)":{tag:"(2020,00A2)",vr:"CS",name:"DecimateCropResult",vm:"1",version:"DICOM"},"(2020,0110)":{tag:"(2020,0110)",vr:"SQ",name:"BasicGrayscaleImageSequence",vm:"1",version:"DICOM"},"(2020,0111)":{tag:"(2020,0111)",vr:"SQ",name:"BasicColorImageSequence",vm:"1",version:"DICOM"},"(2030,0010)":{tag:"(2030,0010)",vr:"US",name:"AnnotationPosition",vm:"1",version:"DICOM"},"(2030,0020)":{tag:"(2030,0020)",vr:"LO",name:"TextString",vm:"1",version:"DICOM"},"(2050,0010)":{tag:"(2050,0010)",vr:"SQ",name:"PresentationLUTSequence",vm:"1",version:"DICOM"},"(2050,0020)":{tag:"(2050,0020)",vr:"CS",name:"PresentationLUTShape",vm:"1",version:"DICOM"},"(2050,0500)":{tag:"(2050,0500)",vr:"SQ",name:"ReferencedPresentationLUTSequence",vm:"1",version:"DICOM"},"(2100,0020)":{tag:"(2100,0020)",vr:"CS",name:"ExecutionStatus",vm:"1",version:"DICOM"},"(2100,0030)":{tag:"(2100,0030)",vr:"CS",name:"ExecutionStatusInfo",vm:"1",version:"DICOM"},"(2100,0040)":{tag:"(2100,0040)",vr:"DA",name:"CreationDate",vm:"1",version:"DICOM"},"(2100,0050)":{tag:"(2100,0050)",vr:"TM",name:"CreationTime",vm:"1",version:"DICOM"},"(2100,0070)":{tag:"(2100,0070)",vr:"AE",name:"Originator",vm:"1",version:"DICOM"},"(2100,0160)":{tag:"(2100,0160)",vr:"SH",name:"OwnerID",vm:"1",version:"DICOM"},"(2100,0170)":{tag:"(2100,0170)",vr:"IS",name:"NumberOfFilms",vm:"1",version:"DICOM"},"(2110,0010)":{tag:"(2110,0010)",vr:"CS",name:"PrinterStatus",vm:"1",version:"DICOM"},"(2110,0020)":{tag:"(2110,0020)",vr:"CS",name:"PrinterStatusInfo",vm:"1",version:"DICOM"},"(2110,0030)":{tag:"(2110,0030)",vr:"LO",name:"PrinterName",vm:"1",version:"DICOM"},"(2200,0001)":{tag:"(2200,0001)",vr:"CS",name:"LabelUsingInformationExtractedFromInstances",vm:"1",version:"DICOM"},"(2200,0002)":{tag:"(2200,0002)",vr:"UT",name:"LabelText",vm:"1",version:"DICOM"},"(2200,0003)":{tag:"(2200,0003)",vr:"CS",name:"LabelStyleSelection",vm:"1",version:"DICOM"},"(2200,0004)":{tag:"(2200,0004)",vr:"LT",name:"MediaDisposition",vm:"1",version:"DICOM"},"(2200,0005)":{tag:"(2200,0005)",vr:"LT",name:"BarcodeValue",vm:"1",version:"DICOM"},"(2200,0006)":{tag:"(2200,0006)",vr:"CS",name:"BarcodeSymbology",vm:"1",version:"DICOM"},"(2200,0007)":{tag:"(2200,0007)",vr:"CS",name:"AllowMediaSplitting",vm:"1",version:"DICOM"},"(2200,0008)":{tag:"(2200,0008)",vr:"CS",name:"IncludeNonDICOMObjects",vm:"1",version:"DICOM"},"(2200,0009)":{tag:"(2200,0009)",vr:"CS",name:"IncludeDisplayApplication",vm:"1",version:"DICOM"},"(2200,000A)":{tag:"(2200,000A)",vr:"CS",name:"PreserveCompositeInstancesAfterMediaCreation",vm:"1",version:"DICOM"},"(2200,000B)":{tag:"(2200,000B)",vr:"US",name:"TotalNumberOfPiecesOfMediaCreated",vm:"1",version:"DICOM"},"(2200,000C)":{tag:"(2200,000C)",vr:"LO",name:"RequestedMediaApplicationProfile",vm:"1",version:"DICOM"},"(2200,000D)":{tag:"(2200,000D)",vr:"SQ",name:"ReferencedStorageMediaSequence",vm:"1",version:"DICOM"},"(2200,000E)":{tag:"(2200,000E)",vr:"AT",name:"FailureAttributes",vm:"1-n",version:"DICOM"},"(2200,000F)":{tag:"(2200,000F)",vr:"CS",name:"AllowLossyCompression",vm:"1",version:"DICOM"},"(2200,0020)":{tag:"(2200,0020)",vr:"CS",name:"RequestPriority",vm:"1",version:"DICOM"},"(3002,0002)":{tag:"(3002,0002)",vr:"SH",name:"RTImageLabel",vm:"1",version:"DICOM"},"(3002,0003)":{tag:"(3002,0003)",vr:"LO",name:"RTImageName",vm:"1",version:"DICOM"},"(3002,0004)":{tag:"(3002,0004)",vr:"ST",name:"RTImageDescription",vm:"1",version:"DICOM"},"(3002,000A)":{tag:"(3002,000A)",vr:"CS",name:"ReportedValuesOrigin",vm:"1",version:"DICOM"},"(3002,000C)":{tag:"(3002,000C)",vr:"CS",name:"RTImagePlane",vm:"1",version:"DICOM"},"(3002,000D)":{tag:"(3002,000D)",vr:"DS",name:"XRayImageReceptorTranslation",vm:"3",version:"DICOM"},"(3002,000E)":{tag:"(3002,000E)",vr:"DS",name:"XRayImageReceptorAngle",vm:"1",version:"DICOM"},"(3002,0010)":{tag:"(3002,0010)",vr:"DS",name:"RTImageOrientation",vm:"6",version:"DICOM"},"(3002,0011)":{tag:"(3002,0011)",vr:"DS",name:"ImagePlanePixelSpacing",vm:"2",version:"DICOM"},"(3002,0012)":{tag:"(3002,0012)",vr:"DS",name:"RTImagePosition",vm:"2",version:"DICOM"},"(3002,0020)":{tag:"(3002,0020)",vr:"SH",name:"RadiationMachineName",vm:"1",version:"DICOM"},"(3002,0022)":{tag:"(3002,0022)",vr:"DS",name:"RadiationMachineSAD",vm:"1",version:"DICOM"},"(3002,0024)":{tag:"(3002,0024)",vr:"DS",name:"RadiationMachineSSD",vm:"1",version:"DICOM"},"(3002,0026)":{tag:"(3002,0026)",vr:"DS",name:"RTImageSID",vm:"1",version:"DICOM"},"(3002,0028)":{tag:"(3002,0028)",vr:"DS",name:"SourceToReferenceObjectDistance",vm:"1",version:"DICOM"},"(3002,0029)":{tag:"(3002,0029)",vr:"IS",name:"FractionNumber",vm:"1",version:"DICOM"},"(3002,0030)":{tag:"(3002,0030)",vr:"SQ",name:"ExposureSequence",vm:"1",version:"DICOM"},"(3002,0032)":{tag:"(3002,0032)",vr:"DS",name:"MetersetExposure",vm:"1",version:"DICOM"},"(3002,0034)":{tag:"(3002,0034)",vr:"DS",name:"DiaphragmPosition",vm:"4",version:"DICOM"},"(3002,0040)":{tag:"(3002,0040)",vr:"SQ",name:"FluenceMapSequence",vm:"1",version:"DICOM"},"(3002,0041)":{tag:"(3002,0041)",vr:"CS",name:"FluenceDataSource",vm:"1",version:"DICOM"},"(3002,0042)":{tag:"(3002,0042)",vr:"DS",name:"FluenceDataScale",vm:"1",version:"DICOM"},"(3002,0050)":{tag:"(3002,0050)",vr:"SQ",name:"PrimaryFluenceModeSequence",vm:"1",version:"DICOM"},"(3002,0051)":{tag:"(3002,0051)",vr:"CS",name:"FluenceMode",vm:"1",version:"DICOM"},"(3002,0052)":{tag:"(3002,0052)",vr:"SH",name:"FluenceModeID",vm:"1",version:"DICOM"},"(3004,0001)":{tag:"(3004,0001)",vr:"CS",name:"DVHType",vm:"1",version:"DICOM"},"(3004,0002)":{tag:"(3004,0002)",vr:"CS",name:"DoseUnits",vm:"1",version:"DICOM"},"(3004,0004)":{tag:"(3004,0004)",vr:"CS",name:"DoseType",vm:"1",version:"DICOM"},"(3004,0005)":{tag:"(3004,0005)",vr:"CS",name:"SpatialTransformOfDose",vm:"1",version:"DICOM"},"(3004,0006)":{tag:"(3004,0006)",vr:"LO",name:"DoseComment",vm:"1",version:"DICOM"},"(3004,0008)":{tag:"(3004,0008)",vr:"DS",name:"NormalizationPoint",vm:"3",version:"DICOM"},"(3004,000A)":{tag:"(3004,000A)",vr:"CS",name:"DoseSummationType",vm:"1",version:"DICOM"},"(3004,000C)":{tag:"(3004,000C)",vr:"DS",name:"GridFrameOffsetVector",vm:"2-n",version:"DICOM"},"(3004,000E)":{tag:"(3004,000E)",vr:"DS",name:"DoseGridScaling",vm:"1",version:"DICOM"},"(3004,0010)":{tag:"(3004,0010)",vr:"SQ",name:"RTDoseROISequence",vm:"1",version:"DICOM"},"(3004,0012)":{tag:"(3004,0012)",vr:"DS",name:"DoseValue",vm:"1",version:"DICOM"},"(3004,0014)":{tag:"(3004,0014)",vr:"CS",name:"TissueHeterogeneityCorrection",vm:"1-3",version:"DICOM"},"(3004,0040)":{tag:"(3004,0040)",vr:"DS",name:"DVHNormalizationPoint",vm:"3",version:"DICOM"},"(3004,0042)":{tag:"(3004,0042)",vr:"DS",name:"DVHNormalizationDoseValue",vm:"1",version:"DICOM"},"(3004,0050)":{tag:"(3004,0050)",vr:"SQ",name:"DVHSequence",vm:"1",version:"DICOM"},"(3004,0052)":{tag:"(3004,0052)",vr:"DS",name:"DVHDoseScaling",vm:"1",version:"DICOM"},"(3004,0054)":{tag:"(3004,0054)",vr:"CS",name:"DVHVolumeUnits",vm:"1",version:"DICOM"},"(3004,0056)":{tag:"(3004,0056)",vr:"IS",name:"DVHNumberOfBins",vm:"1",version:"DICOM"},"(3004,0058)":{tag:"(3004,0058)",vr:"DS",name:"DVHData",vm:"2-2n",version:"DICOM"},"(3004,0060)":{tag:"(3004,0060)",vr:"SQ",name:"DVHReferencedROISequence",vm:"1",version:"DICOM"},"(3004,0062)":{tag:"(3004,0062)",vr:"CS",name:"DVHROIContributionType",vm:"1",version:"DICOM"},"(3004,0070)":{tag:"(3004,0070)",vr:"DS",name:"DVHMinimumDose",vm:"1",version:"DICOM"},"(3004,0072)":{tag:"(3004,0072)",vr:"DS",name:"DVHMaximumDose",vm:"1",version:"DICOM"},"(3004,0074)":{tag:"(3004,0074)",vr:"DS",name:"DVHMeanDose",vm:"1",version:"DICOM"},"(3006,0002)":{tag:"(3006,0002)",vr:"SH",name:"StructureSetLabel",vm:"1",version:"DICOM"},"(3006,0004)":{tag:"(3006,0004)",vr:"LO",name:"StructureSetName",vm:"1",version:"DICOM"},"(3006,0006)":{tag:"(3006,0006)",vr:"ST",name:"StructureSetDescription",vm:"1",version:"DICOM"},"(3006,0008)":{tag:"(3006,0008)",vr:"DA",name:"StructureSetDate",vm:"1",version:"DICOM"},"(3006,0009)":{tag:"(3006,0009)",vr:"TM",name:"StructureSetTime",vm:"1",version:"DICOM"},"(3006,0010)":{tag:"(3006,0010)",vr:"SQ",name:"ReferencedFrameOfReferenceSequence",vm:"1",version:"DICOM"},"(3006,0012)":{tag:"(3006,0012)",vr:"SQ",name:"RTReferencedStudySequence",vm:"1",version:"DICOM"},"(3006,0014)":{tag:"(3006,0014)",vr:"SQ",name:"RTReferencedSeriesSequence",vm:"1",version:"DICOM"},"(3006,0016)":{tag:"(3006,0016)",vr:"SQ",name:"ContourImageSequence",vm:"1",version:"DICOM"},"(3006,0018)":{tag:"(3006,0018)",vr:"SQ",name:"PredecessorStructureSetSequence",vm:"1",version:"DICOM"},"(3006,0020)":{tag:"(3006,0020)",vr:"SQ",name:"StructureSetROISequence",vm:"1",version:"DICOM"},"(3006,0022)":{tag:"(3006,0022)",vr:"IS",name:"ROINumber",vm:"1",version:"DICOM"},"(3006,0024)":{tag:"(3006,0024)",vr:"UI",name:"ReferencedFrameOfReferenceUID",vm:"1",version:"DICOM"},"(3006,0026)":{tag:"(3006,0026)",vr:"LO",name:"ROIName",vm:"1",version:"DICOM"},"(3006,0028)":{tag:"(3006,0028)",vr:"ST",name:"ROIDescription",vm:"1",version:"DICOM"},"(3006,002A)":{tag:"(3006,002A)",vr:"IS",name:"ROIDisplayColor",vm:"3",version:"DICOM"},"(3006,002C)":{tag:"(3006,002C)",vr:"DS",name:"ROIVolume",vm:"1",version:"DICOM"},"(3006,0030)":{tag:"(3006,0030)",vr:"SQ",name:"RTRelatedROISequence",vm:"1",version:"DICOM"},"(3006,0033)":{tag:"(3006,0033)",vr:"CS",name:"RTROIRelationship",vm:"1",version:"DICOM"},"(3006,0036)":{tag:"(3006,0036)",vr:"CS",name:"ROIGenerationAlgorithm",vm:"1",version:"DICOM"},"(3006,0037)":{tag:"(3006,0037)",vr:"SQ",name:"ROIDerivationAlgorithmIdentificationSequence",vm:"1",version:"DICOM"},"(3006,0038)":{tag:"(3006,0038)",vr:"LO",name:"ROIGenerationDescription",vm:"1",version:"DICOM"},"(3006,0039)":{tag:"(3006,0039)",vr:"SQ",name:"ROIContourSequence",vm:"1",version:"DICOM"},"(3006,0040)":{tag:"(3006,0040)",vr:"SQ",name:"ContourSequence",vm:"1",version:"DICOM"},"(3006,0042)":{tag:"(3006,0042)",vr:"CS",name:"ContourGeometricType",vm:"1",version:"DICOM"},"(3006,0044)":{tag:"(3006,0044)",vr:"DS",name:"ContourSlabThickness",vm:"1",version:"DICOM"},"(3006,0045)":{tag:"(3006,0045)",vr:"DS",name:"ContourOffsetVector",vm:"3",version:"DICOM"},"(3006,0046)":{tag:"(3006,0046)",vr:"IS",name:"NumberOfContourPoints",vm:"1",version:"DICOM"},"(3006,0048)":{tag:"(3006,0048)",vr:"IS",name:"ContourNumber",vm:"1",version:"DICOM"},"(3006,0049)":{tag:"(3006,0049)",vr:"IS",name:"AttachedContours",vm:"1-n",version:"DICOM"},"(3006,004A)":{tag:"(3006,004A)",vr:"SQ",name:"SourcePixelPlanesCharacteristicsSequence",vm:"1",version:"DICOM"},"(3006,0050)":{tag:"(3006,0050)",vr:"DS",name:"ContourData",vm:"3-3n",version:"DICOM"},"(3006,0080)":{tag:"(3006,0080)",vr:"SQ",name:"RTROIObservationsSequence",vm:"1",version:"DICOM"},"(3006,0082)":{tag:"(3006,0082)",vr:"IS",name:"ObservationNumber",vm:"1",version:"DICOM"},"(3006,0084)":{tag:"(3006,0084)",vr:"IS",name:"ReferencedROINumber",vm:"1",version:"DICOM"},"(3006,0085)":{tag:"(3006,0085)",vr:"SH",name:"ROIObservationLabel",vm:"1",version:"DICOM"},"(3006,0086)":{tag:"(3006,0086)",vr:"SQ",name:"RTROIIdentificationCodeSequence",vm:"1",version:"DICOM"},"(3006,0088)":{tag:"(3006,0088)",vr:"ST",name:"ROIObservationDescription",vm:"1",version:"DICOM"},"(3006,00A0)":{tag:"(3006,00A0)",vr:"SQ",name:"RelatedRTROIObservationsSequence",vm:"1",version:"DICOM"},"(3006,00A4)":{tag:"(3006,00A4)",vr:"CS",name:"RTROIInterpretedType",vm:"1",version:"DICOM"},"(3006,00A6)":{tag:"(3006,00A6)",vr:"PN",name:"ROIInterpreter",vm:"1",version:"DICOM"},"(3006,00B0)":{tag:"(3006,00B0)",vr:"SQ",name:"ROIPhysicalPropertiesSequence",vm:"1",version:"DICOM"},"(3006,00B2)":{tag:"(3006,00B2)",vr:"CS",name:"ROIPhysicalProperty",vm:"1",version:"DICOM"},"(3006,00B4)":{tag:"(3006,00B4)",vr:"DS",name:"ROIPhysicalPropertyValue",vm:"1",version:"DICOM"},"(3006,00B6)":{tag:"(3006,00B6)",vr:"SQ",name:"ROIElementalCompositionSequence",vm:"1",version:"DICOM"},"(3006,00B7)":{tag:"(3006,00B7)",vr:"US",name:"ROIElementalCompositionAtomicNumber",vm:"1",version:"DICOM"},"(3006,00B8)":{tag:"(3006,00B8)",vr:"FL",name:"ROIElementalCompositionAtomicMassFraction",vm:"1",version:"DICOM"},"(3006,00B9)":{tag:"(3006,00B9)",vr:"SQ",name:"AdditionalRTROIIdentificationCodeSequence",vm:"1",version:"DICOM"},"(3006,00C6)":{tag:"(3006,00C6)",vr:"DS",name:"FrameOfReferenceTransformationMatrix",vm:"16",version:"DICOM"},"(3006,00C8)":{tag:"(3006,00C8)",vr:"LO",name:"FrameOfReferenceTransformationComment",vm:"1",version:"DICOM"},"(3006,00C9)":{tag:"(3006,00C9)",vr:"SQ",name:"PatientLocationCoordinatesSequence",vm:"1",version:"DICOM"},"(3006,00CA)":{tag:"(3006,00CA)",vr:"SQ",name:"PatientLocationCoordinatesCodeSequence",vm:"1",version:"DICOM"},"(3006,00CB)":{tag:"(3006,00CB)",vr:"SQ",name:"PatientSupportPositionSequence",vm:"1",version:"DICOM"},"(3008,0010)":{tag:"(3008,0010)",vr:"SQ",name:"MeasuredDoseReferenceSequence",vm:"1",version:"DICOM"},"(3008,0012)":{tag:"(3008,0012)",vr:"ST",name:"MeasuredDoseDescription",vm:"1",version:"DICOM"},"(3008,0014)":{tag:"(3008,0014)",vr:"CS",name:"MeasuredDoseType",vm:"1",version:"DICOM"},"(3008,0016)":{tag:"(3008,0016)",vr:"DS",name:"MeasuredDoseValue",vm:"1",version:"DICOM"},"(3008,0020)":{tag:"(3008,0020)",vr:"SQ",name:"TreatmentSessionBeamSequence",vm:"1",version:"DICOM"},"(3008,0021)":{tag:"(3008,0021)",vr:"SQ",name:"TreatmentSessionIonBeamSequence",vm:"1",version:"DICOM"},"(3008,0022)":{tag:"(3008,0022)",vr:"IS",name:"CurrentFractionNumber",vm:"1",version:"DICOM"},"(3008,0024)":{tag:"(3008,0024)",vr:"DA",name:"TreatmentControlPointDate",vm:"1",version:"DICOM"},"(3008,0025)":{tag:"(3008,0025)",vr:"TM",name:"TreatmentControlPointTime",vm:"1",version:"DICOM"},"(3008,002A)":{tag:"(3008,002A)",vr:"CS",name:"TreatmentTerminationStatus",vm:"1",version:"DICOM"},"(3008,002B)":{tag:"(3008,002B)",vr:"SH",name:"TreatmentTerminationCode",vm:"1",version:"DICOM"},"(3008,002C)":{tag:"(3008,002C)",vr:"CS",name:"TreatmentVerificationStatus",vm:"1",version:"DICOM"},"(3008,0030)":{tag:"(3008,0030)",vr:"SQ",name:"ReferencedTreatmentRecordSequence",vm:"1",version:"DICOM"},"(3008,0032)":{tag:"(3008,0032)",vr:"DS",name:"SpecifiedPrimaryMeterset",vm:"1",version:"DICOM"},"(3008,0033)":{tag:"(3008,0033)",vr:"DS",name:"SpecifiedSecondaryMeterset",vm:"1",version:"DICOM"},"(3008,0036)":{tag:"(3008,0036)",vr:"DS",name:"DeliveredPrimaryMeterset",vm:"1",version:"DICOM"},"(3008,0037)":{tag:"(3008,0037)",vr:"DS",name:"DeliveredSecondaryMeterset",vm:"1",version:"DICOM"},"(3008,003A)":{tag:"(3008,003A)",vr:"DS",name:"SpecifiedTreatmentTime",vm:"1",version:"DICOM"},"(3008,003B)":{tag:"(3008,003B)",vr:"DS",name:"DeliveredTreatmentTime",vm:"1",version:"DICOM"},"(3008,0040)":{tag:"(3008,0040)",vr:"SQ",name:"ControlPointDeliverySequence",vm:"1",version:"DICOM"},"(3008,0041)":{tag:"(3008,0041)",vr:"SQ",name:"IonControlPointDeliverySequence",vm:"1",version:"DICOM"},"(3008,0042)":{tag:"(3008,0042)",vr:"DS",name:"SpecifiedMeterset",vm:"1",version:"DICOM"},"(3008,0044)":{tag:"(3008,0044)",vr:"DS",name:"DeliveredMeterset",vm:"1",version:"DICOM"},"(3008,0045)":{tag:"(3008,0045)",vr:"FL",name:"MetersetRateSet",vm:"1",version:"DICOM"},"(3008,0046)":{tag:"(3008,0046)",vr:"FL",name:"MetersetRateDelivered",vm:"1",version:"DICOM"},"(3008,0047)":{tag:"(3008,0047)",vr:"FL",name:"ScanSpotMetersetsDelivered",vm:"1-n",version:"DICOM"},"(3008,0048)":{tag:"(3008,0048)",vr:"DS",name:"DoseRateDelivered",vm:"1",version:"DICOM"},"(3008,0050)":{tag:"(3008,0050)",vr:"SQ",name:"TreatmentSummaryCalculatedDoseReferenceSequence",vm:"1",version:"DICOM"},"(3008,0052)":{tag:"(3008,0052)",vr:"DS",name:"CumulativeDoseToDoseReference",vm:"1",version:"DICOM"},"(3008,0054)":{tag:"(3008,0054)",vr:"DA",name:"FirstTreatmentDate",vm:"1",version:"DICOM"},"(3008,0056)":{tag:"(3008,0056)",vr:"DA",name:"MostRecentTreatmentDate",vm:"1",version:"DICOM"},"(3008,005A)":{tag:"(3008,005A)",vr:"IS",name:"NumberOfFractionsDelivered",vm:"1",version:"DICOM"},"(3008,0060)":{tag:"(3008,0060)",vr:"SQ",name:"OverrideSequence",vm:"1",version:"DICOM"},"(3008,0061)":{tag:"(3008,0061)",vr:"AT",name:"ParameterSequencePointer",vm:"1",version:"DICOM"},"(3008,0062)":{tag:"(3008,0062)",vr:"AT",name:"OverrideParameterPointer",vm:"1",version:"DICOM"},"(3008,0063)":{tag:"(3008,0063)",vr:"IS",name:"ParameterItemIndex",vm:"1",version:"DICOM"},"(3008,0064)":{tag:"(3008,0064)",vr:"IS",name:"MeasuredDoseReferenceNumber",vm:"1",version:"DICOM"},"(3008,0065)":{tag:"(3008,0065)",vr:"AT",name:"ParameterPointer",vm:"1",version:"DICOM"},"(3008,0066)":{tag:"(3008,0066)",vr:"ST",name:"OverrideReason",vm:"1",version:"DICOM"},"(3008,0067)":{tag:"(3008,0067)",vr:"US",name:"ParameterValueNumber",vm:"1",version:"DICOM"},"(3008,0068)":{tag:"(3008,0068)",vr:"SQ",name:"CorrectedParameterSequence",vm:"1",version:"DICOM"},"(3008,006A)":{tag:"(3008,006A)",vr:"FL",name:"CorrectionValue",vm:"1",version:"DICOM"},"(3008,0070)":{tag:"(3008,0070)",vr:"SQ",name:"CalculatedDoseReferenceSequence",vm:"1",version:"DICOM"},"(3008,0072)":{tag:"(3008,0072)",vr:"IS",name:"CalculatedDoseReferenceNumber",vm:"1",version:"DICOM"},"(3008,0074)":{tag:"(3008,0074)",vr:"ST",name:"CalculatedDoseReferenceDescription",vm:"1",version:"DICOM"},"(3008,0076)":{tag:"(3008,0076)",vr:"DS",name:"CalculatedDoseReferenceDoseValue",vm:"1",version:"DICOM"},"(3008,0078)":{tag:"(3008,0078)",vr:"DS",name:"StartMeterset",vm:"1",version:"DICOM"},"(3008,007A)":{tag:"(3008,007A)",vr:"DS",name:"EndMeterset",vm:"1",version:"DICOM"},"(3008,0080)":{tag:"(3008,0080)",vr:"SQ",name:"ReferencedMeasuredDoseReferenceSequence",vm:"1",version:"DICOM"},"(3008,0082)":{tag:"(3008,0082)",vr:"IS",name:"ReferencedMeasuredDoseReferenceNumber",vm:"1",version:"DICOM"},"(3008,0090)":{tag:"(3008,0090)",vr:"SQ",name:"ReferencedCalculatedDoseReferenceSequence",vm:"1",version:"DICOM"},"(3008,0092)":{tag:"(3008,0092)",vr:"IS",name:"ReferencedCalculatedDoseReferenceNumber",vm:"1",version:"DICOM"},"(3008,00A0)":{tag:"(3008,00A0)",vr:"SQ",name:"BeamLimitingDeviceLeafPairsSequence",vm:"1",version:"DICOM"},"(3008,00B0)":{tag:"(3008,00B0)",vr:"SQ",name:"RecordedWedgeSequence",vm:"1",version:"DICOM"},"(3008,00C0)":{tag:"(3008,00C0)",vr:"SQ",name:"RecordedCompensatorSequence",vm:"1",version:"DICOM"},"(3008,00D0)":{tag:"(3008,00D0)",vr:"SQ",name:"RecordedBlockSequence",vm:"1",version:"DICOM"},"(3008,00E0)":{tag:"(3008,00E0)",vr:"SQ",name:"TreatmentSummaryMeasuredDoseReferenceSequence",vm:"1",version:"DICOM"},"(3008,00F0)":{tag:"(3008,00F0)",vr:"SQ",name:"RecordedSnoutSequence",vm:"1",version:"DICOM"},"(3008,00F2)":{tag:"(3008,00F2)",vr:"SQ",name:"RecordedRangeShifterSequence",vm:"1",version:"DICOM"},"(3008,00F4)":{tag:"(3008,00F4)",vr:"SQ",name:"RecordedLateralSpreadingDeviceSequence",vm:"1",version:"DICOM"},"(3008,00F6)":{tag:"(3008,00F6)",vr:"SQ",name:"RecordedRangeModulatorSequence",vm:"1",version:"DICOM"},"(3008,0100)":{tag:"(3008,0100)",vr:"SQ",name:"RecordedSourceSequence",vm:"1",version:"DICOM"},"(3008,0105)":{tag:"(3008,0105)",vr:"LO",name:"SourceSerialNumber",vm:"1",version:"DICOM"},"(3008,0110)":{tag:"(3008,0110)",vr:"SQ",name:"TreatmentSessionApplicationSetupSequence",vm:"1",version:"DICOM"},"(3008,0116)":{tag:"(3008,0116)",vr:"CS",name:"ApplicationSetupCheck",vm:"1",version:"DICOM"},"(3008,0120)":{tag:"(3008,0120)",vr:"SQ",name:"RecordedBrachyAccessoryDeviceSequence",vm:"1",version:"DICOM"},"(3008,0122)":{tag:"(3008,0122)",vr:"IS",name:"ReferencedBrachyAccessoryDeviceNumber",vm:"1",version:"DICOM"},"(3008,0130)":{tag:"(3008,0130)",vr:"SQ",name:"RecordedChannelSequence",vm:"1",version:"DICOM"},"(3008,0132)":{tag:"(3008,0132)",vr:"DS",name:"SpecifiedChannelTotalTime",vm:"1",version:"DICOM"},"(3008,0134)":{tag:"(3008,0134)",vr:"DS",name:"DeliveredChannelTotalTime",vm:"1",version:"DICOM"},"(3008,0136)":{tag:"(3008,0136)",vr:"IS",name:"SpecifiedNumberOfPulses",vm:"1",version:"DICOM"},"(3008,0138)":{tag:"(3008,0138)",vr:"IS",name:"DeliveredNumberOfPulses",vm:"1",version:"DICOM"},"(3008,013A)":{tag:"(3008,013A)",vr:"DS",name:"SpecifiedPulseRepetitionInterval",vm:"1",version:"DICOM"},"(3008,013C)":{tag:"(3008,013C)",vr:"DS",name:"DeliveredPulseRepetitionInterval",vm:"1",version:"DICOM"},"(3008,0140)":{tag:"(3008,0140)",vr:"SQ",name:"RecordedSourceApplicatorSequence",vm:"1",version:"DICOM"},"(3008,0142)":{tag:"(3008,0142)",vr:"IS",name:"ReferencedSourceApplicatorNumber",vm:"1",version:"DICOM"},"(3008,0150)":{tag:"(3008,0150)",vr:"SQ",name:"RecordedChannelShieldSequence",vm:"1",version:"DICOM"},"(3008,0152)":{tag:"(3008,0152)",vr:"IS",name:"ReferencedChannelShieldNumber",vm:"1",version:"DICOM"},"(3008,0160)":{tag:"(3008,0160)",vr:"SQ",name:"BrachyControlPointDeliveredSequence",vm:"1",version:"DICOM"},"(3008,0162)":{tag:"(3008,0162)",vr:"DA",name:"SafePositionExitDate",vm:"1",version:"DICOM"},"(3008,0164)":{tag:"(3008,0164)",vr:"TM",name:"SafePositionExitTime",vm:"1",version:"DICOM"},"(3008,0166)":{tag:"(3008,0166)",vr:"DA",name:"SafePositionReturnDate",vm:"1",version:"DICOM"},"(3008,0168)":{tag:"(3008,0168)",vr:"TM",name:"SafePositionReturnTime",vm:"1",version:"DICOM"},"(3008,0171)":{tag:"(3008,0171)",vr:"SQ",name:"PulseSpecificBrachyControlPointDeliveredSequence",vm:"1",version:"DICOM"},"(3008,0172)":{tag:"(3008,0172)",vr:"US",name:"PulseNumber",vm:"1",version:"DICOM"},"(3008,0173)":{tag:"(3008,0173)",vr:"SQ",name:"BrachyPulseControlPointDeliveredSequence",vm:"1",version:"DICOM"},"(3008,0200)":{tag:"(3008,0200)",vr:"CS",name:"CurrentTreatmentStatus",vm:"1",version:"DICOM"},"(3008,0202)":{tag:"(3008,0202)",vr:"ST",name:"TreatmentStatusComment",vm:"1",version:"DICOM"},"(3008,0220)":{tag:"(3008,0220)",vr:"SQ",name:"FractionGroupSummarySequence",vm:"1",version:"DICOM"},"(3008,0223)":{tag:"(3008,0223)",vr:"IS",name:"ReferencedFractionNumber",vm:"1",version:"DICOM"},"(3008,0224)":{tag:"(3008,0224)",vr:"CS",name:"FractionGroupType",vm:"1",version:"DICOM"},"(3008,0230)":{tag:"(3008,0230)",vr:"CS",name:"BeamStopperPosition",vm:"1",version:"DICOM"},"(3008,0240)":{tag:"(3008,0240)",vr:"SQ",name:"FractionStatusSummarySequence",vm:"1",version:"DICOM"},"(3008,0250)":{tag:"(3008,0250)",vr:"DA",name:"TreatmentDate",vm:"1",version:"DICOM"},"(3008,0251)":{tag:"(3008,0251)",vr:"TM",name:"TreatmentTime",vm:"1",version:"DICOM"},"(300A,0002)":{tag:"(300A,0002)",vr:"SH",name:"RTPlanLabel",vm:"1",version:"DICOM"},"(300A,0003)":{tag:"(300A,0003)",vr:"LO",name:"RTPlanName",vm:"1",version:"DICOM"},"(300A,0004)":{tag:"(300A,0004)",vr:"ST",name:"RTPlanDescription",vm:"1",version:"DICOM"},"(300A,0006)":{tag:"(300A,0006)",vr:"DA",name:"RTPlanDate",vm:"1",version:"DICOM"},"(300A,0007)":{tag:"(300A,0007)",vr:"TM",name:"RTPlanTime",vm:"1",version:"DICOM"},"(300A,0009)":{tag:"(300A,0009)",vr:"LO",name:"TreatmentProtocols",vm:"1-n",version:"DICOM"},"(300A,000A)":{tag:"(300A,000A)",vr:"CS",name:"PlanIntent",vm:"1",version:"DICOM"},"(300A,000B)":{tag:"(300A,000B)",vr:"LO",name:"TreatmentSites",vm:"1-n",version:"DICOM"},"(300A,000C)":{tag:"(300A,000C)",vr:"CS",name:"RTPlanGeometry",vm:"1",version:"DICOM"},"(300A,000E)":{tag:"(300A,000E)",vr:"ST",name:"PrescriptionDescription",vm:"1",version:"DICOM"},"(300A,0010)":{tag:"(300A,0010)",vr:"SQ",name:"DoseReferenceSequence",vm:"1",version:"DICOM"},"(300A,0012)":{tag:"(300A,0012)",vr:"IS",name:"DoseReferenceNumber",vm:"1",version:"DICOM"},"(300A,0013)":{tag:"(300A,0013)",vr:"UI",name:"DoseReferenceUID",vm:"1",version:"DICOM"},"(300A,0014)":{tag:"(300A,0014)",vr:"CS",name:"DoseReferenceStructureType",vm:"1",version:"DICOM"},"(300A,0015)":{tag:"(300A,0015)",vr:"CS",name:"NominalBeamEnergyUnit",vm:"1",version:"DICOM"},"(300A,0016)":{tag:"(300A,0016)",vr:"LO",name:"DoseReferenceDescription",vm:"1",version:"DICOM"},"(300A,0018)":{tag:"(300A,0018)",vr:"DS",name:"DoseReferencePointCoordinates",vm:"3",version:"DICOM"},"(300A,001A)":{tag:"(300A,001A)",vr:"DS",name:"NominalPriorDose",vm:"1",version:"DICOM"},"(300A,0020)":{tag:"(300A,0020)",vr:"CS",name:"DoseReferenceType",vm:"1",version:"DICOM"},"(300A,0021)":{tag:"(300A,0021)",vr:"DS",name:"ConstraintWeight",vm:"1",version:"DICOM"},"(300A,0022)":{tag:"(300A,0022)",vr:"DS",name:"DeliveryWarningDose",vm:"1",version:"DICOM"},"(300A,0023)":{tag:"(300A,0023)",vr:"DS",name:"DeliveryMaximumDose",vm:"1",version:"DICOM"},"(300A,0025)":{tag:"(300A,0025)",vr:"DS",name:"TargetMinimumDose",vm:"1",version:"DICOM"},"(300A,0026)":{tag:"(300A,0026)",vr:"DS",name:"TargetPrescriptionDose",vm:"1",version:"DICOM"},"(300A,0027)":{tag:"(300A,0027)",vr:"DS",name:"TargetMaximumDose",vm:"1",version:"DICOM"},"(300A,0028)":{tag:"(300A,0028)",vr:"DS",name:"TargetUnderdoseVolumeFraction",vm:"1",version:"DICOM"},"(300A,002A)":{tag:"(300A,002A)",vr:"DS",name:"OrganAtRiskFullVolumeDose",vm:"1",version:"DICOM"},"(300A,002B)":{tag:"(300A,002B)",vr:"DS",name:"OrganAtRiskLimitDose",vm:"1",version:"DICOM"},"(300A,002C)":{tag:"(300A,002C)",vr:"DS",name:"OrganAtRiskMaximumDose",vm:"1",version:"DICOM"},"(300A,002D)":{tag:"(300A,002D)",vr:"DS",name:"OrganAtRiskOverdoseVolumeFraction",vm:"1",version:"DICOM"},"(300A,0040)":{tag:"(300A,0040)",vr:"SQ",name:"ToleranceTableSequence",vm:"1",version:"DICOM"},"(300A,0042)":{tag:"(300A,0042)",vr:"IS",name:"ToleranceTableNumber",vm:"1",version:"DICOM"},"(300A,0043)":{tag:"(300A,0043)",vr:"SH",name:"ToleranceTableLabel",vm:"1",version:"DICOM"},"(300A,0044)":{tag:"(300A,0044)",vr:"DS",name:"GantryAngleTolerance",vm:"1",version:"DICOM"},"(300A,0046)":{tag:"(300A,0046)",vr:"DS",name:"BeamLimitingDeviceAngleTolerance",vm:"1",version:"DICOM"},"(300A,0048)":{tag:"(300A,0048)",vr:"SQ",name:"BeamLimitingDeviceToleranceSequence",vm:"1",version:"DICOM"},"(300A,004A)":{tag:"(300A,004A)",vr:"DS",name:"BeamLimitingDevicePositionTolerance",vm:"1",version:"DICOM"},"(300A,004B)":{tag:"(300A,004B)",vr:"FL",name:"SnoutPositionTolerance",vm:"1",version:"DICOM"},"(300A,004C)":{tag:"(300A,004C)",vr:"DS",name:"PatientSupportAngleTolerance",vm:"1",version:"DICOM"},"(300A,004E)":{tag:"(300A,004E)",vr:"DS",name:"TableTopEccentricAngleTolerance",vm:"1",version:"DICOM"},"(300A,004F)":{tag:"(300A,004F)",vr:"FL",name:"TableTopPitchAngleTolerance",vm:"1",version:"DICOM"},"(300A,0050)":{tag:"(300A,0050)",vr:"FL",name:"TableTopRollAngleTolerance",vm:"1",version:"DICOM"},"(300A,0051)":{tag:"(300A,0051)",vr:"DS",name:"TableTopVerticalPositionTolerance",vm:"1",version:"DICOM"},"(300A,0052)":{tag:"(300A,0052)",vr:"DS",name:"TableTopLongitudinalPositionTolerance",vm:"1",version:"DICOM"},"(300A,0053)":{tag:"(300A,0053)",vr:"DS",name:"TableTopLateralPositionTolerance",vm:"1",version:"DICOM"},"(300A,0055)":{tag:"(300A,0055)",vr:"CS",name:"RTPlanRelationship",vm:"1",version:"DICOM"},"(300A,0070)":{tag:"(300A,0070)",vr:"SQ",name:"FractionGroupSequence",vm:"1",version:"DICOM"},"(300A,0071)":{tag:"(300A,0071)",vr:"IS",name:"FractionGroupNumber",vm:"1",version:"DICOM"},"(300A,0072)":{tag:"(300A,0072)",vr:"LO",name:"FractionGroupDescription",vm:"1",version:"DICOM"},"(300A,0078)":{tag:"(300A,0078)",vr:"IS",name:"NumberOfFractionsPlanned",vm:"1",version:"DICOM"},"(300A,0079)":{tag:"(300A,0079)",vr:"IS",name:"NumberOfFractionPatternDigitsPerDay",vm:"1",version:"DICOM"},"(300A,007A)":{tag:"(300A,007A)",vr:"IS",name:"RepeatFractionCycleLength",vm:"1",version:"DICOM"},"(300A,007B)":{tag:"(300A,007B)",vr:"LT",name:"FractionPattern",vm:"1",version:"DICOM"},"(300A,0080)":{tag:"(300A,0080)",vr:"IS",name:"NumberOfBeams",vm:"1",version:"DICOM"},"(300A,0082)":{tag:"(300A,0082)",vr:"DS",name:"BeamDoseSpecificationPoint",vm:"3",version:"DICOM"},"(300A,0083)":{tag:"(300A,0083)",vr:"UI",name:"ReferencedDoseReferenceUID",vm:"1",version:"DICOM"},"(300A,0084)":{tag:"(300A,0084)",vr:"DS",name:"BeamDose",vm:"1",version:"DICOM"},"(300A,0086)":{tag:"(300A,0086)",vr:"DS",name:"BeamMeterset",vm:"1",version:"DICOM"},"(300A,008B)":{tag:"(300A,008B)",vr:"CS",name:"BeamDoseMeaning",vm:"1",version:"DICOM"},"(300A,008C)":{tag:"(300A,008C)",vr:"SQ",name:"BeamDoseVerificationControlPointSequence",vm:"1",version:"DICOM"},"(300A,008D)":{tag:"(300A,008D)",vr:"FL",name:"AverageBeamDosePointDepth",vm:"1",version:"DICOM"},"(300A,008E)":{tag:"(300A,008E)",vr:"FL",name:"AverageBeamDosePointEquivalentDepth",vm:"1",version:"DICOM"},"(300A,008F)":{tag:"(300A,008F)",vr:"FL",name:"AverageBeamDosePointSSD",vm:"1",version:"DICOM"},"(300A,0090)":{tag:"(300A,0090)",vr:"CS",name:"BeamDoseType",vm:"1",version:"DICOM"},"(300A,0091)":{tag:"(300A,0091)",vr:"DS",name:"AlternateBeamDose",vm:"1",version:"DICOM"},"(300A,0092)":{tag:"(300A,0092)",vr:"CS",name:"AlternateBeamDoseType",vm:"1",version:"DICOM"},"(300A,0093)":{tag:"(300A,0093)",vr:"CS",name:"DepthValueAveragingFlag",vm:"1",version:"DICOM"},"(300A,0094)":{tag:"(300A,0094)",vr:"DS",name:"BeamDosePointSourceToExternalContourDistance",vm:"1",version:"DICOM"},"(300A,00A0)":{tag:"(300A,00A0)",vr:"IS",name:"NumberOfBrachyApplicationSetups",vm:"1",version:"DICOM"},"(300A,00A2)":{tag:"(300A,00A2)",vr:"DS",name:"BrachyApplicationSetupDoseSpecificationPoint",vm:"3",version:"DICOM"},"(300A,00A4)":{tag:"(300A,00A4)",vr:"DS",name:"BrachyApplicationSetupDose",vm:"1",version:"DICOM"},"(300A,00B0)":{tag:"(300A,00B0)",vr:"SQ",name:"BeamSequence",vm:"1",version:"DICOM"},"(300A,00B2)":{tag:"(300A,00B2)",vr:"SH",name:"TreatmentMachineName",vm:"1",version:"DICOM"},"(300A,00B3)":{tag:"(300A,00B3)",vr:"CS",name:"PrimaryDosimeterUnit",vm:"1",version:"DICOM"},"(300A,00B4)":{tag:"(300A,00B4)",vr:"DS",name:"SourceAxisDistance",vm:"1",version:"DICOM"},"(300A,00B6)":{tag:"(300A,00B6)",vr:"SQ",name:"BeamLimitingDeviceSequence",vm:"1",version:"DICOM"},"(300A,00B8)":{tag:"(300A,00B8)",vr:"CS",name:"RTBeamLimitingDeviceType",vm:"1",version:"DICOM"},"(300A,00BA)":{tag:"(300A,00BA)",vr:"DS",name:"SourceToBeamLimitingDeviceDistance",vm:"1",version:"DICOM"},"(300A,00BB)":{tag:"(300A,00BB)",vr:"FL",name:"IsocenterToBeamLimitingDeviceDistance",vm:"1",version:"DICOM"},"(300A,00BC)":{tag:"(300A,00BC)",vr:"IS",name:"NumberOfLeafJawPairs",vm:"1",version:"DICOM"},"(300A,00BE)":{tag:"(300A,00BE)",vr:"DS",name:"LeafPositionBoundaries",vm:"3-n",version:"DICOM"},"(300A,00C0)":{tag:"(300A,00C0)",vr:"IS",name:"BeamNumber",vm:"1",version:"DICOM"},"(300A,00C2)":{tag:"(300A,00C2)",vr:"LO",name:"BeamName",vm:"1",version:"DICOM"},"(300A,00C3)":{tag:"(300A,00C3)",vr:"ST",name:"BeamDescription",vm:"1",version:"DICOM"},"(300A,00C4)":{tag:"(300A,00C4)",vr:"CS",name:"BeamType",vm:"1",version:"DICOM"},"(300A,00C5)":{tag:"(300A,00C5)",vr:"FD",name:"BeamDeliveryDurationLimit",vm:"1",version:"DICOM"},"(300A,00C6)":{tag:"(300A,00C6)",vr:"CS",name:"RadiationType",vm:"1",version:"DICOM"},"(300A,00C7)":{tag:"(300A,00C7)",vr:"CS",name:"HighDoseTechniqueType",vm:"1",version:"DICOM"},"(300A,00C8)":{tag:"(300A,00C8)",vr:"IS",name:"ReferenceImageNumber",vm:"1",version:"DICOM"},"(300A,00CA)":{tag:"(300A,00CA)",vr:"SQ",name:"PlannedVerificationImageSequence",vm:"1",version:"DICOM"},"(300A,00CC)":{tag:"(300A,00CC)",vr:"LO",name:"ImagingDeviceSpecificAcquisitionParameters",vm:"1-n",version:"DICOM"},"(300A,00CE)":{tag:"(300A,00CE)",vr:"CS",name:"TreatmentDeliveryType",vm:"1",version:"DICOM"},"(300A,00D0)":{tag:"(300A,00D0)",vr:"IS",name:"NumberOfWedges",vm:"1",version:"DICOM"},"(300A,00D1)":{tag:"(300A,00D1)",vr:"SQ",name:"WedgeSequence",vm:"1",version:"DICOM"},"(300A,00D2)":{tag:"(300A,00D2)",vr:"IS",name:"WedgeNumber",vm:"1",version:"DICOM"},"(300A,00D3)":{tag:"(300A,00D3)",vr:"CS",name:"WedgeType",vm:"1",version:"DICOM"},"(300A,00D4)":{tag:"(300A,00D4)",vr:"SH",name:"WedgeID",vm:"1",version:"DICOM"},"(300A,00D5)":{tag:"(300A,00D5)",vr:"IS",name:"WedgeAngle",vm:"1",version:"DICOM"},"(300A,00D6)":{tag:"(300A,00D6)",vr:"DS",name:"WedgeFactor",vm:"1",version:"DICOM"},"(300A,00D7)":{tag:"(300A,00D7)",vr:"FL",name:"TotalWedgeTrayWaterEquivalentThickness",vm:"1",version:"DICOM"},"(300A,00D8)":{tag:"(300A,00D8)",vr:"DS",name:"WedgeOrientation",vm:"1",version:"DICOM"},"(300A,00D9)":{tag:"(300A,00D9)",vr:"FL",name:"IsocenterToWedgeTrayDistance",vm:"1",version:"DICOM"},"(300A,00DA)":{tag:"(300A,00DA)",vr:"DS",name:"SourceToWedgeTrayDistance",vm:"1",version:"DICOM"},"(300A,00DB)":{tag:"(300A,00DB)",vr:"FL",name:"WedgeThinEdgePosition",vm:"1",version:"DICOM"},"(300A,00DC)":{tag:"(300A,00DC)",vr:"SH",name:"BolusID",vm:"1",version:"DICOM"},"(300A,00DD)":{tag:"(300A,00DD)",vr:"ST",name:"BolusDescription",vm:"1",version:"DICOM"},"(300A,00DE)":{tag:"(300A,00DE)",vr:"DS",name:"EffectiveWedgeAngle",vm:"1",version:"DICOM"},"(300A,00E0)":{tag:"(300A,00E0)",vr:"IS",name:"NumberOfCompensators",vm:"1",version:"DICOM"},"(300A,00E1)":{tag:"(300A,00E1)",vr:"SH",name:"MaterialID",vm:"1",version:"DICOM"},"(300A,00E2)":{tag:"(300A,00E2)",vr:"DS",name:"TotalCompensatorTrayFactor",vm:"1",version:"DICOM"},"(300A,00E3)":{tag:"(300A,00E3)",vr:"SQ",name:"CompensatorSequence",vm:"1",version:"DICOM"},"(300A,00E4)":{tag:"(300A,00E4)",vr:"IS",name:"CompensatorNumber",vm:"1",version:"DICOM"},"(300A,00E5)":{tag:"(300A,00E5)",vr:"SH",name:"CompensatorID",vm:"1",version:"DICOM"},"(300A,00E6)":{tag:"(300A,00E6)",vr:"DS",name:"SourceToCompensatorTrayDistance",vm:"1",version:"DICOM"},"(300A,00E7)":{tag:"(300A,00E7)",vr:"IS",name:"CompensatorRows",vm:"1",version:"DICOM"},"(300A,00E8)":{tag:"(300A,00E8)",vr:"IS",name:"CompensatorColumns",vm:"1",version:"DICOM"},"(300A,00E9)":{tag:"(300A,00E9)",vr:"DS",name:"CompensatorPixelSpacing",vm:"2",version:"DICOM"},"(300A,00EA)":{tag:"(300A,00EA)",vr:"DS",name:"CompensatorPosition",vm:"2",version:"DICOM"},"(300A,00EB)":{tag:"(300A,00EB)",vr:"DS",name:"CompensatorTransmissionData",vm:"1-n",version:"DICOM"},"(300A,00EC)":{tag:"(300A,00EC)",vr:"DS",name:"CompensatorThicknessData",vm:"1-n",version:"DICOM"},"(300A,00ED)":{tag:"(300A,00ED)",vr:"IS",name:"NumberOfBoli",vm:"1",version:"DICOM"},"(300A,00EE)":{tag:"(300A,00EE)",vr:"CS",name:"CompensatorType",vm:"1",version:"DICOM"},"(300A,00EF)":{tag:"(300A,00EF)",vr:"SH",name:"CompensatorTrayID",vm:"1",version:"DICOM"},"(300A,00F0)":{tag:"(300A,00F0)",vr:"IS",name:"NumberOfBlocks",vm:"1",version:"DICOM"},"(300A,00F2)":{tag:"(300A,00F2)",vr:"DS",name:"TotalBlockTrayFactor",vm:"1",version:"DICOM"},"(300A,00F3)":{tag:"(300A,00F3)",vr:"FL",name:"TotalBlockTrayWaterEquivalentThickness",vm:"1",version:"DICOM"},"(300A,00F4)":{tag:"(300A,00F4)",vr:"SQ",name:"BlockSequence",vm:"1",version:"DICOM"},"(300A,00F5)":{tag:"(300A,00F5)",vr:"SH",name:"BlockTrayID",vm:"1",version:"DICOM"},"(300A,00F6)":{tag:"(300A,00F6)",vr:"DS",name:"SourceToBlockTrayDistance",vm:"1",version:"DICOM"},"(300A,00F7)":{tag:"(300A,00F7)",vr:"FL",name:"IsocenterToBlockTrayDistance",vm:"1",version:"DICOM"},"(300A,00F8)":{tag:"(300A,00F8)",vr:"CS",name:"BlockType",vm:"1",version:"DICOM"},"(300A,00F9)":{tag:"(300A,00F9)",vr:"LO",name:"AccessoryCode",vm:"1",version:"DICOM"},"(300A,00FA)":{tag:"(300A,00FA)",vr:"CS",name:"BlockDivergence",vm:"1",version:"DICOM"},"(300A,00FB)":{tag:"(300A,00FB)",vr:"CS",name:"BlockMountingPosition",vm:"1",version:"DICOM"},"(300A,00FC)":{tag:"(300A,00FC)",vr:"IS",name:"BlockNumber",vm:"1",version:"DICOM"},"(300A,00FE)":{tag:"(300A,00FE)",vr:"LO",name:"BlockName",vm:"1",version:"DICOM"},"(300A,0100)":{tag:"(300A,0100)",vr:"DS",name:"BlockThickness",vm:"1",version:"DICOM"},"(300A,0102)":{tag:"(300A,0102)",vr:"DS",name:"BlockTransmission",vm:"1",version:"DICOM"},"(300A,0104)":{tag:"(300A,0104)",vr:"IS",name:"BlockNumberOfPoints",vm:"1",version:"DICOM"},"(300A,0106)":{tag:"(300A,0106)",vr:"DS",name:"BlockData",vm:"2-2n",version:"DICOM"},"(300A,0107)":{tag:"(300A,0107)",vr:"SQ",name:"ApplicatorSequence",vm:"1",version:"DICOM"},"(300A,0108)":{tag:"(300A,0108)",vr:"SH",name:"ApplicatorID",vm:"1",version:"DICOM"},"(300A,0109)":{tag:"(300A,0109)",vr:"CS",name:"ApplicatorType",vm:"1",version:"DICOM"},"(300A,010A)":{tag:"(300A,010A)",vr:"LO",name:"ApplicatorDescription",vm:"1",version:"DICOM"},"(300A,010C)":{tag:"(300A,010C)",vr:"DS",name:"CumulativeDoseReferenceCoefficient",vm:"1",version:"DICOM"},"(300A,010E)":{tag:"(300A,010E)",vr:"DS",name:"FinalCumulativeMetersetWeight",vm:"1",version:"DICOM"},"(300A,0110)":{tag:"(300A,0110)",vr:"IS",name:"NumberOfControlPoints",vm:"1",version:"DICOM"},"(300A,0111)":{tag:"(300A,0111)",vr:"SQ",name:"ControlPointSequence",vm:"1",version:"DICOM"},"(300A,0112)":{tag:"(300A,0112)",vr:"IS",name:"ControlPointIndex",vm:"1",version:"DICOM"},"(300A,0114)":{tag:"(300A,0114)",vr:"DS",name:"NominalBeamEnergy",vm:"1",version:"DICOM"},"(300A,0115)":{tag:"(300A,0115)",vr:"DS",name:"DoseRateSet",vm:"1",version:"DICOM"},"(300A,0116)":{tag:"(300A,0116)",vr:"SQ",name:"WedgePositionSequence",vm:"1",version:"DICOM"},"(300A,0118)":{tag:"(300A,0118)",vr:"CS",name:"WedgePosition",vm:"1",version:"DICOM"},"(300A,011A)":{tag:"(300A,011A)",vr:"SQ",name:"BeamLimitingDevicePositionSequence",vm:"1",version:"DICOM"},"(300A,011C)":{tag:"(300A,011C)",vr:"DS",name:"LeafJawPositions",vm:"2-2n",version:"DICOM"},"(300A,011E)":{tag:"(300A,011E)",vr:"DS",name:"GantryAngle",vm:"1",version:"DICOM"},"(300A,011F)":{tag:"(300A,011F)",vr:"CS",name:"GantryRotationDirection",vm:"1",version:"DICOM"},"(300A,0120)":{tag:"(300A,0120)",vr:"DS",name:"BeamLimitingDeviceAngle",vm:"1",version:"DICOM"},"(300A,0121)":{tag:"(300A,0121)",vr:"CS",name:"BeamLimitingDeviceRotationDirection",vm:"1",version:"DICOM"},"(300A,0122)":{tag:"(300A,0122)",vr:"DS",name:"PatientSupportAngle",vm:"1",version:"DICOM"},"(300A,0123)":{tag:"(300A,0123)",vr:"CS",name:"PatientSupportRotationDirection",vm:"1",version:"DICOM"},"(300A,0124)":{tag:"(300A,0124)",vr:"DS",name:"TableTopEccentricAxisDistance",vm:"1",version:"DICOM"},"(300A,0125)":{tag:"(300A,0125)",vr:"DS",name:"TableTopEccentricAngle",vm:"1",version:"DICOM"},"(300A,0126)":{tag:"(300A,0126)",vr:"CS",name:"TableTopEccentricRotationDirection",vm:"1",version:"DICOM"},"(300A,0128)":{tag:"(300A,0128)",vr:"DS",name:"TableTopVerticalPosition",vm:"1",version:"DICOM"},"(300A,0129)":{tag:"(300A,0129)",vr:"DS",name:"TableTopLongitudinalPosition",vm:"1",version:"DICOM"},"(300A,012A)":{tag:"(300A,012A)",vr:"DS",name:"TableTopLateralPosition",vm:"1",version:"DICOM"},"(300A,012C)":{tag:"(300A,012C)",vr:"DS",name:"IsocenterPosition",vm:"3",version:"DICOM"},"(300A,012E)":{tag:"(300A,012E)",vr:"DS",name:"SurfaceEntryPoint",vm:"3",version:"DICOM"},"(300A,0130)":{tag:"(300A,0130)",vr:"DS",name:"SourceToSurfaceDistance",vm:"1",version:"DICOM"},"(300A,0131)":{tag:"(300A,0131)",vr:"FL",name:"AverageBeamDosePointSourceToExternalContourSurfaceDistance",vm:"1",version:"DICOM"},"(300A,0132)":{tag:"(300A,0132)",vr:"FL",name:"SourceToExternalContourDistance",vm:"1",version:"DICOM"},"(300A,0133)":{tag:"(300A,0133)",vr:"FL",name:"ExternalContourEntryPoint",vm:"3",version:"DICOM"},"(300A,0134)":{tag:"(300A,0134)",vr:"DS",name:"CumulativeMetersetWeight",vm:"1",version:"DICOM"},"(300A,0140)":{tag:"(300A,0140)",vr:"FL",name:"TableTopPitchAngle",vm:"1",version:"DICOM"},"(300A,0142)":{tag:"(300A,0142)",vr:"CS",name:"TableTopPitchRotationDirection",vm:"1",version:"DICOM"},"(300A,0144)":{tag:"(300A,0144)",vr:"FL",name:"TableTopRollAngle",vm:"1",version:"DICOM"},"(300A,0146)":{tag:"(300A,0146)",vr:"CS",name:"TableTopRollRotationDirection",vm:"1",version:"DICOM"},"(300A,0148)":{tag:"(300A,0148)",vr:"FL",name:"HeadFixationAngle",vm:"1",version:"DICOM"},"(300A,014A)":{tag:"(300A,014A)",vr:"FL",name:"GantryPitchAngle",vm:"1",version:"DICOM"},"(300A,014C)":{tag:"(300A,014C)",vr:"CS",name:"GantryPitchRotationDirection",vm:"1",version:"DICOM"},"(300A,014E)":{tag:"(300A,014E)",vr:"FL",name:"GantryPitchAngleTolerance",vm:"1",version:"DICOM"},"(300A,0150)":{tag:"(300A,0150)",vr:"CS",name:"FixationEye",vm:"1",version:"DICOM"},"(300A,0151)":{tag:"(300A,0151)",vr:"DS",name:"ChairHeadFramePosition",vm:"1",version:"DICOM"},"(300A,0152)":{tag:"(300A,0152)",vr:"DS",name:"HeadFixationAngleTolerance",vm:"1",version:"DICOM"},"(300A,0153)":{tag:"(300A,0153)",vr:"DS",name:"ChairHeadFramePositionTolerance",vm:"1",version:"DICOM"},"(300A,0154)":{tag:"(300A,0154)",vr:"DS",name:"FixationLightAzimuthalAngleTolerance",vm:"1",version:"DICOM"},"(300A,0155)":{tag:"(300A,0155)",vr:"DS",name:"FixationLightPolarAngleTolerance",vm:"1",version:"DICOM"},"(300A,0180)":{tag:"(300A,0180)",vr:"SQ",name:"PatientSetupSequence",vm:"1",version:"DICOM"},"(300A,0182)":{tag:"(300A,0182)",vr:"IS",name:"PatientSetupNumber",vm:"1",version:"DICOM"},"(300A,0183)":{tag:"(300A,0183)",vr:"LO",name:"PatientSetupLabel",vm:"1",version:"DICOM"},"(300A,0184)":{tag:"(300A,0184)",vr:"LO",name:"PatientAdditionalPosition",vm:"1",version:"DICOM"},"(300A,0190)":{tag:"(300A,0190)",vr:"SQ",name:"FixationDeviceSequence",vm:"1",version:"DICOM"},"(300A,0192)":{tag:"(300A,0192)",vr:"CS",name:"FixationDeviceType",vm:"1",version:"DICOM"},"(300A,0194)":{tag:"(300A,0194)",vr:"SH",name:"FixationDeviceLabel",vm:"1",version:"DICOM"},"(300A,0196)":{tag:"(300A,0196)",vr:"ST",name:"FixationDeviceDescription",vm:"1",version:"DICOM"},"(300A,0198)":{tag:"(300A,0198)",vr:"SH",name:"FixationDevicePosition",vm:"1",version:"DICOM"},"(300A,0199)":{tag:"(300A,0199)",vr:"FL",name:"FixationDevicePitchAngle",vm:"1",version:"DICOM"},"(300A,019A)":{tag:"(300A,019A)",vr:"FL",name:"FixationDeviceRollAngle",vm:"1",version:"DICOM"},"(300A,01A0)":{tag:"(300A,01A0)",vr:"SQ",name:"ShieldingDeviceSequence",vm:"1",version:"DICOM"},"(300A,01A2)":{tag:"(300A,01A2)",vr:"CS",name:"ShieldingDeviceType",vm:"1",version:"DICOM"},"(300A,01A4)":{tag:"(300A,01A4)",vr:"SH",name:"ShieldingDeviceLabel",vm:"1",version:"DICOM"},"(300A,01A6)":{tag:"(300A,01A6)",vr:"ST",name:"ShieldingDeviceDescription",vm:"1",version:"DICOM"},"(300A,01A8)":{tag:"(300A,01A8)",vr:"SH",name:"ShieldingDevicePosition",vm:"1",version:"DICOM"},"(300A,01B0)":{tag:"(300A,01B0)",vr:"CS",name:"SetupTechnique",vm:"1",version:"DICOM"},"(300A,01B2)":{tag:"(300A,01B2)",vr:"ST",name:"SetupTechniqueDescription",vm:"1",version:"DICOM"},"(300A,01B4)":{tag:"(300A,01B4)",vr:"SQ",name:"SetupDeviceSequence",vm:"1",version:"DICOM"},"(300A,01B6)":{tag:"(300A,01B6)",vr:"CS",name:"SetupDeviceType",vm:"1",version:"DICOM"},"(300A,01B8)":{tag:"(300A,01B8)",vr:"SH",name:"SetupDeviceLabel",vm:"1",version:"DICOM"},"(300A,01BA)":{tag:"(300A,01BA)",vr:"ST",name:"SetupDeviceDescription",vm:"1",version:"DICOM"},"(300A,01BC)":{tag:"(300A,01BC)",vr:"DS",name:"SetupDeviceParameter",vm:"1",version:"DICOM"},"(300A,01D0)":{tag:"(300A,01D0)",vr:"ST",name:"SetupReferenceDescription",vm:"1",version:"DICOM"},"(300A,01D2)":{tag:"(300A,01D2)",vr:"DS",name:"TableTopVerticalSetupDisplacement",vm:"1",version:"DICOM"},"(300A,01D4)":{tag:"(300A,01D4)",vr:"DS",name:"TableTopLongitudinalSetupDisplacement",vm:"1",version:"DICOM"},"(300A,01D6)":{tag:"(300A,01D6)",vr:"DS",name:"TableTopLateralSetupDisplacement",vm:"1",version:"DICOM"},"(300A,0200)":{tag:"(300A,0200)",vr:"CS",name:"BrachyTreatmentTechnique",vm:"1",version:"DICOM"},"(300A,0202)":{tag:"(300A,0202)",vr:"CS",name:"BrachyTreatmentType",vm:"1",version:"DICOM"},"(300A,0206)":{tag:"(300A,0206)",vr:"SQ",name:"TreatmentMachineSequence",vm:"1",version:"DICOM"},"(300A,0210)":{tag:"(300A,0210)",vr:"SQ",name:"SourceSequence",vm:"1",version:"DICOM"},"(300A,0212)":{tag:"(300A,0212)",vr:"IS",name:"SourceNumber",vm:"1",version:"DICOM"},"(300A,0214)":{tag:"(300A,0214)",vr:"CS",name:"SourceType",vm:"1",version:"DICOM"},"(300A,0216)":{tag:"(300A,0216)",vr:"LO",name:"SourceManufacturer",vm:"1",version:"DICOM"},"(300A,0218)":{tag:"(300A,0218)",vr:"DS",name:"ActiveSourceDiameter",vm:"1",version:"DICOM"},"(300A,021A)":{tag:"(300A,021A)",vr:"DS",name:"ActiveSourceLength",vm:"1",version:"DICOM"},"(300A,021B)":{tag:"(300A,021B)",vr:"SH",name:"SourceModelID",vm:"1",version:"DICOM"},"(300A,021C)":{tag:"(300A,021C)",vr:"LO",name:"SourceDescription",vm:"1",version:"DICOM"},"(300A,0222)":{tag:"(300A,0222)",vr:"DS",name:"SourceEncapsulationNominalThickness",vm:"1",version:"DICOM"},"(300A,0224)":{tag:"(300A,0224)",vr:"DS",name:"SourceEncapsulationNominalTransmission",vm:"1",version:"DICOM"},"(300A,0226)":{tag:"(300A,0226)",vr:"LO",name:"SourceIsotopeName",vm:"1",version:"DICOM"},"(300A,0228)":{tag:"(300A,0228)",vr:"DS",name:"SourceIsotopeHalfLife",vm:"1",version:"DICOM"},"(300A,0229)":{tag:"(300A,0229)",vr:"CS",name:"SourceStrengthUnits",vm:"1",version:"DICOM"},"(300A,022A)":{tag:"(300A,022A)",vr:"DS",name:"ReferenceAirKermaRate",vm:"1",version:"DICOM"},"(300A,022B)":{tag:"(300A,022B)",vr:"DS",name:"SourceStrength",vm:"1",version:"DICOM"},"(300A,022C)":{tag:"(300A,022C)",vr:"DA",name:"SourceStrengthReferenceDate",vm:"1",version:"DICOM"},"(300A,022E)":{tag:"(300A,022E)",vr:"TM",name:"SourceStrengthReferenceTime",vm:"1",version:"DICOM"},"(300A,0230)":{tag:"(300A,0230)",vr:"SQ",name:"ApplicationSetupSequence",vm:"1",version:"DICOM"},"(300A,0232)":{tag:"(300A,0232)",vr:"CS",name:"ApplicationSetupType",vm:"1",version:"DICOM"},"(300A,0234)":{tag:"(300A,0234)",vr:"IS",name:"ApplicationSetupNumber",vm:"1",version:"DICOM"},"(300A,0236)":{tag:"(300A,0236)",vr:"LO",name:"ApplicationSetupName",vm:"1",version:"DICOM"},"(300A,0238)":{tag:"(300A,0238)",vr:"LO",name:"ApplicationSetupManufacturer",vm:"1",version:"DICOM"},"(300A,0240)":{tag:"(300A,0240)",vr:"IS",name:"TemplateNumber",vm:"1",version:"DICOM"},"(300A,0242)":{tag:"(300A,0242)",vr:"SH",name:"TemplateType",vm:"1",version:"DICOM"},"(300A,0244)":{tag:"(300A,0244)",vr:"LO",name:"TemplateName",vm:"1",version:"DICOM"},"(300A,0250)":{tag:"(300A,0250)",vr:"DS",name:"TotalReferenceAirKerma",vm:"1",version:"DICOM"},"(300A,0260)":{tag:"(300A,0260)",vr:"SQ",name:"BrachyAccessoryDeviceSequence",vm:"1",version:"DICOM"},"(300A,0262)":{tag:"(300A,0262)",vr:"IS",name:"BrachyAccessoryDeviceNumber",vm:"1",version:"DICOM"},"(300A,0263)":{tag:"(300A,0263)",vr:"SH",name:"BrachyAccessoryDeviceID",vm:"1",version:"DICOM"},"(300A,0264)":{tag:"(300A,0264)",vr:"CS",name:"BrachyAccessoryDeviceType",vm:"1",version:"DICOM"},"(300A,0266)":{tag:"(300A,0266)",vr:"LO",name:"BrachyAccessoryDeviceName",vm:"1",version:"DICOM"},"(300A,026A)":{tag:"(300A,026A)",vr:"DS",name:"BrachyAccessoryDeviceNominalThickness",vm:"1",version:"DICOM"},"(300A,026C)":{tag:"(300A,026C)",vr:"DS",name:"BrachyAccessoryDeviceNominalTransmission",vm:"1",version:"DICOM"},"(300A,0271)":{tag:"(300A,0271)",vr:"DS",name:"ChannelEffectiveLength",vm:"1",version:"DICOM"},"(300A,0272)":{tag:"(300A,0272)",vr:"DS",name:"ChannelInnerLength",vm:"1",version:"DICOM"},"(300A,0273)":{tag:"(300A,0273)",vr:"SH",name:"AfterloaderChannelID",vm:"1",version:"DICOM"},"(300A,0274)":{tag:"(300A,0274)",vr:"DS",name:"SourceApplicatorTipLength",vm:"1",version:"DICOM"},"(300A,0280)":{tag:"(300A,0280)",vr:"SQ",name:"ChannelSequence",vm:"1",version:"DICOM"},"(300A,0282)":{tag:"(300A,0282)",vr:"IS",name:"ChannelNumber",vm:"1",version:"DICOM"},"(300A,0284)":{tag:"(300A,0284)",vr:"DS",name:"ChannelLength",vm:"1",version:"DICOM"},"(300A,0286)":{tag:"(300A,0286)",vr:"DS",name:"ChannelTotalTime",vm:"1",version:"DICOM"},"(300A,0288)":{tag:"(300A,0288)",vr:"CS",name:"SourceMovementType",vm:"1",version:"DICOM"},"(300A,028A)":{tag:"(300A,028A)",vr:"IS",name:"NumberOfPulses",vm:"1",version:"DICOM"},"(300A,028C)":{tag:"(300A,028C)",vr:"DS",name:"PulseRepetitionInterval",vm:"1",version:"DICOM"},"(300A,0290)":{tag:"(300A,0290)",vr:"IS",name:"SourceApplicatorNumber",vm:"1",version:"DICOM"},"(300A,0291)":{tag:"(300A,0291)",vr:"SH",name:"SourceApplicatorID",vm:"1",version:"DICOM"},"(300A,0292)":{tag:"(300A,0292)",vr:"CS",name:"SourceApplicatorType",vm:"1",version:"DICOM"},"(300A,0294)":{tag:"(300A,0294)",vr:"LO",name:"SourceApplicatorName",vm:"1",version:"DICOM"},"(300A,0296)":{tag:"(300A,0296)",vr:"DS",name:"SourceApplicatorLength",vm:"1",version:"DICOM"},"(300A,0298)":{tag:"(300A,0298)",vr:"LO",name:"SourceApplicatorManufacturer",vm:"1",version:"DICOM"},"(300A,029C)":{tag:"(300A,029C)",vr:"DS",name:"SourceApplicatorWallNominalThickness",vm:"1",version:"DICOM"},"(300A,029E)":{tag:"(300A,029E)",vr:"DS",name:"SourceApplicatorWallNominalTransmission",vm:"1",version:"DICOM"},"(300A,02A0)":{tag:"(300A,02A0)",vr:"DS",name:"SourceApplicatorStepSize",vm:"1",version:"DICOM"},"(300A,02A2)":{tag:"(300A,02A2)",vr:"IS",name:"TransferTubeNumber",vm:"1",version:"DICOM"},"(300A,02A4)":{tag:"(300A,02A4)",vr:"DS",name:"TransferTubeLength",vm:"1",version:"DICOM"},"(300A,02B0)":{tag:"(300A,02B0)",vr:"SQ",name:"ChannelShieldSequence",vm:"1",version:"DICOM"},"(300A,02B2)":{tag:"(300A,02B2)",vr:"IS",name:"ChannelShieldNumber",vm:"1",version:"DICOM"},"(300A,02B3)":{tag:"(300A,02B3)",vr:"SH",name:"ChannelShieldID",vm:"1",version:"DICOM"},"(300A,02B4)":{tag:"(300A,02B4)",vr:"LO",name:"ChannelShieldName",vm:"1",version:"DICOM"},"(300A,02B8)":{tag:"(300A,02B8)",vr:"DS",name:"ChannelShieldNominalThickness",vm:"1",version:"DICOM"},"(300A,02BA)":{tag:"(300A,02BA)",vr:"DS",name:"ChannelShieldNominalTransmission",vm:"1",version:"DICOM"},"(300A,02C8)":{tag:"(300A,02C8)",vr:"DS",name:"FinalCumulativeTimeWeight",vm:"1",version:"DICOM"},"(300A,02D0)":{tag:"(300A,02D0)",vr:"SQ",name:"BrachyControlPointSequence",vm:"1",version:"DICOM"},"(300A,02D2)":{tag:"(300A,02D2)",vr:"DS",name:"ControlPointRelativePosition",vm:"1",version:"DICOM"},"(300A,02D4)":{tag:"(300A,02D4)",vr:"DS",name:"ControlPoint3DPosition",vm:"3",version:"DICOM"},"(300A,02D6)":{tag:"(300A,02D6)",vr:"DS",name:"CumulativeTimeWeight",vm:"1",version:"DICOM"},"(300A,02E0)":{tag:"(300A,02E0)",vr:"CS",name:"CompensatorDivergence",vm:"1",version:"DICOM"},"(300A,02E1)":{tag:"(300A,02E1)",vr:"CS",name:"CompensatorMountingPosition",vm:"1",version:"DICOM"},"(300A,02E2)":{tag:"(300A,02E2)",vr:"DS",name:"SourceToCompensatorDistance",vm:"1-n",version:"DICOM"},"(300A,02E3)":{tag:"(300A,02E3)",vr:"FL",name:"TotalCompensatorTrayWaterEquivalentThickness",vm:"1",version:"DICOM"},"(300A,02E4)":{tag:"(300A,02E4)",vr:"FL",name:"IsocenterToCompensatorTrayDistance",vm:"1",version:"DICOM"},"(300A,02E5)":{tag:"(300A,02E5)",vr:"FL",name:"CompensatorColumnOffset",vm:"1",version:"DICOM"},"(300A,02E6)":{tag:"(300A,02E6)",vr:"FL",name:"IsocenterToCompensatorDistances",vm:"1-n",version:"DICOM"},"(300A,02E7)":{tag:"(300A,02E7)",vr:"FL",name:"CompensatorRelativeStoppingPowerRatio",vm:"1",version:"DICOM"},"(300A,02E8)":{tag:"(300A,02E8)",vr:"FL",name:"CompensatorMillingToolDiameter",vm:"1",version:"DICOM"},"(300A,02EA)":{tag:"(300A,02EA)",vr:"SQ",name:"IonRangeCompensatorSequence",vm:"1",version:"DICOM"},"(300A,02EB)":{tag:"(300A,02EB)",vr:"LT",name:"CompensatorDescription",vm:"1",version:"DICOM"},"(300A,0302)":{tag:"(300A,0302)",vr:"IS",name:"RadiationMassNumber",vm:"1",version:"DICOM"},"(300A,0304)":{tag:"(300A,0304)",vr:"IS",name:"RadiationAtomicNumber",vm:"1",version:"DICOM"},"(300A,0306)":{tag:"(300A,0306)",vr:"SS",name:"RadiationChargeState",vm:"1",version:"DICOM"},"(300A,0308)":{tag:"(300A,0308)",vr:"CS",name:"ScanMode",vm:"1",version:"DICOM"},"(300A,0309)":{tag:"(300A,0309)",vr:"CS",name:"ModulatedScanModeType",vm:"1",version:"DICOM"},"(300A,030A)":{tag:"(300A,030A)",vr:"FL",name:"VirtualSourceAxisDistances",vm:"2",version:"DICOM"},"(300A,030C)":{tag:"(300A,030C)",vr:"SQ",name:"SnoutSequence",vm:"1",version:"DICOM"},"(300A,030D)":{tag:"(300A,030D)",vr:"FL",name:"SnoutPosition",vm:"1",version:"DICOM"},"(300A,030F)":{tag:"(300A,030F)",vr:"SH",name:"SnoutID",vm:"1",version:"DICOM"},"(300A,0312)":{tag:"(300A,0312)",vr:"IS",name:"NumberOfRangeShifters",vm:"1",version:"DICOM"},"(300A,0314)":{tag:"(300A,0314)",vr:"SQ",name:"RangeShifterSequence",vm:"1",version:"DICOM"},"(300A,0316)":{tag:"(300A,0316)",vr:"IS",name:"RangeShifterNumber",vm:"1",version:"DICOM"},"(300A,0318)":{tag:"(300A,0318)",vr:"SH",name:"RangeShifterID",vm:"1",version:"DICOM"},"(300A,0320)":{tag:"(300A,0320)",vr:"CS",name:"RangeShifterType",vm:"1",version:"DICOM"},"(300A,0322)":{tag:"(300A,0322)",vr:"LO",name:"RangeShifterDescription",vm:"1",version:"DICOM"},"(300A,0330)":{tag:"(300A,0330)",vr:"IS",name:"NumberOfLateralSpreadingDevices",vm:"1",version:"DICOM"},"(300A,0332)":{tag:"(300A,0332)",vr:"SQ",name:"LateralSpreadingDeviceSequence",vm:"1",version:"DICOM"},"(300A,0334)":{tag:"(300A,0334)",vr:"IS",name:"LateralSpreadingDeviceNumber",vm:"1",version:"DICOM"},"(300A,0336)":{tag:"(300A,0336)",vr:"SH",name:"LateralSpreadingDeviceID",vm:"1",version:"DICOM"},"(300A,0338)":{tag:"(300A,0338)",vr:"CS",name:"LateralSpreadingDeviceType",vm:"1",version:"DICOM"},"(300A,033A)":{tag:"(300A,033A)",vr:"LO",name:"LateralSpreadingDeviceDescription",vm:"1",version:"DICOM"},"(300A,033C)":{tag:"(300A,033C)",vr:"FL",name:"LateralSpreadingDeviceWaterEquivalentThickness",vm:"1",version:"DICOM"},"(300A,0340)":{tag:"(300A,0340)",vr:"IS",name:"NumberOfRangeModulators",vm:"1",version:"DICOM"},"(300A,0342)":{tag:"(300A,0342)",vr:"SQ",name:"RangeModulatorSequence",vm:"1",version:"DICOM"},"(300A,0344)":{tag:"(300A,0344)",vr:"IS",name:"RangeModulatorNumber",vm:"1",version:"DICOM"},"(300A,0346)":{tag:"(300A,0346)",vr:"SH",name:"RangeModulatorID",vm:"1",version:"DICOM"},"(300A,0348)":{tag:"(300A,0348)",vr:"CS",name:"RangeModulatorType",vm:"1",version:"DICOM"},"(300A,034A)":{tag:"(300A,034A)",vr:"LO",name:"RangeModulatorDescription",vm:"1",version:"DICOM"},"(300A,034C)":{tag:"(300A,034C)",vr:"SH",name:"BeamCurrentModulationID",vm:"1",version:"DICOM"},"(300A,0350)":{tag:"(300A,0350)",vr:"CS",name:"PatientSupportType",vm:"1",version:"DICOM"},"(300A,0352)":{tag:"(300A,0352)",vr:"SH",name:"PatientSupportID",vm:"1",version:"DICOM"},"(300A,0354)":{tag:"(300A,0354)",vr:"LO",name:"PatientSupportAccessoryCode",vm:"1",version:"DICOM"},"(300A,0355)":{tag:"(300A,0355)",vr:"LO",name:"TrayAccessoryCode",vm:"1",version:"DICOM"},"(300A,0356)":{tag:"(300A,0356)",vr:"FL",name:"FixationLightAzimuthalAngle",vm:"1",version:"DICOM"},"(300A,0358)":{tag:"(300A,0358)",vr:"FL",name:"FixationLightPolarAngle",vm:"1",version:"DICOM"},"(300A,035A)":{tag:"(300A,035A)",vr:"FL",name:"MetersetRate",vm:"1",version:"DICOM"},"(300A,0360)":{tag:"(300A,0360)",vr:"SQ",name:"RangeShifterSettingsSequence",vm:"1",version:"DICOM"},"(300A,0362)":{tag:"(300A,0362)",vr:"LO",name:"RangeShifterSetting",vm:"1",version:"DICOM"},"(300A,0364)":{tag:"(300A,0364)",vr:"FL",name:"IsocenterToRangeShifterDistance",vm:"1",version:"DICOM"},"(300A,0366)":{tag:"(300A,0366)",vr:"FL",name:"RangeShifterWaterEquivalentThickness",vm:"1",version:"DICOM"},"(300A,0370)":{tag:"(300A,0370)",vr:"SQ",name:"LateralSpreadingDeviceSettingsSequence",vm:"1",version:"DICOM"},"(300A,0372)":{tag:"(300A,0372)",vr:"LO",name:"LateralSpreadingDeviceSetting",vm:"1",version:"DICOM"},"(300A,0374)":{tag:"(300A,0374)",vr:"FL",name:"IsocenterToLateralSpreadingDeviceDistance",vm:"1",version:"DICOM"},"(300A,0380)":{tag:"(300A,0380)",vr:"SQ",name:"RangeModulatorSettingsSequence",vm:"1",version:"DICOM"},"(300A,0382)":{tag:"(300A,0382)",vr:"FL",name:"RangeModulatorGatingStartValue",vm:"1",version:"DICOM"},"(300A,0384)":{tag:"(300A,0384)",vr:"FL",name:"RangeModulatorGatingStopValue",vm:"1",version:"DICOM"},"(300A,0386)":{tag:"(300A,0386)",vr:"FL",name:"RangeModulatorGatingStartWaterEquivalentThickness",vm:"1",version:"DICOM"},"(300A,0388)":{tag:"(300A,0388)",vr:"FL",name:"RangeModulatorGatingStopWaterEquivalentThickness",vm:"1",version:"DICOM"},"(300A,038A)":{tag:"(300A,038A)",vr:"FL",name:"IsocenterToRangeModulatorDistance",vm:"1",version:"DICOM"},"(300A,038F)":{tag:"(300A,038F)",vr:"FL",name:"ScanSpotTimeOffset",vm:"1-n",version:"DICOM"},"(300A,0390)":{tag:"(300A,0390)",vr:"SH",name:"ScanSpotTuneID",vm:"1",version:"DICOM"},"(300A,0391)":{tag:"(300A,0391)",vr:"IS",name:"ScanSpotPrescribedIndices",vm:"1-n",version:"DICOM"},"(300A,0392)":{tag:"(300A,0392)",vr:"IS",name:"NumberOfScanSpotPositions",vm:"1",version:"DICOM"},"(300A,0393)":{tag:"(300A,0393)",vr:"CS",name:"ScanSpotReordered",vm:"1",version:"DICOM"},"(300A,0394)":{tag:"(300A,0394)",vr:"FL",name:"ScanSpotPositionMap",vm:"1-n",version:"DICOM"},"(300A,0395)":{tag:"(300A,0395)",vr:"CS",name:"ScanSpotReorderingAllowed",vm:"1",version:"DICOM"},"(300A,0396)":{tag:"(300A,0396)",vr:"FL",name:"ScanSpotMetersetWeights",vm:"1-n",version:"DICOM"},"(300A,0398)":{tag:"(300A,0398)",vr:"FL",name:"ScanningSpotSize",vm:"2",version:"DICOM"},"(300A,0399)":{tag:"(300A,0399)",vr:"FL",name:"ScanSpotSizesDelivered",vm:"2-2n",version:"DICOM"},"(300A,039A)":{tag:"(300A,039A)",vr:"IS",name:"NumberOfPaintings",vm:"1",version:"DICOM"},"(300A,03A0)":{tag:"(300A,03A0)",vr:"SQ",name:"IonToleranceTableSequence",vm:"1",version:"DICOM"},"(300A,03A2)":{tag:"(300A,03A2)",vr:"SQ",name:"IonBeamSequence",vm:"1",version:"DICOM"},"(300A,03A4)":{tag:"(300A,03A4)",vr:"SQ",name:"IonBeamLimitingDeviceSequence",vm:"1",version:"DICOM"},"(300A,03A6)":{tag:"(300A,03A6)",vr:"SQ",name:"IonBlockSequence",vm:"1",version:"DICOM"},"(300A,03A8)":{tag:"(300A,03A8)",vr:"SQ",name:"IonControlPointSequence",vm:"1",version:"DICOM"},"(300A,03AA)":{tag:"(300A,03AA)",vr:"SQ",name:"IonWedgeSequence",vm:"1",version:"DICOM"},"(300A,03AC)":{tag:"(300A,03AC)",vr:"SQ",name:"IonWedgePositionSequence",vm:"1",version:"DICOM"},"(300A,0401)":{tag:"(300A,0401)",vr:"SQ",name:"ReferencedSetupImageSequence",vm:"1",version:"DICOM"},"(300A,0402)":{tag:"(300A,0402)",vr:"ST",name:"SetupImageComment",vm:"1",version:"DICOM"},"(300A,0410)":{tag:"(300A,0410)",vr:"SQ",name:"MotionSynchronizationSequence",vm:"1",version:"DICOM"},"(300A,0412)":{tag:"(300A,0412)",vr:"FL",name:"ControlPointOrientation",vm:"3",version:"DICOM"},"(300A,0420)":{tag:"(300A,0420)",vr:"SQ",name:"GeneralAccessorySequence",vm:"1",version:"DICOM"},"(300A,0421)":{tag:"(300A,0421)",vr:"SH",name:"GeneralAccessoryID",vm:"1",version:"DICOM"},"(300A,0422)":{tag:"(300A,0422)",vr:"ST",name:"GeneralAccessoryDescription",vm:"1",version:"DICOM"},"(300A,0423)":{tag:"(300A,0423)",vr:"CS",name:"GeneralAccessoryType",vm:"1",version:"DICOM"},"(300A,0424)":{tag:"(300A,0424)",vr:"IS",name:"GeneralAccessoryNumber",vm:"1",version:"DICOM"},"(300A,0425)":{tag:"(300A,0425)",vr:"FL",name:"SourceToGeneralAccessoryDistance",vm:"1",version:"DICOM"},"(300A,0426)":{tag:"(300A,0426)",vr:"DS",name:"IsocenterToGeneralAccessoryDistance",vm:"1",version:"DICOM"},"(300A,0431)":{tag:"(300A,0431)",vr:"SQ",name:"ApplicatorGeometrySequence",vm:"1",version:"DICOM"},"(300A,0432)":{tag:"(300A,0432)",vr:"CS",name:"ApplicatorApertureShape",vm:"1",version:"DICOM"},"(300A,0433)":{tag:"(300A,0433)",vr:"FL",name:"ApplicatorOpening",vm:"1",version:"DICOM"},"(300A,0434)":{tag:"(300A,0434)",vr:"FL",name:"ApplicatorOpeningX",vm:"1",version:"DICOM"},"(300A,0435)":{tag:"(300A,0435)",vr:"FL",name:"ApplicatorOpeningY",vm:"1",version:"DICOM"},"(300A,0436)":{tag:"(300A,0436)",vr:"FL",name:"SourceToApplicatorMountingPositionDistance",vm:"1",version:"DICOM"},"(300A,0440)":{tag:"(300A,0440)",vr:"IS",name:"NumberOfBlockSlabItems",vm:"1",version:"DICOM"},"(300A,0441)":{tag:"(300A,0441)",vr:"SQ",name:"BlockSlabSequence",vm:"1",version:"DICOM"},"(300A,0442)":{tag:"(300A,0442)",vr:"DS",name:"BlockSlabThickness",vm:"1",version:"DICOM"},"(300A,0443)":{tag:"(300A,0443)",vr:"US",name:"BlockSlabNumber",vm:"1",version:"DICOM"},"(300A,0450)":{tag:"(300A,0450)",vr:"SQ",name:"DeviceMotionControlSequence",vm:"1",version:"DICOM"},"(300A,0451)":{tag:"(300A,0451)",vr:"CS",name:"DeviceMotionExecutionMode",vm:"1",version:"DICOM"},"(300A,0452)":{tag:"(300A,0452)",vr:"CS",name:"DeviceMotionObservationMode",vm:"1",version:"DICOM"},"(300A,0453)":{tag:"(300A,0453)",vr:"SQ",name:"DeviceMotionParameterCodeSequence",vm:"1",version:"DICOM"},"(300A,0501)":{tag:"(300A,0501)",vr:"FL",name:"DistalDepthFraction",vm:"1",version:"DICOM"},"(300A,0502)":{tag:"(300A,0502)",vr:"FL",name:"DistalDepth",vm:"1",version:"DICOM"},"(300A,0503)":{tag:"(300A,0503)",vr:"FL",name:"NominalRangeModulationFractions",vm:"2",version:"DICOM"},"(300A,0504)":{tag:"(300A,0504)",vr:"FL",name:"NominalRangeModulatedRegionDepths",vm:"2",version:"DICOM"},"(300A,0505)":{tag:"(300A,0505)",vr:"SQ",name:"DepthDoseParametersSequence",vm:"1",version:"DICOM"},"(300A,0506)":{tag:"(300A,0506)",vr:"SQ",name:"DeliveredDepthDoseParametersSequence",vm:"1",version:"DICOM"},"(300A,0507)":{tag:"(300A,0507)",vr:"FL",name:"DeliveredDistalDepthFraction",vm:"1",version:"DICOM"},"(300A,0508)":{tag:"(300A,0508)",vr:"FL",name:"DeliveredDistalDepth",vm:"1",version:"DICOM"},"(300A,0509)":{tag:"(300A,0509)",vr:"FL",name:"DeliveredNominalRangeModulationFractions",vm:"2",version:"DICOM"},"(300A,0510)":{tag:"(300A,0510)",vr:"FL",name:"DeliveredNominalRangeModulatedRegionDepths",vm:"2",version:"DICOM"},"(300A,0511)":{tag:"(300A,0511)",vr:"CS",name:"DeliveredReferenceDoseDefinition",vm:"1",version:"DICOM"},"(300A,0512)":{tag:"(300A,0512)",vr:"CS",name:"ReferenceDoseDefinition",vm:"1",version:"DICOM"},"(300A,0600)":{tag:"(300A,0600)",vr:"US",name:"RTControlPointIndex",vm:"1",version:"DICOM"},"(300A,0601)":{tag:"(300A,0601)",vr:"US",name:"RadiationGenerationModeIndex",vm:"1",version:"DICOM"},"(300A,0602)":{tag:"(300A,0602)",vr:"US",name:"ReferencedDefinedDeviceIndex",vm:"1",version:"DICOM"},"(300A,0603)":{tag:"(300A,0603)",vr:"US",name:"RadiationDoseIdentificationIndex",vm:"1",version:"DICOM"},"(300A,0604)":{tag:"(300A,0604)",vr:"US",name:"NumberOfRTControlPoints",vm:"1",version:"DICOM"},"(300A,0605)":{tag:"(300A,0605)",vr:"US",name:"ReferencedRadiationGenerationModeIndex",vm:"1",version:"DICOM"},"(300A,0606)":{tag:"(300A,0606)",vr:"US",name:"TreatmentPositionIndex",vm:"1",version:"DICOM"},"(300A,0607)":{tag:"(300A,0607)",vr:"US",name:"ReferencedDeviceIndex",vm:"1",version:"DICOM"},"(300A,0608)":{tag:"(300A,0608)",vr:"LO",name:"TreatmentPositionGroupLabel",vm:"1",version:"DICOM"},"(300A,0609)":{tag:"(300A,0609)",vr:"UI",name:"TreatmentPositionGroupUID",vm:"1",version:"DICOM"},"(300A,060A)":{tag:"(300A,060A)",vr:"SQ",name:"TreatmentPositionGroupSequence",vm:"1",version:"DICOM"},"(300A,060B)":{tag:"(300A,060B)",vr:"US",name:"ReferencedTreatmentPositionIndex",vm:"1",version:"DICOM"},"(300A,060C)":{tag:"(300A,060C)",vr:"US",name:"ReferencedRadiationDoseIdentificationIndex",vm:"1",version:"DICOM"},"(300A,060D)":{tag:"(300A,060D)",vr:"FD",name:"RTAccessoryHolderWaterEquivalentThickness",vm:"1",version:"DICOM"},"(300A,060E)":{tag:"(300A,060E)",vr:"US",name:"ReferencedRTAccessoryHolderDeviceIndex",vm:"1",version:"DICOM"},"(300A,060F)":{tag:"(300A,060F)",vr:"CS",name:"RTAccessoryHolderSlotExistenceFlag",vm:"1",version:"DICOM"},"(300A,0610)":{tag:"(300A,0610)",vr:"SQ",name:"RTAccessoryHolderSlotSequence",vm:"1",version:"DICOM"},"(300A,0611)":{tag:"(300A,0611)",vr:"LO",name:"RTAccessoryHolderSlotID",vm:"1",version:"DICOM"},"(300A,0612)":{tag:"(300A,0612)",vr:"FD",name:"RTAccessoryHolderSlotDistance",vm:"1",version:"DICOM"},"(300A,0613)":{tag:"(300A,0613)",vr:"FD",name:"RTAccessorySlotDistance",vm:"1",version:"DICOM"},"(300A,0614)":{tag:"(300A,0614)",vr:"SQ",name:"RTAccessoryHolderDefinitionSequence",vm:"1",version:"DICOM"},"(300A,0615)":{tag:"(300A,0615)",vr:"LO",name:"RTAccessoryDeviceSlotID",vm:"1",version:"DICOM"},"(300A,0616)":{tag:"(300A,0616)",vr:"SQ",name:"RTRadiationSequence",vm:"1",version:"DICOM"},"(300A,0617)":{tag:"(300A,0617)",vr:"SQ",name:"RadiationDoseSequence",vm:"1",version:"DICOM"},"(300A,0618)":{tag:"(300A,0618)",vr:"SQ",name:"RadiationDoseIdentificationSequence",vm:"1",version:"DICOM"},"(300A,0619)":{tag:"(300A,0619)",vr:"LO",name:"RadiationDoseIdentificationLabel",vm:"1",version:"DICOM"},"(300A,061A)":{tag:"(300A,061A)",vr:"CS",name:"ReferenceDoseType",vm:"1",version:"DICOM"},"(300A,061B)":{tag:"(300A,061B)",vr:"CS",name:"PrimaryDoseValueIndicator",vm:"1",version:"DICOM"},"(300A,061C)":{tag:"(300A,061C)",vr:"SQ",name:"DoseValuesSequence",vm:"1",version:"DICOM"},"(300A,061D)":{tag:"(300A,061D)",vr:"CS",name:"DoseValuePurpose",vm:"1-n",version:"DICOM"},"(300A,061E)":{tag:"(300A,061E)",vr:"FD",name:"ReferenceDosePointCoordinates",vm:"3",version:"DICOM"},"(300A,061F)":{tag:"(300A,061F)",vr:"SQ",name:"RadiationDoseValuesParametersSequence",vm:"1",version:"DICOM"},"(300A,0620)":{tag:"(300A,0620)",vr:"SQ",name:"MetersetToDoseMappingSequence",vm:"1",version:"DICOM"},"(300A,0621)":{tag:"(300A,0621)",vr:"SQ",name:"ExpectedInVivoMeasurementValuesSequence",vm:"1",version:"DICOM"},"(300A,0622)":{tag:"(300A,0622)",vr:"US",name:"ExpectedInVivoMeasurementValueIndex",vm:"1",version:"DICOM"},"(300A,0623)":{tag:"(300A,0623)",vr:"LO",name:"RadiationDoseInVivoMeasurementLabel",vm:"1",version:"DICOM"},"(300A,0624)":{tag:"(300A,0624)",vr:"FD",name:"RadiationDoseCentralAxisDisplacement",vm:"2",version:"DICOM"},"(300A,0625)":{tag:"(300A,0625)",vr:"FD",name:"RadiationDoseValue",vm:"1",version:"DICOM"},"(300A,0626)":{tag:"(300A,0626)",vr:"FD",name:"RadiationDoseSourceToSkinDistance",vm:"1",version:"DICOM"},"(300A,0627)":{tag:"(300A,0627)",vr:"FD",name:"RadiationDoseMeasurementPointCoordinates",vm:"3",version:"DICOM"},"(300A,0628)":{tag:"(300A,0628)",vr:"FD",name:"RadiationDoseSourceToExternalContourDistance",vm:"1",version:"DICOM"},"(300A,0629)":{tag:"(300A,0629)",vr:"SQ",name:"RTToleranceSetSequence",vm:"1",version:"DICOM"},"(300A,062A)":{tag:"(300A,062A)",vr:"LO",name:"RTToleranceSetLabel",vm:"1",version:"DICOM"},"(300A,062B)":{tag:"(300A,062B)",vr:"SQ",name:"AttributeToleranceValuesSequence",vm:"1",version:"DICOM"},"(300A,062C)":{tag:"(300A,062C)",vr:"FD",name:"ToleranceValue",vm:"1",version:"DICOM"},"(300A,062D)":{tag:"(300A,062D)",vr:"SQ",name:"PatientSupportPositionToleranceSequence",vm:"1",version:"DICOM"},"(300A,062E)":{tag:"(300A,062E)",vr:"FD",name:"TreatmentTimeLimit",vm:"1",version:"DICOM"},"(300A,062F)":{tag:"(300A,062F)",vr:"SQ",name:"CArmPhotonElectronControlPointSequence",vm:"1",version:"DICOM"},"(300A,0630)":{tag:"(300A,0630)",vr:"SQ",name:"ReferencedRTRadiationSequence",vm:"1",version:"DICOM"},"(300A,0631)":{tag:"(300A,0631)",vr:"SQ",name:"ReferencedRTInstanceSequence",vm:"1",version:"DICOM"},"(300A,0632)":{tag:"(300A,0632)",vr:"SQ",name:"ReferencedRTPatientSetupSequence",vm:"1",version:"DICOM"},"(300A,0634)":{tag:"(300A,0634)",vr:"FD",name:"SourceToPatientSurfaceDistance",vm:"1",version:"DICOM"},"(300A,0635)":{tag:"(300A,0635)",vr:"SQ",name:"TreatmentMachineSpecialModeCodeSequence",vm:"1",version:"DICOM"},"(300A,0636)":{tag:"(300A,0636)",vr:"US",name:"IntendedNumberOfFractions",vm:"1",version:"DICOM"},"(300A,0637)":{tag:"(300A,0637)",vr:"CS",name:"RTRadiationSetIntent",vm:"1",version:"DICOM"},"(300A,0638)":{tag:"(300A,0638)",vr:"CS",name:"RTRadiationPhysicalAndGeometricContentDetailFlag",vm:"1",version:"DICOM"},"(300A,0639)":{tag:"(300A,0639)",vr:"CS",name:"RTRecordFlag",vm:"1",version:"DICOM"},"(300A,063A)":{tag:"(300A,063A)",vr:"SQ",name:"TreatmentDeviceIdentificationSequence",vm:"1",version:"DICOM"},"(300A,063B)":{tag:"(300A,063B)",vr:"SQ",name:"ReferencedRTPhysicianIntentSequence",vm:"1",version:"DICOM"},"(300A,063C)":{tag:"(300A,063C)",vr:"FD",name:"CumulativeMeterset",vm:"1",version:"DICOM"},"(300A,063D)":{tag:"(300A,063D)",vr:"FD",name:"DeliveryRate",vm:"1",version:"DICOM"},"(300A,063E)":{tag:"(300A,063E)",vr:"SQ",name:"DeliveryRateUnitSequence",vm:"1",version:"DICOM"},"(300A,063F)":{tag:"(300A,063F)",vr:"SQ",name:"TreatmentPositionSequence",vm:"1",version:"DICOM"},"(300A,0640)":{tag:"(300A,0640)",vr:"FD",name:"RadiationSourceAxisDistance",vm:"1",version:"DICOM"},"(300A,0641)":{tag:"(300A,0641)",vr:"US",name:"NumberOfRTBeamLimitingDevices",vm:"1",version:"DICOM"},"(300A,0642)":{tag:"(300A,0642)",vr:"FD",name:"RTBeamLimitingDeviceProximalDistance",vm:"1",version:"DICOM"},"(300A,0643)":{tag:"(300A,0643)",vr:"FD",name:"RTBeamLimitingDeviceDistalDistance",vm:"1",version:"DICOM"},"(300A,0644)":{tag:"(300A,0644)",vr:"SQ",name:"ParallelRTBeamDelimiterDeviceOrientationLabelCodeSequence",vm:"1",version:"DICOM"},"(300A,0645)":{tag:"(300A,0645)",vr:"FD",name:"BeamModifierOrientationAngle",vm:"1",version:"DICOM"},"(300A,0646)":{tag:"(300A,0646)",vr:"SQ",name:"FixedRTBeamDelimiterDeviceSequence",vm:"1",version:"DICOM"},"(300A,0647)":{tag:"(300A,0647)",vr:"SQ",name:"ParallelRTBeamDelimiterDeviceSequence",vm:"1",version:"DICOM"},"(300A,0648)":{tag:"(300A,0648)",vr:"US",name:"NumberOfParallelRTBeamDelimiters",vm:"1",version:"DICOM"},"(300A,0649)":{tag:"(300A,0649)",vr:"FD",name:"ParallelRTBeamDelimiterBoundaries",vm:"2-n",version:"DICOM"},"(300A,064A)":{tag:"(300A,064A)",vr:"FD",name:"ParallelRTBeamDelimiterPositions",vm:"2-n",version:"DICOM"},"(300A,064B)":{tag:"(300A,064B)",vr:"FD",name:"RTBeamLimitingDeviceOffset",vm:"2",version:"DICOM"},"(300A,064C)":{tag:"(300A,064C)",vr:"SQ",name:"RTBeamDelimiterGeometrySequence",vm:"1",version:"DICOM"},"(300A,064D)":{tag:"(300A,064D)",vr:"SQ",name:"RTBeamLimitingDeviceDefinitionSequence",vm:"1",version:"DICOM"},"(300A,064E)":{tag:"(300A,064E)",vr:"CS",name:"ParallelRTBeamDelimiterOpeningMode",vm:"1",version:"DICOM"},"(300A,064F)":{tag:"(300A,064F)",vr:"CS",name:"ParallelRTBeamDelimiterLeafMountingSide",vm:"1-n",version:"DICOM"},"(300A,0650)":{tag:"(300A,0650)",vr:"UI",name:"PatientSetupUID",vm:"1",version:"DICOM"},"(300A,0651)":{tag:"(300A,0651)",vr:"SQ",name:"WedgeDefinitionSequence",vm:"1",version:"DICOM"},"(300A,0652)":{tag:"(300A,0652)",vr:"FD",name:"RadiationBeamWedgeAngle",vm:"1",version:"DICOM"},"(300A,0653)":{tag:"(300A,0653)",vr:"FD",name:"RadiationBeamWedgeThinEdgeDistance",vm:"1",version:"DICOM"},"(300A,0654)":{tag:"(300A,0654)",vr:"FD",name:"RadiationBeamEffectiveWedgeAngle",vm:"1",version:"DICOM"},"(300A,0655)":{tag:"(300A,0655)",vr:"US",name:"NumberOfWedgePositions",vm:"1",version:"DICOM"},"(300A,0656)":{tag:"(300A,0656)",vr:"SQ",name:"RTBeamLimitingDeviceOpeningSequence",vm:"1",version:"DICOM"},"(300A,0657)":{tag:"(300A,0657)",vr:"US",name:"NumberOfRTBeamLimitingDeviceOpenings",vm:"1",version:"DICOM"},"(300A,0658)":{tag:"(300A,0658)",vr:"SQ",name:"RadiationDosimeterUnitSequence",vm:"1",version:"DICOM"},"(300A,0659)":{tag:"(300A,0659)",vr:"SQ",name:"RTDeviceDistanceReferenceLocationCodeSequence",vm:"1",version:"DICOM"},"(300A,065A)":{tag:"(300A,065A)",vr:"SQ",name:"RadiationDeviceConfigurationAndCommissioningKeySequence",vm:"1",version:"DICOM"},"(300A,065B)":{tag:"(300A,065B)",vr:"SQ",name:"PatientSupportPositionParameterSequence",vm:"1",version:"DICOM"},"(300A,065C)":{tag:"(300A,065C)",vr:"CS",name:"PatientSupportPositionSpecificationMethod",vm:"1",version:"DICOM"},"(300A,065D)":{tag:"(300A,065D)",vr:"SQ",name:"PatientSupportPositionDeviceParameterSequence",vm:"1",version:"DICOM"},"(300A,065E)":{tag:"(300A,065E)",vr:"US",name:"DeviceOrderIndex",vm:"1",version:"DICOM"},"(300A,065F)":{tag:"(300A,065F)",vr:"US",name:"PatientSupportPositionParameterOrderIndex",vm:"1",version:"DICOM"},"(300A,0660)":{tag:"(300A,0660)",vr:"SQ",name:"PatientSupportPositionDeviceToleranceSequence",vm:"1",version:"DICOM"},"(300A,0661)":{tag:"(300A,0661)",vr:"US",name:"PatientSupportPositionToleranceOrderIndex",vm:"1",version:"DICOM"},"(300A,0662)":{tag:"(300A,0662)",vr:"SQ",name:"CompensatorDefinitionSequence",vm:"1",version:"DICOM"},"(300A,0663)":{tag:"(300A,0663)",vr:"CS",name:"CompensatorMapOrientation",vm:"1",version:"DICOM"},"(300A,0664)":{tag:"(300A,0664)",vr:"OF",name:"CompensatorProximalThicknessMap",vm:"1",version:"DICOM"},"(300A,0665)":{tag:"(300A,0665)",vr:"OF",name:"CompensatorDistalThicknessMap",vm:"1",version:"DICOM"},"(300A,0666)":{tag:"(300A,0666)",vr:"FD",name:"CompensatorBasePlaneOffset",vm:"1",version:"DICOM"},"(300A,0667)":{tag:"(300A,0667)",vr:"SQ",name:"CompensatorShapeFabricationCodeSequence",vm:"1",version:"DICOM"},"(300A,0668)":{tag:"(300A,0668)",vr:"SQ",name:"CompensatorShapeSequence",vm:"1",version:"DICOM"},"(300A,0669)":{tag:"(300A,0669)",vr:"FD",name:"RadiationBeamCompensatorMillingToolDiameter",vm:"1",version:"DICOM"},"(300A,066A)":{tag:"(300A,066A)",vr:"SQ",name:"BlockDefinitionSequence",vm:"1",version:"DICOM"},"(300A,066B)":{tag:"(300A,066B)",vr:"OF",name:"BlockEdgeData",vm:"1",version:"DICOM"},"(300A,066C)":{tag:"(300A,066C)",vr:"CS",name:"BlockOrientation",vm:"1",version:"DICOM"},"(300A,066D)":{tag:"(300A,066D)",vr:"FD",name:"RadiationBeamBlockThickness",vm:"1",version:"DICOM"},"(300A,066E)":{tag:"(300A,066E)",vr:"FD",name:"RadiationBeamBlockSlabThickness",vm:"1",version:"DICOM"},"(300A,066F)":{tag:"(300A,066F)",vr:"SQ",name:"BlockEdgeDataSequence",vm:"1",version:"DICOM"},"(300A,0670)":{tag:"(300A,0670)",vr:"US",name:"NumberOfRTAccessoryHolders",vm:"1",version:"DICOM"},"(300A,0671)":{tag:"(300A,0671)",vr:"SQ",name:"GeneralAccessoryDefinitionSequence",vm:"1",version:"DICOM"},"(300A,0672)":{tag:"(300A,0672)",vr:"US",name:"NumberOfGeneralAccessories",vm:"1",version:"DICOM"},"(300A,0673)":{tag:"(300A,0673)",vr:"SQ",name:"BolusDefinitionSequence",vm:"1",version:"DICOM"},"(300A,0674)":{tag:"(300A,0674)",vr:"US",name:"NumberOfBoluses",vm:"1",version:"DICOM"},"(300A,0675)":{tag:"(300A,0675)",vr:"UI",name:"EquipmentFrameOfReferenceUID",vm:"1",version:"DICOM"},"(300A,0676)":{tag:"(300A,0676)",vr:"ST",name:"EquipmentFrameOfReferenceDescription",vm:"1",version:"DICOM"},"(300A,0677)":{tag:"(300A,0677)",vr:"SQ",name:"EquipmentReferencePointCoordinatesSequence",vm:"1",version:"DICOM"},"(300A,0678)":{tag:"(300A,0678)",vr:"SQ",name:"EquipmentReferencePointCodeSequence",vm:"1",version:"DICOM"},"(300A,0679)":{tag:"(300A,0679)",vr:"FD",name:"RTBeamLimitingDeviceAngle",vm:"1",version:"DICOM"},"(300A,067A)":{tag:"(300A,067A)",vr:"FD",name:"SourceRollAngle",vm:"1",version:"DICOM"},"(300A,067B)":{tag:"(300A,067B)",vr:"SQ",name:"RadiationGenerationModeSequence",vm:"1",version:"DICOM"},"(300A,067C)":{tag:"(300A,067C)",vr:"SH",name:"RadiationGenerationModeLabel",vm:"1",version:"DICOM"},"(300A,067D)":{tag:"(300A,067D)",vr:"ST",name:"RadiationGenerationModeDescription",vm:"1",version:"DICOM"},"(300A,067E)":{tag:"(300A,067E)",vr:"SQ",name:"RadiationGenerationModeMachineCodeSequence",vm:"1",version:"DICOM"},"(300A,067F)":{tag:"(300A,067F)",vr:"SQ",name:"RadiationTypeCodeSequence",vm:"1",version:"DICOM"},"(300A,0680)":{tag:"(300A,0680)",vr:"DS",name:"NominalEnergy",vm:"1",version:"DICOM"},"(300A,0681)":{tag:"(300A,0681)",vr:"DS",name:"MinimumNominalEnergy",vm:"1",version:"DICOM"},"(300A,0682)":{tag:"(300A,0682)",vr:"DS",name:"MaximumNominalEnergy",vm:"1",version:"DICOM"},"(300A,0683)":{tag:"(300A,0683)",vr:"SQ",name:"RadiationFluenceModifierCodeSequence",vm:"1",version:"DICOM"},"(300A,0684)":{tag:"(300A,0684)",vr:"SQ",name:"EnergyUnitCodeSequence",vm:"1",version:"DICOM"},"(300A,0685)":{tag:"(300A,0685)",vr:"US",name:"NumberOfRadiationGenerationModes",vm:"1",version:"DICOM"},"(300A,0686)":{tag:"(300A,0686)",vr:"SQ",name:"PatientSupportDevicesSequence",vm:"1",version:"DICOM"},"(300A,0687)":{tag:"(300A,0687)",vr:"US",name:"NumberOfPatientSupportDevices",vm:"1",version:"DICOM"},"(300A,0688)":{tag:"(300A,0688)",vr:"FD",name:"RTBeamModifierDefinitionDistance",vm:"1",version:"DICOM"},"(300A,0689)":{tag:"(300A,0689)",vr:"SQ",name:"BeamAreaLimitSequence",vm:"1",version:"DICOM"},"(300A,068A)":{tag:"(300A,068A)",vr:"SQ",name:"ReferencedRTPrescriptionSequence",vm:"1",version:"DICOM"},"(300A,0700)":{tag:"(300A,0700)",vr:"UI",name:"TreatmentSessionUID",vm:"1",version:"DICOM"},"(300A,0701)":{tag:"(300A,0701)",vr:"CS",name:"RTRadiationUsage",vm:"1",version:"DICOM"},"(300A,0702)":{tag:"(300A,0702)",vr:"SQ",name:"ReferencedRTRadiationSetSequence",vm:"1",version:"DICOM"},"(300A,0703)":{tag:"(300A,0703)",vr:"SQ",name:"ReferencedRTRadiationRecordSequence",vm:"1",version:"DICOM"},"(300A,0704)":{tag:"(300A,0704)",vr:"US",name:"RTRadiationSetDeliveryNumber",vm:"1",version:"DICOM"},"(300A,0705)":{tag:"(300A,0705)",vr:"US",name:"ClinicalFractionNumber",vm:"1",version:"DICOM"},"(300A,0706)":{tag:"(300A,0706)",vr:"CS",name:"RTTreatmentFractionCompletionStatus",vm:"1",version:"DICOM"},"(300A,0707)":{tag:"(300A,0707)",vr:"CS",name:"RTRadiationSetUsage",vm:"1",version:"DICOM"},"(300A,0708)":{tag:"(300A,0708)",vr:"CS",name:"TreatmentDeliveryContinuationFlag",vm:"1",version:"DICOM"},"(300A,0709)":{tag:"(300A,0709)",vr:"CS",name:"TreatmentRecordContentOrigin",vm:"1",version:"DICOM"},"(300A,0714)":{tag:"(300A,0714)",vr:"CS",name:"RTTreatmentTerminationStatus",vm:"1",version:"DICOM"},"(300A,0715)":{tag:"(300A,0715)",vr:"SQ",name:"RTTreatmentTerminationReasonCodeSequence",vm:"1",version:"DICOM"},"(300A,0716)":{tag:"(300A,0716)",vr:"SQ",name:"MachineSpecificTreatmentTerminationCodeSequence",vm:"1",version:"DICOM"},"(300A,0722)":{tag:"(300A,0722)",vr:"SQ",name:"RTRadiationSalvageRecordControlPointSequence",vm:"1",version:"DICOM"},"(300A,0723)":{tag:"(300A,0723)",vr:"CS",name:"StartingMetersetValueKnownFlag",vm:"1",version:"DICOM"},"(300A,0730)":{tag:"(300A,0730)",vr:"ST",name:"TreatmentTerminationDescription",vm:"1",version:"DICOM"},"(300A,0731)":{tag:"(300A,0731)",vr:"SQ",name:"TreatmentToleranceViolationSequence",vm:"1",version:"DICOM"},"(300A,0732)":{tag:"(300A,0732)",vr:"CS",name:"TreatmentToleranceViolationCategory",vm:"1",version:"DICOM"},"(300A,0733)":{tag:"(300A,0733)",vr:"SQ",name:"TreatmentToleranceViolationAttributeSequence",vm:"1",version:"DICOM"},"(300A,0734)":{tag:"(300A,0734)",vr:"ST",name:"TreatmentToleranceViolationDescription",vm:"1",version:"DICOM"},"(300A,0735)":{tag:"(300A,0735)",vr:"ST",name:"TreatmentToleranceViolationIdentification",vm:"1",version:"DICOM"},"(300A,0736)":{tag:"(300A,0736)",vr:"DT",name:"TreatmentToleranceViolationDateTime",vm:"1",version:"DICOM"},"(300A,073A)":{tag:"(300A,073A)",vr:"DT",name:"RecordedRTControlPointDateTime",vm:"1",version:"DICOM"},"(300A,073B)":{tag:"(300A,073B)",vr:"US",name:"ReferencedRadiationRTControlPointIndex",vm:"1",version:"DICOM"},"(300A,073E)":{tag:"(300A,073E)",vr:"SQ",name:"AlternateValueSequence",vm:"1",version:"DICOM"},"(300A,073F)":{tag:"(300A,073F)",vr:"SQ",name:"ConfirmationSequence",vm:"1",version:"DICOM"},"(300A,0740)":{tag:"(300A,0740)",vr:"SQ",name:"InterlockSequence",vm:"1",version:"DICOM"},"(300A,0741)":{tag:"(300A,0741)",vr:"DT",name:"InterlockDateTime",vm:"1",version:"DICOM"},"(300A,0742)":{tag:"(300A,0742)",vr:"ST",name:"InterlockDescription",vm:"1",version:"DICOM"},"(300A,0743)":{tag:"(300A,0743)",vr:"SQ",name:"InterlockOriginatingDeviceSequence",vm:"1",version:"DICOM"},"(300A,0744)":{tag:"(300A,0744)",vr:"SQ",name:"InterlockCodeSequence",vm:"1",version:"DICOM"},"(300A,0745)":{tag:"(300A,0745)",vr:"SQ",name:"InterlockResolutionCodeSequence",vm:"1",version:"DICOM"},"(300A,0746)":{tag:"(300A,0746)",vr:"SQ",name:"InterlockResolutionUserSequence",vm:"1",version:"DICOM"},"(300A,0760)":{tag:"(300A,0760)",vr:"DT",name:"OverrideDateTime",vm:"1",version:"DICOM"},"(300A,0761)":{tag:"(300A,0761)",vr:"SQ",name:"TreatmentToleranceViolationTypeCodeSequence",vm:"1",version:"DICOM"},"(300A,0762)":{tag:"(300A,0762)",vr:"SQ",name:"TreatmentToleranceViolationCauseCodeSequence",vm:"1",version:"DICOM"},"(300A,0772)":{tag:"(300A,0772)",vr:"SQ",name:"MeasuredMetersetToDoseMappingSequence",vm:"1",version:"DICOM"},"(300A,0773)":{tag:"(300A,0773)",vr:"US",name:"ReferencedExpectedInVivoMeasurementValueIndex",vm:"1",version:"DICOM"},"(300A,0774)":{tag:"(300A,0774)",vr:"SQ",name:"DoseMeasurementDeviceCodeSequence",vm:"1",version:"DICOM"},"(300A,0780)":{tag:"(300A,0780)",vr:"SQ",name:"AdditionalParameterRecordingInstanceSequence",vm:"1",version:"DICOM"},"(300A,0783)":{tag:"(300A,0783)",vr:"ST",name:"InterlockOriginDescription",vm:"1",version:"DICOM"},"(300C,0002)":{tag:"(300C,0002)",vr:"SQ",name:"ReferencedRTPlanSequence",vm:"1",version:"DICOM"},"(300C,0004)":{tag:"(300C,0004)",vr:"SQ",name:"ReferencedBeamSequence",vm:"1",version:"DICOM"},"(300C,0006)":{tag:"(300C,0006)",vr:"IS",name:"ReferencedBeamNumber",vm:"1",version:"DICOM"},"(300C,0007)":{tag:"(300C,0007)",vr:"IS",name:"ReferencedReferenceImageNumber",vm:"1",version:"DICOM"},"(300C,0008)":{tag:"(300C,0008)",vr:"DS",name:"StartCumulativeMetersetWeight",vm:"1",version:"DICOM"},"(300C,0009)":{tag:"(300C,0009)",vr:"DS",name:"EndCumulativeMetersetWeight",vm:"1",version:"DICOM"},"(300C,000A)":{tag:"(300C,000A)",vr:"SQ",name:"ReferencedBrachyApplicationSetupSequence",vm:"1",version:"DICOM"},"(300C,000C)":{tag:"(300C,000C)",vr:"IS",name:"ReferencedBrachyApplicationSetupNumber",vm:"1",version:"DICOM"},"(300C,000E)":{tag:"(300C,000E)",vr:"IS",name:"ReferencedSourceNumber",vm:"1",version:"DICOM"},"(300C,0020)":{tag:"(300C,0020)",vr:"SQ",name:"ReferencedFractionGroupSequence",vm:"1",version:"DICOM"},"(300C,0022)":{tag:"(300C,0022)",vr:"IS",name:"ReferencedFractionGroupNumber",vm:"1",version:"DICOM"},"(300C,0040)":{tag:"(300C,0040)",vr:"SQ",name:"ReferencedVerificationImageSequence",vm:"1",version:"DICOM"},"(300C,0042)":{tag:"(300C,0042)",vr:"SQ",name:"ReferencedReferenceImageSequence",vm:"1",version:"DICOM"},"(300C,0050)":{tag:"(300C,0050)",vr:"SQ",name:"ReferencedDoseReferenceSequence",vm:"1",version:"DICOM"},"(300C,0051)":{tag:"(300C,0051)",vr:"IS",name:"ReferencedDoseReferenceNumber",vm:"1",version:"DICOM"},"(300C,0055)":{tag:"(300C,0055)",vr:"SQ",name:"BrachyReferencedDoseReferenceSequence",vm:"1",version:"DICOM"},"(300C,0060)":{tag:"(300C,0060)",vr:"SQ",name:"ReferencedStructureSetSequence",vm:"1",version:"DICOM"},"(300C,006A)":{tag:"(300C,006A)",vr:"IS",name:"ReferencedPatientSetupNumber",vm:"1",version:"DICOM"},"(300C,0080)":{tag:"(300C,0080)",vr:"SQ",name:"ReferencedDoseSequence",vm:"1",version:"DICOM"},"(300C,00A0)":{tag:"(300C,00A0)",vr:"IS",name:"ReferencedToleranceTableNumber",vm:"1",version:"DICOM"},"(300C,00B0)":{tag:"(300C,00B0)",vr:"SQ",name:"ReferencedBolusSequence",vm:"1",version:"DICOM"},"(300C,00C0)":{tag:"(300C,00C0)",vr:"IS",name:"ReferencedWedgeNumber",vm:"1",version:"DICOM"},"(300C,00D0)":{tag:"(300C,00D0)",vr:"IS",name:"ReferencedCompensatorNumber",vm:"1",version:"DICOM"},"(300C,00E0)":{tag:"(300C,00E0)",vr:"IS",name:"ReferencedBlockNumber",vm:"1",version:"DICOM"},"(300C,00F0)":{tag:"(300C,00F0)",vr:"IS",name:"ReferencedControlPointIndex",vm:"1",version:"DICOM"},"(300C,00F2)":{tag:"(300C,00F2)",vr:"SQ",name:"ReferencedControlPointSequence",vm:"1",version:"DICOM"},"(300C,00F4)":{tag:"(300C,00F4)",vr:"IS",name:"ReferencedStartControlPointIndex",vm:"1",version:"DICOM"},"(300C,00F6)":{tag:"(300C,00F6)",vr:"IS",name:"ReferencedStopControlPointIndex",vm:"1",version:"DICOM"},"(300C,0100)":{tag:"(300C,0100)",vr:"IS",name:"ReferencedRangeShifterNumber",vm:"1",version:"DICOM"},"(300C,0102)":{tag:"(300C,0102)",vr:"IS",name:"ReferencedLateralSpreadingDeviceNumber",vm:"1",version:"DICOM"},"(300C,0104)":{tag:"(300C,0104)",vr:"IS",name:"ReferencedRangeModulatorNumber",vm:"1",version:"DICOM"},"(300C,0111)":{tag:"(300C,0111)",vr:"SQ",name:"OmittedBeamTaskSequence",vm:"1",version:"DICOM"},"(300C,0112)":{tag:"(300C,0112)",vr:"CS",name:"ReasonForOmission",vm:"1",version:"DICOM"},"(300C,0113)":{tag:"(300C,0113)",vr:"LO",name:"ReasonForOmissionDescription",vm:"1",version:"DICOM"},"(300E,0002)":{tag:"(300E,0002)",vr:"CS",name:"ApprovalStatus",vm:"1",version:"DICOM"},"(300E,0004)":{tag:"(300E,0004)",vr:"DA",name:"ReviewDate",vm:"1",version:"DICOM"},"(300E,0005)":{tag:"(300E,0005)",vr:"TM",name:"ReviewTime",vm:"1",version:"DICOM"},"(300E,0008)":{tag:"(300E,0008)",vr:"PN",name:"ReviewerName",vm:"1",version:"DICOM"},"(4010,0001)":{tag:"(4010,0001)",vr:"CS",name:"LowEnergyDetectors",vm:"1",version:"DICOM/DICOS"},"(4010,0002)":{tag:"(4010,0002)",vr:"CS",name:"HighEnergyDetectors",vm:"1",version:"DICOM/DICOS"},"(4010,0004)":{tag:"(4010,0004)",vr:"SQ",name:"DetectorGeometrySequence",vm:"1",version:"DICOM/DICOS"},"(4010,1001)":{tag:"(4010,1001)",vr:"SQ",name:"ThreatROIVoxelSequence",vm:"1",version:"DICOM/DICOS"},"(4010,1004)":{tag:"(4010,1004)",vr:"FL",name:"ThreatROIBase",vm:"3",version:"DICOM/DICOS"},"(4010,1005)":{tag:"(4010,1005)",vr:"FL",name:"ThreatROIExtents",vm:"3",version:"DICOM/DICOS"},"(4010,1006)":{tag:"(4010,1006)",vr:"OB",name:"ThreatROIBitmap",vm:"1",version:"DICOM/DICOS"},"(4010,1007)":{tag:"(4010,1007)",vr:"SH",name:"RouteSegmentID",vm:"1",version:"DICOM/DICOS"},"(4010,1008)":{tag:"(4010,1008)",vr:"CS",name:"GantryType",vm:"1",version:"DICOM/DICOS"},"(4010,1009)":{tag:"(4010,1009)",vr:"CS",name:"OOIOwnerType",vm:"1",version:"DICOM/DICOS"},"(4010,100A)":{tag:"(4010,100A)",vr:"SQ",name:"RouteSegmentSequence",vm:"1",version:"DICOM/DICOS"},"(4010,1010)":{tag:"(4010,1010)",vr:"US",name:"PotentialThreatObjectID",vm:"1",version:"DICOM/DICOS"},"(4010,1011)":{tag:"(4010,1011)",vr:"SQ",name:"ThreatSequence",vm:"1",version:"DICOM/DICOS"},"(4010,1012)":{tag:"(4010,1012)",vr:"CS",name:"ThreatCategory",vm:"1",version:"DICOM/DICOS"},"(4010,1013)":{tag:"(4010,1013)",vr:"LT",name:"ThreatCategoryDescription",vm:"1",version:"DICOM/DICOS"},"(4010,1014)":{tag:"(4010,1014)",vr:"CS",name:"ATDAbilityAssessment",vm:"1",version:"DICOM/DICOS"},"(4010,1015)":{tag:"(4010,1015)",vr:"CS",name:"ATDAssessmentFlag",vm:"1",version:"DICOM/DICOS"},"(4010,1016)":{tag:"(4010,1016)",vr:"FL",name:"ATDAssessmentProbability",vm:"1",version:"DICOM/DICOS"},"(4010,1017)":{tag:"(4010,1017)",vr:"FL",name:"Mass",vm:"1",version:"DICOM/DICOS"},"(4010,1018)":{tag:"(4010,1018)",vr:"FL",name:"Density",vm:"1",version:"DICOM/DICOS"},"(4010,1019)":{tag:"(4010,1019)",vr:"FL",name:"ZEffective",vm:"1",version:"DICOM/DICOS"},"(4010,101A)":{tag:"(4010,101A)",vr:"SH",name:"BoardingPassID",vm:"1",version:"DICOM/DICOS"},"(4010,101B)":{tag:"(4010,101B)",vr:"FL",name:"CenterOfMass",vm:"3",version:"DICOM/DICOS"},"(4010,101C)":{tag:"(4010,101C)",vr:"FL",name:"CenterOfPTO",vm:"3",version:"DICOM/DICOS"},"(4010,101D)":{tag:"(4010,101D)",vr:"FL",name:"BoundingPolygon",vm:"6-n",version:"DICOM/DICOS"},"(4010,101E)":{tag:"(4010,101E)",vr:"SH",name:"RouteSegmentStartLocationID",vm:"1",version:"DICOM/DICOS"},"(4010,101F)":{tag:"(4010,101F)",vr:"SH",name:"RouteSegmentEndLocationID",vm:"1",version:"DICOM/DICOS"},"(4010,1020)":{tag:"(4010,1020)",vr:"CS",name:"RouteSegmentLocationIDType",vm:"1",version:"DICOM/DICOS"},"(4010,1021)":{tag:"(4010,1021)",vr:"CS",name:"AbortReason",vm:"1-n",version:"DICOM/DICOS"},"(4010,1023)":{tag:"(4010,1023)",vr:"FL",name:"VolumeOfPTO",vm:"1",version:"DICOM/DICOS"},"(4010,1024)":{tag:"(4010,1024)",vr:"CS",name:"AbortFlag",vm:"1",version:"DICOM/DICOS"},"(4010,1025)":{tag:"(4010,1025)",vr:"DT",name:"RouteSegmentStartTime",vm:"1",version:"DICOM/DICOS"},"(4010,1026)":{tag:"(4010,1026)",vr:"DT",name:"RouteSegmentEndTime",vm:"1",version:"DICOM/DICOS"},"(4010,1027)":{tag:"(4010,1027)",vr:"CS",name:"TDRType",vm:"1",version:"DICOM/DICOS"},"(4010,1028)":{tag:"(4010,1028)",vr:"CS",name:"InternationalRouteSegment",vm:"1",version:"DICOM/DICOS"},"(4010,1029)":{tag:"(4010,1029)",vr:"LO",name:"ThreatDetectionAlgorithmandVersion",vm:"1-n",version:"DICOM/DICOS"},"(4010,102A)":{tag:"(4010,102A)",vr:"SH",name:"AssignedLocation",vm:"1",version:"DICOM/DICOS"},"(4010,102B)":{tag:"(4010,102B)",vr:"DT",name:"AlarmDecisionTime",vm:"1",version:"DICOM/DICOS"},"(4010,1031)":{tag:"(4010,1031)",vr:"CS",name:"AlarmDecision",vm:"1",version:"DICOM/DICOS"},"(4010,1033)":{tag:"(4010,1033)",vr:"US",name:"NumberOfTotalObjects",vm:"1",version:"DICOM/DICOS"},"(4010,1034)":{tag:"(4010,1034)",vr:"US",name:"NumberOfAlarmObjects",vm:"1",version:"DICOM/DICOS"},"(4010,1037)":{tag:"(4010,1037)",vr:"SQ",name:"PTORepresentationSequence",vm:"1",version:"DICOM/DICOS"},"(4010,1038)":{tag:"(4010,1038)",vr:"SQ",name:"ATDAssessmentSequence",vm:"1",version:"DICOM/DICOS"},"(4010,1039)":{tag:"(4010,1039)",vr:"CS",name:"TIPType",vm:"1",version:"DICOM/DICOS"},"(4010,103A)":{tag:"(4010,103A)",vr:"CS",name:"DICOSVersion",vm:"1",version:"DICOM/DICOS"},"(4010,1041)":{tag:"(4010,1041)",vr:"DT",name:"OOIOwnerCreationTime",vm:"1",version:"DICOM/DICOS"},"(4010,1042)":{tag:"(4010,1042)",vr:"CS",name:"OOIType",vm:"1",version:"DICOM/DICOS"},"(4010,1043)":{tag:"(4010,1043)",vr:"FL",name:"OOISize",vm:"3",version:"DICOM/DICOS"},"(4010,1044)":{tag:"(4010,1044)",vr:"CS",name:"AcquisitionStatus",vm:"1",version:"DICOM/DICOS"},"(4010,1045)":{tag:"(4010,1045)",vr:"SQ",name:"BasisMaterialsCodeSequence",vm:"1",version:"DICOM/DICOS"},"(4010,1046)":{tag:"(4010,1046)",vr:"CS",name:"PhantomType",vm:"1",version:"DICOM/DICOS"},"(4010,1047)":{tag:"(4010,1047)",vr:"SQ",name:"OOIOwnerSequence",vm:"1",version:"DICOM/DICOS"},"(4010,1048)":{tag:"(4010,1048)",vr:"CS",name:"ScanType",vm:"1",version:"DICOM/DICOS"},"(4010,1051)":{tag:"(4010,1051)",vr:"LO",name:"ItineraryID",vm:"1",version:"DICOM/DICOS"},"(4010,1052)":{tag:"(4010,1052)",vr:"SH",name:"ItineraryIDType",vm:"1",version:"DICOM/DICOS"},"(4010,1053)":{tag:"(4010,1053)",vr:"LO",name:"ItineraryIDAssigningAuthority",vm:"1",version:"DICOM/DICOS"},"(4010,1054)":{tag:"(4010,1054)",vr:"SH",name:"RouteID",vm:"1",version:"DICOM/DICOS"},"(4010,1055)":{tag:"(4010,1055)",vr:"SH",name:"RouteIDAssigningAuthority",vm:"1",version:"DICOM/DICOS"},"(4010,1056)":{tag:"(4010,1056)",vr:"CS",name:"InboundArrivalType",vm:"1",version:"DICOM/DICOS"},"(4010,1058)":{tag:"(4010,1058)",vr:"SH",name:"CarrierID",vm:"1",version:"DICOM/DICOS"},"(4010,1059)":{tag:"(4010,1059)",vr:"CS",name:"CarrierIDAssigningAuthority",vm:"1",version:"DICOM/DICOS"},"(4010,1060)":{tag:"(4010,1060)",vr:"FL",name:"SourceOrientation",vm:"3",version:"DICOM/DICOS"},"(4010,1061)":{tag:"(4010,1061)",vr:"FL",name:"SourcePosition",vm:"3",version:"DICOM/DICOS"},"(4010,1062)":{tag:"(4010,1062)",vr:"FL",name:"BeltHeight",vm:"1",version:"DICOM/DICOS"},"(4010,1064)":{tag:"(4010,1064)",vr:"SQ",name:"AlgorithmRoutingCodeSequence",vm:"1",version:"DICOM/DICOS"},"(4010,1067)":{tag:"(4010,1067)",vr:"CS",name:"TransportClassification",vm:"1",version:"DICOM/DICOS"},"(4010,1068)":{tag:"(4010,1068)",vr:"LT",name:"OOITypeDescriptor",vm:"1",version:"DICOM/DICOS"},"(4010,1069)":{tag:"(4010,1069)",vr:"FL",name:"TotalProcessingTime",vm:"1",version:"DICOM/DICOS"},"(4010,106C)":{tag:"(4010,106C)",vr:"OB",name:"DetectorCalibrationData",vm:"1",version:"DICOM/DICOS"},"(4010,106D)":{tag:"(4010,106D)",vr:"CS",name:"AdditionalScreeningPerformed",vm:"1",version:"DICOM/DICOS"},"(4010,106E)":{tag:"(4010,106E)",vr:"CS",name:"AdditionalInspectionSelectionCriteria",vm:"1",version:"DICOM/DICOS"},"(4010,106F)":{tag:"(4010,106F)",vr:"SQ",name:"AdditionalInspectionMethodSequence",vm:"1",version:"DICOM/DICOS"},"(4010,1070)":{tag:"(4010,1070)",vr:"CS",name:"AITDeviceType",vm:"1",version:"DICOM/DICOS"},"(4010,1071)":{tag:"(4010,1071)",vr:"SQ",name:"QRMeasurementsSequence",vm:"1",version:"DICOM/DICOS"},"(4010,1072)":{tag:"(4010,1072)",vr:"SQ",name:"TargetMaterialSequence",vm:"1",version:"DICOM/DICOS"},"(4010,1073)":{tag:"(4010,1073)",vr:"FD",name:"SNRThreshold",vm:"1",version:"DICOM/DICOS"},"(4010,1075)":{tag:"(4010,1075)",vr:"DS",name:"ImageScaleRepresentation",vm:"1",version:"DICOM/DICOS"},"(4010,1076)":{tag:"(4010,1076)",vr:"SQ",name:"ReferencedPTOSequence",vm:"1",version:"DICOM/DICOS"},"(4010,1077)":{tag:"(4010,1077)",vr:"SQ",name:"ReferencedTDRInstanceSequence",vm:"1",version:"DICOM/DICOS"},"(4010,1078)":{tag:"(4010,1078)",vr:"ST",name:"PTOLocationDescription",vm:"1",version:"DICOM/DICOS"},"(4010,1079)":{tag:"(4010,1079)",vr:"SQ",name:"AnomalyLocatorIndicatorSequence",vm:"1",version:"DICOM/DICOS"},"(4010,107A)":{tag:"(4010,107A)",vr:"FL",name:"AnomalyLocatorIndicator",vm:"3",version:"DICOM/DICOS"},"(4010,107B)":{tag:"(4010,107B)",vr:"SQ",name:"PTORegionSequence",vm:"1",version:"DICOM/DICOS"},"(4010,107C)":{tag:"(4010,107C)",vr:"CS",name:"InspectionSelectionCriteria",vm:"1",version:"DICOM/DICOS"},"(4010,107D)":{tag:"(4010,107D)",vr:"SQ",name:"SecondaryInspectionMethodSequence",vm:"1",version:"DICOM/DICOS"},"(4010,107E)":{tag:"(4010,107E)",vr:"DS",name:"PRCSToRCSOrientation",vm:"6",version:"DICOM/DICOS"},"(3010,0001)":{tag:"(3010,0001)",vr:"SQ",name:"RadiobiologicalDoseEffectSequence",vm:"1",version:"DICOM"},"(3010,0002)":{tag:"(3010,0002)",vr:"CS",name:"RadiobiologicalDoseEffectFlag",vm:"1",version:"DICOM"},"(3010,0003)":{tag:"(3010,0003)",vr:"SQ",name:"EffectiveDoseCalculationMethodCategoryCodeSequence",vm:"1",version:"DICOM"},"(3010,0004)":{tag:"(3010,0004)",vr:"SQ",name:"EffectiveDoseCalculationMethodCodeSequence",vm:"1",version:"DICOM"},"(3010,0005)":{tag:"(3010,0005)",vr:"LO",name:"EffectiveDoseCalculationMethodDescription",vm:"1",version:"DICOM"},"(3010,0006)":{tag:"(3010,0006)",vr:"UI",name:"ConceptualVolumeUID",vm:"1",version:"DICOM"},"(3010,0007)":{tag:"(3010,0007)",vr:"SQ",name:"OriginatingSOPInstanceReferenceSequence",vm:"1",version:"DICOM"},"(3010,0008)":{tag:"(3010,0008)",vr:"SQ",name:"ConceptualVolumeConstituentSequence",vm:"1",version:"DICOM"},"(3010,0009)":{tag:"(3010,0009)",vr:"SQ",name:"EquivalentConceptualVolumeInstanceReferenceSequence",vm:"1",version:"DICOM"},"(3010,000A)":{tag:"(3010,000A)",vr:"SQ",name:"EquivalentConceptualVolumesSequence",vm:"1",version:"DICOM"},"(3010,000B)":{tag:"(3010,000B)",vr:"UI",name:"ReferencedConceptualVolumeUID",vm:"1",version:"DICOM"},"(3010,000C)":{tag:"(3010,000C)",vr:"UT",name:"ConceptualVolumeCombinationExpression",vm:"1",version:"DICOM"},"(3010,000D)":{tag:"(3010,000D)",vr:"US",name:"ConceptualVolumeConstituentIndex",vm:"1",version:"DICOM"},"(3010,000E)":{tag:"(3010,000E)",vr:"CS",name:"ConceptualVolumeCombinationFlag",vm:"1",version:"DICOM"},"(3010,000F)":{tag:"(3010,000F)",vr:"ST",name:"ConceptualVolumeCombinationDescription",vm:"1",version:"DICOM"},"(3010,0010)":{tag:"(3010,0010)",vr:"CS",name:"ConceptualVolumeSegmentationDefinedFlag",vm:"1",version:"DICOM"},"(3010,0011)":{tag:"(3010,0011)",vr:"SQ",name:"ConceptualVolumeSegmentationReferenceSequence",vm:"1",version:"DICOM"},"(3010,0012)":{tag:"(3010,0012)",vr:"SQ",name:"ConceptualVolumeConstituentSegmentationReferenceSequence",vm:"1",version:"DICOM"},"(3010,0013)":{tag:"(3010,0013)",vr:"UI",name:"ConstituentConceptualVolumeUID",vm:"1",version:"DICOM"},"(3010,0014)":{tag:"(3010,0014)",vr:"SQ",name:"DerivationConceptualVolumeSequence",vm:"1",version:"DICOM"},"(3010,0015)":{tag:"(3010,0015)",vr:"UI",name:"SourceConceptualVolumeUID",vm:"1",version:"DICOM"},"(3010,0016)":{tag:"(3010,0016)",vr:"SQ",name:"ConceptualVolumeDerivationAlgorithmSequence",vm:"1",version:"DICOM"},"(3010,0017)":{tag:"(3010,0017)",vr:"ST",name:"ConceptualVolumeDescription",vm:"1",version:"DICOM"},"(3010,0018)":{tag:"(3010,0018)",vr:"SQ",name:"SourceConceptualVolumeSequence",vm:"1",version:"DICOM"},"(3010,0019)":{tag:"(3010,0019)",vr:"SQ",name:"AuthorIdentificationSequence",vm:"1",version:"DICOM"},"(3010,001A)":{tag:"(3010,001A)",vr:"LO",name:"ManufacturerModelVersion",vm:"1",version:"DICOM"},"(3010,001B)":{tag:"(3010,001B)",vr:"UC",name:"DeviceAlternateIdentifier",vm:"1",version:"DICOM"},"(3010,001C)":{tag:"(3010,001C)",vr:"CS",name:"DeviceAlternateIdentifierType",vm:"1",version:"DICOM"},"(3010,001D)":{tag:"(3010,001D)",vr:"LT",name:"DeviceAlternateIdentifierFormat",vm:"1",version:"DICOM"},"(3010,001E)":{tag:"(3010,001E)",vr:"LO",name:"SegmentationCreationTemplateLabel",vm:"1",version:"DICOM"},"(3010,001F)":{tag:"(3010,001F)",vr:"UI",name:"SegmentationTemplateUID",vm:"1",version:"DICOM"},"(3010,0020)":{tag:"(3010,0020)",vr:"US",name:"ReferencedSegmentReferenceIndex",vm:"1",version:"DICOM"},"(3010,0021)":{tag:"(3010,0021)",vr:"SQ",name:"SegmentReferenceSequence",vm:"1",version:"DICOM"},"(3010,0022)":{tag:"(3010,0022)",vr:"US",name:"SegmentReferenceIndex",vm:"1",version:"DICOM"},"(3010,0023)":{tag:"(3010,0023)",vr:"SQ",name:"DirectSegmentReferenceSequence",vm:"1",version:"DICOM"},"(3010,0024)":{tag:"(3010,0024)",vr:"SQ",name:"CombinationSegmentReferenceSequence",vm:"1",version:"DICOM"},"(3010,0025)":{tag:"(3010,0025)",vr:"SQ",name:"ConceptualVolumeSequence",vm:"1",version:"DICOM"},"(3010,0026)":{tag:"(3010,0026)",vr:"SQ",name:"SegmentedRTAccessoryDeviceSequence",vm:"1",version:"DICOM"},"(3010,0027)":{tag:"(3010,0027)",vr:"SQ",name:"SegmentCharacteristicsSequence",vm:"1",version:"DICOM"},"(3010,0028)":{tag:"(3010,0028)",vr:"SQ",name:"RelatedSegmentCharacteristicsSequence",vm:"1",version:"DICOM"},"(3010,0029)":{tag:"(3010,0029)",vr:"US",name:"SegmentCharacteristicsPrecedence",vm:"1",version:"DICOM"},"(3010,002A)":{tag:"(3010,002A)",vr:"SQ",name:"RTSegmentAnnotationSequence",vm:"1",version:"DICOM"},"(3010,002B)":{tag:"(3010,002B)",vr:"SQ",name:"SegmentAnnotationCategoryCodeSequence",vm:"1",version:"DICOM"},"(3010,002C)":{tag:"(3010,002C)",vr:"SQ",name:"SegmentAnnotationTypeCodeSequence",vm:"1",version:"DICOM"},"(3010,002D)":{tag:"(3010,002D)",vr:"LO",name:"DeviceLabel",vm:"1",version:"DICOM"},"(3010,002E)":{tag:"(3010,002E)",vr:"SQ",name:"DeviceTypeCodeSequence",vm:"1",version:"DICOM"},"(3010,002F)":{tag:"(3010,002F)",vr:"SQ",name:"SegmentAnnotationTypeModifierCodeSequence",vm:"1",version:"DICOM"},"(3010,0030)":{tag:"(3010,0030)",vr:"SQ",name:"PatientEquipmentRelationshipCodeSequence",vm:"1",version:"DICOM"},"(3010,0031)":{tag:"(3010,0031)",vr:"UI",name:"ReferencedFiducialsUID",vm:"1",version:"DICOM"},"(3010,0032)":{tag:"(3010,0032)",vr:"SQ",name:"PatientTreatmentOrientationSequence",vm:"1",version:"DICOM"},"(3010,0033)":{tag:"(3010,0033)",vr:"SH",name:"UserContentLabel",vm:"1",version:"DICOM"},"(3010,0034)":{tag:"(3010,0034)",vr:"LO",name:"UserContentLongLabel",vm:"1",version:"DICOM"},"(3010,0035)":{tag:"(3010,0035)",vr:"SH",name:"EntityLabel",vm:"1",version:"DICOM"},"(3010,0036)":{tag:"(3010,0036)",vr:"LO",name:"EntityName",vm:"1",version:"DICOM"},"(3010,0037)":{tag:"(3010,0037)",vr:"ST",name:"EntityDescription",vm:"1",version:"DICOM"},"(3010,0038)":{tag:"(3010,0038)",vr:"LO",name:"EntityLongLabel",vm:"1",version:"DICOM"},"(3010,0039)":{tag:"(3010,0039)",vr:"US",name:"DeviceIndex",vm:"1",version:"DICOM"},"(3010,003A)":{tag:"(3010,003A)",vr:"US",name:"RTTreatmentPhaseIndex",vm:"1",version:"DICOM"},"(3010,003B)":{tag:"(3010,003B)",vr:"UI",name:"RTTreatmentPhaseUID",vm:"1",version:"DICOM"},"(3010,003C)":{tag:"(3010,003C)",vr:"US",name:"RTPrescriptionIndex",vm:"1",version:"DICOM"},"(3010,003D)":{tag:"(3010,003D)",vr:"US",name:"RTSegmentAnnotationIndex",vm:"1",version:"DICOM"},"(3010,003E)":{tag:"(3010,003E)",vr:"US",name:"BasisRTTreatmentPhaseIndex",vm:"1",version:"DICOM"},"(3010,003F)":{tag:"(3010,003F)",vr:"US",name:"RelatedRTTreatmentPhaseIndex",vm:"1",version:"DICOM"},"(3010,0040)":{tag:"(3010,0040)",vr:"US",name:"ReferencedRTTreatmentPhaseIndex",vm:"1",version:"DICOM"},"(3010,0041)":{tag:"(3010,0041)",vr:"US",name:"ReferencedRTPrescriptionIndex",vm:"1",version:"DICOM"},"(3010,0042)":{tag:"(3010,0042)",vr:"US",name:"ReferencedParentRTPrescriptionIndex",vm:"1",version:"DICOM"},"(3010,0043)":{tag:"(3010,0043)",vr:"ST",name:"ManufacturerDeviceIdentifier",vm:"1",version:"DICOM"},"(3010,0044)":{tag:"(3010,0044)",vr:"SQ",name:"InstanceLevelReferencedPerformedProcedureStepSequence",vm:"1",version:"DICOM"},"(3010,0045)":{tag:"(3010,0045)",vr:"CS",name:"RTTreatmentPhaseIntentPresenceFlag",vm:"1",version:"DICOM"},"(3010,0046)":{tag:"(3010,0046)",vr:"CS",name:"RadiotherapyTreatmentType",vm:"1",version:"DICOM"},"(3010,0047)":{tag:"(3010,0047)",vr:"CS",name:"TeletherapyRadiationType",vm:"1-n",version:"DICOM"},"(3010,0048)":{tag:"(3010,0048)",vr:"CS",name:"BrachytherapySourceType",vm:"1-n",version:"DICOM"},"(3010,0049)":{tag:"(3010,0049)",vr:"SQ",name:"ReferencedRTTreatmentPhaseSequence",vm:"1",version:"DICOM"},"(3010,004A)":{tag:"(3010,004A)",vr:"SQ",name:"ReferencedDirectSegmentInstanceSequence",vm:"1",version:"DICOM"},"(3010,004B)":{tag:"(3010,004B)",vr:"SQ",name:"IntendedRTTreatmentPhaseSequence",vm:"1",version:"DICOM"},"(3010,004C)":{tag:"(3010,004C)",vr:"DA",name:"IntendedPhaseStartDate",vm:"1",version:"DICOM"},"(3010,004D)":{tag:"(3010,004D)",vr:"DA",name:"IntendedPhaseEndDate",vm:"1",version:"DICOM"},"(3010,004E)":{tag:"(3010,004E)",vr:"SQ",name:"RTTreatmentPhaseIntervalSequence",vm:"1",version:"DICOM"},"(3010,004F)":{tag:"(3010,004F)",vr:"CS",name:"TemporalRelationshipIntervalAnchor",vm:"1",version:"DICOM"},"(3010,0050)":{tag:"(3010,0050)",vr:"FD",name:"MinimumNumberOfIntervalDays",vm:"1",version:"DICOM"},"(3010,0051)":{tag:"(3010,0051)",vr:"FD",name:"MaximumNumberOfIntervalDays",vm:"1",version:"DICOM"},"(3010,0052)":{tag:"(3010,0052)",vr:"UI",name:"PertinentSOPClassesInStudy",vm:"1-n",version:"DICOM"},"(3010,0053)":{tag:"(3010,0053)",vr:"UI",name:"PertinentSOPClassesInSeries",vm:"1-n",version:"DICOM"},"(3010,0054)":{tag:"(3010,0054)",vr:"LO",name:"RTPrescriptionLabel",vm:"1",version:"DICOM"},"(3010,0055)":{tag:"(3010,0055)",vr:"SQ",name:"RTPhysicianIntentPredecessorSequence",vm:"1",version:"DICOM"},"(3010,0056)":{tag:"(3010,0056)",vr:"LO",name:"RTTreatmentApproachLabel",vm:"1",version:"DICOM"},"(3010,0057)":{tag:"(3010,0057)",vr:"SQ",name:"RTPhysicianIntentSequence",vm:"1",version:"DICOM"},"(3010,0058)":{tag:"(3010,0058)",vr:"US",name:"RTPhysicianIntentIndex",vm:"1",version:"DICOM"},"(3010,0059)":{tag:"(3010,0059)",vr:"CS",name:"RTTreatmentIntentType",vm:"1",version:"DICOM"},"(3010,005A)":{tag:"(3010,005A)",vr:"UT",name:"RTPhysicianIntentNarrative",vm:"1",version:"DICOM"},"(3010,005B)":{tag:"(3010,005B)",vr:"SQ",name:"RTProtocolCodeSequence",vm:"1",version:"DICOM"},"(3010,005C)":{tag:"(3010,005C)",vr:"ST",name:"ReasonForSuperseding",vm:"1",version:"DICOM"},"(3010,005D)":{tag:"(3010,005D)",vr:"SQ",name:"RTDiagnosisCodeSequence",vm:"1",version:"DICOM"},"(3010,005E)":{tag:"(3010,005E)",vr:"US",name:"ReferencedRTPhysicianIntentIndex",vm:"1",version:"DICOM"},"(3010,005F)":{tag:"(3010,005F)",vr:"SQ",name:"RTPhysicianIntentInputInstanceSequence",vm:"1",version:"DICOM"},"(3010,0060)":{tag:"(3010,0060)",vr:"SQ",name:"RTAnatomicPrescriptionSequence",vm:"1",version:"DICOM"},"(3010,0061)":{tag:"(3010,0061)",vr:"UT",name:"PriorTreatmentDoseDescription",vm:"1",version:"DICOM"},"(3010,0062)":{tag:"(3010,0062)",vr:"SQ",name:"PriorTreatmentReferenceSequence",vm:"1",version:"DICOM"},"(3010,0063)":{tag:"(3010,0063)",vr:"CS",name:"DosimetricObjectiveEvaluationScope",vm:"1",version:"DICOM"},"(3010,0064)":{tag:"(3010,0064)",vr:"SQ",name:"TherapeuticRoleCategoryCodeSequence",vm:"1",version:"DICOM"},"(3010,0065)":{tag:"(3010,0065)",vr:"SQ",name:"TherapeuticRoleTypeCodeSequence",vm:"1",version:"DICOM"},"(3010,0066)":{tag:"(3010,0066)",vr:"US",name:"ConceptualVolumeOptimizationPrecedence",vm:"1",version:"DICOM"},"(3010,0067)":{tag:"(3010,0067)",vr:"SQ",name:"ConceptualVolumeCategoryCodeSequence",vm:"1",version:"DICOM"},"(3010,0068)":{tag:"(3010,0068)",vr:"CS",name:"ConceptualVolumeBlockingConstraint",vm:"1",version:"DICOM"},"(3010,0069)":{tag:"(3010,0069)",vr:"SQ",name:"ConceptualVolumeTypeCodeSequence",vm:"1",version:"DICOM"},"(3010,006A)":{tag:"(3010,006A)",vr:"SQ",name:"ConceptualVolumeTypeModifierCodeSequence",vm:"1",version:"DICOM"},"(3010,006B)":{tag:"(3010,006B)",vr:"SQ",name:"RTPrescriptionSequence",vm:"1",version:"DICOM"},"(3010,006C)":{tag:"(3010,006C)",vr:"SQ",name:"DosimetricObjectiveSequence",vm:"1",version:"DICOM"},"(3010,006D)":{tag:"(3010,006D)",vr:"SQ",name:"DosimetricObjectiveTypeCodeSequence",vm:"1",version:"DICOM"},"(3010,006E)":{tag:"(3010,006E)",vr:"UI",name:"DosimetricObjectiveUID",vm:"1",version:"DICOM"},"(3010,006F)":{tag:"(3010,006F)",vr:"UI",name:"ReferencedDosimetricObjectiveUID",vm:"1",version:"DICOM"},"(3010,0070)":{tag:"(3010,0070)",vr:"SQ",name:"DosimetricObjectiveParameterSequence",vm:"1",version:"DICOM"},"(3010,0071)":{tag:"(3010,0071)",vr:"SQ",name:"ReferencedDosimetricObjectivesSequence",vm:"1",version:"DICOM"},"(3010,0073)":{tag:"(3010,0073)",vr:"CS",name:"AbsoluteDosimetricObjectiveFlag",vm:"1",version:"DICOM"},"(3010,0074)":{tag:"(3010,0074)",vr:"FD",name:"DosimetricObjectiveWeight",vm:"1",version:"DICOM"},"(3010,0075)":{tag:"(3010,0075)",vr:"CS",name:"DosimetricObjectivePurpose",vm:"1",version:"DICOM"},"(3010,0076)":{tag:"(3010,0076)",vr:"SQ",name:"PlanningInputInformationSequence",vm:"1",version:"DICOM"},"(3010,0077)":{tag:"(3010,0077)",vr:"LO",name:"TreatmentSite",vm:"1",version:"DICOM"},"(3010,0078)":{tag:"(3010,0078)",vr:"SQ",name:"TreatmentSiteCodeSequence",vm:"1",version:"DICOM"},"(3010,0079)":{tag:"(3010,0079)",vr:"SQ",name:"FractionPatternSequence",vm:"1",version:"DICOM"},"(3010,007A)":{tag:"(3010,007A)",vr:"UT",name:"TreatmentTechniqueNotes",vm:"1",version:"DICOM"},"(3010,007B)":{tag:"(3010,007B)",vr:"UT",name:"PrescriptionNotes",vm:"1",version:"DICOM"},"(3010,007C)":{tag:"(3010,007C)",vr:"IS",name:"NumberOfIntervalFractions",vm:"1",version:"DICOM"},"(3010,007D)":{tag:"(3010,007D)",vr:"US",name:"NumberOfFractions",vm:"1",version:"DICOM"},"(3010,007E)":{tag:"(3010,007E)",vr:"US",name:"IntendedDeliveryDuration",vm:"1",version:"DICOM"},"(3010,007F)":{tag:"(3010,007F)",vr:"UT",name:"FractionationNotes",vm:"1",version:"DICOM"},"(3010,0080)":{tag:"(3010,0080)",vr:"SQ",name:"RTTreatmentTechniqueCodeSequence",vm:"1",version:"DICOM"},"(3010,0081)":{tag:"(3010,0081)",vr:"SQ",name:"PrescriptionNotesSequence",vm:"1",version:"DICOM"},"(3010,0082)":{tag:"(3010,0082)",vr:"SQ",name:"FractionBasedRelationshipSequence",vm:"1",version:"DICOM"},"(3010,0083)":{tag:"(3010,0083)",vr:"CS",name:"FractionBasedRelationshipIntervalAnchor",vm:"1",version:"DICOM"},"(3010,0084)":{tag:"(3010,0084)",vr:"FD",name:"MinimumHoursBetweenFractions",vm:"1",version:"DICOM"},"(3010,0085)":{tag:"(3010,0085)",vr:"TM",name:"IntendedFractionStartTime",vm:"1-n",version:"DICOM"},"(3010,0086)":{tag:"(3010,0086)",vr:"LT",name:"IntendedStartDayOfWeek",vm:"1",version:"DICOM"},"(3010,0087)":{tag:"(3010,0087)",vr:"SQ",name:"WeekdayFractionPatternSequence",vm:"1",version:"DICOM"},"(3010,0088)":{tag:"(3010,0088)",vr:"SQ",name:"DeliveryTimeStructureCodeSequence",vm:"1",version:"DICOM"},"(3010,0089)":{tag:"(3010,0089)",vr:"SQ",name:"TreatmentSiteModifierCodeSequence",vm:"1",version:"DICOM"},"(3010,0090)":{tag:"(3010,0090)",vr:"CS",name:"RoboticBaseLocationIndicator",vm:"1",version:"DICOM"},"(3010,0091)":{tag:"(3010,0091)",vr:"SQ",name:"RoboticPathNodeSetCodeSequence",vm:"1",version:"DICOM"},"(3010,0092)":{tag:"(3010,0092)",vr:"UL",name:"RoboticNodeIdentifier",vm:"1",version:"DICOM"},"(3010,0093)":{tag:"(3010,0093)",vr:"FD",name:"RTTreatmentSourceCoordinates",vm:"3",version:"DICOM"},"(3010,0094)":{tag:"(3010,0094)",vr:"FD",name:"RadiationSourceCoordinateSystemYawAngle",vm:"1",version:"DICOM"},"(3010,0095)":{tag:"(3010,0095)",vr:"FD",name:"RadiationSourceCoordinateSystemRollAngle",vm:"1",version:"DICOM"},"(3010,0096)":{tag:"(3010,0096)",vr:"FD",name:"RadiationSourceCoordinateSystemPitchAngle",vm:"1",version:"DICOM"},"(3010,0097)":{tag:"(3010,0097)",vr:"SQ",name:"RoboticPathControlPointSequence",vm:"1",version:"DICOM"},"(3010,0098)":{tag:"(3010,0098)",vr:"SQ",name:"TomotherapeuticControlPointSequence",vm:"1",version:"DICOM"},"(3010,0099)":{tag:"(3010,0099)",vr:"FD",name:"TomotherapeuticLeafOpenDurations",vm:"1-n",version:"DICOM"},"(3010,009A)":{tag:"(3010,009A)",vr:"FD",name:"TomotherapeuticLeafInitialClosedDurations",vm:"1-n",version:"DICOM"},"(4FFE,0001)":{tag:"(4FFE,0001)",vr:"SQ",name:"MACParametersSequence",vm:"1",version:"DICOM"},"(5200,9229)":{tag:"(5200,9229)",vr:"SQ",name:"SharedFunctionalGroupsSequence",vm:"1",version:"DICOM"},"(5200,9230)":{tag:"(5200,9230)",vr:"SQ",name:"PerFrameFunctionalGroupsSequence",vm:"1",version:"DICOM"},"(5400,0100)":{tag:"(5400,0100)",vr:"SQ",name:"WaveformSequence",vm:"1",version:"DICOM"},"(5400,0110)":{tag:"(5400,0110)",vr:"ox",name:"ChannelMinimumValue",vm:"1",version:"DICOM"},"(5400,0112)":{tag:"(5400,0112)",vr:"ox",name:"ChannelMaximumValue",vm:"1",version:"DICOM"},"(5400,1004)":{tag:"(5400,1004)",vr:"US",name:"WaveformBitsAllocated",vm:"1",version:"DICOM"},"(5400,1006)":{tag:"(5400,1006)",vr:"CS",name:"WaveformSampleInterpretation",vm:"1",version:"DICOM"},"(5400,100A)":{tag:"(5400,100A)",vr:"ox",name:"WaveformPaddingValue",vm:"1",version:"DICOM"},"(5400,1010)":{tag:"(5400,1010)",vr:"ox",name:"WaveformData",vm:"1",version:"DICOM"},"(5600,0010)":{tag:"(5600,0010)",vr:"OF",name:"FirstOrderPhaseCorrectionAngle",vm:"1",version:"DICOM"},"(5600,0020)":{tag:"(5600,0020)",vr:"OF",name:"SpectroscopyData",vm:"1",version:"DICOM"},"(6000-60FF,0010)":{tag:"(6000-60FF,0010)",vr:"US",name:"OverlayRows",vm:"1",version:"DICOM"},"(6000-60FF,0011)":{tag:"(6000-60FF,0011)",vr:"US",name:"OverlayColumns",vm:"1",version:"DICOM"},"(6000-60FF,0015)":{tag:"(6000-60FF,0015)",vr:"IS",name:"NumberOfFramesInOverlay",vm:"1",version:"DICOM"},"(6000-60FF,0022)":{tag:"(6000-60FF,0022)",vr:"LO",name:"OverlayDescription",vm:"1",version:"DICOM"},"(6000-60FF,0040)":{tag:"(6000-60FF,0040)",vr:"CS",name:"OverlayType",vm:"1",version:"DICOM"},"(6000-60FF,0045)":{tag:"(6000-60FF,0045)",vr:"LO",name:"OverlaySubtype",vm:"1",version:"DICOM"},"(6000-60FF,0050)":{tag:"(6000-60FF,0050)",vr:"SS",name:"OverlayOrigin",vm:"2",version:"DICOM"},"(6000-60FF,0051)":{tag:"(6000-60FF,0051)",vr:"US",name:"ImageFrameOrigin",vm:"1",version:"DICOM"},"(6000-60FF,0100)":{tag:"(6000-60FF,0100)",vr:"US",name:"OverlayBitsAllocated",vm:"1",version:"DICOM"},"(6000-60FF,0102)":{tag:"(6000-60FF,0102)",vr:"US",name:"OverlayBitPosition",vm:"1",version:"DICOM"},"(6000-60FF,1001)":{tag:"(6000-60FF,1001)",vr:"CS",name:"OverlayActivationLayer",vm:"1",version:"DICOM"},"(6000-60FF,1301)":{tag:"(6000-60FF,1301)",vr:"IS",name:"ROIArea",vm:"1",version:"DICOM"},"(6000-60FF,1302)":{tag:"(6000-60FF,1302)",vr:"DS",name:"ROIMean",vm:"1",version:"DICOM"},"(6000-60FF,1303)":{tag:"(6000-60FF,1303)",vr:"DS",name:"ROIStandardDeviation",vm:"1",version:"DICOM"},"(6000-60FF,1500)":{tag:"(6000-60FF,1500)",vr:"LO",name:"OverlayLabel",vm:"1",version:"DICOM"},"(6000-60FF,3000)":{tag:"(6000-60FF,3000)",vr:"ox",name:"OverlayData",vm:"1",version:"DICOM"},"(7FE0,0001)":{tag:"(7FE0,0001)",vr:"OV",name:"ExtendedOffsetTable",vm:"1",version:"DICOM"},"(7FE0,0002)":{tag:"(7FE0,0002)",vr:"OV",name:"ExtendedOffsetTableLengths",vm:"1",version:"DICOM"},"(7FE0,0008)":{tag:"(7FE0,0008)",vr:"OF",name:"FloatPixelData",vm:"1",version:"DICOM"},"(7FE0,0009)":{tag:"(7FE0,0009)",vr:"OD",name:"DoubleFloatPixelData",vm:"1",version:"DICOM"},"(7FE0,0010)":{tag:"(7FE0,0010)",vr:"ox",name:"PixelData",vm:"1",version:"DICOM"},"(FFFA,FFFA)":{tag:"(FFFA,FFFA)",vr:"SQ",name:"DigitalSignaturesSequence",vm:"1",version:"DICOM"},"(FFFC,FFFC)":{tag:"(FFFC,FFFC)",vr:"OB",name:"DataSetTrailingPadding",vm:"1",version:"DICOM"},"(FFFE,E000)":{tag:"(FFFE,E000)",vr:"na",name:"Item",vm:"1",version:"DICOM"},"(FFFE,E00D)":{tag:"(FFFE,E00D)",vr:"na",name:"ItemDelimitationItem",vm:"1",version:"DICOM"},"(FFFE,E0DD)":{tag:"(FFFE,E0DD)",vr:"na",name:"SequenceDelimitationItem",vm:"1",version:"DICOM"},"(0028,1224)":{tag:"(0028,1224)",vr:"OW",name:"SegmentedAlphaPaletteColorLookupTableData",vm:"1",version:"Supplement_156"},"(0070,1101)":{tag:"(0070,1101)",vr:"UI",name:"PresentationDisplayCollectionUID",vm:"1",version:"Supplement_156"},"(0070,1102)":{tag:"(0070,1102)",vr:"UI",name:"PresentationSequenceCollectionUID",vm:"1",version:"Supplement_156"},"(0070,1103)":{tag:"(0070,1103)",vr:"US",name:"PresentationSequencePositionIndex",vm:"1",version:"Supplement_156"},"(0070,1104)":{tag:"(0070,1104)",vr:"SQ",name:"RenderedImageReferenceSequence",vm:"1",version:"Supplement_156"},"(0070,1201)":{tag:"(0070,1201)",vr:"SQ",name:"VolumetricPresentationStateInputSequence",vm:"1",version:"Supplement_156"},"(0070,1202)":{tag:"(0070,1202)",vr:"CS",name:"PresentationInputType",vm:"1",version:"Supplement_156"},"(0070,1203)":{tag:"(0070,1203)",vr:"US",name:"InputSequencePositionIndex",vm:"1",version:"Supplement_156"},"(0070,1204)":{tag:"(0070,1204)",vr:"CS",name:"Crop",vm:"1",version:"Supplement_156"},"(0070,1205)":{tag:"(0070,1205)",vr:"US",name:"CroppingSpecificationIndex",vm:"1-n",version:"Supplement_156"},"(0070,1206)":{tag:"(0070,1206)",vr:"CS",name:"CompositingMethod",vm:"1",version:"Supplement_156"},"(0070,1207)":{tag:"(0070,1207)",vr:"US",name:"VolumetricPresentationInputNumber",vm:"1",version:"Supplement_156"},"(0070,1208)":{tag:"(0070,1208)",vr:"CS",name:"ImageVolumeGeometry",vm:"1",version:"Supplement_156"},"(0070,1301)":{tag:"(0070,1301)",vr:"SQ",name:"VolumeCroppingSequence",vm:"1",version:"Supplement_156"},"(0070,1302)":{tag:"(0070,1302)",vr:"CS",name:"VolumeCroppingMethod",vm:"1",version:"Supplement_156"},"(0070,1303)":{tag:"(0070,1303)",vr:"FD",name:"BoundingBoxCrop",vm:"6",version:"Supplement_156"},"(0070,1304)":{tag:"(0070,1304)",vr:"SQ",name:"ObliqueCroppingPlaneSequence",vm:"1",version:"Supplement_156"},"(0070,1305)":{tag:"(0070,1305)",vr:"FD",name:"ObliqueCroppingPlane",vm:"4",version:"Supplement_156"},"(0070,1306)":{tag:"(0070,1306)",vr:"FD",name:"ObliqueCroppingPlaneNormal",vm:"3",version:"Supplement_156"},"(0070,1309)":{tag:"(0070,1309)",vr:"US",name:"CroppingSpecificationNumber",vm:"1",version:"Supplement_156"},"(0070,1501)":{tag:"(0070,1501)",vr:"CS",name:"MultiPlanarReconstructionStyle",vm:"1",version:"Supplement_156"},"(0070,1502)":{tag:"(0070,1502)",vr:"CS",name:"MPRThicknessType",vm:"1",version:"Supplement_156"},"(0070,1503)":{tag:"(0070,1503)",vr:"FD",name:"MPRSlabThickness",vm:"1",version:"Supplement_156"},"(0070,1505)":{tag:"(0070,1505)",vr:"FD",name:"MPRTopLeftHandCorner",vm:"3",version:"Supplement_156"},"(0070,1507)":{tag:"(0070,1507)",vr:"FD",name:"MPRViewWidthDirection",vm:"3",version:"Supplement_156"},"(0070,1508)":{tag:"(0070,1508)",vr:"FD",name:"MPRViewWidth",vm:"1",version:"Supplement_156"},"(0070,150C)":{tag:"(0070,150C)",vr:"FL",name:"NumberOfVolumetricCurvePoints",vm:"1",version:"Supplement_156"},"(0070,150D)":{tag:"(0070,150D)",vr:"OD",name:"VolumetricCurvePoints",vm:"1",version:"Supplement_156"},"(0070,1511)":{tag:"(0070,1511)",vr:"FD",name:"MPRViewHeightDirection",vm:"3",version:"Supplement_156"},"(0070,1512)":{tag:"(0070,1512)",vr:"FD",name:"MPRViewHeight",vm:"1",version:"Supplement_156"},"(0070,1801)":{tag:"(0070,1801)",vr:"SQ",name:"PresentationStateClassificationComponentSequence",vm:"1",version:"Supplement_156"},"(0070,1802)":{tag:"(0070,1802)",vr:"CS",name:"ComponentType",vm:"1",version:"Supplement_156"},"(0070,1803)":{tag:"(0070,1803)",vr:"SQ",name:"ComponentInputSequence",vm:"1",version:"Supplement_156"},"(0070,1804)":{tag:"(0070,1804)",vr:"US",name:"VolumetricPresentationInputIndex",vm:"1",version:"Supplement_156"},"(0070,1805)":{tag:"(0070,1805)",vr:"SQ",name:"PresentationStateCompositorComponentSequence",vm:"1",version:"Supplement_156"},"(0070,1806)":{tag:"(0070,1806)",vr:"SQ",name:"WeightingTransferFunctionSequence",vm:"1",version:"Supplement_156"},"(0070,1807)":{tag:"(0070,1807)",vr:"US",name:"WeightingLookupTableDescriptor",vm:"3",version:"Supplement_156"},"(0070,1808)":{tag:"(0070,1808)",vr:"OB",name:"WeightingLookupTableData",vm:"1",version:"Supplement_156"},"(0070,1901)":{tag:"(0070,1901)",vr:"SQ",name:"VolumetricAnnotationSequence",vm:"1",version:"Supplement_156"},"(0070,1903)":{tag:"(0070,1903)",vr:"SQ",name:"ReferencedStructuredContextSequence",vm:"1",version:"Supplement_156"},"(0070,1904)":{tag:"(0070,1904)",vr:"UI",name:"ReferencedContentItem",vm:"1",version:"Supplement_156"},"(0070,1905)":{tag:"(0070,1905)",vr:"SQ",name:"VolumetricPresentationInputAnnotationSequence",vm:"1",version:"Supplement_156"},"(0070,1907)":{tag:"(0070,1907)",vr:"CS",name:"AnnotationClipping",vm:"1",version:"Supplement_156"},"(0070,1A01)":{tag:"(0070,1A01)",vr:"CS",name:"PresentationAnimationStyle",vm:"1",version:"Supplement_156"},"(0070,1A03)":{tag:"(0070,1A03)",vr:"FD",name:"RecommendedAnimationRate",vm:"1",version:"Supplement_156"},"(0070,1A04)":{tag:"(0070,1A04)",vr:"SQ",name:"AnimationCurveSequence",vm:"1",version:"Supplement_156"},"(0070,1A05)":{tag:"(0070,1A05)",vr:"FD",name:"AnimationStepSize",vm:"1",version:"Supplement_156"},"(0040,4070)":{tag:"(0040,4070)",vr:"SQ",name:"OutputDestinationSequence",vm:"1",version:"CP_1441"},"(0040,4071)":{tag:"(0040,4071)",vr:"SQ",name:"DICOMStorageSequence",vm:"1",version:"CP_1441"},"(0040,4072)":{tag:"(0040,4072)",vr:"SQ",name:"STOWRSStorageSequence",vm:"1",version:"CP_1441"},"(0040,4073)":{tag:"(0040,4073)",vr:"UR",name:"StorageURL",vm:"1",version:"CP_1441"},"(0040,4074)":{tag:"(0040,4074)",vr:"SQ",name:"XDSStorageSequence",vm:"1",version:"CP_1441"},"(0028,2002)":{tag:"(0028,2002)",vr:"CS",name:"ColorSpace",vm:"1",version:"CP_1454"},"(0040,9213)":{tag:"(0040,9213)",vr:"FD",name:"DoubleFloatRealWorldValueLastValueMapped",vm:"1",version:"CP_1458"},"(0040,9214)":{tag:"(0040,9214)",vr:"FD",name:"DoubleFloatRealWorldValueFirstValueMapped",vm:"1",version:"CP_1458"},"(0018,1320)":{tag:"(0018,1320)",vr:"FL",name:"B1rms",vm:"1",version:"CP_1461"},"(0009-o-FFFF,0000)":{tag:"(0009-o-FFFF,0000)",vr:"UL",name:"PrivateGroupLength",vm:"1",version:"PRIVATE"},"(0009-o-FFFF,0010-u-00FF)":{tag:"(0009-o-FFFF,0010-u-00FF)",vr:"LO",name:"PrivateCreator",vm:"1",version:"PRIVATE"},"(0001-o-0007,0000)":{tag:"(0001-o-0007,0000)",vr:"UL",name:"IllegalGroupLength",vm:"1",version:"ILLEGAL"},"(0001-o-0007,0010-u-00FF)":{tag:"(0001-o-0007,0010-u-00FF)",vr:"LO",name:"IllegalPrivateCreator",vm:"1",version:"ILLEGAL"},"(0000-u-FFFF,0000)":{tag:"(0000-u-FFFF,0000)",vr:"UL",name:"GenericGroupLength",vm:"1",version:"GENERIC"},"(0000,0001)":{tag:"(0000,0001)",vr:"UL",name:"RETIRED_CommandLengthToEnd",vm:"1",version:"DICOM/retired"},"(0000,0010)":{tag:"(0000,0010)",vr:"SH",name:"RETIRED_CommandRecognitionCode",vm:"1",version:"DICOM/retired"},"(0000,0200)":{tag:"(0000,0200)",vr:"AE",name:"RETIRED_Initiator",vm:"1",version:"DICOM/retired"},"(0000,0300)":{tag:"(0000,0300)",vr:"AE",name:"RETIRED_Receiver",vm:"1",version:"DICOM/retired"},"(0000,0400)":{tag:"(0000,0400)",vr:"AE",name:"RETIRED_FindLocation",vm:"1",version:"DICOM/retired"},"(0000,0850)":{tag:"(0000,0850)",vr:"US",name:"RETIRED_NumberOfMatches",vm:"1",version:"DICOM/retired"},"(0000,0860)":{tag:"(0000,0860)",vr:"US",name:"RETIRED_ResponseSequenceNumber",vm:"1",version:"DICOM/retired"},"(0000,4000)":{tag:"(0000,4000)",vr:"LT",name:"RETIRED_DialogReceiver",vm:"1",version:"DICOM/retired"},"(0000,4010)":{tag:"(0000,4010)",vr:"LT",name:"RETIRED_TerminalType",vm:"1",version:"DICOM/retired"},"(0000,5010)":{tag:"(0000,5010)",vr:"SH",name:"RETIRED_MessageSetID",vm:"1",version:"DICOM/retired"},"(0000,5020)":{tag:"(0000,5020)",vr:"SH",name:"RETIRED_EndMessageID",vm:"1",version:"DICOM/retired"},"(0000,5110)":{tag:"(0000,5110)",vr:"LT",name:"RETIRED_DisplayFormat",vm:"1",version:"DICOM/retired"},"(0000,5120)":{tag:"(0000,5120)",vr:"LT",name:"RETIRED_PagePositionID",vm:"1",version:"DICOM/retired"},"(0000,5130)":{tag:"(0000,5130)",vr:"CS",name:"RETIRED_TextFormatID",vm:"1",version:"DICOM/retired"},"(0000,5140)":{tag:"(0000,5140)",vr:"CS",name:"RETIRED_NormalReverse",vm:"1",version:"DICOM/retired"},"(0000,5150)":{tag:"(0000,5150)",vr:"CS",name:"RETIRED_AddGrayScale",vm:"1",version:"DICOM/retired"},"(0000,5160)":{tag:"(0000,5160)",vr:"CS",name:"RETIRED_Borders",vm:"1",version:"DICOM/retired"},"(0000,5170)":{tag:"(0000,5170)",vr:"IS",name:"RETIRED_Copies",vm:"1",version:"DICOM/retired"},"(0000,5180)":{tag:"(0000,5180)",vr:"CS",name:"RETIRED_CommandMagnificationType",vm:"1",version:"DICOM/retired"},"(0000,5190)":{tag:"(0000,5190)",vr:"CS",name:"RETIRED_Erase",vm:"1",version:"DICOM/retired"},"(0000,51A0)":{tag:"(0000,51A0)",vr:"CS",name:"RETIRED_Print",vm:"1",version:"DICOM/retired"},"(0000,51B0)":{tag:"(0000,51B0)",vr:"US",name:"RETIRED_Overlays",vm:"1-n",version:"DICOM/retired"},"(0004,1504)":{tag:"(0004,1504)",vr:"up",name:"RETIRED_MRDRDirectoryRecordOffset",vm:"1",version:"DICOM/retired"},"(0004,1600)":{tag:"(0004,1600)",vr:"UL",name:"RETIRED_NumberOfReferences",vm:"1",version:"DICOM/retired"},"(0008,0001)":{tag:"(0008,0001)",vr:"UL",name:"RETIRED_LengthToEnd",vm:"1",version:"DICOM/retired"},"(0008,0010)":{tag:"(0008,0010)",vr:"SH",name:"RETIRED_RecognitionCode",vm:"1",version:"DICOM/retired"},"(0008,0024)":{tag:"(0008,0024)",vr:"DA",name:"RETIRED_OverlayDate",vm:"1",version:"DICOM/retired"},"(0008,0025)":{tag:"(0008,0025)",vr:"DA",name:"RETIRED_CurveDate",vm:"1",version:"DICOM/retired"},"(0008,0034)":{tag:"(0008,0034)",vr:"TM",name:"RETIRED_OverlayTime",vm:"1",version:"DICOM/retired"},"(0008,0035)":{tag:"(0008,0035)",vr:"TM",name:"RETIRED_CurveTime",vm:"1",version:"DICOM/retired"},"(0008,0040)":{tag:"(0008,0040)",vr:"US",name:"RETIRED_DataSetType",vm:"1",version:"DICOM/retired"},"(0008,0041)":{tag:"(0008,0041)",vr:"LO",name:"RETIRED_DataSetSubtype",vm:"1",version:"DICOM/retired"},"(0008,0042)":{tag:"(0008,0042)",vr:"CS",name:"RETIRED_NuclearMedicineSeriesType",vm:"1",version:"DICOM/retired"},"(0008,1000)":{tag:"(0008,1000)",vr:"AE",name:"RETIRED_NetworkID",vm:"1",version:"DICOM/retired"},"(0008,1100)":{tag:"(0008,1100)",vr:"SQ",name:"RETIRED_ReferencedResultsSequence",vm:"1",version:"DICOM/retired"},"(0008,1130)":{tag:"(0008,1130)",vr:"SQ",name:"RETIRED_ReferencedOverlaySequence",vm:"1",version:"DICOM/retired"},"(0008,1145)":{tag:"(0008,1145)",vr:"SQ",name:"RETIRED_ReferencedCurveSequence",vm:"1",version:"DICOM/retired"},"(0008,2110)":{tag:"(0008,2110)",vr:"CS",name:"RETIRED_LossyImageCompressionRetired",vm:"1",version:"DICOM/retired"},"(0008,2200)":{tag:"(0008,2200)",vr:"CS",name:"RETIRED_TransducerPosition",vm:"1",version:"DICOM/retired"},"(0008,2204)":{tag:"(0008,2204)",vr:"CS",name:"RETIRED_TransducerOrientation",vm:"1",version:"DICOM/retired"},"(0008,2208)":{tag:"(0008,2208)",vr:"CS",name:"RETIRED_AnatomicStructure",vm:"1",version:"DICOM/retired"},"(0008,2240)":{tag:"(0008,2240)",vr:"SQ",name:"RETIRED_TransducerPositionSequence",vm:"1",version:"DICOM/retired"},"(0008,2242)":{tag:"(0008,2242)",vr:"SQ",name:"RETIRED_TransducerPositionModifierSequence",vm:"1",version:"DICOM/retired"},"(0008,2244)":{tag:"(0008,2244)",vr:"SQ",name:"RETIRED_TransducerOrientationSequence",vm:"1",version:"DICOM/retired"},"(0008,2246)":{tag:"(0008,2246)",vr:"SQ",name:"RETIRED_TransducerOrientationModifierSequence",vm:"1",version:"DICOM/retired"},"(0008,2251)":{tag:"(0008,2251)",vr:"SQ",name:"RETIRED_AnatomicStructureSpaceOrRegionCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0008,2253)":{tag:"(0008,2253)",vr:"SQ",name:"RETIRED_AnatomicPortalOfEntranceCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0008,2255)":{tag:"(0008,2255)",vr:"SQ",name:"RETIRED_AnatomicApproachDirectionCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0008,2256)":{tag:"(0008,2256)",vr:"ST",name:"RETIRED_AnatomicPerspectiveDescriptionTrial",vm:"1",version:"DICOM/retired"},"(0008,2257)":{tag:"(0008,2257)",vr:"SQ",name:"RETIRED_AnatomicPerspectiveCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0008,2258)":{tag:"(0008,2258)",vr:"ST",name:"RETIRED_AnatomicLocationOfExaminingInstrumentDescriptionTrial",vm:"1",version:"DICOM/retired"},"(0008,2259)":{tag:"(0008,2259)",vr:"SQ",name:"RETIRED_AnatomicLocationOfExaminingInstrumentCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0008,225A)":{tag:"(0008,225A)",vr:"SQ",name:"RETIRED_AnatomicStructureSpaceOrRegionModifierCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0008,225C)":{tag:"(0008,225C)",vr:"SQ",name:"RETIRED_OnAxisBackgroundAnatomicStructureCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0008,4000)":{tag:"(0008,4000)",vr:"LT",name:"RETIRED_IdentifyingComments",vm:"1",version:"DICOM/retired"},"(0010,1050)":{tag:"(0010,1050)",vr:"LO",name:"RETIRED_InsurancePlanIdentification",vm:"1-n",version:"DICOM/retired"},"(0014,0023)":{tag:"(0014,0023)",vr:"ST",name:"RETIRED_CADFileFormat",vm:"1-n",version:"DICOM/retired"},"(0014,0024)":{tag:"(0014,0024)",vr:"ST",name:"RETIRED_ComponentReferenceSystem",vm:"1-n",version:"DICOM/retired"},"(0014,0045)":{tag:"(0014,0045)",vr:"ST",name:"RETIRED_MaterialPropertiesFileFormatRetired",vm:"1-n",version:"DICOM/retired"},"(0018,0030)":{tag:"(0018,0030)",vr:"LO",name:"RETIRED_Radionuclide",vm:"1-n",version:"DICOM/retired"},"(0018,0032)":{tag:"(0018,0032)",vr:"DS",name:"RETIRED_EnergyWindowCenterline",vm:"1",version:"DICOM/retired"},"(0018,0033)":{tag:"(0018,0033)",vr:"DS",name:"RETIRED_EnergyWindowTotalWidth",vm:"1-n",version:"DICOM/retired"},"(0018,0037)":{tag:"(0018,0037)",vr:"CS",name:"RETIRED_TherapyType",vm:"1",version:"DICOM/retired"},"(0018,0039)":{tag:"(0018,0039)",vr:"CS",name:"RETIRED_TherapyDescription",vm:"1",version:"DICOM/retired"},"(0018,0061)":{tag:"(0018,0061)",vr:"DS",name:"RETIRED_undefined",vm:"1",version:"DICOM/retired"},"(0018,1011)":{tag:"(0018,1011)",vr:"LO",name:"RETIRED_HardcopyCreationDeviceID",vm:"1",version:"DICOM/retired"},"(0018,1017)":{tag:"(0018,1017)",vr:"LO",name:"RETIRED_HardcopyDeviceManufacturer",vm:"1",version:"DICOM/retired"},"(0018,101A)":{tag:"(0018,101A)",vr:"LO",name:"RETIRED_HardcopyDeviceSoftwareVersion",vm:"1-n",version:"DICOM/retired"},"(0018,101B)":{tag:"(0018,101B)",vr:"LO",name:"RETIRED_HardcopyDeviceManufacturerModelName",vm:"1",version:"DICOM/retired"},"(0018,1141)":{tag:"(0018,1141)",vr:"DS",name:"RETIRED_AngularPosition",vm:"1",version:"DICOM/retired"},"(0018,1146)":{tag:"(0018,1146)",vr:"DS",name:"RETIRED_RotationOffset",vm:"1-n",version:"DICOM/retired"},"(0018,1240)":{tag:"(0018,1240)",vr:"IS",name:"RETIRED_UpperLowerPixelValues",vm:"1-n",version:"DICOM/retired"},"(0018,4000)":{tag:"(0018,4000)",vr:"LT",name:"RETIRED_AcquisitionComments",vm:"1",version:"DICOM/retired"},"(0018,5021)":{tag:"(0018,5021)",vr:"LO",name:"RETIRED_PostprocessingFunction",vm:"1",version:"DICOM/retired"},"(0018,5030)":{tag:"(0018,5030)",vr:"DS",name:"RETIRED_DynamicRange",vm:"1",version:"DICOM/retired"},"(0018,5040)":{tag:"(0018,5040)",vr:"DS",name:"RETIRED_TotalGain",vm:"1",version:"DICOM/retired"},"(0018,5210)":{tag:"(0018,5210)",vr:"DS",name:"RETIRED_ImageTransformationMatrix",vm:"6",version:"DICOM/retired"},"(0018,5212)":{tag:"(0018,5212)",vr:"DS",name:"RETIRED_ImageTranslationVector",vm:"3",version:"DICOM/retired"},"(0018,6038)":{tag:"(0018,6038)",vr:"UL",name:"RETIRED_DopplerSampleVolumeXPositionRetired",vm:"1",version:"DICOM/retired"},"(0018,603A)":{tag:"(0018,603A)",vr:"UL",name:"RETIRED_DopplerSampleVolumeYPositionRetired",vm:"1",version:"DICOM/retired"},"(0018,603C)":{tag:"(0018,603C)",vr:"UL",name:"RETIRED_TMLinePositionX0Retired",vm:"1",version:"DICOM/retired"},"(0018,603E)":{tag:"(0018,603E)",vr:"UL",name:"RETIRED_TMLinePositionY0Retired",vm:"1",version:"DICOM/retired"},"(0018,6040)":{tag:"(0018,6040)",vr:"UL",name:"RETIRED_TMLinePositionX1Retired",vm:"1",version:"DICOM/retired"},"(0018,6042)":{tag:"(0018,6042)",vr:"UL",name:"RETIRED_TMLinePositionY1Retired",vm:"1",version:"DICOM/retired"},"(0018,9096)":{tag:"(0018,9096)",vr:"FD",name:"RETIRED_ParallelReductionFactorInPlaneRetired",vm:"1",version:"DICOM/retired"},"(0018,9166)":{tag:"(0018,9166)",vr:"CS",name:"RETIRED_BulkMotionStatus",vm:"1",version:"DICOM/retired"},"(0018,9195)":{tag:"(0018,9195)",vr:"FD",name:"RETIRED_ChemicalShiftMinimumIntegrationLimitInHz",vm:"1",version:"DICOM/retired"},"(0018,9196)":{tag:"(0018,9196)",vr:"FD",name:"RETIRED_ChemicalShiftMaximumIntegrationLimitInHz",vm:"1",version:"DICOM/retired"},"(0020,0014)":{tag:"(0020,0014)",vr:"IS",name:"RETIRED_IsotopeNumber",vm:"1",version:"DICOM/retired"},"(0020,0015)":{tag:"(0020,0015)",vr:"IS",name:"RETIRED_PhaseNumber",vm:"1",version:"DICOM/retired"},"(0020,0016)":{tag:"(0020,0016)",vr:"IS",name:"RETIRED_IntervalNumber",vm:"1",version:"DICOM/retired"},"(0020,0017)":{tag:"(0020,0017)",vr:"IS",name:"RETIRED_TimeSlotNumber",vm:"1",version:"DICOM/retired"},"(0020,0018)":{tag:"(0020,0018)",vr:"IS",name:"RETIRED_AngleNumber",vm:"1",version:"DICOM/retired"},"(0020,0022)":{tag:"(0020,0022)",vr:"IS",name:"RETIRED_OverlayNumber",vm:"1",version:"DICOM/retired"},"(0020,0024)":{tag:"(0020,0024)",vr:"IS",name:"RETIRED_CurveNumber",vm:"1",version:"DICOM/retired"},"(0020,0026)":{tag:"(0020,0026)",vr:"IS",name:"RETIRED_LUTNumber",vm:"1",version:"DICOM/retired"},"(0020,0030)":{tag:"(0020,0030)",vr:"DS",name:"RETIRED_ImagePosition",vm:"3",version:"DICOM/retired"},"(0020,0035)":{tag:"(0020,0035)",vr:"DS",name:"RETIRED_ImageOrientation",vm:"6",version:"DICOM/retired"},"(0020,0050)":{tag:"(0020,0050)",vr:"DS",name:"RETIRED_Location",vm:"1",version:"DICOM/retired"},"(0020,0070)":{tag:"(0020,0070)",vr:"LO",name:"RETIRED_ImageGeometryType",vm:"1",version:"DICOM/retired"},"(0020,0080)":{tag:"(0020,0080)",vr:"CS",name:"RETIRED_MaskingImage",vm:"1-n",version:"DICOM/retired"},"(0020,00AA)":{tag:"(0020,00AA)",vr:"IS",name:"RETIRED_ReportNumber",vm:"1",version:"DICOM/retired"},"(0020,1000)":{tag:"(0020,1000)",vr:"IS",name:"RETIRED_SeriesInStudy",vm:"1",version:"DICOM/retired"},"(0020,1001)":{tag:"(0020,1001)",vr:"IS",name:"RETIRED_AcquisitionsInSeries",vm:"1",version:"DICOM/retired"},"(0020,1003)":{tag:"(0020,1003)",vr:"IS",name:"RETIRED_ImagesInSeries",vm:"1",version:"DICOM/retired"},"(0020,1004)":{tag:"(0020,1004)",vr:"IS",name:"RETIRED_AcquisitionsInStudy",vm:"1",version:"DICOM/retired"},"(0020,1005)":{tag:"(0020,1005)",vr:"IS",name:"RETIRED_ImagesInStudy",vm:"1",version:"DICOM/retired"},"(0020,1020)":{tag:"(0020,1020)",vr:"LO",name:"RETIRED_Reference",vm:"1-n",version:"DICOM/retired"},"(0020,1070)":{tag:"(0020,1070)",vr:"IS",name:"RETIRED_OtherStudyNumbers",vm:"1-n",version:"DICOM/retired"},"(0020,3100-31FF)":{tag:"(0020,3100-31FF)",vr:"CS",name:"RETIRED_SourceImageIDs",vm:"1-n",version:"DICOM/retired"},"(0020,3401)":{tag:"(0020,3401)",vr:"CS",name:"RETIRED_ModifyingDeviceID",vm:"1",version:"DICOM/retired"},"(0020,3402)":{tag:"(0020,3402)",vr:"CS",name:"RETIRED_ModifiedImageID",vm:"1",version:"DICOM/retired"},"(0020,3403)":{tag:"(0020,3403)",vr:"DA",name:"RETIRED_ModifiedImageDate",vm:"1",version:"DICOM/retired"},"(0020,3404)":{tag:"(0020,3404)",vr:"LO",name:"RETIRED_ModifyingDeviceManufacturer",vm:"1",version:"DICOM/retired"},"(0020,3405)":{tag:"(0020,3405)",vr:"TM",name:"RETIRED_ModifiedImageTime",vm:"1",version:"DICOM/retired"},"(0020,3406)":{tag:"(0020,3406)",vr:"LO",name:"RETIRED_ModifiedImageDescription",vm:"1",version:"DICOM/retired"},"(0020,5000)":{tag:"(0020,5000)",vr:"AT",name:"RETIRED_OriginalImageIdentification",vm:"1-n",version:"DICOM/retired"},"(0020,5002)":{tag:"(0020,5002)",vr:"LO",name:"RETIRED_OriginalImageIdentificationNomenclature",vm:"1-n",version:"DICOM/retired"},"(0022,1094)":{tag:"(0022,1094)",vr:"LO",name:"RETIRED_LensConstantDescription",vm:"1",version:"DICOM/retired"},"(0022,1153)":{tag:"(0022,1153)",vr:"SQ",name:"RETIRED_OphthalmicAxialLengthAcquisitionMethodCodeSequence",vm:"1",version:"DICOM/retired"},"(0022,1265)":{tag:"(0022,1265)",vr:"SQ",name:"RETIRED_OphthalmicAxialLengthQualityMetricTypeCodeSequence",vm:"1",version:"DICOM/retired"},"(0022,1273)":{tag:"(0022,1273)",vr:"LO",name:"RETIRED_OphthalmicAxialLengthQualityMetricTypeDescription",vm:"1",version:"DICOM/retired"},"(0028,0005)":{tag:"(0028,0005)",vr:"US",name:"RETIRED_ImageDimensions",vm:"1",version:"DICOM/retired"},"(0028,0012)":{tag:"(0028,0012)",vr:"US",name:"RETIRED_Planes",vm:"1",version:"DICOM/retired"},"(0028,0040)":{tag:"(0028,0040)",vr:"CS",name:"RETIRED_ImageFormat",vm:"1",version:"DICOM/retired"},"(0028,0050)":{tag:"(0028,0050)",vr:"LO",name:"RETIRED_ManipulatedImage",vm:"1-n",version:"DICOM/retired"},"(0028,005F)":{tag:"(0028,005F)",vr:"LO",name:"RETIRED_CompressionRecognitionCode",vm:"1",version:"DICOM/retired"},"(0028,0060)":{tag:"(0028,0060)",vr:"CS",name:"RETIRED_CompressionCode",vm:"1",version:"DICOM/retired"},"(0028,0061)":{tag:"(0028,0061)",vr:"SH",name:"RETIRED_CompressionOriginator",vm:"1",version:"DICOM/retired"},"(0028,0062)":{tag:"(0028,0062)",vr:"LO",name:"RETIRED_CompressionLabel",vm:"1",version:"DICOM/retired"},"(0028,0063)":{tag:"(0028,0063)",vr:"SH",name:"RETIRED_CompressionDescription",vm:"1",version:"DICOM/retired"},"(0028,0065)":{tag:"(0028,0065)",vr:"CS",name:"RETIRED_CompressionSequence",vm:"1-n",version:"DICOM/retired"},"(0028,0066)":{tag:"(0028,0066)",vr:"AT",name:"RETIRED_CompressionStepPointers",vm:"1-n",version:"DICOM/retired"},"(0028,0068)":{tag:"(0028,0068)",vr:"US",name:"RETIRED_RepeatInterval",vm:"1",version:"DICOM/retired"},"(0028,0069)":{tag:"(0028,0069)",vr:"US",name:"RETIRED_BitsGrouped",vm:"1",version:"DICOM/retired"},"(0028,0070)":{tag:"(0028,0070)",vr:"US",name:"RETIRED_PerimeterTable",vm:"1-n",version:"DICOM/retired"},"(0028,0071)":{tag:"(0028,0071)",vr:"xs",name:"RETIRED_PerimeterValue",vm:"1",version:"DICOM/retired"},"(0028,0080)":{tag:"(0028,0080)",vr:"US",name:"RETIRED_PredictorRows",vm:"1",version:"DICOM/retired"},"(0028,0081)":{tag:"(0028,0081)",vr:"US",name:"RETIRED_PredictorColumns",vm:"1",version:"DICOM/retired"},"(0028,0082)":{tag:"(0028,0082)",vr:"US",name:"RETIRED_PredictorConstants",vm:"1-n",version:"DICOM/retired"},"(0028,0090)":{tag:"(0028,0090)",vr:"CS",name:"RETIRED_BlockedPixels",vm:"1",version:"DICOM/retired"},"(0028,0091)":{tag:"(0028,0091)",vr:"US",name:"RETIRED_BlockRows",vm:"1",version:"DICOM/retired"},"(0028,0092)":{tag:"(0028,0092)",vr:"US",name:"RETIRED_BlockColumns",vm:"1",version:"DICOM/retired"},"(0028,0093)":{tag:"(0028,0093)",vr:"US",name:"RETIRED_RowOverlap",vm:"1",version:"DICOM/retired"},"(0028,0094)":{tag:"(0028,0094)",vr:"US",name:"RETIRED_ColumnOverlap",vm:"1",version:"DICOM/retired"},"(0028,0104)":{tag:"(0028,0104)",vr:"xs",name:"RETIRED_SmallestValidPixelValue",vm:"1",version:"DICOM/retired"},"(0028,0105)":{tag:"(0028,0105)",vr:"xs",name:"RETIRED_LargestValidPixelValue",vm:"1",version:"DICOM/retired"},"(0028,0110)":{tag:"(0028,0110)",vr:"xs",name:"RETIRED_SmallestImagePixelValueInPlane",vm:"1",version:"DICOM/retired"},"(0028,0111)":{tag:"(0028,0111)",vr:"xs",name:"RETIRED_LargestImagePixelValueInPlane",vm:"1",version:"DICOM/retired"},"(0028,0200)":{tag:"(0028,0200)",vr:"US",name:"RETIRED_ImageLocation",vm:"1",version:"DICOM/retired"},"(0028,0400)":{tag:"(0028,0400)",vr:"LO",name:"RETIRED_TransformLabel",vm:"1",version:"DICOM/retired"},"(0028,0401)":{tag:"(0028,0401)",vr:"LO",name:"RETIRED_TransformVersionNumber",vm:"1",version:"DICOM/retired"},"(0028,0402)":{tag:"(0028,0402)",vr:"US",name:"RETIRED_NumberOfTransformSteps",vm:"1",version:"DICOM/retired"},"(0028,0403)":{tag:"(0028,0403)",vr:"LO",name:"RETIRED_SequenceOfCompressedData",vm:"1-n",version:"DICOM/retired"},"(0028,0404)":{tag:"(0028,0404)",vr:"AT",name:"RETIRED_DetailsOfCoefficients",vm:"1-n",version:"DICOM/retired"},"(0028,0410)":{tag:"(0028,0410)",vr:"US",name:"RETIRED_RowsForNthOrderCoefficients",vm:"1",version:"DICOM/retired"},"(0028,0411)":{tag:"(0028,0411)",vr:"US",name:"RETIRED_ColumnsForNthOrderCoefficients",vm:"1",version:"DICOM/retired"},"(0028,0412)":{tag:"(0028,0412)",vr:"LO",name:"RETIRED_CoefficientCoding",vm:"1-n",version:"DICOM/retired"},"(0028,0413)":{tag:"(0028,0413)",vr:"AT",name:"RETIRED_CoefficientCodingPointers",vm:"1-n",version:"DICOM/retired"},"(0028,0700)":{tag:"(0028,0700)",vr:"LO",name:"RETIRED_DCTLabel",vm:"1",version:"DICOM/retired"},"(0028,0701)":{tag:"(0028,0701)",vr:"CS",name:"RETIRED_DataBlockDescription",vm:"1-n",version:"DICOM/retired"},"(0028,0702)":{tag:"(0028,0702)",vr:"AT",name:"RETIRED_DataBlock",vm:"1-n",version:"DICOM/retired"},"(0028,0710)":{tag:"(0028,0710)",vr:"US",name:"RETIRED_NormalizationFactorFormat",vm:"1",version:"DICOM/retired"},"(0028,0720)":{tag:"(0028,0720)",vr:"US",name:"RETIRED_ZonalMapNumberFormat",vm:"1",version:"DICOM/retired"},"(0028,0721)":{tag:"(0028,0721)",vr:"AT",name:"RETIRED_ZonalMapLocation",vm:"1-n",version:"DICOM/retired"},"(0028,0722)":{tag:"(0028,0722)",vr:"US",name:"RETIRED_ZonalMapFormat",vm:"1",version:"DICOM/retired"},"(0028,0730)":{tag:"(0028,0730)",vr:"US",name:"RETIRED_AdaptiveMapFormat",vm:"1",version:"DICOM/retired"},"(0028,0740)":{tag:"(0028,0740)",vr:"US",name:"RETIRED_CodeNumberFormat",vm:"1",version:"DICOM/retired"},"(0028,0800)":{tag:"(0028,0800)",vr:"CS",name:"RETIRED_CodeLabel",vm:"1-n",version:"DICOM/retired"},"(0028,0802)":{tag:"(0028,0802)",vr:"US",name:"RETIRED_NumberOfTables",vm:"1",version:"DICOM/retired"},"(0028,0803)":{tag:"(0028,0803)",vr:"AT",name:"RETIRED_CodeTableLocation",vm:"1-n",version:"DICOM/retired"},"(0028,0804)":{tag:"(0028,0804)",vr:"US",name:"RETIRED_BitsForCodeWord",vm:"1",version:"DICOM/retired"},"(0028,0808)":{tag:"(0028,0808)",vr:"AT",name:"RETIRED_ImageDataLocation",vm:"1-n",version:"DICOM/retired"},"(0028,1080)":{tag:"(0028,1080)",vr:"CS",name:"RETIRED_GrayScale",vm:"1",version:"DICOM/retired"},"(0028,1100)":{tag:"(0028,1100)",vr:"xs",name:"RETIRED_GrayLookupTableDescriptor",vm:"3",version:"DICOM/retired"},"(0028,1111)":{tag:"(0028,1111)",vr:"xs",name:"RETIRED_LargeRedPaletteColorLookupTableDescriptor",vm:"4",version:"DICOM/retired"},"(0028,1112)":{tag:"(0028,1112)",vr:"xs",name:"RETIRED_LargeGreenPaletteColorLookupTableDescriptor",vm:"4",version:"DICOM/retired"},"(0028,1113)":{tag:"(0028,1113)",vr:"xs",name:"RETIRED_LargeBluePaletteColorLookupTableDescriptor",vm:"4",version:"DICOM/retired"},"(0028,1200)":{tag:"(0028,1200)",vr:"lt",name:"RETIRED_GrayLookupTableData",vm:"1-n",version:"DICOM/retired"},"(0028,1211)":{tag:"(0028,1211)",vr:"OW",name:"RETIRED_LargeRedPaletteColorLookupTableData",vm:"1",version:"DICOM/retired"},"(0028,1212)":{tag:"(0028,1212)",vr:"OW",name:"RETIRED_LargeGreenPaletteColorLookupTableData",vm:"1",version:"DICOM/retired"},"(0028,1213)":{tag:"(0028,1213)",vr:"OW",name:"RETIRED_LargeBluePaletteColorLookupTableData",vm:"1",version:"DICOM/retired"},"(0028,1214)":{tag:"(0028,1214)",vr:"UI",name:"RETIRED_LargePaletteColorLookupTableUID",vm:"1",version:"DICOM/retired"},"(0028,4000)":{tag:"(0028,4000)",vr:"LT",name:"RETIRED_ImagePresentationComments",vm:"1",version:"DICOM/retired"},"(0028,5000)":{tag:"(0028,5000)",vr:"SQ",name:"RETIRED_BiPlaneAcquisitionSequence",vm:"1",version:"DICOM/retired"},"(0028,6030)":{tag:"(0028,6030)",vr:"US",name:"RETIRED_MaskPointers",vm:"1-n",version:"DICOM/retired"},"(0028,9099)":{tag:"(0028,9099)",vr:"US",name:"RETIRED_LargestMonochromePixelValue",vm:"1",version:"DICOM/retired"},"(0032,000A)":{tag:"(0032,000A)",vr:"CS",name:"RETIRED_StudyStatusID",vm:"1",version:"DICOM/retired"},"(0032,000C)":{tag:"(0032,000C)",vr:"CS",name:"RETIRED_StudyPriorityID",vm:"1",version:"DICOM/retired"},"(0032,0012)":{tag:"(0032,0012)",vr:"LO",name:"RETIRED_StudyIDIssuer",vm:"1",version:"DICOM/retired"},"(0032,0032)":{tag:"(0032,0032)",vr:"DA",name:"RETIRED_StudyVerifiedDate",vm:"1",version:"DICOM/retired"},"(0032,0033)":{tag:"(0032,0033)",vr:"TM",name:"RETIRED_StudyVerifiedTime",vm:"1",version:"DICOM/retired"},"(0032,0034)":{tag:"(0032,0034)",vr:"DA",name:"RETIRED_StudyReadDate",vm:"1",version:"DICOM/retired"},"(0032,0035)":{tag:"(0032,0035)",vr:"TM",name:"RETIRED_StudyReadTime",vm:"1",version:"DICOM/retired"},"(0032,1000)":{tag:"(0032,1000)",vr:"DA",name:"RETIRED_ScheduledStudyStartDate",vm:"1",version:"DICOM/retired"},"(0032,1001)":{tag:"(0032,1001)",vr:"TM",name:"RETIRED_ScheduledStudyStartTime",vm:"1",version:"DICOM/retired"},"(0032,1010)":{tag:"(0032,1010)",vr:"DA",name:"RETIRED_ScheduledStudyStopDate",vm:"1",version:"DICOM/retired"},"(0032,1011)":{tag:"(0032,1011)",vr:"TM",name:"RETIRED_ScheduledStudyStopTime",vm:"1",version:"DICOM/retired"},"(0032,1020)":{tag:"(0032,1020)",vr:"LO",name:"RETIRED_ScheduledStudyLocation",vm:"1",version:"DICOM/retired"},"(0032,1021)":{tag:"(0032,1021)",vr:"AE",name:"RETIRED_ScheduledStudyLocationAETitle",vm:"1-n",version:"DICOM/retired"},"(0032,1030)":{tag:"(0032,1030)",vr:"LO",name:"RETIRED_ReasonForStudy",vm:"1",version:"DICOM/retired"},"(0032,1040)":{tag:"(0032,1040)",vr:"DA",name:"RETIRED_StudyArrivalDate",vm:"1",version:"DICOM/retired"},"(0032,1041)":{tag:"(0032,1041)",vr:"TM",name:"RETIRED_StudyArrivalTime",vm:"1",version:"DICOM/retired"},"(0032,1050)":{tag:"(0032,1050)",vr:"DA",name:"RETIRED_StudyCompletionDate",vm:"1",version:"DICOM/retired"},"(0032,1051)":{tag:"(0032,1051)",vr:"TM",name:"RETIRED_StudyCompletionTime",vm:"1",version:"DICOM/retired"},"(0032,1055)":{tag:"(0032,1055)",vr:"CS",name:"RETIRED_StudyComponentStatusID",vm:"1",version:"DICOM/retired"},"(0032,4000)":{tag:"(0032,4000)",vr:"LT",name:"RETIRED_StudyComments",vm:"1",version:"DICOM/retired"},"(0038,0011)":{tag:"(0038,0011)",vr:"LO",name:"RETIRED_IssuerOfAdmissionID",vm:"1",version:"DICOM/retired"},"(0038,001A)":{tag:"(0038,001A)",vr:"DA",name:"RETIRED_ScheduledAdmissionDate",vm:"1",version:"DICOM/retired"},"(0038,001B)":{tag:"(0038,001B)",vr:"TM",name:"RETIRED_ScheduledAdmissionTime",vm:"1",version:"DICOM/retired"},"(0038,001C)":{tag:"(0038,001C)",vr:"DA",name:"RETIRED_ScheduledDischargeDate",vm:"1",version:"DICOM/retired"},"(0038,001D)":{tag:"(0038,001D)",vr:"TM",name:"RETIRED_ScheduledDischargeTime",vm:"1",version:"DICOM/retired"},"(0038,001E)":{tag:"(0038,001E)",vr:"LO",name:"RETIRED_ScheduledPatientInstitutionResidence",vm:"1",version:"DICOM/retired"},"(0038,0030)":{tag:"(0038,0030)",vr:"DA",name:"RETIRED_DischargeDate",vm:"1",version:"DICOM/retired"},"(0038,0032)":{tag:"(0038,0032)",vr:"TM",name:"RETIRED_DischargeTime",vm:"1",version:"DICOM/retired"},"(0038,0040)":{tag:"(0038,0040)",vr:"LO",name:"RETIRED_DischargeDiagnosisDescription",vm:"1",version:"DICOM/retired"},"(0038,0044)":{tag:"(0038,0044)",vr:"SQ",name:"RETIRED_DischargeDiagnosisCodeSequence",vm:"1",version:"DICOM/retired"},"(0038,0061)":{tag:"(0038,0061)",vr:"LO",name:"RETIRED_IssuerOfServiceEpisodeID",vm:"1",version:"DICOM/retired"},"(0040,0307)":{tag:"(0040,0307)",vr:"DS",name:"RETIRED_DistanceSourceToSupport",vm:"1",version:"DICOM/retired"},"(0040,0330)":{tag:"(0040,0330)",vr:"SQ",name:"RETIRED_ReferencedProcedureStepSequence",vm:"1",version:"DICOM/retired"},"(0040,050A)":{tag:"(0040,050A)",vr:"LO",name:"RETIRED_SpecimenAccessionNumber",vm:"1",version:"DICOM/retired"},"(0040,0550)":{tag:"(0040,0550)",vr:"SQ",name:"RETIRED_SpecimenSequence",vm:"1",version:"DICOM/retired"},"(0040,0552)":{tag:"(0040,0552)",vr:"SQ",name:"RETIRED_SpecimenDescriptionSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,0553)":{tag:"(0040,0553)",vr:"ST",name:"RETIRED_SpecimenDescriptionTrial",vm:"1",version:"DICOM/retired"},"(0040,06FA)":{tag:"(0040,06FA)",vr:"LO",name:"RETIRED_SlideIdentifier",vm:"1",version:"DICOM/retired"},"(0040,08D8)":{tag:"(0040,08D8)",vr:"SQ",name:"RETIRED_PixelSpacingSequence",vm:"1",version:"DICOM/retired"},"(0040,08DA)":{tag:"(0040,08DA)",vr:"SQ",name:"RETIRED_CoordinateSystemAxisCodeSequence",vm:"1",version:"DICOM/retired"},"(0040,09F8)":{tag:"(0040,09F8)",vr:"SQ",name:"RETIRED_VitalStainCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,1006)":{tag:"(0040,1006)",vr:"SH",name:"RETIRED_PlacerOrderNumberProcedure",vm:"1",version:"DICOM/retired"},"(0040,1007)":{tag:"(0040,1007)",vr:"SH",name:"RETIRED_FillerOrderNumberProcedure",vm:"1",version:"DICOM/retired"},"(0040,1060)":{tag:"(0040,1060)",vr:"LO",name:"RETIRED_RequestedProcedureDescriptionTrial",vm:"1",version:"DICOM/retired"},"(0040,2001)":{tag:"(0040,2001)",vr:"LO",name:"RETIRED_ReasonForTheImagingServiceRequest",vm:"1",version:"DICOM/retired"},"(0040,2006)":{tag:"(0040,2006)",vr:"SH",name:"RETIRED_PlacerOrderNumberImagingServiceRequestRetired",vm:"1",version:"DICOM/retired"},"(0040,2007)":{tag:"(0040,2007)",vr:"SH",name:"RETIRED_FillerOrderNumberImagingServiceRequestRetired",vm:"1",version:"DICOM/retired"},"(0040,4001)":{tag:"(0040,4001)",vr:"CS",name:"RETIRED_GeneralPurposeScheduledProcedureStepStatus",vm:"1",version:"DICOM/retired"},"(0040,4002)":{tag:"(0040,4002)",vr:"CS",name:"RETIRED_GeneralPurposePerformedProcedureStepStatus",vm:"1",version:"DICOM/retired"},"(0040,4003)":{tag:"(0040,4003)",vr:"CS",name:"RETIRED_GeneralPurposeScheduledProcedureStepPriority",vm:"1",version:"DICOM/retired"},"(0040,4004)":{tag:"(0040,4004)",vr:"SQ",name:"RETIRED_ScheduledProcessingApplicationsCodeSequence",vm:"1",version:"DICOM/retired"},"(0040,4006)":{tag:"(0040,4006)",vr:"CS",name:"RETIRED_MultipleCopiesFlag",vm:"1",version:"DICOM/retired"},"(0040,4015)":{tag:"(0040,4015)",vr:"SQ",name:"RETIRED_ResultingGeneralPurposePerformedProcedureStepsSequence",vm:"1",version:"DICOM/retired"},"(0040,4016)":{tag:"(0040,4016)",vr:"SQ",name:"RETIRED_ReferencedGeneralPurposeScheduledProcedureStepSequence",vm:"1",version:"DICOM/retired"},"(0040,4022)":{tag:"(0040,4022)",vr:"SQ",name:"RETIRED_RelevantInformationSequence",vm:"1",version:"DICOM/retired"},"(0040,4023)":{tag:"(0040,4023)",vr:"UI",name:"RETIRED_ReferencedGeneralPurposeScheduledProcedureStepTransactionUID",vm:"1",version:"DICOM/retired"},"(0040,4031)":{tag:"(0040,4031)",vr:"SQ",name:"RETIRED_RequestedSubsequentWorkitemCodeSequence",vm:"1",version:"DICOM/retired"},"(0040,4032)":{tag:"(0040,4032)",vr:"SQ",name:"RETIRED_NonDICOMOutputCodeSequence",vm:"1",version:"DICOM/retired"},"(0040,A007)":{tag:"(0040,A007)",vr:"CS",name:"RETIRED_FindingsFlagTrial",vm:"1",version:"DICOM/retired"},"(0040,A020)":{tag:"(0040,A020)",vr:"SQ",name:"RETIRED_FindingsSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A021)":{tag:"(0040,A021)",vr:"UI",name:"RETIRED_FindingsGroupUIDTrial",vm:"1",version:"DICOM/retired"},"(0040,A022)":{tag:"(0040,A022)",vr:"UI",name:"RETIRED_ReferencedFindingsGroupUIDTrial",vm:"1",version:"DICOM/retired"},"(0040,A023)":{tag:"(0040,A023)",vr:"DA",name:"RETIRED_FindingsGroupRecordingDateTrial",vm:"1",version:"DICOM/retired"},"(0040,A024)":{tag:"(0040,A024)",vr:"TM",name:"RETIRED_FindingsGroupRecordingTimeTrial",vm:"1",version:"DICOM/retired"},"(0040,A026)":{tag:"(0040,A026)",vr:"SQ",name:"RETIRED_FindingsSourceCategoryCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A028)":{tag:"(0040,A028)",vr:"SQ",name:"RETIRED_DocumentingOrganizationIdentifierCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A047)":{tag:"(0040,A047)",vr:"LO",name:"RETIRED_MeasurementPrecisionDescriptionTrial",vm:"1",version:"DICOM/retired"},"(0040,A057)":{tag:"(0040,A057)",vr:"CS",name:"RETIRED_UrgencyOrPriorityAlertsTrial",vm:"1-n",version:"DICOM/retired"},"(0040,A060)":{tag:"(0040,A060)",vr:"LO",name:"RETIRED_SequencingIndicatorTrial",vm:"1",version:"DICOM/retired"},"(0040,A066)":{tag:"(0040,A066)",vr:"SQ",name:"RETIRED_DocumentIdentifierCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A067)":{tag:"(0040,A067)",vr:"PN",name:"RETIRED_DocumentAuthorTrial",vm:"1",version:"DICOM/retired"},"(0040,A068)":{tag:"(0040,A068)",vr:"SQ",name:"RETIRED_DocumentAuthorIdentifierCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A070)":{tag:"(0040,A070)",vr:"SQ",name:"RETIRED_IdentifierCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A074)":{tag:"(0040,A074)",vr:"OB",name:"RETIRED_ObjectBinaryIdentifierTrial",vm:"1",version:"DICOM/retired"},"(0040,A076)":{tag:"(0040,A076)",vr:"SQ",name:"RETIRED_DocumentingObserverIdentifierCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A085)":{tag:"(0040,A085)",vr:"SQ",name:"RETIRED_ProcedureIdentifierCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A089)":{tag:"(0040,A089)",vr:"OB",name:"RETIRED_ObjectDirectoryBinaryIdentifierTrial",vm:"1",version:"DICOM/retired"},"(0040,A090)":{tag:"(0040,A090)",vr:"SQ",name:"RETIRED_EquivalentCDADocumentSequence",vm:"1",version:"DICOM/retired"},"(0040,A110)":{tag:"(0040,A110)",vr:"DA",name:"RETIRED_DateOfDocumentOrVerbalTransactionTrial",vm:"1",version:"DICOM/retired"},"(0040,A112)":{tag:"(0040,A112)",vr:"TM",name:"RETIRED_TimeOfDocumentCreationOrVerbalTransactionTrial",vm:"1",version:"DICOM/retired"},"(0040,A125)":{tag:"(0040,A125)",vr:"CS",name:"RETIRED_ReportStatusIDTrial",vm:"2",version:"DICOM/retired"},"(0040,A167)":{tag:"(0040,A167)",vr:"SQ",name:"RETIRED_ObservationCategoryCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A16A)":{tag:"(0040,A16A)",vr:"ST",name:"RETIRED_BibliographicCitationTrial",vm:"1",version:"DICOM/retired"},"(0040,A172)":{tag:"(0040,A172)",vr:"UI",name:"RETIRED_ReferencedObservationUIDTrial",vm:"1",version:"DICOM/retired"},"(0040,A173)":{tag:"(0040,A173)",vr:"CS",name:"RETIRED_ReferencedObservationClassTrial",vm:"1",version:"DICOM/retired"},"(0040,A174)":{tag:"(0040,A174)",vr:"CS",name:"RETIRED_ReferencedObjectObservationClassTrial",vm:"1",version:"DICOM/retired"},"(0040,A192)":{tag:"(0040,A192)",vr:"DA",name:"RETIRED_ObservationDateTrial",vm:"1",version:"DICOM/retired"},"(0040,A193)":{tag:"(0040,A193)",vr:"TM",name:"RETIRED_ObservationTimeTrial",vm:"1",version:"DICOM/retired"},"(0040,A194)":{tag:"(0040,A194)",vr:"CS",name:"RETIRED_MeasurementAutomationTrial",vm:"1",version:"DICOM/retired"},"(0040,A224)":{tag:"(0040,A224)",vr:"ST",name:"RETIRED_IdentificationDescriptionTrial",vm:"1",version:"DICOM/retired"},"(0040,A290)":{tag:"(0040,A290)",vr:"CS",name:"RETIRED_CoordinatesSetGeometricTypeTrial",vm:"1",version:"DICOM/retired"},"(0040,A296)":{tag:"(0040,A296)",vr:"SQ",name:"RETIRED_AlgorithmCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A297)":{tag:"(0040,A297)",vr:"ST",name:"RETIRED_AlgorithmDescriptionTrial",vm:"1",version:"DICOM/retired"},"(0040,A29A)":{tag:"(0040,A29A)",vr:"SL",name:"RETIRED_PixelCoordinatesSetTrial",vm:"2-2n",version:"DICOM/retired"},"(0040,A307)":{tag:"(0040,A307)",vr:"PN",name:"RETIRED_CurrentObserverTrial",vm:"1",version:"DICOM/retired"},"(0040,A313)":{tag:"(0040,A313)",vr:"SQ",name:"RETIRED_ReferencedAccessionSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A33A)":{tag:"(0040,A33A)",vr:"ST",name:"RETIRED_ReportStatusCommentTrial",vm:"1",version:"DICOM/retired"},"(0040,A340)":{tag:"(0040,A340)",vr:"SQ",name:"RETIRED_ProcedureContextSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A352)":{tag:"(0040,A352)",vr:"PN",name:"RETIRED_VerbalSourceTrial",vm:"1",version:"DICOM/retired"},"(0040,A353)":{tag:"(0040,A353)",vr:"ST",name:"RETIRED_AddressTrial",vm:"1",version:"DICOM/retired"},"(0040,A354)":{tag:"(0040,A354)",vr:"LO",name:"RETIRED_TelephoneNumberTrial",vm:"1",version:"DICOM/retired"},"(0040,A358)":{tag:"(0040,A358)",vr:"SQ",name:"RETIRED_VerbalSourceIdentifierCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A380)":{tag:"(0040,A380)",vr:"SQ",name:"RETIRED_ReportDetailSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A402)":{tag:"(0040,A402)",vr:"UI",name:"RETIRED_ObservationSubjectUIDTrial",vm:"1",version:"DICOM/retired"},"(0040,A403)":{tag:"(0040,A403)",vr:"CS",name:"RETIRED_ObservationSubjectClassTrial",vm:"1",version:"DICOM/retired"},"(0040,A404)":{tag:"(0040,A404)",vr:"SQ",name:"RETIRED_ObservationSubjectTypeCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A600)":{tag:"(0040,A600)",vr:"CS",name:"RETIRED_ObservationSubjectContextFlagTrial",vm:"1",version:"DICOM/retired"},"(0040,A601)":{tag:"(0040,A601)",vr:"CS",name:"RETIRED_ObserverContextFlagTrial",vm:"1",version:"DICOM/retired"},"(0040,A603)":{tag:"(0040,A603)",vr:"CS",name:"RETIRED_ProcedureContextFlagTrial",vm:"1",version:"DICOM/retired"},"(0040,A731)":{tag:"(0040,A731)",vr:"SQ",name:"RETIRED_RelationshipSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A732)":{tag:"(0040,A732)",vr:"SQ",name:"RETIRED_RelationshipTypeCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A744)":{tag:"(0040,A744)",vr:"SQ",name:"RETIRED_LanguageCodeSequenceTrial",vm:"1",version:"DICOM/retired"},"(0040,A992)":{tag:"(0040,A992)",vr:"ST",name:"RETIRED_UniformResourceLocatorTrial",vm:"1",version:"DICOM/retired"},"(0040,DB06)":{tag:"(0040,DB06)",vr:"DT",name:"RETIRED_TemplateVersion",vm:"1",version:"DICOM/retired"},"(0040,DB07)":{tag:"(0040,DB07)",vr:"DT",name:"RETIRED_TemplateLocalVersion",vm:"1",version:"DICOM/retired"},"(0040,DB0B)":{tag:"(0040,DB0B)",vr:"CS",name:"RETIRED_TemplateExtensionFlag",vm:"1",version:"DICOM/retired"},"(0040,DB0C)":{tag:"(0040,DB0C)",vr:"UI",name:"RETIRED_TemplateExtensionOrganizationUID",vm:"1",version:"DICOM/retired"},"(0040,DB0D)":{tag:"(0040,DB0D)",vr:"UI",name:"RETIRED_TemplateExtensionCreatorUID",vm:"1",version:"DICOM/retired"},"(0054,1400)":{tag:"(0054,1400)",vr:"CS",name:"RETIRED_CountsIncluded",vm:"1-n",version:"DICOM/retired"},"(0054,1401)":{tag:"(0054,1401)",vr:"CS",name:"RETIRED_DeadTimeCorrectionFlag",vm:"1",version:"DICOM/retired"},"(0070,0040)":{tag:"(0070,0040)",vr:"IS",name:"RETIRED_ImageRotationRetired",vm:"1",version:"DICOM/retired"},"(0070,0050)":{tag:"(0070,0050)",vr:"US",name:"RETIRED_DisplayedAreaTopLeftHandCornerTrial",vm:"2",version:"DICOM/retired"},"(0070,0051)":{tag:"(0070,0051)",vr:"US",name:"RETIRED_DisplayedAreaBottomRightHandCornerTrial",vm:"2",version:"DICOM/retired"},"(0070,0067)":{tag:"(0070,0067)",vr:"US",name:"RETIRED_GraphicLayerRecommendedDisplayRGBValue",vm:"3",version:"DICOM/retired"},"(0074,1024)":{tag:"(0074,1024)",vr:"IS",name:"RETIRED_BeamOrderIndexTrial",vm:"1",version:"DICOM/retired"},"(0074,1038)":{tag:"(0074,1038)",vr:"DS",name:"RETIRED_DoubleExposureMetersetTrial",vm:"1",version:"DICOM/retired"},"(0074,103A)":{tag:"(0074,103A)",vr:"DS",name:"RETIRED_DoubleExposureFieldDeltaTrial",vm:"4",version:"DICOM/retired"},"(0074,1220)":{tag:"(0074,1220)",vr:"SQ",name:"RETIRED_RelatedProcedureStepSequence",vm:"1",version:"DICOM/retired"},"(0074,1222)":{tag:"(0074,1222)",vr:"LO",name:"RETIRED_ProcedureStepRelationshipType",vm:"1",version:"DICOM/retired"},"(0088,0904)":{tag:"(0088,0904)",vr:"LO",name:"RETIRED_TopicTitle",vm:"1",version:"DICOM/retired"},"(0088,0906)":{tag:"(0088,0906)",vr:"ST",name:"RETIRED_TopicSubject",vm:"1",version:"DICOM/retired"},"(0088,0910)":{tag:"(0088,0910)",vr:"LO",name:"RETIRED_TopicAuthor",vm:"1",version:"DICOM/retired"},"(0088,0912)":{tag:"(0088,0912)",vr:"LO",name:"RETIRED_TopicKeywords",vm:"1-32",version:"DICOM/retired"},"(0400,0315)":{tag:"(0400,0315)",vr:"FL",name:"RETIRED_undefined",vm:"1",version:"DICOM/retired"},"(1000,0010)":{tag:"(1000,0010)",vr:"US",name:"RETIRED_EscapeTriplet",vm:"3",version:"DICOM/retired"},"(1000,0011)":{tag:"(1000,0011)",vr:"US",name:"RETIRED_RunLengthTriplet",vm:"3",version:"DICOM/retired"},"(1000,0012)":{tag:"(1000,0012)",vr:"US",name:"RETIRED_HuffmanTableSize",vm:"1",version:"DICOM/retired"},"(1000,0013)":{tag:"(1000,0013)",vr:"US",name:"RETIRED_HuffmanTableTriplet",vm:"3",version:"DICOM/retired"},"(1000,0014)":{tag:"(1000,0014)",vr:"US",name:"RETIRED_ShiftTableSize",vm:"1",version:"DICOM/retired"},"(1000,0015)":{tag:"(1000,0015)",vr:"US",name:"RETIRED_ShiftTableTriplet",vm:"3",version:"DICOM/retired"},"(1010,0004)":{tag:"(1010,0004)",vr:"US",name:"RETIRED_ZonalMap",vm:"1-n",version:"DICOM/retired"},"(2000,0062)":{tag:"(2000,0062)",vr:"CS",name:"RETIRED_ColorImagePrintingFlag",vm:"1",version:"DICOM/retired"},"(2000,0063)":{tag:"(2000,0063)",vr:"CS",name:"RETIRED_CollationFlag",vm:"1",version:"DICOM/retired"},"(2000,0065)":{tag:"(2000,0065)",vr:"CS",name:"RETIRED_AnnotationFlag",vm:"1",version:"DICOM/retired"},"(2000,0067)":{tag:"(2000,0067)",vr:"CS",name:"RETIRED_ImageOverlayFlag",vm:"1",version:"DICOM/retired"},"(2000,0069)":{tag:"(2000,0069)",vr:"CS",name:"RETIRED_PresentationLUTFlag",vm:"1",version:"DICOM/retired"},"(2000,006A)":{tag:"(2000,006A)",vr:"CS",name:"RETIRED_ImageBoxPresentationLUTFlag",vm:"1",version:"DICOM/retired"},"(2000,0510)":{tag:"(2000,0510)",vr:"SQ",name:"RETIRED_ReferencedStoredPrintSequence",vm:"1",version:"DICOM/retired"},"(2020,0130)":{tag:"(2020,0130)",vr:"SQ",name:"RETIRED_ReferencedImageOverlayBoxSequence",vm:"1",version:"DICOM/retired"},"(2020,0140)":{tag:"(2020,0140)",vr:"SQ",name:"RETIRED_ReferencedVOILUTBoxSequence",vm:"1",version:"DICOM/retired"},"(2040,0010)":{tag:"(2040,0010)",vr:"SQ",name:"RETIRED_ReferencedOverlayPlaneSequence",vm:"1",version:"DICOM/retired"},"(2040,0011)":{tag:"(2040,0011)",vr:"US",name:"RETIRED_ReferencedOverlayPlaneGroups",vm:"1-99",version:"DICOM/retired"},"(2040,0020)":{tag:"(2040,0020)",vr:"SQ",name:"RETIRED_OverlayPixelDataSequence",vm:"1",version:"DICOM/retired"},"(2040,0060)":{tag:"(2040,0060)",vr:"CS",name:"RETIRED_OverlayMagnificationType",vm:"1",version:"DICOM/retired"},"(2040,0070)":{tag:"(2040,0070)",vr:"CS",name:"RETIRED_OverlaySmoothingType",vm:"1",version:"DICOM/retired"},"(2040,0072)":{tag:"(2040,0072)",vr:"CS",name:"RETIRED_OverlayOrImageMagnification",vm:"1",version:"DICOM/retired"},"(2040,0074)":{tag:"(2040,0074)",vr:"US",name:"RETIRED_MagnifyToNumberOfColumns",vm:"1",version:"DICOM/retired"},"(2040,0080)":{tag:"(2040,0080)",vr:"CS",name:"RETIRED_OverlayForegroundDensity",vm:"1",version:"DICOM/retired"},"(2040,0082)":{tag:"(2040,0082)",vr:"CS",name:"RETIRED_OverlayBackgroundDensity",vm:"1",version:"DICOM/retired"},"(2040,0090)":{tag:"(2040,0090)",vr:"CS",name:"RETIRED_OverlayMode",vm:"1",version:"DICOM/retired"},"(2040,0100)":{tag:"(2040,0100)",vr:"CS",name:"RETIRED_ThresholdDensity",vm:"1",version:"DICOM/retired"},"(2040,0500)":{tag:"(2040,0500)",vr:"SQ",name:"RETIRED_ReferencedImageBoxSequenceRetired",vm:"1",version:"DICOM/retired"},"(2100,0010)":{tag:"(2100,0010)",vr:"SH",name:"RETIRED_PrintJobID",vm:"1",version:"DICOM/retired"},"(2100,0140)":{tag:"(2100,0140)",vr:"AE",name:"RETIRED_DestinationAE",vm:"1",version:"DICOM/retired"},"(2100,0500)":{tag:"(2100,0500)",vr:"SQ",name:"RETIRED_ReferencedPrintJobSequencePullStoredPrint",vm:"1",version:"DICOM/retired"},"(2110,0099)":{tag:"(2110,0099)",vr:"SH",name:"RETIRED_PrintQueueID",vm:"1",version:"DICOM/retired"},"(2120,0010)":{tag:"(2120,0010)",vr:"CS",name:"RETIRED_QueueStatus",vm:"1",version:"DICOM/retired"},"(2120,0050)":{tag:"(2120,0050)",vr:"SQ",name:"RETIRED_PrintJobDescriptionSequence",vm:"1",version:"DICOM/retired"},"(2120,0070)":{tag:"(2120,0070)",vr:"SQ",name:"RETIRED_ReferencedPrintJobSequence",vm:"1",version:"DICOM/retired"},"(2130,0010)":{tag:"(2130,0010)",vr:"SQ",name:"RETIRED_PrintManagementCapabilitiesSequence",vm:"1",version:"DICOM/retired"},"(2130,0015)":{tag:"(2130,0015)",vr:"SQ",name:"RETIRED_PrinterCharacteristicsSequence",vm:"1",version:"DICOM/retired"},"(2130,0030)":{tag:"(2130,0030)",vr:"SQ",name:"RETIRED_FilmBoxContentSequence",vm:"1",version:"DICOM/retired"},"(2130,0040)":{tag:"(2130,0040)",vr:"SQ",name:"RETIRED_ImageBoxContentSequence",vm:"1",version:"DICOM/retired"},"(2130,0050)":{tag:"(2130,0050)",vr:"SQ",name:"RETIRED_AnnotationContentSequence",vm:"1",version:"DICOM/retired"},"(2130,0060)":{tag:"(2130,0060)",vr:"SQ",name:"RETIRED_ImageOverlayBoxContentSequence",vm:"1",version:"DICOM/retired"},"(2130,0080)":{tag:"(2130,0080)",vr:"SQ",name:"RETIRED_PresentationLUTContentSequence",vm:"1",version:"DICOM/retired"},"(2130,00A0)":{tag:"(2130,00A0)",vr:"SQ",name:"RETIRED_ProposedStudySequence",vm:"1",version:"DICOM/retired"},"(2130,00C0)":{tag:"(2130,00C0)",vr:"SQ",name:"RETIRED_OriginalImageSequence",vm:"1",version:"DICOM/retired"},"(3006,00C0)":{tag:"(3006,00C0)",vr:"SQ",name:"RETIRED_FrameOfReferenceRelationshipSequence",vm:"1",version:"DICOM/retired"},"(3006,00C2)":{tag:"(3006,00C2)",vr:"UI",name:"RETIRED_RelatedFrameOfReferenceUID",vm:"1",version:"DICOM/retired"},"(3006,00C4)":{tag:"(3006,00C4)",vr:"CS",name:"RETIRED_FrameOfReferenceTransformationType",vm:"1",version:"DICOM/retired"},"(300A,0088)":{tag:"(300A,0088)",vr:"FL",name:"RETIRED_BeamDosePointDepth",vm:"1",version:"DICOM/retired"},"(300A,0089)":{tag:"(300A,0089)",vr:"FL",name:"RETIRED_BeamDosePointEquivalentDepth",vm:"1",version:"DICOM/retired"},"(300A,008A)":{tag:"(300A,008A)",vr:"FL",name:"RETIRED_BeamDosePointSSD",vm:"1",version:"DICOM/retired"},"(300A,0782)":{tag:"(300A,0782)",vr:"US",name:"RETIRED_undefined",vm:"1",version:"DICOM/retired"},"(4000,0010)":{tag:"(4000,0010)",vr:"LT",name:"RETIRED_Arbitrary",vm:"1",version:"DICOM/retired"},"(4000,4000)":{tag:"(4000,4000)",vr:"LT",name:"RETIRED_TextComments",vm:"1",version:"DICOM/retired"},"(4008,0040)":{tag:"(4008,0040)",vr:"SH",name:"RETIRED_ResultsID",vm:"1",version:"DICOM/retired"},"(4008,0042)":{tag:"(4008,0042)",vr:"LO",name:"RETIRED_ResultsIDIssuer",vm:"1",version:"DICOM/retired"},"(4008,0050)":{tag:"(4008,0050)",vr:"SQ",name:"RETIRED_ReferencedInterpretationSequence",vm:"1",version:"DICOM/retired"},"(4008,00FF)":{tag:"(4008,00FF)",vr:"CS",name:"RETIRED_ReportProductionStatusTrial",vm:"1",version:"DICOM/retired"},"(4008,0100)":{tag:"(4008,0100)",vr:"DA",name:"RETIRED_InterpretationRecordedDate",vm:"1",version:"DICOM/retired"},"(4008,0101)":{tag:"(4008,0101)",vr:"TM",name:"RETIRED_InterpretationRecordedTime",vm:"1",version:"DICOM/retired"},"(4008,0102)":{tag:"(4008,0102)",vr:"PN",name:"RETIRED_InterpretationRecorder",vm:"1",version:"DICOM/retired"},"(4008,0103)":{tag:"(4008,0103)",vr:"LO",name:"RETIRED_ReferenceToRecordedSound",vm:"1",version:"DICOM/retired"},"(4008,0108)":{tag:"(4008,0108)",vr:"DA",name:"RETIRED_InterpretationTranscriptionDate",vm:"1",version:"DICOM/retired"},"(4008,0109)":{tag:"(4008,0109)",vr:"TM",name:"RETIRED_InterpretationTranscriptionTime",vm:"1",version:"DICOM/retired"},"(4008,010A)":{tag:"(4008,010A)",vr:"PN",name:"RETIRED_InterpretationTranscriber",vm:"1",version:"DICOM/retired"},"(4008,010B)":{tag:"(4008,010B)",vr:"ST",name:"RETIRED_InterpretationText",vm:"1",version:"DICOM/retired"},"(4008,010C)":{tag:"(4008,010C)",vr:"PN",name:"RETIRED_InterpretationAuthor",vm:"1",version:"DICOM/retired"},"(4008,0111)":{tag:"(4008,0111)",vr:"SQ",name:"RETIRED_InterpretationApproverSequence",vm:"1",version:"DICOM/retired"},"(4008,0112)":{tag:"(4008,0112)",vr:"DA",name:"RETIRED_InterpretationApprovalDate",vm:"1",version:"DICOM/retired"},"(4008,0113)":{tag:"(4008,0113)",vr:"TM",name:"RETIRED_InterpretationApprovalTime",vm:"1",version:"DICOM/retired"},"(4008,0114)":{tag:"(4008,0114)",vr:"PN",name:"RETIRED_PhysicianApprovingInterpretation",vm:"1",version:"DICOM/retired"},"(4008,0115)":{tag:"(4008,0115)",vr:"LT",name:"RETIRED_InterpretationDiagnosisDescription",vm:"1",version:"DICOM/retired"},"(4008,0117)":{tag:"(4008,0117)",vr:"SQ",name:"RETIRED_InterpretationDiagnosisCodeSequence",vm:"1",version:"DICOM/retired"},"(4008,0118)":{tag:"(4008,0118)",vr:"SQ",name:"RETIRED_ResultsDistributionListSequence",vm:"1",version:"DICOM/retired"},"(4008,0119)":{tag:"(4008,0119)",vr:"PN",name:"RETIRED_DistributionName",vm:"1",version:"DICOM/retired"},"(4008,011A)":{tag:"(4008,011A)",vr:"LO",name:"RETIRED_DistributionAddress",vm:"1",version:"DICOM/retired"},"(4008,0200)":{tag:"(4008,0200)",vr:"SH",name:"RETIRED_InterpretationID",vm:"1",version:"DICOM/retired"},"(4008,0202)":{tag:"(4008,0202)",vr:"LO",name:"RETIRED_InterpretationIDIssuer",vm:"1",version:"DICOM/retired"},"(4008,0210)":{tag:"(4008,0210)",vr:"CS",name:"RETIRED_InterpretationTypeID",vm:"1",version:"DICOM/retired"},"(4008,0212)":{tag:"(4008,0212)",vr:"CS",name:"RETIRED_InterpretationStatusID",vm:"1",version:"DICOM/retired"},"(4008,0300)":{tag:"(4008,0300)",vr:"ST",name:"RETIRED_Impressions",vm:"1",version:"DICOM/retired"},"(4008,4000)":{tag:"(4008,4000)",vr:"ST",name:"RETIRED_ResultsComments",vm:"1",version:"DICOM/retired"},"(5000-50FF,0005)":{tag:"(5000-50FF,0005)",vr:"US",name:"RETIRED_CurveDimensions",vm:"1",version:"DICOM/retired"},"(5000-50FF,0010)":{tag:"(5000-50FF,0010)",vr:"US",name:"RETIRED_NumberOfPoints",vm:"1",version:"DICOM/retired"},"(5000-50FF,0020)":{tag:"(5000-50FF,0020)",vr:"CS",name:"RETIRED_TypeOfData",vm:"1",version:"DICOM/retired"},"(5000-50FF,0022)":{tag:"(5000-50FF,0022)",vr:"LO",name:"RETIRED_CurveDescription",vm:"1",version:"DICOM/retired"},"(5000-50FF,0030)":{tag:"(5000-50FF,0030)",vr:"SH",name:"RETIRED_AxisUnits",vm:"1-n",version:"DICOM/retired"},"(5000-50FF,0040)":{tag:"(5000-50FF,0040)",vr:"SH",name:"RETIRED_AxisLabels",vm:"1-n",version:"DICOM/retired"},"(5000-50FF,0103)":{tag:"(5000-50FF,0103)",vr:"US",name:"RETIRED_DataValueRepresentation",vm:"1",version:"DICOM/retired"},"(5000-50FF,0104)":{tag:"(5000-50FF,0104)",vr:"US",name:"RETIRED_MinimumCoordinateValue",vm:"1-n",version:"DICOM/retired"},"(5000-50FF,0105)":{tag:"(5000-50FF,0105)",vr:"US",name:"RETIRED_MaximumCoordinateValue",vm:"1-n",version:"DICOM/retired"},"(5000-50FF,0106)":{tag:"(5000-50FF,0106)",vr:"SH",name:"RETIRED_CurveRange",vm:"1-n",version:"DICOM/retired"},"(5000-50FF,0110)":{tag:"(5000-50FF,0110)",vr:"US",name:"RETIRED_CurveDataDescriptor",vm:"1-n",version:"DICOM/retired"},"(5000-50FF,0112)":{tag:"(5000-50FF,0112)",vr:"US",name:"RETIRED_CoordinateStartValue",vm:"1-n",version:"DICOM/retired"},"(5000-50FF,0114)":{tag:"(5000-50FF,0114)",vr:"US",name:"RETIRED_CoordinateStepValue",vm:"1-n",version:"DICOM/retired"},"(5000-50FF,1001)":{tag:"(5000-50FF,1001)",vr:"CS",name:"RETIRED_CurveActivationLayer",vm:"1",version:"DICOM/retired"},"(5000-50FF,2000)":{tag:"(5000-50FF,2000)",vr:"US",name:"RETIRED_AudioType",vm:"1",version:"DICOM/retired"},"(5000-50FF,2002)":{tag:"(5000-50FF,2002)",vr:"US",name:"RETIRED_AudioSampleFormat",vm:"1",version:"DICOM/retired"},"(5000-50FF,2004)":{tag:"(5000-50FF,2004)",vr:"US",name:"RETIRED_NumberOfChannels",vm:"1",version:"DICOM/retired"},"(5000-50FF,2006)":{tag:"(5000-50FF,2006)",vr:"UL",name:"RETIRED_NumberOfSamples",vm:"1",version:"DICOM/retired"},"(5000-50FF,2008)":{tag:"(5000-50FF,2008)",vr:"UL",name:"RETIRED_SampleRate",vm:"1",version:"DICOM/retired"},"(5000-50FF,200A)":{tag:"(5000-50FF,200A)",vr:"UL",name:"RETIRED_TotalTime",vm:"1",version:"DICOM/retired"},"(5000-50FF,200C)":{tag:"(5000-50FF,200C)",vr:"ox",name:"RETIRED_AudioSampleData",vm:"1",version:"DICOM/retired"},"(5000-50FF,200E)":{tag:"(5000-50FF,200E)",vr:"LT",name:"RETIRED_AudioComments",vm:"1",version:"DICOM/retired"},"(5000-50FF,2500)":{tag:"(5000-50FF,2500)",vr:"LO",name:"RETIRED_CurveLabel",vm:"1",version:"DICOM/retired"},"(5000-50FF,2600)":{tag:"(5000-50FF,2600)",vr:"SQ",name:"RETIRED_CurveReferencedOverlaySequence",vm:"1",version:"DICOM/retired"},"(5000-50FF,2610)":{tag:"(5000-50FF,2610)",vr:"US",name:"RETIRED_CurveReferencedOverlayGroup",vm:"1",version:"DICOM/retired"},"(5000-50FF,3000)":{tag:"(5000-50FF,3000)",vr:"ox",name:"RETIRED_CurveData",vm:"1",version:"DICOM/retired"},"(6000-60FF,0012)":{tag:"(6000-60FF,0012)",vr:"US",name:"RETIRED_OverlayPlanes",vm:"1",version:"DICOM/retired"},"(6000-60FF,0052)":{tag:"(6000-60FF,0052)",vr:"US",name:"RETIRED_OverlayPlaneOrigin",vm:"1",version:"DICOM/retired"},"(6000-60FF,0060)":{tag:"(6000-60FF,0060)",vr:"CS",name:"RETIRED_OverlayCompressionCode",vm:"1",version:"DICOM/retired"},"(6000-60FF,0061)":{tag:"(6000-60FF,0061)",vr:"SH",name:"RETIRED_OverlayCompressionOriginator",vm:"1",version:"DICOM/retired"},"(6000-60FF,0062)":{tag:"(6000-60FF,0062)",vr:"SH",name:"RETIRED_OverlayCompressionLabel",vm:"1",version:"DICOM/retired"},"(6000-60FF,0063)":{tag:"(6000-60FF,0063)",vr:"CS",name:"RETIRED_OverlayCompressionDescription",vm:"1",version:"DICOM/retired"},"(6000-60FF,0066)":{tag:"(6000-60FF,0066)",vr:"AT",name:"RETIRED_OverlayCompressionStepPointers",vm:"1-n",version:"DICOM/retired"},"(6000-60FF,0068)":{tag:"(6000-60FF,0068)",vr:"US",name:"RETIRED_OverlayRepeatInterval",vm:"1",version:"DICOM/retired"},"(6000-60FF,0069)":{tag:"(6000-60FF,0069)",vr:"US",name:"RETIRED_OverlayBitsGrouped",vm:"1",version:"DICOM/retired"},"(6000-60FF,0110)":{tag:"(6000-60FF,0110)",vr:"CS",name:"RETIRED_OverlayFormat",vm:"1",version:"DICOM/retired"},"(6000-60FF,0200)":{tag:"(6000-60FF,0200)",vr:"US",name:"RETIRED_OverlayLocation",vm:"1",version:"DICOM/retired"},"(6000-60FF,0800)":{tag:"(6000-60FF,0800)",vr:"CS",name:"RETIRED_OverlayCodeLabel",vm:"1-n",version:"DICOM/retired"},"(6000-60FF,0802)":{tag:"(6000-60FF,0802)",vr:"US",name:"RETIRED_OverlayNumberOfTables",vm:"1",version:"DICOM/retired"},"(6000-60FF,0803)":{tag:"(6000-60FF,0803)",vr:"AT",name:"RETIRED_OverlayCodeTableLocation",vm:"1-n",version:"DICOM/retired"},"(6000-60FF,0804)":{tag:"(6000-60FF,0804)",vr:"US",name:"RETIRED_OverlayBitsForCodeWord",vm:"1",version:"DICOM/retired"},"(6000-60FF,1100)":{tag:"(6000-60FF,1100)",vr:"US",name:"RETIRED_OverlayDescriptorGray",vm:"1",version:"DICOM/retired"},"(6000-60FF,1101)":{tag:"(6000-60FF,1101)",vr:"US",name:"RETIRED_OverlayDescriptorRed",vm:"1",version:"DICOM/retired"},"(6000-60FF,1102)":{tag:"(6000-60FF,1102)",vr:"US",name:"RETIRED_OverlayDescriptorGreen",vm:"1",version:"DICOM/retired"},"(6000-60FF,1103)":{tag:"(6000-60FF,1103)",vr:"US",name:"RETIRED_OverlayDescriptorBlue",vm:"1",version:"DICOM/retired"},"(6000-60FF,1200)":{tag:"(6000-60FF,1200)",vr:"US",name:"RETIRED_OverlaysGray",vm:"1-n",version:"DICOM/retired"},"(6000-60FF,1201)":{tag:"(6000-60FF,1201)",vr:"US",name:"RETIRED_OverlaysRed",vm:"1-n",version:"DICOM/retired"},"(6000-60FF,1202)":{tag:"(6000-60FF,1202)",vr:"US",name:"RETIRED_OverlaysGreen",vm:"1-n",version:"DICOM/retired"},"(6000-60FF,1203)":{tag:"(6000-60FF,1203)",vr:"US",name:"RETIRED_OverlaysBlue",vm:"1-n",version:"DICOM/retired"},"(6000-60FF,4000)":{tag:"(6000-60FF,4000)",vr:"LT",name:"RETIRED_OverlayComments",vm:"1",version:"DICOM/retired"},"(7FE0,0020)":{tag:"(7FE0,0020)",vr:"OW",name:"RETIRED_CoefficientsSDVN",vm:"1",version:"DICOM/retired"},"(7FE0,0030)":{tag:"(7FE0,0030)",vr:"OW",name:"RETIRED_CoefficientsSDHN",vm:"1",version:"DICOM/retired"},"(7FE0,0040)":{tag:"(7FE0,0040)",vr:"OW",name:"RETIRED_CoefficientsSDDN",vm:"1",version:"DICOM/retired"},"(7F00-7FFF,0010)":{tag:"(7F00-7FFF,0010)",vr:"ox",name:"RETIRED_VariablePixelData",vm:"1",version:"DICOM/retired"},"(7F00-7FFF,0011)":{tag:"(7F00-7FFF,0011)",vr:"US",name:"RETIRED_VariableNextDataGroup",vm:"1",version:"DICOM/retired"},"(7F00-7FFF,0020)":{tag:"(7F00-7FFF,0020)",vr:"OW",name:"RETIRED_VariableCoefficientsSDVN",vm:"1",version:"DICOM/retired"},"(7F00-7FFF,0030)":{tag:"(7F00-7FFF,0030)",vr:"OW",name:"RETIRED_VariableCoefficientsSDHN",vm:"1",version:"DICOM/retired"},"(7F00-7FFF,0040)":{tag:"(7F00-7FFF,0040)",vr:"OW",name:"RETIRED_VariableCoefficientsSDDN",vm:"1",version:"DICOM/retired"},"":{tag:""},'(0019,"1.2.840.113681",10)':{tag:'(0019,"1.2.840.113681",10)',vr:"ST",name:"CRImageParamsCommon",vm:"1",version:"PrivateTag"},'(0019,"1.2.840.113681",11)':{tag:'(0019,"1.2.840.113681",11)',vr:"ST",name:"CRImageIPParamsSingle",vm:"1",version:"PrivateTag"},'(0019,"1.2.840.113681",12)':{tag:'(0019,"1.2.840.113681",12)',vr:"ST",name:"CRImageIPParamsLeft",vm:"1",version:"PrivateTag"},'(0019,"1.2.840.113681",13)':{tag:'(0019,"1.2.840.113681",13)',vr:"ST",name:"CRImageIPParamsRight",vm:"1",version:"PrivateTag"},'(0087,"1.2.840.113708.794.1.1.2.0",10)':{tag:'(0087,"1.2.840.113708.794.1.1.2.0",10)',vr:"CS",name:"MediaType",vm:"1",version:"PrivateTag"},'(0087,"1.2.840.113708.794.1.1.2.0",20)':{tag:'(0087,"1.2.840.113708.794.1.1.2.0",20)',vr:"CS",name:"MediaLocation",vm:"1",version:"PrivateTag"},'(0087,"1.2.840.113708.794.1.1.2.0",50)':{tag:'(0087,"1.2.840.113708.794.1.1.2.0",50)',vr:"IS",name:"EstimatedRetrieveTime",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",00)':{tag:'(0009,"ACUSON",00)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",01)':{tag:'(0009,"ACUSON",01)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",02)':{tag:'(0009,"ACUSON",02)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",03)':{tag:'(0009,"ACUSON",03)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",04)':{tag:'(0009,"ACUSON",04)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",05)':{tag:'(0009,"ACUSON",05)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",06)':{tag:'(0009,"ACUSON",06)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",07)':{tag:'(0009,"ACUSON",07)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",08)':{tag:'(0009,"ACUSON",08)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",09)':{tag:'(0009,"ACUSON",09)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",0a)':{tag:'(0009,"ACUSON",0a)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",0b)':{tag:'(0009,"ACUSON",0b)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",0c)':{tag:'(0009,"ACUSON",0c)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",0d)':{tag:'(0009,"ACUSON",0d)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",0e)':{tag:'(0009,"ACUSON",0e)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",0f)':{tag:'(0009,"ACUSON",0f)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",10)':{tag:'(0009,"ACUSON",10)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",11)':{tag:'(0009,"ACUSON",11)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",12)':{tag:'(0009,"ACUSON",12)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",13)':{tag:'(0009,"ACUSON",13)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",14)':{tag:'(0009,"ACUSON",14)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ACUSON",15)':{tag:'(0009,"ACUSON",15)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0003,"AEGIS_DICOM_2.00",00)':{tag:'(0003,"AEGIS_DICOM_2.00",00)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0005,"AEGIS_DICOM_2.00",00)':{tag:'(0005,"AEGIS_DICOM_2.00",00)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0009,"AEGIS_DICOM_2.00",00)':{tag:'(0009,"AEGIS_DICOM_2.00",00)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"AEGIS_DICOM_2.00",00)':{tag:'(0019,"AEGIS_DICOM_2.00",00)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0029,"AEGIS_DICOM_2.00",00)':{tag:'(0029,"AEGIS_DICOM_2.00",00)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(1369,"AEGIS_DICOM_2.00",00)':{tag:'(1369,"AEGIS_DICOM_2.00",00)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0009,"AGFA",10)':{tag:'(0009,"AGFA",10)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"AGFA",11)':{tag:'(0009,"AGFA",11)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"AGFA",13)':{tag:'(0009,"AGFA",13)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"AGFA",14)':{tag:'(0009,"AGFA",14)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"AGFA",15)':{tag:'(0009,"AGFA",15)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0031,"AGFA PACS Archive Mirroring 1.0",00)':{tag:'(0031,"AGFA PACS Archive Mirroring 1.0",00)',vr:"CS",name:"StudyStatus",vm:"1",version:"PrivateTag"},'(0031,"AGFA PACS Archive Mirroring 1.0",01)':{tag:'(0031,"AGFA PACS Archive Mirroring 1.0",01)',vr:"UL",name:"DateTimeVerified",vm:"1",version:"PrivateTag"},'(0029,"CAMTRONICS IP",10)':{tag:'(0029,"CAMTRONICS IP",10)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"CAMTRONICS IP",20)':{tag:'(0029,"CAMTRONICS IP",20)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"CAMTRONICS IP",30)':{tag:'(0029,"CAMTRONICS IP",30)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"CAMTRONICS IP",40)':{tag:'(0029,"CAMTRONICS IP",40)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"CAMTRONICS",10)':{tag:'(0029,"CAMTRONICS",10)',vr:"LT",name:"Commentline",vm:"1",version:"PrivateTag"},'(0029,"CAMTRONICS",20)':{tag:'(0029,"CAMTRONICS",20)',vr:"DS",name:"EdgeEnhancementCoefficient",vm:"1",version:"PrivateTag"},'(0029,"CAMTRONICS",50)':{tag:'(0029,"CAMTRONICS",50)',vr:"LT",name:"SceneText",vm:"1",version:"PrivateTag"},'(0029,"CAMTRONICS",60)':{tag:'(0029,"CAMTRONICS",60)',vr:"LT",name:"ImageText",vm:"1",version:"PrivateTag"},'(0029,"CAMTRONICS",70)':{tag:'(0029,"CAMTRONICS",70)',vr:"IS",name:"PixelShiftHorizontal",vm:"1",version:"PrivateTag"},'(0029,"CAMTRONICS",80)':{tag:'(0029,"CAMTRONICS",80)',vr:"IS",name:"PixelShiftVertical",vm:"1",version:"PrivateTag"},'(0029,"CAMTRONICS",90)':{tag:'(0029,"CAMTRONICS",90)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"CARDIO-D.R. 1.0",00)':{tag:'(0009,"CARDIO-D.R. 1.0",00)',vr:"UL",name:"FileLocation",vm:"1",version:"PrivateTag"},'(0009,"CARDIO-D.R. 1.0",01)':{tag:'(0009,"CARDIO-D.R. 1.0",01)',vr:"UL",name:"FileSize",vm:"1",version:"PrivateTag"},'(0009,"CARDIO-D.R. 1.0",40)':{tag:'(0009,"CARDIO-D.R. 1.0",40)',vr:"SQ",name:"AlternateImageSequence",vm:"1",version:"PrivateTag"},'(0019,"CARDIO-D.R. 1.0",00)':{tag:'(0019,"CARDIO-D.R. 1.0",00)',vr:"CS",name:"ImageBlankingShape",vm:"1",version:"PrivateTag"},'(0019,"CARDIO-D.R. 1.0",02)':{tag:'(0019,"CARDIO-D.R. 1.0",02)',vr:"IS",name:"ImageBlankingLeftVerticalEdge",vm:"1",version:"PrivateTag"},'(0019,"CARDIO-D.R. 1.0",04)':{tag:'(0019,"CARDIO-D.R. 1.0",04)',vr:"IS",name:"ImageBlankingRightVerticalEdge",vm:"1",version:"PrivateTag"},'(0019,"CARDIO-D.R. 1.0",06)':{tag:'(0019,"CARDIO-D.R. 1.0",06)',vr:"IS",name:"ImageBlankingUpperHorizontalEdge",vm:"1",version:"PrivateTag"},'(0019,"CARDIO-D.R. 1.0",08)':{tag:'(0019,"CARDIO-D.R. 1.0",08)',vr:"IS",name:"ImageBlankingLowerHorizontalEdge",vm:"1",version:"PrivateTag"},'(0019,"CARDIO-D.R. 1.0",10)':{tag:'(0019,"CARDIO-D.R. 1.0",10)',vr:"IS",name:"CenterOfCircularImageBlanking",vm:"1",version:"PrivateTag"},'(0019,"CARDIO-D.R. 1.0",12)':{tag:'(0019,"CARDIO-D.R. 1.0",12)',vr:"IS",name:"RadiusOfCircularImageBlanking",vm:"1",version:"PrivateTag"},'(0019,"CARDIO-D.R. 1.0",30)':{tag:'(0019,"CARDIO-D.R. 1.0",30)',vr:"UL",name:"MaximumImageFrameSize",vm:"1",version:"PrivateTag"},'(0021,"CARDIO-D.R. 1.0",13)':{tag:'(0021,"CARDIO-D.R. 1.0",13)',vr:"IS",name:"ImageSequenceNumber",vm:"1",version:"PrivateTag"},'(0029,"CARDIO-D.R. 1.0",00)':{tag:'(0029,"CARDIO-D.R. 1.0",00)',vr:"SQ",name:"EdgeEnhancementSequence",vm:"1",version:"PrivateTag"},'(0029,"CARDIO-D.R. 1.0",01)':{tag:'(0029,"CARDIO-D.R. 1.0",01)',vr:"US",name:"ConvolutionKernelSize",vm:"2",version:"PrivateTag"},'(0029,"CARDIO-D.R. 1.0",02)':{tag:'(0029,"CARDIO-D.R. 1.0",02)',vr:"DS",name:"ConvolutionKernelCoefficients",vm:"1-n",version:"PrivateTag"},'(0029,"CARDIO-D.R. 1.0",03)':{tag:'(0029,"CARDIO-D.R. 1.0",03)',vr:"DS",name:"EdgeEnhancementGain",vm:"1",version:"PrivateTag"},'(0025,"CMR42 CIRCLECVI",1010)':{tag:'(0025,"CMR42 CIRCLECVI",1010)',vr:"LO",name:"WorkspaceID",vm:"1",version:"PrivateTag"},'(0025,"CMR42 CIRCLECVI",1020)':{tag:'(0025,"CMR42 CIRCLECVI",1020)',vr:"LO",name:"WorkspaceTimeString",vm:"1",version:"PrivateTag"},'(0025,"CMR42 CIRCLECVI",1030)':{tag:'(0025,"CMR42 CIRCLECVI",1030)',vr:"OB",name:"WorkspaceStream",vm:"1",version:"PrivateTag"},'(0009,"DCMTK_ANONYMIZER",00)':{tag:'(0009,"DCMTK_ANONYMIZER",00)',vr:"SQ",name:"AnonymizerUIDMap",vm:"1",version:"PrivateTag"},'(0009,"DCMTK_ANONYMIZER",10)':{tag:'(0009,"DCMTK_ANONYMIZER",10)',vr:"UI",name:"AnonymizerUIDKey",vm:"1",version:"PrivateTag"},'(0009,"DCMTK_ANONYMIZER",20)':{tag:'(0009,"DCMTK_ANONYMIZER",20)',vr:"UI",name:"AnonymizerUIDValue",vm:"1",version:"PrivateTag"},'(0009,"DCMTK_ANONYMIZER",30)':{tag:'(0009,"DCMTK_ANONYMIZER",30)',vr:"SQ",name:"AnonymizerPatientIDMap",vm:"1",version:"PrivateTag"},'(0009,"DCMTK_ANONYMIZER",40)':{tag:'(0009,"DCMTK_ANONYMIZER",40)',vr:"LO",name:"AnonymizerPatientIDKey",vm:"1",version:"PrivateTag"},'(0009,"DCMTK_ANONYMIZER",50)':{tag:'(0009,"DCMTK_ANONYMIZER",50)',vr:"LO",name:"AnonymizerPatientIDValue",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",22)':{tag:'(0019,"DIDI TO PCR 1.1",22)',vr:"UN",name:"RouteAET",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",23)':{tag:'(0019,"DIDI TO PCR 1.1",23)',vr:"DS",name:"PCRPrintScale",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",24)':{tag:'(0019,"DIDI TO PCR 1.1",24)',vr:"UN",name:"PCRPrintJobEnd",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",25)':{tag:'(0019,"DIDI TO PCR 1.1",25)',vr:"IS",name:"PCRNoFilmCopies",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",26)':{tag:'(0019,"DIDI TO PCR 1.1",26)',vr:"IS",name:"PCRFilmLayoutPosition",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",27)':{tag:'(0019,"DIDI TO PCR 1.1",27)',vr:"UN",name:"PCRPrintReportName",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",70)':{tag:'(0019,"DIDI TO PCR 1.1",70)',vr:"UN",name:"RADProtocolPrinter",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",71)':{tag:'(0019,"DIDI TO PCR 1.1",71)',vr:"UN",name:"RADProtocolMedium",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",90)':{tag:'(0019,"DIDI TO PCR 1.1",90)',vr:"LO",name:"UnprocessedFlag",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",91)':{tag:'(0019,"DIDI TO PCR 1.1",91)',vr:"UN",name:"KeyValues",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",92)':{tag:'(0019,"DIDI TO PCR 1.1",92)',vr:"UN",name:"DestinationPostprocessingFunction",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",A0)':{tag:'(0019,"DIDI TO PCR 1.1",A0)',vr:"UN",name:"Version",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",A1)':{tag:'(0019,"DIDI TO PCR 1.1",A1)',vr:"UN",name:"RangingMode",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",A2)':{tag:'(0019,"DIDI TO PCR 1.1",A2)',vr:"UN",name:"AbdomenBrightness",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",A3)':{tag:'(0019,"DIDI TO PCR 1.1",A3)',vr:"UN",name:"FixedBrightness",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",A4)':{tag:'(0019,"DIDI TO PCR 1.1",A4)',vr:"UN",name:"DetailContrast",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",A5)':{tag:'(0019,"DIDI TO PCR 1.1",A5)',vr:"UN",name:"ContrastBalance",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",A6)':{tag:'(0019,"DIDI TO PCR 1.1",A6)',vr:"UN",name:"StructureBoost",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",A7)':{tag:'(0019,"DIDI TO PCR 1.1",A7)',vr:"UN",name:"StructurePreference",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",A8)':{tag:'(0019,"DIDI TO PCR 1.1",A8)',vr:"UN",name:"NoiseRobustness",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",A9)':{tag:'(0019,"DIDI TO PCR 1.1",A9)',vr:"UN",name:"NoiseDoseLimit",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",AA)':{tag:'(0019,"DIDI TO PCR 1.1",AA)',vr:"UN",name:"NoiseDoseStep",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",AB)':{tag:'(0019,"DIDI TO PCR 1.1",AB)',vr:"UN",name:"NoiseFrequencyLimit",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",AC)':{tag:'(0019,"DIDI TO PCR 1.1",AC)',vr:"UN",name:"WeakContrastLimit",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",AD)':{tag:'(0019,"DIDI TO PCR 1.1",AD)',vr:"UN",name:"StrongContrastLimit",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",AE)':{tag:'(0019,"DIDI TO PCR 1.1",AE)',vr:"UN",name:"StructureBoostOffset",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",AF)':{tag:'(0019,"DIDI TO PCR 1.1",AF)',vr:"UN",name:"SmoothGain",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",B0)':{tag:'(0019,"DIDI TO PCR 1.1",B0)',vr:"UN",name:"MeasureField1",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",B1)':{tag:'(0019,"DIDI TO PCR 1.1",B1)',vr:"UN",name:"MeasureField2",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",B2)':{tag:'(0019,"DIDI TO PCR 1.1",B2)',vr:"UN",name:"KeyPercentile1",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",B3)':{tag:'(0019,"DIDI TO PCR 1.1",B3)',vr:"UN",name:"KeyPercentile2",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",B4)':{tag:'(0019,"DIDI TO PCR 1.1",B4)',vr:"UN",name:"DensityLUT",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",B5)':{tag:'(0019,"DIDI TO PCR 1.1",B5)',vr:"UN",name:"Brightness",vm:"1",version:"PrivateTag"},'(0019,"DIDI TO PCR 1.1",B6)':{tag:'(0019,"DIDI TO PCR 1.1",B6)',vr:"UN",name:"Gamma",vm:"1",version:"PrivateTag"},'(0089,"DIDI TO PCR 1.1",10)':{tag:'(0089,"DIDI TO PCR 1.1",10)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"DIGISCAN IMAGE",31)':{tag:'(0029,"DIGISCAN IMAGE",31)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0029,"DIGISCAN IMAGE",32)':{tag:'(0029,"DIGISCAN IMAGE",32)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0029,"DIGISCAN IMAGE",33)':{tag:'(0029,"DIGISCAN IMAGE",33)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"DIGISCAN IMAGE",34)':{tag:'(0029,"DIGISCAN IMAGE",34)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(7001-o-70ff,"DLX_ANNOT_01",04)':{tag:'(7001-o-70ff,"DLX_ANNOT_01",04)',vr:"ST",name:"TextAnnotation",vm:"1",version:"PrivateTag"},'(7001-o-70ff,"DLX_ANNOT_01",05)':{tag:'(7001-o-70ff,"DLX_ANNOT_01",05)',vr:"IS",name:"Box",vm:"2",version:"PrivateTag"},'(7001-o-70ff,"DLX_ANNOT_01",07)':{tag:'(7001-o-70ff,"DLX_ANNOT_01",07)',vr:"IS",name:"ArrowEnd",vm:"2",version:"PrivateTag"},'(0015,"DLX_EXAMS_01",01)':{tag:'(0015,"DLX_EXAMS_01",01)',vr:"DS",name:"StenosisCalibrationRatio",vm:"1",version:"PrivateTag"},'(0015,"DLX_EXAMS_01",02)':{tag:'(0015,"DLX_EXAMS_01",02)',vr:"DS",name:"StenosisMagnification",vm:"1",version:"PrivateTag"},'(0015,"DLX_EXAMS_01",03)':{tag:'(0015,"DLX_EXAMS_01",03)',vr:"DS",name:"CardiacCalibrationRatio",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"DLX_LKUP_01",01)':{tag:'(6001-o-60ff,"DLX_LKUP_01",01)',vr:"US",name:"GrayPaletteColorLookupTableDescriptor",vm:"3",version:"PrivateTag"},'(6001-o-60ff,"DLX_LKUP_01",02)':{tag:'(6001-o-60ff,"DLX_LKUP_01",02)',vr:"US",name:"GrayPaletteColorLookupTableData",vm:"1",version:"PrivateTag"},'(0011,"DLX_PATNT_01",01)':{tag:'(0011,"DLX_PATNT_01",01)',vr:"LT",name:"PatientDOB",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",01)':{tag:'(0019,"DLX_SERIE_01",01)',vr:"DS",name:"AngleValueLArm",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",02)':{tag:'(0019,"DLX_SERIE_01",02)',vr:"DS",name:"AngleValuePArm",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",03)':{tag:'(0019,"DLX_SERIE_01",03)',vr:"DS",name:"AngleValueCArm",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",04)':{tag:'(0019,"DLX_SERIE_01",04)',vr:"CS",name:"AngleLabelLArm",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",05)':{tag:'(0019,"DLX_SERIE_01",05)',vr:"CS",name:"AngleLabelPArm",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",06)':{tag:'(0019,"DLX_SERIE_01",06)',vr:"CS",name:"AngleLabelCArm",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",07)':{tag:'(0019,"DLX_SERIE_01",07)',vr:"ST",name:"ProcedureName",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",08)':{tag:'(0019,"DLX_SERIE_01",08)',vr:"ST",name:"ExamName",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",09)':{tag:'(0019,"DLX_SERIE_01",09)',vr:"SH",name:"PatientSize",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",0a)':{tag:'(0019,"DLX_SERIE_01",0a)',vr:"IS",name:"RecordView",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",10)':{tag:'(0019,"DLX_SERIE_01",10)',vr:"DS",name:"InjectorDelay",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",11)':{tag:'(0019,"DLX_SERIE_01",11)',vr:"CS",name:"AutoInject",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",14)':{tag:'(0019,"DLX_SERIE_01",14)',vr:"IS",name:"AcquisitionMode",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",15)':{tag:'(0019,"DLX_SERIE_01",15)',vr:"CS",name:"CameraRotationEnabled",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",16)':{tag:'(0019,"DLX_SERIE_01",16)',vr:"CS",name:"ReverseSweep",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",17)':{tag:'(0019,"DLX_SERIE_01",17)',vr:"IS",name:"SpatialFilterStrength",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",18)':{tag:'(0019,"DLX_SERIE_01",18)',vr:"IS",name:"ZoomFactor",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",19)':{tag:'(0019,"DLX_SERIE_01",19)',vr:"IS",name:"XZoomCenter",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",1a)':{tag:'(0019,"DLX_SERIE_01",1a)',vr:"IS",name:"YZoomCenter",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",1b)':{tag:'(0019,"DLX_SERIE_01",1b)',vr:"DS",name:"Focus",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",1c)':{tag:'(0019,"DLX_SERIE_01",1c)',vr:"CS",name:"Dose",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",1d)':{tag:'(0019,"DLX_SERIE_01",1d)',vr:"IS",name:"SideMark",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",1e)':{tag:'(0019,"DLX_SERIE_01",1e)',vr:"IS",name:"PercentageLandscape",vm:"1",version:"PrivateTag"},'(0019,"DLX_SERIE_01",1f)':{tag:'(0019,"DLX_SERIE_01",1f)',vr:"DS",name:"ExposureDuration",vm:"1",version:"PrivateTag"},'(00E1,"ELSCINT1",01)':{tag:'(00E1,"ELSCINT1",01)',vr:"US",name:"DataDictionaryVersion",vm:"1",version:"PrivateTag"},'(00E1,"ELSCINT1",14)':{tag:'(00E1,"ELSCINT1",14)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(00E1,"ELSCINT1",22)':{tag:'(00E1,"ELSCINT1",22)',vr:"DS",name:"Unknown",vm:"2",version:"PrivateTag"},'(00E1,"ELSCINT1",23)':{tag:'(00E1,"ELSCINT1",23)',vr:"DS",name:"Unknown",vm:"2",version:"PrivateTag"},'(00E1,"ELSCINT1",24)':{tag:'(00E1,"ELSCINT1",24)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(00E1,"ELSCINT1",25)':{tag:'(00E1,"ELSCINT1",25)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(00E1,"ELSCINT1",40)':{tag:'(00E1,"ELSCINT1",40)',vr:"SH",name:"OffsetFromCTMRImages",vm:"1",version:"PrivateTag"},'(0601,"ELSCINT1",00)':{tag:'(0601,"ELSCINT1",00)',vr:"SH",name:"ImplementationVersion",vm:"1",version:"PrivateTag"},'(0601,"ELSCINT1",20)':{tag:'(0601,"ELSCINT1",20)',vr:"DS",name:"RelativeTablePosition",vm:"1",version:"PrivateTag"},'(0601,"ELSCINT1",21)':{tag:'(0601,"ELSCINT1",21)',vr:"DS",name:"RelativeTableHeight",vm:"1",version:"PrivateTag"},'(0601,"ELSCINT1",30)':{tag:'(0601,"ELSCINT1",30)',vr:"SH",name:"SurviewDirection",vm:"1",version:"PrivateTag"},'(0601,"ELSCINT1",31)':{tag:'(0601,"ELSCINT1",31)',vr:"DS",name:"SurviewLength",vm:"1",version:"PrivateTag"},'(0601,"ELSCINT1",50)':{tag:'(0601,"ELSCINT1",50)',vr:"SH",name:"ImageViewType",vm:"1",version:"PrivateTag"},'(0601,"ELSCINT1",70)':{tag:'(0601,"ELSCINT1",70)',vr:"DS",name:"BatchNumber",vm:"1",version:"PrivateTag"},'(0601,"ELSCINT1",71)':{tag:'(0601,"ELSCINT1",71)',vr:"DS",name:"BatchSize",vm:"1",version:"PrivateTag"},'(0601,"ELSCINT1",72)':{tag:'(0601,"ELSCINT1",72)',vr:"DS",name:"BatchSliceNumber",vm:"1",version:"PrivateTag"},'(0009,"FDMS 1.0",04)':{tag:'(0009,"FDMS 1.0",04)',vr:"SH",name:"ImageControlUnit",vm:"1",version:"PrivateTag"},'(0009,"FDMS 1.0",05)':{tag:'(0009,"FDMS 1.0",05)',vr:"OW",name:"ImageUID",vm:"1",version:"PrivateTag"},'(0009,"FDMS 1.0",06)':{tag:'(0009,"FDMS 1.0",06)',vr:"OW",name:"RouteImageUID",vm:"1",version:"PrivateTag"},'(0009,"FDMS 1.0",08)':{tag:'(0009,"FDMS 1.0",08)',vr:"UL",name:"ImageDisplayInformationVersionNo",vm:"1",version:"PrivateTag"},'(0009,"FDMS 1.0",09)':{tag:'(0009,"FDMS 1.0",09)',vr:"UL",name:"PatientInformationVersionNo",vm:"1",version:"PrivateTag"},'(0009,"FDMS 1.0",0C)':{tag:'(0009,"FDMS 1.0",0C)',vr:"OW",name:"FilmUID",vm:"1",version:"PrivateTag"},'(0009,"FDMS 1.0",10)':{tag:'(0009,"FDMS 1.0",10)',vr:"CS",name:"ExposureUnitTypeCode",vm:"1",version:"PrivateTag"},'(0009,"FDMS 1.0",80)':{tag:'(0009,"FDMS 1.0",80)',vr:"LO",name:"KanjiHospitalName",vm:"1",version:"PrivateTag"},'(0009,"FDMS 1.0",90)':{tag:'(0009,"FDMS 1.0",90)',vr:"ST",name:"DistributionCode",vm:"1",version:"PrivateTag"},'(0009,"FDMS 1.0",92)':{tag:'(0009,"FDMS 1.0",92)',vr:"SH",name:"KanjiDepartmentName",vm:"1",version:"PrivateTag"},'(0009,"FDMS 1.0",F0)':{tag:'(0009,"FDMS 1.0",F0)',vr:"CS",name:"BlackeningProcessFlag",vm:"1",version:"PrivateTag"},'(0019,"FDMS 1.0",15)':{tag:'(0019,"FDMS 1.0",15)',vr:"LO",name:"KanjiBodyPartForExposure",vm:"1",version:"PrivateTag"},'(0019,"FDMS 1.0",32)':{tag:'(0019,"FDMS 1.0",32)',vr:"LO",name:"KanjiMenuName",vm:"1",version:"PrivateTag"},'(0019,"FDMS 1.0",40)':{tag:'(0019,"FDMS 1.0",40)',vr:"CS",name:"ImageProcessingType",vm:"1",version:"PrivateTag"},'(0019,"FDMS 1.0",50)':{tag:'(0019,"FDMS 1.0",50)',vr:"CS",name:"EDRMode",vm:"1",version:"PrivateTag"},'(0019,"FDMS 1.0",60)':{tag:'(0019,"FDMS 1.0",60)',vr:"SH",name:"RadiographersCode",vm:"1",version:"PrivateTag"},'(0019,"FDMS 1.0",70)':{tag:'(0019,"FDMS 1.0",70)',vr:"IS",name:"SplitExposureFormat",vm:"1",version:"PrivateTag"},'(0019,"FDMS 1.0",71)':{tag:'(0019,"FDMS 1.0",71)',vr:"IS",name:"NoOfSplitExposureFrames",vm:"1",version:"PrivateTag"},'(0019,"FDMS 1.0",80)':{tag:'(0019,"FDMS 1.0",80)',vr:"IS",name:"ReadingPositionSpecification",vm:"1",version:"PrivateTag"},'(0019,"FDMS 1.0",81)':{tag:'(0019,"FDMS 1.0",81)',vr:"IS",name:"ReadingSensitivityCenter",vm:"1",version:"PrivateTag"},'(0019,"FDMS 1.0",90)':{tag:'(0019,"FDMS 1.0",90)',vr:"SH",name:"FilmAnnotationCharacterString1",vm:"1",version:"PrivateTag"},'(0019,"FDMS 1.0",91)':{tag:'(0019,"FDMS 1.0",91)',vr:"SH",name:"FilmAnnotationCharacterString2",vm:"1",version:"PrivateTag"},'(0021,"FDMS 1.0",10)':{tag:'(0021,"FDMS 1.0",10)',vr:"CS",name:"FCRImageID",vm:"1",version:"PrivateTag"},'(0021,"FDMS 1.0",30)':{tag:'(0021,"FDMS 1.0",30)',vr:"CS",name:"SetNo",vm:"1",version:"PrivateTag"},'(0021,"FDMS 1.0",40)':{tag:'(0021,"FDMS 1.0",40)',vr:"IS",name:"ImageNoInTheSet",vm:"1",version:"PrivateTag"},'(0021,"FDMS 1.0",50)':{tag:'(0021,"FDMS 1.0",50)',vr:"CS",name:"PairProcessingInformation",vm:"1",version:"PrivateTag"},'(0021,"FDMS 1.0",80)':{tag:'(0021,"FDMS 1.0",80)',vr:"OB",name:"EquipmentTypeSpecificInformation",vm:"1",version:"PrivateTag"},'(0023,"FDMS 1.0",10)':{tag:'(0023,"FDMS 1.0",10)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0023,"FDMS 1.0",20)':{tag:'(0023,"FDMS 1.0",20)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0023,"FDMS 1.0",30)':{tag:'(0023,"FDMS 1.0",30)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",10)':{tag:'(0025,"FDMS 1.0",10)',vr:"US",name:"RelativeLightEmissionAmountSk",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",11)':{tag:'(0025,"FDMS 1.0",11)',vr:"US",name:"TermOfCorrectionForEachIPTypeSt",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",12)':{tag:'(0025,"FDMS 1.0",12)',vr:"US",name:"ReadingGainGp",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",13)':{tag:'(0025,"FDMS 1.0",13)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",15)':{tag:'(0025,"FDMS 1.0",15)',vr:"CS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",20)':{tag:'(0025,"FDMS 1.0",20)',vr:"US",name:"Unknown",vm:"2",version:"PrivateTag"},'(0025,"FDMS 1.0",21)':{tag:'(0025,"FDMS 1.0",21)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",30)':{tag:'(0025,"FDMS 1.0",30)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",31)':{tag:'(0025,"FDMS 1.0",31)',vr:"SS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",32)':{tag:'(0025,"FDMS 1.0",32)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",33)':{tag:'(0025,"FDMS 1.0",33)',vr:"SS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",34)':{tag:'(0025,"FDMS 1.0",34)',vr:"SS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",40)':{tag:'(0025,"FDMS 1.0",40)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",41)':{tag:'(0025,"FDMS 1.0",41)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",42)':{tag:'(0025,"FDMS 1.0",42)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",43)':{tag:'(0025,"FDMS 1.0",43)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",50)':{tag:'(0025,"FDMS 1.0",50)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",51)':{tag:'(0025,"FDMS 1.0",51)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",52)':{tag:'(0025,"FDMS 1.0",52)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",53)':{tag:'(0025,"FDMS 1.0",53)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",60)':{tag:'(0025,"FDMS 1.0",60)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",61)':{tag:'(0025,"FDMS 1.0",61)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",62)':{tag:'(0025,"FDMS 1.0",62)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",63)':{tag:'(0025,"FDMS 1.0",63)',vr:"CS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",70)':{tag:'(0025,"FDMS 1.0",70)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",71)':{tag:'(0025,"FDMS 1.0",71)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",72)':{tag:'(0025,"FDMS 1.0",72)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",73)':{tag:'(0025,"FDMS 1.0",73)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0025,"FDMS 1.0",74)':{tag:'(0025,"FDMS 1.0",74)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0025,"FDMS 1.0",80)':{tag:'(0025,"FDMS 1.0",80)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",81)':{tag:'(0025,"FDMS 1.0",81)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",82)':{tag:'(0025,"FDMS 1.0",82)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",83)':{tag:'(0025,"FDMS 1.0",83)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0025,"FDMS 1.0",84)':{tag:'(0025,"FDMS 1.0",84)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0025,"FDMS 1.0",90)':{tag:'(0025,"FDMS 1.0",90)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",91)':{tag:'(0025,"FDMS 1.0",91)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",92)':{tag:'(0025,"FDMS 1.0",92)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",93)':{tag:'(0025,"FDMS 1.0",93)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",94)':{tag:'(0025,"FDMS 1.0",94)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",95)':{tag:'(0025,"FDMS 1.0",95)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",96)':{tag:'(0025,"FDMS 1.0",96)',vr:"CS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",a0)':{tag:'(0025,"FDMS 1.0",a0)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",a1)':{tag:'(0025,"FDMS 1.0",a1)',vr:"SS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",a2)':{tag:'(0025,"FDMS 1.0",a2)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0025,"FDMS 1.0",a3)':{tag:'(0025,"FDMS 1.0",a3)',vr:"SS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0027,"FDMS 1.0",10)':{tag:'(0027,"FDMS 1.0",10)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0027,"FDMS 1.0",20)':{tag:'(0027,"FDMS 1.0",20)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0027,"FDMS 1.0",30)':{tag:'(0027,"FDMS 1.0",30)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0027,"FDMS 1.0",40)':{tag:'(0027,"FDMS 1.0",40)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0027,"FDMS 1.0",50)':{tag:'(0027,"FDMS 1.0",50)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0027,"FDMS 1.0",60)':{tag:'(0027,"FDMS 1.0",60)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0027,"FDMS 1.0",70)':{tag:'(0027,"FDMS 1.0",70)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0027,"FDMS 1.0",80)':{tag:'(0027,"FDMS 1.0",80)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0027,"FDMS 1.0",a0)':{tag:'(0027,"FDMS 1.0",a0)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0027,"FDMS 1.0",a1)':{tag:'(0027,"FDMS 1.0",a1)',vr:"CS",name:"Unknown",vm:"2",version:"PrivateTag"},'(0027,"FDMS 1.0",a2)':{tag:'(0027,"FDMS 1.0",a2)',vr:"CS",name:"Unknown",vm:"2",version:"PrivateTag"},'(0027,"FDMS 1.0",a3)':{tag:'(0027,"FDMS 1.0",a3)',vr:"SS",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0029,"FDMS 1.0",20)':{tag:'(0029,"FDMS 1.0",20)',vr:"CS",name:"ImageScanningDirection",vm:"1",version:"PrivateTag"},'(0029,"FDMS 1.0",30)':{tag:'(0029,"FDMS 1.0",30)',vr:"CS",name:"ExtendedReadingSizeValue",vm:"1",version:"PrivateTag"},'(0029,"FDMS 1.0",34)':{tag:'(0029,"FDMS 1.0",34)',vr:"US",name:"MagnificationReductionRatio",vm:"1",version:"PrivateTag"},'(0029,"FDMS 1.0",44)':{tag:'(0029,"FDMS 1.0",44)',vr:"CS",name:"LineDensityCode",vm:"1",version:"PrivateTag"},'(0029,"FDMS 1.0",50)':{tag:'(0029,"FDMS 1.0",50)',vr:"CS",name:"DataCompressionCode",vm:"1",version:"PrivateTag"},'(2011,"FDMS 1.0",11)':{tag:'(2011,"FDMS 1.0",11)',vr:"CS",name:"ImagePosition SpecifyingFlag",vm:"1",version:"PrivateTag"},'(50F1,"FDMS 1.0",06)':{tag:'(50F1,"FDMS 1.0",06)',vr:"CS",name:"EnergySubtractionParam",vm:"1",version:"PrivateTag"},'(50F1,"FDMS 1.0",07)':{tag:'(50F1,"FDMS 1.0",07)',vr:"CS",name:"SubtractionRegistrationResult",vm:"1",version:"PrivateTag"},'(50F1,"FDMS 1.0",08)':{tag:'(50F1,"FDMS 1.0",08)',vr:"CS",name:"EnergySubtractionParam2",vm:"1",version:"PrivateTag"},'(50F1,"FDMS 1.0",09)':{tag:'(50F1,"FDMS 1.0",09)',vr:"SL",name:"AfinConversionCoefficient",vm:"1",version:"PrivateTag"},'(50F1,"FDMS 1.0",10)':{tag:'(50F1,"FDMS 1.0",10)',vr:"CS",name:"FilmOutputFormat",vm:"1",version:"PrivateTag"},'(50F1,"FDMS 1.0",20)':{tag:'(50F1,"FDMS 1.0",20)',vr:"CS",name:"ImageProcessingModificationFlag",vm:"1",version:"PrivateTag"},'(0009,"FFP DATA",01)':{tag:'(0009,"FFP DATA",01)',vr:"UN",name:"CRHeaderInformation",vm:"1",version:"PrivateTag"},'(0019,"GE ??? From Adantage Review CS",30)':{tag:'(0019,"GE ??? From Adantage Review CS",30)',vr:"LO",name:"CREDRMode",vm:"1",version:"PrivateTag"},'(0019,"GE ??? From Adantage Review CS",40)':{tag:'(0019,"GE ??? From Adantage Review CS",40)',vr:"LO",name:"CRLatitude",vm:"1",version:"PrivateTag"},'(0019,"GE ??? From Adantage Review CS",50)':{tag:'(0019,"GE ??? From Adantage Review CS",50)',vr:"LO",name:"CRGroupNumber",vm:"1",version:"PrivateTag"},'(0019,"GE ??? From Adantage Review CS",70)':{tag:'(0019,"GE ??? From Adantage Review CS",70)',vr:"LO",name:"CRImageSerialNumber",vm:"1",version:"PrivateTag"},'(0019,"GE ??? From Adantage Review CS",80)':{tag:'(0019,"GE ??? From Adantage Review CS",80)',vr:"LO",name:"CRBarCodeNumber",vm:"1",version:"PrivateTag"},'(0019,"GE ??? From Adantage Review CS",90)':{tag:'(0019,"GE ??? From Adantage Review CS",90)',vr:"LO",name:"CRFilmOutputExposures",vm:"1",version:"PrivateTag"},'(0009,"GEMS_ACQU_01",24)':{tag:'(0009,"GEMS_ACQU_01",24)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_ACQU_01",25)':{tag:'(0009,"GEMS_ACQU_01",25)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_ACQU_01",3e)':{tag:'(0009,"GEMS_ACQU_01",3e)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_ACQU_01",3f)':{tag:'(0009,"GEMS_ACQU_01",3f)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_ACQU_01",42)':{tag:'(0009,"GEMS_ACQU_01",42)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_ACQU_01",43)':{tag:'(0009,"GEMS_ACQU_01",43)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_ACQU_01",f8)':{tag:'(0009,"GEMS_ACQU_01",f8)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_ACQU_01",fb)':{tag:'(0009,"GEMS_ACQU_01",fb)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",01)':{tag:'(0019,"GEMS_ACQU_01",01)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",02)':{tag:'(0019,"GEMS_ACQU_01",02)',vr:"SL",name:"NumberOfCellsInDetector",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",03)':{tag:'(0019,"GEMS_ACQU_01",03)',vr:"DS",name:"CellNumberAtTheta",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",04)':{tag:'(0019,"GEMS_ACQU_01",04)',vr:"DS",name:"CellSpacing",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",05)':{tag:'(0019,"GEMS_ACQU_01",05)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",06)':{tag:'(0019,"GEMS_ACQU_01",06)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",0e)':{tag:'(0019,"GEMS_ACQU_01",0e)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",0f)':{tag:'(0019,"GEMS_ACQU_01",0f)',vr:"DS",name:"HorizontalFrameOfReference",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",11)':{tag:'(0019,"GEMS_ACQU_01",11)',vr:"SS",name:"SeriesContrast",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",12)':{tag:'(0019,"GEMS_ACQU_01",12)',vr:"SS",name:"LastPseq",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",13)':{tag:'(0019,"GEMS_ACQU_01",13)',vr:"SS",name:"StartNumberForBaseline",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",14)':{tag:'(0019,"GEMS_ACQU_01",14)',vr:"SS",name:"End NumberForBaseline",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",15)':{tag:'(0019,"GEMS_ACQU_01",15)',vr:"SS",name:"StartNumberForEnhancedScans",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",16)':{tag:'(0019,"GEMS_ACQU_01",16)',vr:"SS",name:"EndNumberForEnhancedScans",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",17)':{tag:'(0019,"GEMS_ACQU_01",17)',vr:"SS",name:"SeriesPlane",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",18)':{tag:'(0019,"GEMS_ACQU_01",18)',vr:"LO",name:"FirstScanRAS",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",19)':{tag:'(0019,"GEMS_ACQU_01",19)',vr:"DS",name:"FirstScanLocation",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",1a)':{tag:'(0019,"GEMS_ACQU_01",1a)',vr:"LO",name:"LastScanRAS",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",1b)':{tag:'(0019,"GEMS_ACQU_01",1b)',vr:"DS",name:"LastScanLocation",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",1e)':{tag:'(0019,"GEMS_ACQU_01",1e)',vr:"DS",name:"DisplayFieldOfView",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",20)':{tag:'(0019,"GEMS_ACQU_01",20)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",22)':{tag:'(0019,"GEMS_ACQU_01",22)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",23)':{tag:'(0019,"GEMS_ACQU_01",23)',vr:"DS",name:"TableSpeed",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",24)':{tag:'(0019,"GEMS_ACQU_01",24)',vr:"DS",name:"MidScanTime",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",25)':{tag:'(0019,"GEMS_ACQU_01",25)',vr:"SS",name:"MidScanFlag",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",26)':{tag:'(0019,"GEMS_ACQU_01",26)',vr:"SL",name:"DegreesOfAzimuth",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",27)':{tag:'(0019,"GEMS_ACQU_01",27)',vr:"DS",name:"GantryPeriod",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",2a)':{tag:'(0019,"GEMS_ACQU_01",2a)',vr:"DS",name:"XrayOnPosition",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",2b)':{tag:'(0019,"GEMS_ACQU_01",2b)',vr:"DS",name:"XrayOffPosition",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",2c)':{tag:'(0019,"GEMS_ACQU_01",2c)',vr:"SL",name:"NumberOfTriggers",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",2d)':{tag:'(0019,"GEMS_ACQU_01",2d)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",2e)':{tag:'(0019,"GEMS_ACQU_01",2e)',vr:"DS",name:"AngleOfFirstView",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",2f)':{tag:'(0019,"GEMS_ACQU_01",2f)',vr:"DS",name:"TriggerFrequency",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",39)':{tag:'(0019,"GEMS_ACQU_01",39)',vr:"SS",name:"ScanFOVType",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",3a)':{tag:'(0019,"GEMS_ACQU_01",3a)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",3b)':{tag:'(0019,"GEMS_ACQU_01",3b)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",3c)':{tag:'(0019,"GEMS_ACQU_01",3c)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",3e)':{tag:'(0019,"GEMS_ACQU_01",3e)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",3f)':{tag:'(0019,"GEMS_ACQU_01",3f)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",40)':{tag:'(0019,"GEMS_ACQU_01",40)',vr:"SS",name:"StatReconFlag",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",41)':{tag:'(0019,"GEMS_ACQU_01",41)',vr:"SS",name:"ComputeType",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",42)':{tag:'(0019,"GEMS_ACQU_01",42)',vr:"SS",name:"SegmentNumber",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",43)':{tag:'(0019,"GEMS_ACQU_01",43)',vr:"SS",name:"TotalSegmentsRequested",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",44)':{tag:'(0019,"GEMS_ACQU_01",44)',vr:"DS",name:"InterscanDelay",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",47)':{tag:'(0019,"GEMS_ACQU_01",47)',vr:"SS",name:"ViewCompressionFactor",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",48)':{tag:'(0019,"GEMS_ACQU_01",48)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",49)':{tag:'(0019,"GEMS_ACQU_01",49)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",4a)':{tag:'(0019,"GEMS_ACQU_01",4a)',vr:"SS",name:"TotalNumberOfRefChannels",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",4b)':{tag:'(0019,"GEMS_ACQU_01",4b)',vr:"SL",name:"DataSizeForScanData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",52)':{tag:'(0019,"GEMS_ACQU_01",52)',vr:"SS",name:"ReconPostProcessingFlag",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",54)':{tag:'(0019,"GEMS_ACQU_01",54)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",57)':{tag:'(0019,"GEMS_ACQU_01",57)',vr:"SS",name:"CTWaterNumber",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",58)':{tag:'(0019,"GEMS_ACQU_01",58)',vr:"SS",name:"CTBoneNumber",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",5a)':{tag:'(0019,"GEMS_ACQU_01",5a)',vr:"FL",name:"AcquisitionDuration",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",5d)':{tag:'(0019,"GEMS_ACQU_01",5d)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",5e)':{tag:'(0019,"GEMS_ACQU_01",5e)',vr:"SL",name:"NumberOfChannels1To512",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",5f)':{tag:'(0019,"GEMS_ACQU_01",5f)',vr:"SL",name:"IncrementBetweenChannels",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",60)':{tag:'(0019,"GEMS_ACQU_01",60)',vr:"SL",name:"StartingView",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",61)':{tag:'(0019,"GEMS_ACQU_01",61)',vr:"SL",name:"NumberOfViews",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",62)':{tag:'(0019,"GEMS_ACQU_01",62)',vr:"SL",name:"IncrementBetweenViews",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",6a)':{tag:'(0019,"GEMS_ACQU_01",6a)',vr:"SS",name:"DependantOnNumberOfViewsProcessed",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",6b)':{tag:'(0019,"GEMS_ACQU_01",6b)',vr:"SS",name:"FieldOfViewInDetectorCells",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",70)':{tag:'(0019,"GEMS_ACQU_01",70)',vr:"SS",name:"ValueOfBackProjectionButton",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",71)':{tag:'(0019,"GEMS_ACQU_01",71)',vr:"SS",name:"SetIfFatqEstimatesWereUsed",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",72)':{tag:'(0019,"GEMS_ACQU_01",72)',vr:"DS",name:"ZChannelAvgOverViews",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",73)':{tag:'(0019,"GEMS_ACQU_01",73)',vr:"DS",name:"AvgOfLeftRefChannelsOverViews",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",74)':{tag:'(0019,"GEMS_ACQU_01",74)',vr:"DS",name:"MaxLeftChannelOverViews",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",75)':{tag:'(0019,"GEMS_ACQU_01",75)',vr:"DS",name:"AvgOfRightRefChannelsOverViews",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",76)':{tag:'(0019,"GEMS_ACQU_01",76)',vr:"DS",name:"MaxRightChannelOverViews",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",7d)':{tag:'(0019,"GEMS_ACQU_01",7d)',vr:"DS",name:"SecondEcho",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",7e)':{tag:'(0019,"GEMS_ACQU_01",7e)',vr:"SS",name:"NumberOfEchos",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",7f)':{tag:'(0019,"GEMS_ACQU_01",7f)',vr:"DS",name:"TableDelta",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",81)':{tag:'(0019,"GEMS_ACQU_01",81)',vr:"SS",name:"Contiguous",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",82)':{tag:'(0019,"GEMS_ACQU_01",82)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",83)':{tag:'(0019,"GEMS_ACQU_01",83)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",84)':{tag:'(0019,"GEMS_ACQU_01",84)',vr:"DS",name:"PeakSAR",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",85)':{tag:'(0019,"GEMS_ACQU_01",85)',vr:"SS",name:"MonitorSAR",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",86)':{tag:'(0019,"GEMS_ACQU_01",86)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",87)':{tag:'(0019,"GEMS_ACQU_01",87)',vr:"DS",name:"CardiacRepetition Time",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",88)':{tag:'(0019,"GEMS_ACQU_01",88)',vr:"SS",name:"ImagesPerCardiacCycle",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",8a)':{tag:'(0019,"GEMS_ACQU_01",8a)',vr:"SS",name:"ActualReceiveGainAnalog",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",8b)':{tag:'(0019,"GEMS_ACQU_01",8b)',vr:"SS",name:"ActualReceiveGainDigital",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",8d)':{tag:'(0019,"GEMS_ACQU_01",8d)',vr:"DS",name:"DelayAfterTrigger",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",8f)':{tag:'(0019,"GEMS_ACQU_01",8f)',vr:"SS",name:"SwapPhaseFrequency",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",90)':{tag:'(0019,"GEMS_ACQU_01",90)',vr:"SS",name:"PauseInterval",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",91)':{tag:'(0019,"GEMS_ACQU_01",91)',vr:"DS",name:"PulseTime",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",92)':{tag:'(0019,"GEMS_ACQU_01",92)',vr:"SL",name:"SliceOffsetOnFrequencyAxis",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",93)':{tag:'(0019,"GEMS_ACQU_01",93)',vr:"DS",name:"CenterFrequency",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",94)':{tag:'(0019,"GEMS_ACQU_01",94)',vr:"SS",name:"TransmitGain",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",95)':{tag:'(0019,"GEMS_ACQU_01",95)',vr:"SS",name:"AnalogReceiverGain",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",96)':{tag:'(0019,"GEMS_ACQU_01",96)',vr:"SS",name:"DigitalReceiverGain",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",97)':{tag:'(0019,"GEMS_ACQU_01",97)',vr:"SL",name:"BitmapDefiningCVs",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",98)':{tag:'(0019,"GEMS_ACQU_01",98)',vr:"SS",name:"CenterFrequencyMethod",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",99)':{tag:'(0019,"GEMS_ACQU_01",99)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",9b)':{tag:'(0019,"GEMS_ACQU_01",9b)',vr:"SS",name:"PulseSequenceMode",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",9c)':{tag:'(0019,"GEMS_ACQU_01",9c)',vr:"LO",name:"PulseSequenceName",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",9d)':{tag:'(0019,"GEMS_ACQU_01",9d)',vr:"DT",name:"PulseSequenceDate",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",9e)':{tag:'(0019,"GEMS_ACQU_01",9e)',vr:"LO",name:"InternalPulseSequenceName",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",9f)':{tag:'(0019,"GEMS_ACQU_01",9f)',vr:"SS",name:"TransmittingCoil",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",a0)':{tag:'(0019,"GEMS_ACQU_01",a0)',vr:"SS",name:"SurfaceCoilType",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",a1)':{tag:'(0019,"GEMS_ACQU_01",a1)',vr:"SS",name:"ExtremityCoilFlag",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",a2)':{tag:'(0019,"GEMS_ACQU_01",a2)',vr:"SL",name:"RawDataRunNumber",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",a3)':{tag:'(0019,"GEMS_ACQU_01",a3)',vr:"UL",name:"CalibratedFieldStrength",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",a4)':{tag:'(0019,"GEMS_ACQU_01",a4)',vr:"SS",name:"SATFatWaterBone",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",a5)':{tag:'(0019,"GEMS_ACQU_01",a5)',vr:"DS",name:"ReceiveBandwidth",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",a7)':{tag:'(0019,"GEMS_ACQU_01",a7)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",a8)':{tag:'(0019,"GEMS_ACQU_01",a8)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",a9)':{tag:'(0019,"GEMS_ACQU_01",a9)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",aa)':{tag:'(0019,"GEMS_ACQU_01",aa)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",ab)':{tag:'(0019,"GEMS_ACQU_01",ab)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",ac)':{tag:'(0019,"GEMS_ACQU_01",ac)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",ad)':{tag:'(0019,"GEMS_ACQU_01",ad)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",ae)':{tag:'(0019,"GEMS_ACQU_01",ae)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",af)':{tag:'(0019,"GEMS_ACQU_01",af)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",b0)':{tag:'(0019,"GEMS_ACQU_01",b0)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",b1)':{tag:'(0019,"GEMS_ACQU_01",b1)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",b2)':{tag:'(0019,"GEMS_ACQU_01",b2)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",b3)':{tag:'(0019,"GEMS_ACQU_01",b3)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",b4)':{tag:'(0019,"GEMS_ACQU_01",b4)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",b5)':{tag:'(0019,"GEMS_ACQU_01",b5)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",b6)':{tag:'(0019,"GEMS_ACQU_01",b6)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",b7)':{tag:'(0019,"GEMS_ACQU_01",b7)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",b8)':{tag:'(0019,"GEMS_ACQU_01",b8)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",b9)':{tag:'(0019,"GEMS_ACQU_01",b9)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",ba)':{tag:'(0019,"GEMS_ACQU_01",ba)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",bb)':{tag:'(0019,"GEMS_ACQU_01",bb)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",bc)':{tag:'(0019,"GEMS_ACQU_01",bc)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",bd)':{tag:'(0019,"GEMS_ACQU_01",bd)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",be)':{tag:'(0019,"GEMS_ACQU_01",be)',vr:"DS",name:"ProjectionAngle",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",c0)':{tag:'(0019,"GEMS_ACQU_01",c0)',vr:"SS",name:"SaturationPlanes",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",c1)':{tag:'(0019,"GEMS_ACQU_01",c1)',vr:"SS",name:"SurfaceCoilIntensityCorrectionFlag",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",c2)':{tag:'(0019,"GEMS_ACQU_01",c2)',vr:"SS",name:"SATLocationR",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",c3)':{tag:'(0019,"GEMS_ACQU_01",c3)',vr:"SS",name:"SATLocationL",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",c4)':{tag:'(0019,"GEMS_ACQU_01",c4)',vr:"SS",name:"SATLocationA",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",c5)':{tag:'(0019,"GEMS_ACQU_01",c5)',vr:"SS",name:"SATLocationP",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",c6)':{tag:'(0019,"GEMS_ACQU_01",c6)',vr:"SS",name:"SATLocationH",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",c7)':{tag:'(0019,"GEMS_ACQU_01",c7)',vr:"SS",name:"SATLocationF",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",c8)':{tag:'(0019,"GEMS_ACQU_01",c8)',vr:"SS",name:"SATThicknessRL",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",c9)':{tag:'(0019,"GEMS_ACQU_01",c9)',vr:"SS",name:"SATThicknessAP",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",ca)':{tag:'(0019,"GEMS_ACQU_01",ca)',vr:"SS",name:"SATThicknessHF",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",cb)':{tag:'(0019,"GEMS_ACQU_01",cb)',vr:"SS",name:"PrescribedFlowAxis",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",cc)':{tag:'(0019,"GEMS_ACQU_01",cc)',vr:"SS",name:"VelocityEncoding",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",cd)':{tag:'(0019,"GEMS_ACQU_01",cd)',vr:"SS",name:"ThicknessDisclaimer",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",ce)':{tag:'(0019,"GEMS_ACQU_01",ce)',vr:"SS",name:"PrescanType",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",cf)':{tag:'(0019,"GEMS_ACQU_01",cf)',vr:"SS",name:"PrescanStatus",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",d0)':{tag:'(0019,"GEMS_ACQU_01",d0)',vr:"SH",name:"RawDataType",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",d2)':{tag:'(0019,"GEMS_ACQU_01",d2)',vr:"SS",name:"ProjectionAlgorithm",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",d3)':{tag:'(0019,"GEMS_ACQU_01",d3)',vr:"SH",name:"ProjectionAlgorithm",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",d4)':{tag:'(0019,"GEMS_ACQU_01",d4)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",d5)':{tag:'(0019,"GEMS_ACQU_01",d5)',vr:"SS",name:"FractionalEcho",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",d6)':{tag:'(0019,"GEMS_ACQU_01",d6)',vr:"SS",name:"PrepPulse",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",d7)':{tag:'(0019,"GEMS_ACQU_01",d7)',vr:"SS",name:"CardiacPhases",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",d8)':{tag:'(0019,"GEMS_ACQU_01",d8)',vr:"SS",name:"VariableEchoFlag",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",d9)':{tag:'(0019,"GEMS_ACQU_01",d9)',vr:"DS",name:"ConcatenatedSAT",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",da)':{tag:'(0019,"GEMS_ACQU_01",da)',vr:"SS",name:"ReferenceChannelUsed",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",db)':{tag:'(0019,"GEMS_ACQU_01",db)',vr:"DS",name:"BackProjectorCoefficient",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",dc)':{tag:'(0019,"GEMS_ACQU_01",dc)',vr:"SS",name:"PrimarySpeedCorrectionUsed",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",dd)':{tag:'(0019,"GEMS_ACQU_01",dd)',vr:"SS",name:"OverrangeCorrectionUsed",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",de)':{tag:'(0019,"GEMS_ACQU_01",de)',vr:"DS",name:"DynamicZAlphaValue",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",df)':{tag:'(0019,"GEMS_ACQU_01",df)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",e0)':{tag:'(0019,"GEMS_ACQU_01",e0)',vr:"DS",name:"UserData",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",e1)':{tag:'(0019,"GEMS_ACQU_01",e1)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",e2)':{tag:'(0019,"GEMS_ACQU_01",e2)',vr:"DS",name:"VelocityEncodeScale",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",e3)':{tag:'(0019,"GEMS_ACQU_01",e3)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",e4)':{tag:'(0019,"GEMS_ACQU_01",e4)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",e5)':{tag:'(0019,"GEMS_ACQU_01",e5)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",e6)':{tag:'(0019,"GEMS_ACQU_01",e6)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",e8)':{tag:'(0019,"GEMS_ACQU_01",e8)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",e9)':{tag:'(0019,"GEMS_ACQU_01",e9)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",eb)':{tag:'(0019,"GEMS_ACQU_01",eb)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",ec)':{tag:'(0019,"GEMS_ACQU_01",ec)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",f0)':{tag:'(0019,"GEMS_ACQU_01",f0)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",f1)':{tag:'(0019,"GEMS_ACQU_01",f1)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",f2)':{tag:'(0019,"GEMS_ACQU_01",f2)',vr:"SS",name:"FastPhases",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",f3)':{tag:'(0019,"GEMS_ACQU_01",f3)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",f4)':{tag:'(0019,"GEMS_ACQU_01",f4)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GEMS_ACQU_01",f9)':{tag:'(0019,"GEMS_ACQU_01",f9)',vr:"DS",name:"TransmitGain",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK1",00)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK1",00)',vr:"LO",name:"CRExposureMenuCode",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK1",10)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK1",10)',vr:"LO",name:"CRExposureMenuString",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK1",20)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK1",20)',vr:"LO",name:"CREDRMode",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK1",30)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK1",30)',vr:"LO",name:"CRLatitude",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK1",40)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK1",40)',vr:"LO",name:"CRGroupNumber",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK1",50)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK1",50)',vr:"US",name:"CRImageSerialNumber",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK1",60)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK1",60)',vr:"LO",name:"CRBarCodeNumber",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK1",70)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK1",70)',vr:"LO",name:"CRFilmOutputExposure",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK1",80)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK1",80)',vr:"LO",name:"CRFilmFormat",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK1",90)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK1",90)',vr:"LO",name:"CRSShiftString",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK2",00)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK2",00)',vr:"US",name:"CRSShift",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK2",10)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK2",10)',vr:"DS",name:"CRCShift",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK2",20)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK2",20)',vr:"DS",name:"CRGT",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK2",30)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK2",30)',vr:"DS",name:"CRGA",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK2",40)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK2",40)',vr:"DS",name:"CRGC",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK2",50)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK2",50)',vr:"DS",name:"CRGS",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK2",60)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK2",60)',vr:"DS",name:"CRRT",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK2",70)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK2",70)',vr:"DS",name:"CRRE",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK2",80)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK2",80)',vr:"US",name:"CRRN",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK2",90)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK2",90)',vr:"DS",name:"CRDRT",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK3",00)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK3",00)',vr:"DS",name:"CRDRE",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK3",10)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK3",10)',vr:"US",name:"CRDRN",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK3",20)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK3",20)',vr:"DS",name:"CRORE",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK3",30)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK3",30)',vr:"US",name:"CRORN",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK3",40)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK3",40)',vr:"US",name:"CRORD",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK3",50)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK3",50)',vr:"LO",name:"CRCassetteSize",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK3",60)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK3",60)',vr:"LO",name:"CRMachineID",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK3",70)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK3",70)',vr:"LO",name:"CRMachineType",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK3",80)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK3",80)',vr:"LO",name:"CRTechnicianCode",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_1.0 BLOCK3",90)':{tag:'(0023,"GEMS_ACRQA_1.0 BLOCK3",90)',vr:"LO",name:"CREnergySubtractionParameters",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK1",00)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK1",00)',vr:"LO",name:"CRExposureMenuCode",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK1",10)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK1",10)',vr:"LO",name:"CRExposureMenuString",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK1",20)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK1",20)',vr:"LO",name:"CREDRMode",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK1",30)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK1",30)',vr:"LO",name:"CRLatitude",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK1",40)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK1",40)',vr:"LO",name:"CRGroupNumber",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK1",50)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK1",50)',vr:"US",name:"CRImageSerialNumber",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK1",60)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK1",60)',vr:"LO",name:"CRBarCodeNumber",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK1",70)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK1",70)',vr:"LO",name:"CRFilmOutputExposure",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK1",80)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK1",80)',vr:"LO",name:"CRFilmFormat",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK1",90)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK1",90)',vr:"LO",name:"CRSShiftString",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK2",00)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK2",00)',vr:"US",name:"CRSShift",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK2",10)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK2",10)',vr:"LO",name:"CRCShift",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK2",20)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK2",20)',vr:"LO",name:"CRGT",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK2",30)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK2",30)',vr:"DS",name:"CRGA",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK2",40)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK2",40)',vr:"DS",name:"CRGC",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK2",50)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK2",50)',vr:"DS",name:"CRGS",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK2",60)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK2",60)',vr:"LO",name:"CRRT",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK2",70)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK2",70)',vr:"DS",name:"CRRE",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK2",80)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK2",80)',vr:"US",name:"CRRN",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK2",90)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK2",90)',vr:"DS",name:"CRDRT",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK3",00)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK3",00)',vr:"DS",name:"CRDRE",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK3",10)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK3",10)',vr:"US",name:"CRDRN",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK3",20)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK3",20)',vr:"DS",name:"CRORE",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK3",30)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK3",30)',vr:"US",name:"CRORN",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK3",40)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK3",40)',vr:"US",name:"CRORD",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK3",50)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK3",50)',vr:"LO",name:"CRCassetteSize",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK3",60)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK3",60)',vr:"LO",name:"CRMachineID",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK3",70)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK3",70)',vr:"LO",name:"CRMachineType",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK3",80)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK3",80)',vr:"LO",name:"CRTechnicianCode",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK3",90)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK3",90)',vr:"LO",name:"CREnergySubtractionParameters",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK3",f0)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK3",f0)',vr:"LO",name:"CRDistributionCode",vm:"1",version:"PrivateTag"},'(0023,"GEMS_ACRQA_2.0 BLOCK3",ff)':{tag:'(0023,"GEMS_ACRQA_2.0 BLOCK3",ff)',vr:"US",name:"CRShuttersApplied",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",01)':{tag:'(0047,"GEMS_ADWSoft_3D1",01)',vr:"SQ",name:"Reconstruction Parameters Sequence",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",50)':{tag:'(0047,"GEMS_ADWSoft_3D1",50)',vr:"UL",name:"VolumeVoxelCount",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",51)':{tag:'(0047,"GEMS_ADWSoft_3D1",51)',vr:"UL",name:"VolumeSegmentCount",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",53)':{tag:'(0047,"GEMS_ADWSoft_3D1",53)',vr:"US",name:"VolumeSliceSize",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",54)':{tag:'(0047,"GEMS_ADWSoft_3D1",54)',vr:"US",name:"VolumeSliceCount",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",55)':{tag:'(0047,"GEMS_ADWSoft_3D1",55)',vr:"SL",name:"VolumeThresholdValue",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",57)':{tag:'(0047,"GEMS_ADWSoft_3D1",57)',vr:"DS",name:"VolumeVoxelRatio",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",58)':{tag:'(0047,"GEMS_ADWSoft_3D1",58)',vr:"DS",name:"VolumeVoxelSize",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",59)':{tag:'(0047,"GEMS_ADWSoft_3D1",59)',vr:"US",name:"VolumeZPositionSize",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",60)':{tag:'(0047,"GEMS_ADWSoft_3D1",60)',vr:"DS",name:"VolumeBaseLine",vm:"9",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",61)':{tag:'(0047,"GEMS_ADWSoft_3D1",61)',vr:"DS",name:"VolumeCenterPoint",vm:"3",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",63)':{tag:'(0047,"GEMS_ADWSoft_3D1",63)',vr:"SL",name:"VolumeSkewBase",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",64)':{tag:'(0047,"GEMS_ADWSoft_3D1",64)',vr:"DS",name:"VolumeRegistrationTransformRotationMatrix",vm:"9",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",65)':{tag:'(0047,"GEMS_ADWSoft_3D1",65)',vr:"DS",name:"VolumeRegistrationTransformTranslationVector",vm:"3",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",70)':{tag:'(0047,"GEMS_ADWSoft_3D1",70)',vr:"DS",name:"KVPList",vm:"1-n",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",71)':{tag:'(0047,"GEMS_ADWSoft_3D1",71)',vr:"IS",name:"XRayTubeCurrentList",vm:"1-n",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",72)':{tag:'(0047,"GEMS_ADWSoft_3D1",72)',vr:"IS",name:"ExposureList",vm:"1-n",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",80)':{tag:'(0047,"GEMS_ADWSoft_3D1",80)',vr:"LO",name:"AcquisitionDLXIdentifier",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",85)':{tag:'(0047,"GEMS_ADWSoft_3D1",85)',vr:"SQ",name:"AcquisitionDLX2DSeriesSequence",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",89)':{tag:'(0047,"GEMS_ADWSoft_3D1",89)',vr:"DS",name:"ContrastAgentVolumeList",vm:"1-n",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",8A)':{tag:'(0047,"GEMS_ADWSoft_3D1",8A)',vr:"US",name:"NumberOfInjections",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",8B)':{tag:'(0047,"GEMS_ADWSoft_3D1",8B)',vr:"US",name:"FrameCount",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",91)':{tag:'(0047,"GEMS_ADWSoft_3D1",91)',vr:"LO",name:"XA3DReconstructionAlgorithmName",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",92)':{tag:'(0047,"GEMS_ADWSoft_3D1",92)',vr:"CS",name:"XA3DReconstructionAlgorithmVersion",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",93)':{tag:'(0047,"GEMS_ADWSoft_3D1",93)',vr:"DA",name:"DLXCalibrationDate",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",94)':{tag:'(0047,"GEMS_ADWSoft_3D1",94)',vr:"TM",name:"DLXCalibrationTime",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",95)':{tag:'(0047,"GEMS_ADWSoft_3D1",95)',vr:"CS",name:"DLXCalibrationStatus",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",96)':{tag:'(0047,"GEMS_ADWSoft_3D1",96)',vr:"IS",name:"UsedFrames",vm:"1-n",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",98)':{tag:'(0047,"GEMS_ADWSoft_3D1",98)',vr:"US",name:"TransformCount",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",99)':{tag:'(0047,"GEMS_ADWSoft_3D1",99)',vr:"SQ",name:"TransformSequence",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",9A)':{tag:'(0047,"GEMS_ADWSoft_3D1",9A)',vr:"DS",name:"TransformRotationMatrix",vm:"9",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",9B)':{tag:'(0047,"GEMS_ADWSoft_3D1",9B)',vr:"DS",name:"TransformTranslationVector",vm:"3",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",9C)':{tag:'(0047,"GEMS_ADWSoft_3D1",9C)',vr:"LO",name:"TransformLabel",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",B0)':{tag:'(0047,"GEMS_ADWSoft_3D1",B0)',vr:"SQ",name:"WireframeList",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",B1)':{tag:'(0047,"GEMS_ADWSoft_3D1",B1)',vr:"US",name:"WireframeCount",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",B2)':{tag:'(0047,"GEMS_ADWSoft_3D1",B2)',vr:"US",name:"LocationSystem",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",B5)':{tag:'(0047,"GEMS_ADWSoft_3D1",B5)',vr:"LO",name:"WireframeName",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",B6)':{tag:'(0047,"GEMS_ADWSoft_3D1",B6)',vr:"LO",name:"WireframeGroupName",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",B7)':{tag:'(0047,"GEMS_ADWSoft_3D1",B7)',vr:"LO",name:"WireframeColor",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",B8)':{tag:'(0047,"GEMS_ADWSoft_3D1",B8)',vr:"SL",name:"WireframeAttributes",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",B9)':{tag:'(0047,"GEMS_ADWSoft_3D1",B9)',vr:"SL",name:"WireframePointCount",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",BA)':{tag:'(0047,"GEMS_ADWSoft_3D1",BA)',vr:"SL",name:"WireframeTimestamp",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",BB)':{tag:'(0047,"GEMS_ADWSoft_3D1",BB)',vr:"SQ",name:"WireframePointList",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",BC)':{tag:'(0047,"GEMS_ADWSoft_3D1",BC)',vr:"DS",name:"WireframePointsCoordinates",vm:"3",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",C0)':{tag:'(0047,"GEMS_ADWSoft_3D1",C0)',vr:"DS",name:"VolumeUpperLeftHighCornerRAS",vm:"3",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",C1)':{tag:'(0047,"GEMS_ADWSoft_3D1",C1)',vr:"DS",name:"VolumeSliceToRASRotationMatrix",vm:"9",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",C2)':{tag:'(0047,"GEMS_ADWSoft_3D1",C2)',vr:"DS",name:"VolumeUpperLeftHighCornerTLOC",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",D1)':{tag:'(0047,"GEMS_ADWSoft_3D1",D1)',vr:"OB",name:"VolumeSegmentList",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",D2)':{tag:'(0047,"GEMS_ADWSoft_3D1",D2)',vr:"OB",name:"VolumeGradientList",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",D3)':{tag:'(0047,"GEMS_ADWSoft_3D1",D3)',vr:"OB",name:"VolumeDensityList",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",D4)':{tag:'(0047,"GEMS_ADWSoft_3D1",D4)',vr:"OB",name:"VolumeZPositionList",vm:"1",version:"PrivateTag"},'(0047,"GEMS_ADWSoft_3D1",D5)':{tag:'(0047,"GEMS_ADWSoft_3D1",D5)',vr:"OB",name:"VolumeOriginalIndexList",vm:"1",version:"PrivateTag"},'(0039,"GEMS_ADWSoft_DPO",80)':{tag:'(0039,"GEMS_ADWSoft_DPO",80)',vr:"IS",name:"PrivateEntityNumber",vm:"1",version:"PrivateTag"},'(0039,"GEMS_ADWSoft_DPO",85)':{tag:'(0039,"GEMS_ADWSoft_DPO",85)',vr:"DA",name:"PrivateEntityDate",vm:"1",version:"PrivateTag"},'(0039,"GEMS_ADWSoft_DPO",90)':{tag:'(0039,"GEMS_ADWSoft_DPO",90)',vr:"TM",name:"PrivateEntityTime",vm:"1",version:"PrivateTag"},'(0039,"GEMS_ADWSoft_DPO",95)':{tag:'(0039,"GEMS_ADWSoft_DPO",95)',vr:"LO",name:"PrivateEntityLaunchCommand",vm:"1",version:"PrivateTag"},'(0039,"GEMS_ADWSoft_DPO",AA)':{tag:'(0039,"GEMS_ADWSoft_DPO",AA)',vr:"CS",name:"PrivateEntityType",vm:"1",version:"PrivateTag"},'(0033,"GEMS_CTHD_01",02)':{tag:'(0033,"GEMS_CTHD_01",02)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0037,"GEMS_DRS_1",10)':{tag:'(0037,"GEMS_DRS_1",10)',vr:"LO",name:"ReferringDepartment",vm:"1",version:"PrivateTag"},'(0037,"GEMS_DRS_1",20)':{tag:'(0037,"GEMS_DRS_1",20)',vr:"US",name:"ScreenNumber",vm:"1",version:"PrivateTag"},'(0037,"GEMS_DRS_1",40)':{tag:'(0037,"GEMS_DRS_1",40)',vr:"SH",name:"LeftOrientation",vm:"1",version:"PrivateTag"},'(0037,"GEMS_DRS_1",42)':{tag:'(0037,"GEMS_DRS_1",42)',vr:"SH",name:"RightOrientation",vm:"1",version:"PrivateTag"},'(0037,"GEMS_DRS_1",50)':{tag:'(0037,"GEMS_DRS_1",50)',vr:"CS",name:"Inversion",vm:"1",version:"PrivateTag"},'(0037,"GEMS_DRS_1",60)':{tag:'(0037,"GEMS_DRS_1",60)',vr:"US",name:"DSA",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",10)':{tag:'(0009,"GEMS_GENIE_1",10)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",11)':{tag:'(0009,"GEMS_GENIE_1",11)',vr:"SL",name:"StudyFlags",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",12)':{tag:'(0009,"GEMS_GENIE_1",12)',vr:"SL",name:"StudyType",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",1e)':{tag:'(0009,"GEMS_GENIE_1",1e)',vr:"UI",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",20)':{tag:'(0009,"GEMS_GENIE_1",20)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",21)':{tag:'(0009,"GEMS_GENIE_1",21)',vr:"SL",name:"SeriesFlags",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",22)':{tag:'(0009,"GEMS_GENIE_1",22)',vr:"SH",name:"UserOrientation",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",23)':{tag:'(0009,"GEMS_GENIE_1",23)',vr:"SL",name:"InitiationType",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",24)':{tag:'(0009,"GEMS_GENIE_1",24)',vr:"SL",name:"InitiationDelay",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",25)':{tag:'(0009,"GEMS_GENIE_1",25)',vr:"SL",name:"InitiationCountRate",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",26)':{tag:'(0009,"GEMS_GENIE_1",26)',vr:"SL",name:"NumberEnergySets",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",27)':{tag:'(0009,"GEMS_GENIE_1",27)',vr:"SL",name:"NumberDetectors",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",29)':{tag:'(0009,"GEMS_GENIE_1",29)',vr:"SL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",2a)':{tag:'(0009,"GEMS_GENIE_1",2a)',vr:"SL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",2c)':{tag:'(0009,"GEMS_GENIE_1",2c)',vr:"LO",name:"SeriesComments",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",2d)':{tag:'(0009,"GEMS_GENIE_1",2d)',vr:"SL",name:"TrackBeatAverage",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",2e)':{tag:'(0009,"GEMS_GENIE_1",2e)',vr:"FD",name:"DistancePrescribed",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",30)':{tag:'(0009,"GEMS_GENIE_1",30)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",35)':{tag:'(0009,"GEMS_GENIE_1",35)',vr:"SL",name:"GantryLocusType",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",37)':{tag:'(0009,"GEMS_GENIE_1",37)',vr:"SL",name:"StartingHeartRate",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",38)':{tag:'(0009,"GEMS_GENIE_1",38)',vr:"SL",name:"RRWindowWidth",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",39)':{tag:'(0009,"GEMS_GENIE_1",39)',vr:"SL",name:"RRWindowOffset",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",3a)':{tag:'(0009,"GEMS_GENIE_1",3a)',vr:"SL",name:"PercentCycleImaged",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",40)':{tag:'(0009,"GEMS_GENIE_1",40)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",41)':{tag:'(0009,"GEMS_GENIE_1",41)',vr:"SL",name:"PatientFlags",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",42)':{tag:'(0009,"GEMS_GENIE_1",42)',vr:"DA",name:"PatientCreationDate",vm:"1",version:"PrivateTag"},'(0009,"GEMS_GENIE_1",43)':{tag:'(0009,"GEMS_GENIE_1",43)',vr:"TM",name:"PatientCreationTime",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",0a)':{tag:'(0011,"GEMS_GENIE_1",0a)',vr:"SL",name:"SeriesType",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",0b)':{tag:'(0011,"GEMS_GENIE_1",0b)',vr:"SL",name:"EffectiveSeriesDuration",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",0c)':{tag:'(0011,"GEMS_GENIE_1",0c)',vr:"SL",name:"NumBeats",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",0d)':{tag:'(0011,"GEMS_GENIE_1",0d)',vr:"LO",name:"RadioNuclideName",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",10)':{tag:'(0011,"GEMS_GENIE_1",10)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",12)':{tag:'(0011,"GEMS_GENIE_1",12)',vr:"LO",name:"DatasetName",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",13)':{tag:'(0011,"GEMS_GENIE_1",13)',vr:"SL",name:"DatasetType",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",15)':{tag:'(0011,"GEMS_GENIE_1",15)',vr:"SL",name:"DetectorNumber",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",16)':{tag:'(0011,"GEMS_GENIE_1",16)',vr:"SL",name:"EnergyNumber",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",17)':{tag:'(0011,"GEMS_GENIE_1",17)',vr:"SL",name:"RRIntervalWindowNumber",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",18)':{tag:'(0011,"GEMS_GENIE_1",18)',vr:"SL",name:"MGBinNumber",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",19)':{tag:'(0011,"GEMS_GENIE_1",19)',vr:"FD",name:"RadiusOfRotation",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",1a)':{tag:'(0011,"GEMS_GENIE_1",1a)',vr:"SL",name:"DetectorCountZone",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",1b)':{tag:'(0011,"GEMS_GENIE_1",1b)',vr:"SL",name:"NumEnergyWindows",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",1c)':{tag:'(0011,"GEMS_GENIE_1",1c)',vr:"SL",name:"EnergyOffset",vm:"4",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",1d)':{tag:'(0011,"GEMS_GENIE_1",1d)',vr:"SL",name:"EnergyRange",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",1f)':{tag:'(0011,"GEMS_GENIE_1",1f)',vr:"SL",name:"ImageOrientation",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",23)':{tag:'(0011,"GEMS_GENIE_1",23)',vr:"SL",name:"UseFOVMask",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",24)':{tag:'(0011,"GEMS_GENIE_1",24)',vr:"SL",name:"FOVMaskYCutoffAngle",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",25)':{tag:'(0011,"GEMS_GENIE_1",25)',vr:"SL",name:"FOVMaskCutoffAngle",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",26)':{tag:'(0011,"GEMS_GENIE_1",26)',vr:"SL",name:"TableOrientation",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",27)':{tag:'(0011,"GEMS_GENIE_1",27)',vr:"SL",name:"ROITopLeft",vm:"2",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",28)':{tag:'(0011,"GEMS_GENIE_1",28)',vr:"SL",name:"ROIBottomRight",vm:"2",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",30)':{tag:'(0011,"GEMS_GENIE_1",30)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",33)':{tag:'(0011,"GEMS_GENIE_1",33)',vr:"LO",name:"EnergyCorrectName",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",34)':{tag:'(0011,"GEMS_GENIE_1",34)',vr:"LO",name:"SpatialCorrectName",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",35)':{tag:'(0011,"GEMS_GENIE_1",35)',vr:"LO",name:"TuningCalibName",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",36)':{tag:'(0011,"GEMS_GENIE_1",36)',vr:"LO",name:"UniformityCorrectName",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",37)':{tag:'(0011,"GEMS_GENIE_1",37)',vr:"LO",name:"AcquisitionSpecificCorrectName",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",38)':{tag:'(0011,"GEMS_GENIE_1",38)',vr:"SL",name:"ByteOrder",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",3a)':{tag:'(0011,"GEMS_GENIE_1",3a)',vr:"SL",name:"PictureFormat",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",3b)':{tag:'(0011,"GEMS_GENIE_1",3b)',vr:"FD",name:"PixelScale",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",3c)':{tag:'(0011,"GEMS_GENIE_1",3c)',vr:"FD",name:"PixelOffset",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",3e)':{tag:'(0011,"GEMS_GENIE_1",3e)',vr:"SL",name:"FOVShape",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",3f)':{tag:'(0011,"GEMS_GENIE_1",3f)',vr:"SL",name:"DatasetFlags",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",44)':{tag:'(0011,"GEMS_GENIE_1",44)',vr:"FD",name:"ThresholdCenter",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",45)':{tag:'(0011,"GEMS_GENIE_1",45)',vr:"FD",name:"ThresholdWidth",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",46)':{tag:'(0011,"GEMS_GENIE_1",46)',vr:"SL",name:"InterpolationType",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",55)':{tag:'(0011,"GEMS_GENIE_1",55)',vr:"FD",name:"Period",vm:"1",version:"PrivateTag"},'(0011,"GEMS_GENIE_1",56)':{tag:'(0011,"GEMS_GENIE_1",56)',vr:"FD",name:"ElapsedTime",vm:"1",version:"PrivateTag"},'(0013,"GEMS_GENIE_1",10)':{tag:'(0013,"GEMS_GENIE_1",10)',vr:"FD",name:"DigitalFOV",vm:"2",version:"PrivateTag"},'(0013,"GEMS_GENIE_1",11)':{tag:'(0013,"GEMS_GENIE_1",11)',vr:"SL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0013,"GEMS_GENIE_1",12)':{tag:'(0013,"GEMS_GENIE_1",12)',vr:"SL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0013,"GEMS_GENIE_1",16)':{tag:'(0013,"GEMS_GENIE_1",16)',vr:"SL",name:"AutoTrackPeak",vm:"1",version:"PrivateTag"},'(0013,"GEMS_GENIE_1",17)':{tag:'(0013,"GEMS_GENIE_1",17)',vr:"SL",name:"AutoTrackWidth",vm:"1",version:"PrivateTag"},'(0013,"GEMS_GENIE_1",18)':{tag:'(0013,"GEMS_GENIE_1",18)',vr:"FD",name:"TransmissionScanTime",vm:"1",version:"PrivateTag"},'(0013,"GEMS_GENIE_1",19)':{tag:'(0013,"GEMS_GENIE_1",19)',vr:"FD",name:"TransmissionMaskWidth",vm:"1",version:"PrivateTag"},'(0013,"GEMS_GENIE_1",1a)':{tag:'(0013,"GEMS_GENIE_1",1a)',vr:"FD",name:"CopperAttenuatorThickness",vm:"1",version:"PrivateTag"},'(0013,"GEMS_GENIE_1",1c)':{tag:'(0013,"GEMS_GENIE_1",1c)',vr:"FD",name:"Unknown",vm:"1",version:"PrivateTag"},'(0013,"GEMS_GENIE_1",1d)':{tag:'(0013,"GEMS_GENIE_1",1d)',vr:"FD",name:"Unknown",vm:"1",version:"PrivateTag"},'(0013,"GEMS_GENIE_1",1e)':{tag:'(0013,"GEMS_GENIE_1",1e)',vr:"FD",name:"TomoViewOffset",vm:"1-n",version:"PrivateTag"},'(0013,"GEMS_GENIE_1",26)':{tag:'(0013,"GEMS_GENIE_1",26)',vr:"LT",name:"StudyComments",vm:"1",version:"PrivateTag"},'(0033,"GEMS_GNHD_01",01)':{tag:'(0033,"GEMS_GNHD_01",01)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0033,"GEMS_GNHD_01",02)':{tag:'(0033,"GEMS_GNHD_01",02)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_IDEN_01",01)':{tag:'(0009,"GEMS_IDEN_01",01)',vr:"LO",name:"FullFidelity",vm:"1",version:"PrivateTag"},'(0009,"GEMS_IDEN_01",02)':{tag:'(0009,"GEMS_IDEN_01",02)',vr:"SH",name:"SuiteId",vm:"1",version:"PrivateTag"},'(0009,"GEMS_IDEN_01",04)':{tag:'(0009,"GEMS_IDEN_01",04)',vr:"SH",name:"ProductId",vm:"1",version:"PrivateTag"},'(0009,"GEMS_IDEN_01",17)':{tag:'(0009,"GEMS_IDEN_01",17)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_IDEN_01",1a)':{tag:'(0009,"GEMS_IDEN_01",1a)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_IDEN_01",20)':{tag:'(0009,"GEMS_IDEN_01",20)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_IDEN_01",27)':{tag:'(0009,"GEMS_IDEN_01",27)',vr:"SL",name:"ImageActualDate",vm:"1",version:"PrivateTag"},'(0009,"GEMS_IDEN_01",2f)':{tag:'(0009,"GEMS_IDEN_01",2f)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_IDEN_01",30)':{tag:'(0009,"GEMS_IDEN_01",30)',vr:"SH",name:"ServiceId",vm:"1",version:"PrivateTag"},'(0009,"GEMS_IDEN_01",31)':{tag:'(0009,"GEMS_IDEN_01",31)',vr:"SH",name:"MobileLocationNumber",vm:"1",version:"PrivateTag"},'(0009,"GEMS_IDEN_01",e2)':{tag:'(0009,"GEMS_IDEN_01",e2)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_IDEN_01",e3)':{tag:'(0009,"GEMS_IDEN_01",e3)',vr:"UI",name:"EquipmentUID",vm:"1",version:"PrivateTag"},'(0009,"GEMS_IDEN_01",e6)':{tag:'(0009,"GEMS_IDEN_01",e6)',vr:"SH",name:"GenesisVersionNow",vm:"1",version:"PrivateTag"},'(0009,"GEMS_IDEN_01",e7)':{tag:'(0009,"GEMS_IDEN_01",e7)',vr:"UL",name:"ExamRecordChecksum",vm:"1",version:"PrivateTag"},'(0009,"GEMS_IDEN_01",e8)':{tag:'(0009,"GEMS_IDEN_01",e8)',vr:"UL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"GEMS_IDEN_01",e9)':{tag:'(0009,"GEMS_IDEN_01",e9)',vr:"SL",name:"ActualSeriesDataTimeStamp",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",06)':{tag:'(0027,"GEMS_IMAG_01",06)',vr:"SL",name:"ImageArchiveFlag",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",10)':{tag:'(0027,"GEMS_IMAG_01",10)',vr:"SS",name:"ScoutType",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",1c)':{tag:'(0027,"GEMS_IMAG_01",1c)',vr:"SL",name:"VmaMamp",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",1d)':{tag:'(0027,"GEMS_IMAG_01",1d)',vr:"SS",name:"VmaPhase",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",1e)':{tag:'(0027,"GEMS_IMAG_01",1e)',vr:"SL",name:"VmaMod",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",1f)':{tag:'(0027,"GEMS_IMAG_01",1f)',vr:"SL",name:"VmaClip",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",20)':{tag:'(0027,"GEMS_IMAG_01",20)',vr:"SS",name:"SmartScanOnOffFlag",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",30)':{tag:'(0027,"GEMS_IMAG_01",30)',vr:"SH",name:"ForeignImageRevision",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",31)':{tag:'(0027,"GEMS_IMAG_01",31)',vr:"SS",name:"ImagingMode",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",32)':{tag:'(0027,"GEMS_IMAG_01",32)',vr:"SS",name:"PulseSequence",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",33)':{tag:'(0027,"GEMS_IMAG_01",33)',vr:"SL",name:"ImagingOptions",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",35)':{tag:'(0027,"GEMS_IMAG_01",35)',vr:"SS",name:"PlaneType",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",36)':{tag:'(0027,"GEMS_IMAG_01",36)',vr:"SL",name:"ObliquePlane",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",40)':{tag:'(0027,"GEMS_IMAG_01",40)',vr:"SH",name:"RASLetterOfImageLocation",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",41)':{tag:'(0027,"GEMS_IMAG_01",41)',vr:"FL",name:"ImageLocation",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",42)':{tag:'(0027,"GEMS_IMAG_01",42)',vr:"FL",name:"CenterRCoordOfPlaneImage",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",43)':{tag:'(0027,"GEMS_IMAG_01",43)',vr:"FL",name:"CenterACoordOfPlaneImage",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",44)':{tag:'(0027,"GEMS_IMAG_01",44)',vr:"FL",name:"CenterSCoordOfPlaneImage",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",45)':{tag:'(0027,"GEMS_IMAG_01",45)',vr:"FL",name:"NormalRCoord",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",46)':{tag:'(0027,"GEMS_IMAG_01",46)',vr:"FL",name:"NormalACoord",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",47)':{tag:'(0027,"GEMS_IMAG_01",47)',vr:"FL",name:"NormalSCoord",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",48)':{tag:'(0027,"GEMS_IMAG_01",48)',vr:"FL",name:"RCoordOfTopRightCorner",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",49)':{tag:'(0027,"GEMS_IMAG_01",49)',vr:"FL",name:"ACoordOfTopRightCorner",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",4a)':{tag:'(0027,"GEMS_IMAG_01",4a)',vr:"FL",name:"SCoordOfTopRightCorner",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",4b)':{tag:'(0027,"GEMS_IMAG_01",4b)',vr:"FL",name:"RCoordOfBottomRightCorner",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",4c)':{tag:'(0027,"GEMS_IMAG_01",4c)',vr:"FL",name:"ACoordOfBottomRightCorner",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",4d)':{tag:'(0027,"GEMS_IMAG_01",4d)',vr:"FL",name:"SCoordOfBottomRightCorner",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",50)':{tag:'(0027,"GEMS_IMAG_01",50)',vr:"FL",name:"TableStartLocation",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",51)':{tag:'(0027,"GEMS_IMAG_01",51)',vr:"FL",name:"TableEndLocation",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",52)':{tag:'(0027,"GEMS_IMAG_01",52)',vr:"SH",name:"RASLetterForSideOfImage",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",53)':{tag:'(0027,"GEMS_IMAG_01",53)',vr:"SH",name:"RASLetterForAnteriorPosterior",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",54)':{tag:'(0027,"GEMS_IMAG_01",54)',vr:"SH",name:"RASLetterForScoutStartLoc",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",55)':{tag:'(0027,"GEMS_IMAG_01",55)',vr:"SH",name:"RASLetterForScoutEndLoc",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",60)':{tag:'(0027,"GEMS_IMAG_01",60)',vr:"FL",name:"ImageDimensionX",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",61)':{tag:'(0027,"GEMS_IMAG_01",61)',vr:"FL",name:"ImageDimensionY",vm:"1",version:"PrivateTag"},'(0027,"GEMS_IMAG_01",62)':{tag:'(0027,"GEMS_IMAG_01",62)',vr:"FL",name:"NumberOfExcitations",vm:"1",version:"PrivateTag"},'(0029,"GEMS_IMPS_01",04)':{tag:'(0029,"GEMS_IMPS_01",04)',vr:"SL",name:"LowerRangeOfPixels",vm:"1",version:"PrivateTag"},'(0029,"GEMS_IMPS_01",05)':{tag:'(0029,"GEMS_IMPS_01",05)',vr:"DS",name:"LowerRangeOfPixels",vm:"1",version:"PrivateTag"},'(0029,"GEMS_IMPS_01",06)':{tag:'(0029,"GEMS_IMPS_01",06)',vr:"DS",name:"LowerRangeOfPixels",vm:"1",version:"PrivateTag"},'(0029,"GEMS_IMPS_01",07)':{tag:'(0029,"GEMS_IMPS_01",07)',vr:"SL",name:"LowerRangeOfPixels",vm:"1",version:"PrivateTag"},'(0029,"GEMS_IMPS_01",08)':{tag:'(0029,"GEMS_IMPS_01",08)',vr:"SH",name:"LowerRangeOfPixels",vm:"1",version:"PrivateTag"},'(0029,"GEMS_IMPS_01",09)':{tag:'(0029,"GEMS_IMPS_01",09)',vr:"SH",name:"LowerRangeOfPixels",vm:"1",version:"PrivateTag"},'(0029,"GEMS_IMPS_01",0a)':{tag:'(0029,"GEMS_IMPS_01",0a)',vr:"SS",name:"LowerRangeOfPixels",vm:"1",version:"PrivateTag"},'(0029,"GEMS_IMPS_01",15)':{tag:'(0029,"GEMS_IMPS_01",15)',vr:"SL",name:"LowerRangeOfPixels",vm:"1",version:"PrivateTag"},'(0029,"GEMS_IMPS_01",16)':{tag:'(0029,"GEMS_IMPS_01",16)',vr:"SL",name:"LowerRangeOfPixels",vm:"1",version:"PrivateTag"},'(0029,"GEMS_IMPS_01",17)':{tag:'(0029,"GEMS_IMPS_01",17)',vr:"SL",name:"LowerRangeOfPixels",vm:"1",version:"PrivateTag"},'(0029,"GEMS_IMPS_01",18)':{tag:'(0029,"GEMS_IMPS_01",18)',vr:"SL",name:"UpperRangeOfPixels",vm:"1",version:"PrivateTag"},'(0029,"GEMS_IMPS_01",1a)':{tag:'(0029,"GEMS_IMPS_01",1a)',vr:"SL",name:"LengthOfTotalHeaderInBytes",vm:"1",version:"PrivateTag"},'(0029,"GEMS_IMPS_01",26)':{tag:'(0029,"GEMS_IMPS_01",26)',vr:"SS",name:"VersionOfHeaderStructure",vm:"1",version:"PrivateTag"},'(0029,"GEMS_IMPS_01",34)':{tag:'(0029,"GEMS_IMPS_01",34)',vr:"SL",name:"AdvantageCompOverflow",vm:"1",version:"PrivateTag"},'(0029,"GEMS_IMPS_01",35)':{tag:'(0029,"GEMS_IMPS_01",35)',vr:"SL",name:"AdvantageCompUnderflow",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",01)':{tag:'(0043,"GEMS_PARM_01",01)',vr:"SS",name:"BitmapOfPrescanOptions",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",02)':{tag:'(0043,"GEMS_PARM_01",02)',vr:"SS",name:"GradientOffsetInX",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",03)':{tag:'(0043,"GEMS_PARM_01",03)',vr:"SS",name:"GradientOffsetInY",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",04)':{tag:'(0043,"GEMS_PARM_01",04)',vr:"SS",name:"GradientOffsetInZ",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",05)':{tag:'(0043,"GEMS_PARM_01",05)',vr:"SS",name:"ImageIsOriginalOrUnoriginal",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",06)':{tag:'(0043,"GEMS_PARM_01",06)',vr:"SS",name:"NumberOfEPIShots",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",07)':{tag:'(0043,"GEMS_PARM_01",07)',vr:"SS",name:"ViewsPerSegment",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",08)':{tag:'(0043,"GEMS_PARM_01",08)',vr:"SS",name:"RespiratoryRateInBPM",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",09)':{tag:'(0043,"GEMS_PARM_01",09)',vr:"SS",name:"RespiratoryTriggerPoint",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",0a)':{tag:'(0043,"GEMS_PARM_01",0a)',vr:"SS",name:"TypeOfReceiverUsed",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",0b)':{tag:'(0043,"GEMS_PARM_01",0b)',vr:"DS",name:"PeakRateOfChangeOfGradientField",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",0c)':{tag:'(0043,"GEMS_PARM_01",0c)',vr:"DS",name:"LimitsInUnitsOfPercent",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",0d)':{tag:'(0043,"GEMS_PARM_01",0d)',vr:"DS",name:"PSDEstimatedLimit",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",0e)':{tag:'(0043,"GEMS_PARM_01",0e)',vr:"DS",name:"PSDEstimatedLimitInTeslaPerSecond",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",0f)':{tag:'(0043,"GEMS_PARM_01",0f)',vr:"DS",name:"SARAvgHead",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",10)':{tag:'(0043,"GEMS_PARM_01",10)',vr:"US",name:"WindowValue",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",11)':{tag:'(0043,"GEMS_PARM_01",11)',vr:"US",name:"TotalInputViews",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",12)':{tag:'(0043,"GEMS_PARM_01",12)',vr:"SS",name:"XrayChain",vm:"3",version:"PrivateTag"},'(0043,"GEMS_PARM_01",13)':{tag:'(0043,"GEMS_PARM_01",13)',vr:"SS",name:"ReconKernelParameters",vm:"5",version:"PrivateTag"},'(0043,"GEMS_PARM_01",14)':{tag:'(0043,"GEMS_PARM_01",14)',vr:"SS",name:"CalibrationParameters",vm:"3",version:"PrivateTag"},'(0043,"GEMS_PARM_01",15)':{tag:'(0043,"GEMS_PARM_01",15)',vr:"SS",name:"TotalOutputViews",vm:"3",version:"PrivateTag"},'(0043,"GEMS_PARM_01",16)':{tag:'(0043,"GEMS_PARM_01",16)',vr:"SS",name:"NumberOfOverranges",vm:"5",version:"PrivateTag"},'(0043,"GEMS_PARM_01",17)':{tag:'(0043,"GEMS_PARM_01",17)',vr:"DS",name:"IBHImageScaleFactors",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",18)':{tag:'(0043,"GEMS_PARM_01",18)',vr:"DS",name:"BBHCoefficients",vm:"3",version:"PrivateTag"},'(0043,"GEMS_PARM_01",19)':{tag:'(0043,"GEMS_PARM_01",19)',vr:"SS",name:"NumberOfBBHChainsToBlend",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",1a)':{tag:'(0043,"GEMS_PARM_01",1a)',vr:"SL",name:"StartingChannelNumber",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",1b)':{tag:'(0043,"GEMS_PARM_01",1b)',vr:"SS",name:"PPScanParameters",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",1c)':{tag:'(0043,"GEMS_PARM_01",1c)',vr:"SS",name:"GEImageIntegrity",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",1d)':{tag:'(0043,"GEMS_PARM_01",1d)',vr:"SS",name:"LevelValue",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",1e)':{tag:'(0043,"GEMS_PARM_01",1e)',vr:"DS",name:"DeltaStartTime",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",1f)':{tag:'(0043,"GEMS_PARM_01",1f)',vr:"SL",name:"MaxOverrangesInAView",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",20)':{tag:'(0043,"GEMS_PARM_01",20)',vr:"DS",name:"AvgOverrangesAllViews",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",21)':{tag:'(0043,"GEMS_PARM_01",21)',vr:"SS",name:"CorrectedAfterglowTerms",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",25)':{tag:'(0043,"GEMS_PARM_01",25)',vr:"SS",name:"ReferenceChannels",vm:"6",version:"PrivateTag"},'(0043,"GEMS_PARM_01",26)':{tag:'(0043,"GEMS_PARM_01",26)',vr:"US",name:"NoViewsRefChannelsBlocked",vm:"6",version:"PrivateTag"},'(0043,"GEMS_PARM_01",27)':{tag:'(0043,"GEMS_PARM_01",27)',vr:"SH",name:"ScanPitchRatio",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",28)':{tag:'(0043,"GEMS_PARM_01",28)',vr:"OB",name:"UniqueImageIdentifier",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",29)':{tag:'(0043,"GEMS_PARM_01",29)',vr:"OB",name:"HistogramTables",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",2a)':{tag:'(0043,"GEMS_PARM_01",2a)',vr:"OB",name:"UserDefinedData",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",2b)':{tag:'(0043,"GEMS_PARM_01",2b)',vr:"SS",name:"PrivateScanOptions",vm:"4",version:"PrivateTag"},'(0043,"GEMS_PARM_01",2c)':{tag:'(0043,"GEMS_PARM_01",2c)',vr:"SS",name:"EffectiveEchoSpacing",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",2d)':{tag:'(0043,"GEMS_PARM_01",2d)',vr:"SH",name:"StringSlopField1",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",2e)':{tag:'(0043,"GEMS_PARM_01",2e)',vr:"SH",name:"StringSlopField2",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",2f)':{tag:'(0043,"GEMS_PARM_01",2f)',vr:"SS",name:"RawDataType",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",30)':{tag:'(0043,"GEMS_PARM_01",30)',vr:"SS",name:"RawDataType",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",31)':{tag:'(0043,"GEMS_PARM_01",31)',vr:"DS",name:"RACoordOfTargetReconCentre",vm:"2",version:"PrivateTag"},'(0043,"GEMS_PARM_01",32)':{tag:'(0043,"GEMS_PARM_01",32)',vr:"SS",name:"RawDataType",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",33)':{tag:'(0043,"GEMS_PARM_01",33)',vr:"FL",name:"NegScanSpacing",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",34)':{tag:'(0043,"GEMS_PARM_01",34)',vr:"IS",name:"OffsetFrequency",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",35)':{tag:'(0043,"GEMS_PARM_01",35)',vr:"UL",name:"UserUsageTag",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",36)':{tag:'(0043,"GEMS_PARM_01",36)',vr:"UL",name:"UserFillMapMSW",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",37)':{tag:'(0043,"GEMS_PARM_01",37)',vr:"UL",name:"UserFillMapLSW",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",38)':{tag:'(0043,"GEMS_PARM_01",38)',vr:"FL",name:"User25ToUser48",vm:"24",version:"PrivateTag"},'(0043,"GEMS_PARM_01",39)':{tag:'(0043,"GEMS_PARM_01",39)',vr:"IS",name:"SlopInteger6ToSlopInteger9",vm:"4",version:"PrivateTag"},'(0043,"GEMS_PARM_01",40)':{tag:'(0043,"GEMS_PARM_01",40)',vr:"FL",name:"TriggerOnPosition",vm:"4",version:"PrivateTag"},'(0043,"GEMS_PARM_01",41)':{tag:'(0043,"GEMS_PARM_01",41)',vr:"FL",name:"DegreeOfRotation",vm:"4",version:"PrivateTag"},'(0043,"GEMS_PARM_01",42)':{tag:'(0043,"GEMS_PARM_01",42)',vr:"SL",name:"DASTriggerSource",vm:"4",version:"PrivateTag"},'(0043,"GEMS_PARM_01",43)':{tag:'(0043,"GEMS_PARM_01",43)',vr:"SL",name:"DASFpaGain",vm:"4",version:"PrivateTag"},'(0043,"GEMS_PARM_01",44)':{tag:'(0043,"GEMS_PARM_01",44)',vr:"SL",name:"DASOutputSource",vm:"4",version:"PrivateTag"},'(0043,"GEMS_PARM_01",45)':{tag:'(0043,"GEMS_PARM_01",45)',vr:"SL",name:"DASAdInput",vm:"4",version:"PrivateTag"},'(0043,"GEMS_PARM_01",46)':{tag:'(0043,"GEMS_PARM_01",46)',vr:"SL",name:"DASCalMode",vm:"4",version:"PrivateTag"},'(0043,"GEMS_PARM_01",47)':{tag:'(0043,"GEMS_PARM_01",47)',vr:"SL",name:"DASCalFrequency",vm:"4",version:"PrivateTag"},'(0043,"GEMS_PARM_01",48)':{tag:'(0043,"GEMS_PARM_01",48)',vr:"SL",name:"DASRegXm",vm:"4",version:"PrivateTag"},'(0043,"GEMS_PARM_01",49)':{tag:'(0043,"GEMS_PARM_01",49)',vr:"SL",name:"DASAutoZero",vm:"4",version:"PrivateTag"},'(0043,"GEMS_PARM_01",4a)':{tag:'(0043,"GEMS_PARM_01",4a)',vr:"SS",name:"StartingChannelOfView",vm:"4",version:"PrivateTag"},'(0043,"GEMS_PARM_01",4b)':{tag:'(0043,"GEMS_PARM_01",4b)',vr:"SL",name:"DASXmPattern",vm:"4",version:"PrivateTag"},'(0043,"GEMS_PARM_01",4c)':{tag:'(0043,"GEMS_PARM_01",4c)',vr:"SS",name:"TGGCTriggerMode",vm:"4",version:"PrivateTag"},'(0043,"GEMS_PARM_01",4d)':{tag:'(0043,"GEMS_PARM_01",4d)',vr:"FL",name:"StartScanToXrayOnDelay",vm:"4",version:"PrivateTag"},'(0043,"GEMS_PARM_01",4e)':{tag:'(0043,"GEMS_PARM_01",4e)',vr:"FL",name:"DurationOfXrayOn",vm:"4",version:"PrivateTag"},'(0043,"GEMS_PARM_01",60)':{tag:'(0043,"GEMS_PARM_01",60)',vr:"IS",name:"SlopInteger10ToSlopInteger17",vm:"8",version:"PrivateTag"},'(0043,"GEMS_PARM_01",61)':{tag:'(0043,"GEMS_PARM_01",61)',vr:"UI",name:"ScannerStudyEntityUID",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",62)':{tag:'(0043,"GEMS_PARM_01",62)',vr:"SH",name:"ScannerStudyID",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",6f)':{tag:'(0043,"GEMS_PARM_01",6f)',vr:"DS",name:"ScannerTableEntry",vm:"3",version:"PrivateTag"},'(0043,"GEMS_PARM_01",70)':{tag:'(0043,"GEMS_PARM_01",70)',vr:"LO",name:"ParadigmName",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",71)':{tag:'(0043,"GEMS_PARM_01",71)',vr:"ST",name:"ParadigmDescription",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",72)':{tag:'(0043,"GEMS_PARM_01",72)',vr:"UI",name:"ParadigmUID",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",73)':{tag:'(0043,"GEMS_PARM_01",73)',vr:"US",name:"ExperimentType",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",74)':{tag:'(0043,"GEMS_PARM_01",74)',vr:"US",name:"NumberOfRestVolumes",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",75)':{tag:'(0043,"GEMS_PARM_01",75)',vr:"US",name:"NumberOfActiveVolumes",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",76)':{tag:'(0043,"GEMS_PARM_01",76)',vr:"US",name:"NumberOfDummyScans",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",77)':{tag:'(0043,"GEMS_PARM_01",77)',vr:"SH",name:"ApplicationName",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",78)':{tag:'(0043,"GEMS_PARM_01",78)',vr:"SH",name:"ApplicationVersion",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",79)':{tag:'(0043,"GEMS_PARM_01",79)',vr:"US",name:"SlicesPerVolume",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",7a)':{tag:'(0043,"GEMS_PARM_01",7a)',vr:"US",name:"ExpectedTimePoints",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",7b)':{tag:'(0043,"GEMS_PARM_01",7b)',vr:"FL",name:"RegressorValues",vm:"1-n",version:"PrivateTag"},'(0043,"GEMS_PARM_01",7c)':{tag:'(0043,"GEMS_PARM_01",7c)',vr:"FL",name:"DelayAfterSliceGroup",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",7d)':{tag:'(0043,"GEMS_PARM_01",7d)',vr:"US",name:"ReconModeFlagWord",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",7e)':{tag:'(0043,"GEMS_PARM_01",7e)',vr:"LO",name:"PACCSpecificInformation",vm:"1-n",version:"PrivateTag"},'(0043,"GEMS_PARM_01",7f)':{tag:'(0043,"GEMS_PARM_01",7f)',vr:"DS",name:"EDWIScaleFactor",vm:"1-n",version:"PrivateTag"},'(0043,"GEMS_PARM_01",80)':{tag:'(0043,"GEMS_PARM_01",80)',vr:"LO",name:"CoilIDData",vm:"1-n",version:"PrivateTag"},'(0043,"GEMS_PARM_01",81)':{tag:'(0043,"GEMS_PARM_01",81)',vr:"LO",name:"GECoilName",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",82)':{tag:'(0043,"GEMS_PARM_01",82)',vr:"LO",name:"SystemConfigurationInformation",vm:"1-n",version:"PrivateTag"},'(0043,"GEMS_PARM_01",83)':{tag:'(0043,"GEMS_PARM_01",83)',vr:"DS",name:"AssetRFactors",vm:"1-2",version:"PrivateTag"},'(0043,"GEMS_PARM_01",84)':{tag:'(0043,"GEMS_PARM_01",84)',vr:"LO",name:"AdditionalAssetData",vm:"5-n",version:"PrivateTag"},'(0043,"GEMS_PARM_01",85)':{tag:'(0043,"GEMS_PARM_01",85)',vr:"UT",name:"DebugDataTextFormat",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",86)':{tag:'(0043,"GEMS_PARM_01",86)',vr:"OB",name:"DebugDataBinaryFormat",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",87)':{tag:'(0043,"GEMS_PARM_01",87)',vr:"UT",name:"ScannerSoftwareVersionLongForm",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",88)':{tag:'(0043,"GEMS_PARM_01",88)',vr:"UI",name:"PUREAcquisitionCalibrationSeriesUID",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",89)':{tag:'(0043,"GEMS_PARM_01",89)',vr:"LO",name:"GoverningBodydBdtAndSARDefinition",vm:"3",version:"PrivateTag"},'(0043,"GEMS_PARM_01",8a)':{tag:'(0043,"GEMS_PARM_01",8a)',vr:"CS",name:"PrivateInPlanePhaseEncodingDirection",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",8b)':{tag:'(0043,"GEMS_PARM_01",8b)',vr:"OB",name:"FMRIBinaryDataBlock",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",8c)':{tag:'(0043,"GEMS_PARM_01",8c)',vr:"DS",name:"VoxelLocation",vm:"6",version:"PrivateTag"},'(0043,"GEMS_PARM_01",8d)':{tag:'(0043,"GEMS_PARM_01",8d)',vr:"DS",name:"SATBandLocations",vm:"7-7n",version:"PrivateTag"},'(0043,"GEMS_PARM_01",8e)':{tag:'(0043,"GEMS_PARM_01",8e)',vr:"DS",name:"SpectroPrescanValues",vm:"3",version:"PrivateTag"},'(0043,"GEMS_PARM_01",8f)':{tag:'(0043,"GEMS_PARM_01",8f)',vr:"DS",name:"SpectroParameters",vm:"3",version:"PrivateTag"},'(0043,"GEMS_PARM_01",90)':{tag:'(0043,"GEMS_PARM_01",90)',vr:"LO",name:"SARDefinition",vm:"1-n",version:"PrivateTag"},'(0043,"GEMS_PARM_01",91)':{tag:'(0043,"GEMS_PARM_01",91)',vr:"DS",name:"SARValue",vm:"1-n",version:"PrivateTag"},'(0043,"GEMS_PARM_01",92)':{tag:'(0043,"GEMS_PARM_01",92)',vr:"LO",name:"ImageErrorText",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",93)':{tag:'(0043,"GEMS_PARM_01",93)',vr:"DS",name:"SpectroQuantitationValues",vm:"1-n",version:"PrivateTag"},'(0043,"GEMS_PARM_01",94)':{tag:'(0043,"GEMS_PARM_01",94)',vr:"DS",name:"SpectroRatioValues",vm:"1-n",version:"PrivateTag"},'(0043,"GEMS_PARM_01",95)':{tag:'(0043,"GEMS_PARM_01",95)',vr:"LO",name:"PrescanReuseString",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",96)':{tag:'(0043,"GEMS_PARM_01",96)',vr:"CS",name:"ContentQualification",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",97)':{tag:'(0043,"GEMS_PARM_01",97)',vr:"LO",name:"ImageFilteringParameters",vm:"9",version:"PrivateTag"},'(0043,"GEMS_PARM_01",98)':{tag:'(0043,"GEMS_PARM_01",98)',vr:"UI",name:"ASSETAcquisitionCalibrationSeriesUID",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",99)':{tag:'(0043,"GEMS_PARM_01",99)',vr:"LO",name:"ExtendedOptions",vm:"1-n",version:"PrivateTag"},'(0043,"GEMS_PARM_01",9a)':{tag:'(0043,"GEMS_PARM_01",9a)',vr:"IS",name:"RxStackIdentification",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",9b)':{tag:'(0043,"GEMS_PARM_01",9b)',vr:"DS",name:"NPWFactor",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",9c)':{tag:'(0043,"GEMS_PARM_01",9c)',vr:"OB",name:"ResearchTag1",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",9d)':{tag:'(0043,"GEMS_PARM_01",9d)',vr:"OB",name:"ResearchTag2",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",9e)':{tag:'(0043,"GEMS_PARM_01",9e)',vr:"OB",name:"ResearchTag3",vm:"1",version:"PrivateTag"},'(0043,"GEMS_PARM_01",9f)':{tag:'(0043,"GEMS_PARM_01",9f)',vr:"OB",name:"ResearchTag4",vm:"1",version:"PrivateTag"},'(0011,"GEMS_PATI_01",10)':{tag:'(0011,"GEMS_PATI_01",10)',vr:"SS",name:"PatientStatus",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",03)':{tag:'(0021,"GEMS_RELA_01",03)',vr:"SS",name:"SeriesFromWhichPrescribed",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",05)':{tag:'(0021,"GEMS_RELA_01",05)',vr:"SH",name:"GenesisVersionNow",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",07)':{tag:'(0021,"GEMS_RELA_01",07)',vr:"UL",name:"SeriesRecordChecksum",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",15)':{tag:'(0021,"GEMS_RELA_01",15)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",16)':{tag:'(0021,"GEMS_RELA_01",16)',vr:"SS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",18)':{tag:'(0021,"GEMS_RELA_01",18)',vr:"SH",name:"GenesisVersionNow",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",19)':{tag:'(0021,"GEMS_RELA_01",19)',vr:"UL",name:"AcqReconRecordChecksum",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",20)':{tag:'(0021,"GEMS_RELA_01",20)',vr:"DS",name:"TableStartLocation",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",35)':{tag:'(0021,"GEMS_RELA_01",35)',vr:"SS",name:"SeriesFromWhichPrescribed",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",36)':{tag:'(0021,"GEMS_RELA_01",36)',vr:"SS",name:"ImageFromWhichPrescribed",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",37)':{tag:'(0021,"GEMS_RELA_01",37)',vr:"SS",name:"ScreenFormat",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",4a)':{tag:'(0021,"GEMS_RELA_01",4a)',vr:"LO",name:"AnatomicalReferenceForScout",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",4e)':{tag:'(0021,"GEMS_RELA_01",4e)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",4f)':{tag:'(0021,"GEMS_RELA_01",4f)',vr:"SS",name:"LocationsInAcquisition",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",50)':{tag:'(0021,"GEMS_RELA_01",50)',vr:"SS",name:"GraphicallyPrescribed",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",51)':{tag:'(0021,"GEMS_RELA_01",51)',vr:"DS",name:"RotationFromSourceXRot",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",52)':{tag:'(0021,"GEMS_RELA_01",52)',vr:"DS",name:"RotationFromSourceYRot",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",53)':{tag:'(0021,"GEMS_RELA_01",53)',vr:"DS",name:"RotationFromSourceZRot",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",54)':{tag:'(0021,"GEMS_RELA_01",54)',vr:"SH",name:"ImagePosition",vm:"3",version:"PrivateTag"},'(0021,"GEMS_RELA_01",55)':{tag:'(0021,"GEMS_RELA_01",55)',vr:"SH",name:"ImageOrientation",vm:"6",version:"PrivateTag"},'(0021,"GEMS_RELA_01",56)':{tag:'(0021,"GEMS_RELA_01",56)',vr:"SL",name:"IntegerSlop",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",57)':{tag:'(0021,"GEMS_RELA_01",57)',vr:"SL",name:"IntegerSlop",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",58)':{tag:'(0021,"GEMS_RELA_01",58)',vr:"SL",name:"IntegerSlop",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",59)':{tag:'(0021,"GEMS_RELA_01",59)',vr:"SL",name:"IntegerSlop",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",5a)':{tag:'(0021,"GEMS_RELA_01",5a)',vr:"SL",name:"IntegerSlop",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",5b)':{tag:'(0021,"GEMS_RELA_01",5b)',vr:"DS",name:"FloatSlop",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",5c)':{tag:'(0021,"GEMS_RELA_01",5c)',vr:"DS",name:"FloatSlop",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",5d)':{tag:'(0021,"GEMS_RELA_01",5d)',vr:"DS",name:"FloatSlop",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",5e)':{tag:'(0021,"GEMS_RELA_01",5e)',vr:"DS",name:"FloatSlop",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",5f)':{tag:'(0021,"GEMS_RELA_01",5f)',vr:"DS",name:"FloatSlop",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",70)':{tag:'(0021,"GEMS_RELA_01",70)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",71)':{tag:'(0021,"GEMS_RELA_01",71)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",81)':{tag:'(0021,"GEMS_RELA_01",81)',vr:"DS",name:"AutoWindowLevelAlpha",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",82)':{tag:'(0021,"GEMS_RELA_01",82)',vr:"DS",name:"AutoWindowLevelBeta",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",83)':{tag:'(0021,"GEMS_RELA_01",83)',vr:"DS",name:"AutoWindowLevelWindow",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",84)':{tag:'(0021,"GEMS_RELA_01",84)',vr:"DS",name:"AutoWindowLevelLevel",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",90)':{tag:'(0021,"GEMS_RELA_01",90)',vr:"SS",name:"TubeFocalSpotPosition",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",91)':{tag:'(0021,"GEMS_RELA_01",91)',vr:"SS",name:"BiopsyPosition",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",92)':{tag:'(0021,"GEMS_RELA_01",92)',vr:"FL",name:"BiopsyTLocation",vm:"1",version:"PrivateTag"},'(0021,"GEMS_RELA_01",93)':{tag:'(0021,"GEMS_RELA_01",93)',vr:"FL",name:"BiopsyRefLocation",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",04)':{tag:'(0045,"GEMS_SENO_02",04)',vr:"CS",name:"AES",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",06)':{tag:'(0045,"GEMS_SENO_02",06)',vr:"DS",name:"Angulation",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",09)':{tag:'(0045,"GEMS_SENO_02",09)',vr:"DS",name:"RealMagnificationFactor",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",0b)':{tag:'(0045,"GEMS_SENO_02",0b)',vr:"CS",name:"SenographType",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",0c)':{tag:'(0045,"GEMS_SENO_02",0c)',vr:"DS",name:"IntegrationTime",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",0d)':{tag:'(0045,"GEMS_SENO_02",0d)',vr:"DS",name:"ROIOriginXY",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",11)':{tag:'(0045,"GEMS_SENO_02",11)',vr:"DS",name:"ReceptorSizeCmXY",vm:"2",version:"PrivateTag"},'(0045,"GEMS_SENO_02",12)':{tag:'(0045,"GEMS_SENO_02",12)',vr:"IS",name:"ReceptorSizePixelsXY",vm:"2",version:"PrivateTag"},'(0045,"GEMS_SENO_02",13)':{tag:'(0045,"GEMS_SENO_02",13)',vr:"ST",name:"Screen",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",14)':{tag:'(0045,"GEMS_SENO_02",14)',vr:"DS",name:"PixelPitchMicrons",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",15)':{tag:'(0045,"GEMS_SENO_02",15)',vr:"IS",name:"PixelDepthBits",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",16)':{tag:'(0045,"GEMS_SENO_02",16)',vr:"IS",name:"BinningFactorXY",vm:"2",version:"PrivateTag"},'(0045,"GEMS_SENO_02",1B)':{tag:'(0045,"GEMS_SENO_02",1B)',vr:"CS",name:"ClinicalView",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",1D)':{tag:'(0045,"GEMS_SENO_02",1D)',vr:"DS",name:"MeanOfRawGrayLevels",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",1E)':{tag:'(0045,"GEMS_SENO_02",1E)',vr:"DS",name:"MeanOfOffsetGrayLevels",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",1F)':{tag:'(0045,"GEMS_SENO_02",1F)',vr:"DS",name:"MeanOfCorrectedGrayLevels",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",20)':{tag:'(0045,"GEMS_SENO_02",20)',vr:"DS",name:"MeanOfRegionGrayLevels",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",21)':{tag:'(0045,"GEMS_SENO_02",21)',vr:"DS",name:"MeanOfLogRegionGrayLevels",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",22)':{tag:'(0045,"GEMS_SENO_02",22)',vr:"DS",name:"StandardDeviationOfRawGrayLevels",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",23)':{tag:'(0045,"GEMS_SENO_02",23)',vr:"DS",name:"StandardDeviationOfCorrectedGrayLevels",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",24)':{tag:'(0045,"GEMS_SENO_02",24)',vr:"DS",name:"StandardDeviationOfRegionGrayLevels",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",25)':{tag:'(0045,"GEMS_SENO_02",25)',vr:"DS",name:"StandardDeviationOfLogRegionGrayLevels",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",26)':{tag:'(0045,"GEMS_SENO_02",26)',vr:"OB",name:"MAOBuffer",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",27)':{tag:'(0045,"GEMS_SENO_02",27)',vr:"IS",name:"SetNumber",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",28)':{tag:'(0045,"GEMS_SENO_02",28)',vr:"CS",name:"WindowingType",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",29)':{tag:'(0045,"GEMS_SENO_02",29)',vr:"DS",name:"WindowingParameters",vm:"1-n",version:"PrivateTag"},'(0045,"GEMS_SENO_02",2a)':{tag:'(0045,"GEMS_SENO_02",2a)',vr:"IS",name:"CrosshairCursorXCoordinates",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",2b)':{tag:'(0045,"GEMS_SENO_02",2b)',vr:"IS",name:"CrosshairCursorYCoordinates",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",39)':{tag:'(0045,"GEMS_SENO_02",39)',vr:"US",name:"VignetteRows",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",3a)':{tag:'(0045,"GEMS_SENO_02",3a)',vr:"US",name:"VignetteColumns",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",3b)':{tag:'(0045,"GEMS_SENO_02",3b)',vr:"US",name:"VignetteBitsAllocated",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",3c)':{tag:'(0045,"GEMS_SENO_02",3c)',vr:"US",name:"VignetteBitsStored",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",3d)':{tag:'(0045,"GEMS_SENO_02",3d)',vr:"US",name:"VignetteHighBit",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",3e)':{tag:'(0045,"GEMS_SENO_02",3e)',vr:"US",name:"VignettePixelRepresentation",vm:"1",version:"PrivateTag"},'(0045,"GEMS_SENO_02",3f)':{tag:'(0045,"GEMS_SENO_02",3f)',vr:"OB",name:"VignettePixelData",vm:"1",version:"PrivateTag"},'(0025,"GEMS_SERS_01",06)':{tag:'(0025,"GEMS_SERS_01",06)',vr:"SS",name:"LastPulseSequenceUsed",vm:"1",version:"PrivateTag"},'(0025,"GEMS_SERS_01",07)':{tag:'(0025,"GEMS_SERS_01",07)',vr:"SL",name:"ImagesInSeries",vm:"1",version:"PrivateTag"},'(0025,"GEMS_SERS_01",10)':{tag:'(0025,"GEMS_SERS_01",10)',vr:"SL",name:"LandmarkCounter",vm:"1",version:"PrivateTag"},'(0025,"GEMS_SERS_01",11)':{tag:'(0025,"GEMS_SERS_01",11)',vr:"SS",name:"NumberOfAcquisitions",vm:"1",version:"PrivateTag"},'(0025,"GEMS_SERS_01",14)':{tag:'(0025,"GEMS_SERS_01",14)',vr:"SL",name:"IndicatesNumberOfUpdatesToHeader",vm:"1",version:"PrivateTag"},'(0025,"GEMS_SERS_01",17)':{tag:'(0025,"GEMS_SERS_01",17)',vr:"SL",name:"SeriesCompleteFlag",vm:"1",version:"PrivateTag"},'(0025,"GEMS_SERS_01",18)':{tag:'(0025,"GEMS_SERS_01",18)',vr:"SL",name:"NumberOfImagesArchived",vm:"1",version:"PrivateTag"},'(0025,"GEMS_SERS_01",19)':{tag:'(0025,"GEMS_SERS_01",19)',vr:"SL",name:"LastImageNumberUsed",vm:"1",version:"PrivateTag"},'(0025,"GEMS_SERS_01",1a)':{tag:'(0025,"GEMS_SERS_01",1a)',vr:"SH",name:"PrimaryReceiverSuiteAndHost",vm:"1",version:"PrivateTag"},'(0023,"GEMS_STDY_01",01)':{tag:'(0023,"GEMS_STDY_01",01)',vr:"SL",name:"NumberOfSeriesInStudy",vm:"1",version:"PrivateTag"},'(0023,"GEMS_STDY_01",02)':{tag:'(0023,"GEMS_STDY_01",02)',vr:"SL",name:"NumberOfUnarchivedSeries",vm:"1",version:"PrivateTag"},'(0023,"GEMS_STDY_01",10)':{tag:'(0023,"GEMS_STDY_01",10)',vr:"SS",name:"ReferenceImageField",vm:"1",version:"PrivateTag"},'(0023,"GEMS_STDY_01",50)':{tag:'(0023,"GEMS_STDY_01",50)',vr:"SS",name:"SummaryImage",vm:"1",version:"PrivateTag"},'(0023,"GEMS_STDY_01",70)':{tag:'(0023,"GEMS_STDY_01",70)',vr:"FD",name:"StartTimeSecsInFirstAxial",vm:"1",version:"PrivateTag"},'(0023,"GEMS_STDY_01",74)':{tag:'(0023,"GEMS_STDY_01",74)',vr:"SL",name:"NumberOfUpdatesToHeader",vm:"1",version:"PrivateTag"},'(0023,"GEMS_STDY_01",7d)':{tag:'(0023,"GEMS_STDY_01",7d)',vr:"SS",name:"IndicatesIfStudyHasCompleteInfo",vm:"1",version:"PrivateTag"},'(0033,"GEMS_YMHD_01",05)':{tag:'(0033,"GEMS_YMHD_01",05)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0033,"GEMS_YMHD_01",06)':{tag:'(0033,"GEMS_YMHD_01",06)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"GE_GENESIS_REV3.0",39)':{tag:'(0019,"GE_GENESIS_REV3.0",39)',vr:"SS",name:"AxialType",vm:"1",version:"PrivateTag"},'(0019,"GE_GENESIS_REV3.0",8f)':{tag:'(0019,"GE_GENESIS_REV3.0",8f)',vr:"SS",name:"SwapPhaseFrequency",vm:"1",version:"PrivateTag"},'(0019,"GE_GENESIS_REV3.0",9c)':{tag:'(0019,"GE_GENESIS_REV3.0",9c)',vr:"SS",name:"PulseSequenceName",vm:"1",version:"PrivateTag"},'(0019,"GE_GENESIS_REV3.0",9f)':{tag:'(0019,"GE_GENESIS_REV3.0",9f)',vr:"SS",name:"CoilType",vm:"1",version:"PrivateTag"},'(0019,"GE_GENESIS_REV3.0",a4)':{tag:'(0019,"GE_GENESIS_REV3.0",a4)',vr:"SS",name:"SATFatWaterBone",vm:"1",version:"PrivateTag"},'(0019,"GE_GENESIS_REV3.0",c0)':{tag:'(0019,"GE_GENESIS_REV3.0",c0)',vr:"SS",name:"BitmapOfSATSelections",vm:"1",version:"PrivateTag"},'(0019,"GE_GENESIS_REV3.0",c1)':{tag:'(0019,"GE_GENESIS_REV3.0",c1)',vr:"SS",name:"SurfaceCoilIntensityCorrectionFlag",vm:"1",version:"PrivateTag"},'(0019,"GE_GENESIS_REV3.0",cb)':{tag:'(0019,"GE_GENESIS_REV3.0",cb)',vr:"SS",name:"PhaseContrastFlowAxis",vm:"1",version:"PrivateTag"},'(0019,"GE_GENESIS_REV3.0",cc)':{tag:'(0019,"GE_GENESIS_REV3.0",cc)',vr:"SS",name:"PhaseContrastVelocityEncoding",vm:"1",version:"PrivateTag"},'(0019,"GE_GENESIS_REV3.0",d5)':{tag:'(0019,"GE_GENESIS_REV3.0",d5)',vr:"SS",name:"FractionalEcho",vm:"1",version:"PrivateTag"},'(0019,"GE_GENESIS_REV3.0",d8)':{tag:'(0019,"GE_GENESIS_REV3.0",d8)',vr:"SS",name:"VariableEchoFlag",vm:"1",version:"PrivateTag"},'(0019,"GE_GENESIS_REV3.0",d9)':{tag:'(0019,"GE_GENESIS_REV3.0",d9)',vr:"DS",name:"ConcatenatedSat",vm:"1",version:"PrivateTag"},'(0019,"GE_GENESIS_REV3.0",f2)':{tag:'(0019,"GE_GENESIS_REV3.0",f2)',vr:"SS",name:"NumberOfPhases",vm:"1",version:"PrivateTag"},'(0043,"GE_GENESIS_REV3.0",1e)':{tag:'(0043,"GE_GENESIS_REV3.0",1e)',vr:"DS",name:"DeltaStartTime",vm:"1",version:"PrivateTag"},'(0043,"GE_GENESIS_REV3.0",27)':{tag:'(0043,"GE_GENESIS_REV3.0",27)',vr:"SH",name:"ScanPitchRatio",vm:"1",version:"PrivateTag"},'(0029,"INTELERAD MEDICAL SYSTEMS",01)':{tag:'(0029,"INTELERAD MEDICAL SYSTEMS",01)',vr:"FD",name:"ImageCompressionFraction",vm:"1",version:"PrivateTag"},'(0029,"INTELERAD MEDICAL SYSTEMS",02)':{tag:'(0029,"INTELERAD MEDICAL SYSTEMS",02)',vr:"FD",name:"ImageQuality",vm:"1",version:"PrivateTag"},'(0029,"INTELERAD MEDICAL SYSTEMS",03)':{tag:'(0029,"INTELERAD MEDICAL SYSTEMS",03)',vr:"FD",name:"ImageBytesTransferred",vm:"1",version:"PrivateTag"},'(0029,"INTELERAD MEDICAL SYSTEMS",10)':{tag:'(0029,"INTELERAD MEDICAL SYSTEMS",10)',vr:"SH",name:"J2cParameterType",vm:"1",version:"PrivateTag"},'(0029,"INTELERAD MEDICAL SYSTEMS",11)':{tag:'(0029,"INTELERAD MEDICAL SYSTEMS",11)',vr:"US",name:"J2cPixelRepresentation",vm:"1",version:"PrivateTag"},'(0029,"INTELERAD MEDICAL SYSTEMS",12)':{tag:'(0029,"INTELERAD MEDICAL SYSTEMS",12)',vr:"US",name:"J2cBitsAllocated",vm:"1",version:"PrivateTag"},'(0029,"INTELERAD MEDICAL SYSTEMS",13)':{tag:'(0029,"INTELERAD MEDICAL SYSTEMS",13)',vr:"US",name:"J2cPixelShiftValue",vm:"1",version:"PrivateTag"},'(0029,"INTELERAD MEDICAL SYSTEMS",14)':{tag:'(0029,"INTELERAD MEDICAL SYSTEMS",14)',vr:"US",name:"J2cPlanarConfiguration",vm:"1",version:"PrivateTag"},'(0029,"INTELERAD MEDICAL SYSTEMS",15)':{tag:'(0029,"INTELERAD MEDICAL SYSTEMS",15)',vr:"DS",name:"J2cRescaleIntercept",vm:"1",version:"PrivateTag"},'(0029,"INTELERAD MEDICAL SYSTEMS",20)':{tag:'(0029,"INTELERAD MEDICAL SYSTEMS",20)',vr:"LO",name:"PixelDataMD5SumPerFrame",vm:"1",version:"PrivateTag"},'(0029,"INTELERAD MEDICAL SYSTEMS",21)':{tag:'(0029,"INTELERAD MEDICAL SYSTEMS",21)',vr:"US",name:"HistogramPercentileLabels",vm:"1",version:"PrivateTag"},'(0029,"INTELERAD MEDICAL SYSTEMS",22)':{tag:'(0029,"INTELERAD MEDICAL SYSTEMS",22)',vr:"FD",name:"HistogramPercentileValues",vm:"1",version:"PrivateTag"},'(3f01,"INTELERAD MEDICAL SYSTEMS",01)':{tag:'(3f01,"INTELERAD MEDICAL SYSTEMS",01)',vr:"LO",name:"InstitutionCode",vm:"1",version:"PrivateTag"},'(3f01,"INTELERAD MEDICAL SYSTEMS",02)':{tag:'(3f01,"INTELERAD MEDICAL SYSTEMS",02)',vr:"LO",name:"RoutedTransferAE",vm:"1",version:"PrivateTag"},'(3f01,"INTELERAD MEDICAL SYSTEMS",03)':{tag:'(3f01,"INTELERAD MEDICAL SYSTEMS",03)',vr:"LO",name:"SourceAE",vm:"1",version:"PrivateTag"},'(3f01,"INTELERAD MEDICAL SYSTEMS",04)':{tag:'(3f01,"INTELERAD MEDICAL SYSTEMS",04)',vr:"SH",name:"DeferredValidation",vm:"1",version:"PrivateTag"},'(3f01,"INTELERAD MEDICAL SYSTEMS",05)':{tag:'(3f01,"INTELERAD MEDICAL SYSTEMS",05)',vr:"LO",name:"SeriesOwner",vm:"1",version:"PrivateTag"},'(3f01,"INTELERAD MEDICAL SYSTEMS",06)':{tag:'(3f01,"INTELERAD MEDICAL SYSTEMS",06)',vr:"LO",name:"OrderGroupNumber",vm:"1",version:"PrivateTag"},'(3f01,"INTELERAD MEDICAL SYSTEMS",07)':{tag:'(3f01,"INTELERAD MEDICAL SYSTEMS",07)',vr:"SH",name:"StrippedPixelData",vm:"1",version:"PrivateTag"},'(3f01,"INTELERAD MEDICAL SYSTEMS",08)':{tag:'(3f01,"INTELERAD MEDICAL SYSTEMS",08)',vr:"SH",name:"PendingMoveRequest",vm:"1",version:"PrivateTag"},'(0041,"INTEGRIS 1.0",20)':{tag:'(0041,"INTEGRIS 1.0",20)',vr:"FL",name:"AccumulatedFluoroscopyDose",vm:"1",version:"PrivateTag"},'(0041,"INTEGRIS 1.0",30)':{tag:'(0041,"INTEGRIS 1.0",30)',vr:"FL",name:"AccumulatedExposureDose",vm:"1",version:"PrivateTag"},'(0041,"INTEGRIS 1.0",40)':{tag:'(0041,"INTEGRIS 1.0",40)',vr:"FL",name:"TotalDose",vm:"1",version:"PrivateTag"},'(0041,"INTEGRIS 1.0",41)':{tag:'(0041,"INTEGRIS 1.0",41)',vr:"FL",name:"TotalNumberOfFrames",vm:"1",version:"PrivateTag"},'(0041,"INTEGRIS 1.0",50)':{tag:'(0041,"INTEGRIS 1.0",50)',vr:"SQ",name:"ExposureInformationSequence",vm:"1",version:"PrivateTag"},'(0009,"INTEGRIS 1.0",08)':{tag:'(0009,"INTEGRIS 1.0",08)',vr:"CS",name:"ExposureChannel",vm:"1-n",version:"PrivateTag"},'(0009,"INTEGRIS 1.0",32)':{tag:'(0009,"INTEGRIS 1.0",32)',vr:"TM",name:"ExposureStartTime",vm:"1",version:"PrivateTag"},'(0019,"INTEGRIS 1.0",00)':{tag:'(0019,"INTEGRIS 1.0",00)',vr:"LO",name:"APRName",vm:"1",version:"PrivateTag"},'(0019,"INTEGRIS 1.0",40)':{tag:'(0019,"INTEGRIS 1.0",40)',vr:"DS",name:"FrameRate",vm:"1",version:"PrivateTag"},'(0021,"INTEGRIS 1.0",12)':{tag:'(0021,"INTEGRIS 1.0",12)',vr:"IS",name:"ExposureNumber",vm:"1",version:"PrivateTag"},'(0029,"INTEGRIS 1.0",08)':{tag:'(0029,"INTEGRIS 1.0",08)',vr:"IS",name:"NumberOfExposureResults",vm:"1",version:"PrivateTag"},'(0029,"ISG shadow",70)':{tag:'(0029,"ISG shadow",70)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"ISG shadow",80)':{tag:'(0029,"ISG shadow",80)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"ISG shadow",90)':{tag:'(0029,"ISG shadow",90)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"ISI",01)':{tag:'(0009,"ISI",01)',vr:"UN",name:"SIENETGeneralPurposeIMGEF",vm:"1",version:"PrivateTag"},'(0009,"MERGE TECHNOLOGIES, INC.",00)':{tag:'(0009,"MERGE TECHNOLOGIES, INC.",00)',vr:"OB",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"OCULUS Optikgeraete GmbH",1010)':{tag:'(0029,"OCULUS Optikgeraete GmbH",1010)',vr:"OB",name:"OriginalMeasuringData",vm:"1",version:"PrivateTag"},'(0029,"OCULUS Optikgeraete GmbH",1012)':{tag:'(0029,"OCULUS Optikgeraete GmbH",1012)',vr:"UL",name:"OriginalMeasuringDataLength",vm:"1",version:"PrivateTag"},'(0029,"OCULUS Optikgeraete GmbH",1020)':{tag:'(0029,"OCULUS Optikgeraete GmbH",1020)',vr:"OB",name:"OriginalMeasuringRawData",vm:"1",version:"PrivateTag"},'(0029,"OCULUS Optikgeraete GmbH",1022)':{tag:'(0029,"OCULUS Optikgeraete GmbH",1022)',vr:"UL",name:"OriginalMeasuringRawDataLength",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS 3.0",00)':{tag:'(0041,"PAPYRUS 3.0",00)',vr:"LT",name:"PapyrusComments",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS 3.0",10)':{tag:'(0041,"PAPYRUS 3.0",10)',vr:"SQ",name:"PointerSequence",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS 3.0",11)':{tag:'(0041,"PAPYRUS 3.0",11)',vr:"UL",name:"ImagePointer",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS 3.0",12)':{tag:'(0041,"PAPYRUS 3.0",12)',vr:"UL",name:"PixelOffset",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS 3.0",13)':{tag:'(0041,"PAPYRUS 3.0",13)',vr:"SQ",name:"ImageIdentifierSequence",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS 3.0",14)':{tag:'(0041,"PAPYRUS 3.0",14)',vr:"SQ",name:"ExternalFileReferenceSequence",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS 3.0",15)':{tag:'(0041,"PAPYRUS 3.0",15)',vr:"US",name:"NumberOfImages",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS 3.0",21)':{tag:'(0041,"PAPYRUS 3.0",21)',vr:"UI",name:"ReferencedSOPClassUID",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS 3.0",22)':{tag:'(0041,"PAPYRUS 3.0",22)',vr:"UI",name:"ReferencedSOPInstanceUID",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS 3.0",31)':{tag:'(0041,"PAPYRUS 3.0",31)',vr:"LT",name:"ReferencedFileName",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS 3.0",32)':{tag:'(0041,"PAPYRUS 3.0",32)',vr:"LT",name:"ReferencedFilePath",vm:"1-n",version:"PrivateTag"},'(0041,"PAPYRUS 3.0",41)':{tag:'(0041,"PAPYRUS 3.0",41)',vr:"UI",name:"ReferencedImageSOPClassUID",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS 3.0",42)':{tag:'(0041,"PAPYRUS 3.0",42)',vr:"UI",name:"ReferencedImageSOPInstanceUID",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS 3.0",50)':{tag:'(0041,"PAPYRUS 3.0",50)',vr:"SQ",name:"ImageSequence",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",00)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",00)',vr:"IS",name:"OverlayID",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",01)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",01)',vr:"LT",name:"LinkedOverlays",vm:"1-n",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",10)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",10)',vr:"US",name:"OverlayRows",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",11)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",11)',vr:"US",name:"OverlayColumns",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",40)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",40)',vr:"LO",name:"OverlayType",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",50)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",50)',vr:"US",name:"OverlayOrigin",vm:"1-n",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",60)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",60)',vr:"LO",name:"Editable",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",70)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",70)',vr:"LO",name:"OverlayFont",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",72)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",72)',vr:"LO",name:"OverlayStyle",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",74)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",74)',vr:"US",name:"OverlayFontSize",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",76)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",76)',vr:"LO",name:"OverlayColor",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",78)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",78)',vr:"US",name:"ShadowSize",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",80)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",80)',vr:"LO",name:"FillPattern",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",82)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",82)',vr:"US",name:"OverlayPenSize",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",a0)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",a0)',vr:"LO",name:"Label",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",a2)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",a2)',vr:"LT",name:"PostItText",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",a4)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",a4)',vr:"US",name:"AnchorPoint",vm:"2",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",b0)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",b0)',vr:"LO",name:"ROIType",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",b2)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",b2)',vr:"LT",name:"AttachedAnnotation",vm:"1",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",ba)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",ba)',vr:"US",name:"ContourPoints",vm:"1-n",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",bc)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",bc)',vr:"US",name:"MaskData",vm:"1-n",version:"PrivateTag"},'(6001-o-60ff,"PAPYRUS 3.0",c0)':{tag:'(6001-o-60ff,"PAPYRUS 3.0",c0)',vr:"SQ",name:"UINOverlaySequence",vm:"1",version:"PrivateTag"},'(0009,"PAPYRUS",00)':{tag:'(0009,"PAPYRUS",00)',vr:"LT",name:"OriginalFileName",vm:"1",version:"PrivateTag"},'(0009,"PAPYRUS",10)':{tag:'(0009,"PAPYRUS",10)',vr:"LT",name:"OriginalFileLocation",vm:"1",version:"PrivateTag"},'(0009,"PAPYRUS",18)':{tag:'(0009,"PAPYRUS",18)',vr:"LT",name:"DataSetIdentifier",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS",00)':{tag:'(0041,"PAPYRUS",00)',vr:"LT",name:"PapyrusComments",vm:"1-n",version:"PrivateTag"},'(0041,"PAPYRUS",10)':{tag:'(0041,"PAPYRUS",10)',vr:"US",name:"FolderType",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS",11)':{tag:'(0041,"PAPYRUS",11)',vr:"LT",name:"PatientFolderDataSetID",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS",20)':{tag:'(0041,"PAPYRUS",20)',vr:"LT",name:"FolderName",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS",30)':{tag:'(0041,"PAPYRUS",30)',vr:"DA",name:"CreationDate",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS",32)':{tag:'(0041,"PAPYRUS",32)',vr:"TM",name:"CreationTime",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS",34)':{tag:'(0041,"PAPYRUS",34)',vr:"DA",name:"ModifiedDate",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS",36)':{tag:'(0041,"PAPYRUS",36)',vr:"TM",name:"ModifiedTime",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS",40)':{tag:'(0041,"PAPYRUS",40)',vr:"LT",name:"OwnerName",vm:"1-n",version:"PrivateTag"},'(0041,"PAPYRUS",50)':{tag:'(0041,"PAPYRUS",50)',vr:"LT",name:"FolderStatus",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS",60)':{tag:'(0041,"PAPYRUS",60)',vr:"UL",name:"NumberOfImages",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS",62)':{tag:'(0041,"PAPYRUS",62)',vr:"UL",name:"NumberOfOther",vm:"1",version:"PrivateTag"},'(0041,"PAPYRUS",a0)':{tag:'(0041,"PAPYRUS",a0)',vr:"LT",name:"ExternalFolderElementDSID",vm:"1-n",version:"PrivateTag"},'(0041,"PAPYRUS",a1)':{tag:'(0041,"PAPYRUS",a1)',vr:"US",name:"ExternalFolderElementDataSetType",vm:"1-n",version:"PrivateTag"},'(0041,"PAPYRUS",a2)':{tag:'(0041,"PAPYRUS",a2)',vr:"LT",name:"ExternalFolderElementFileLocation",vm:"1-n",version:"PrivateTag"},'(0041,"PAPYRUS",a3)':{tag:'(0041,"PAPYRUS",a3)',vr:"UL",name:"ExternalFolderElementLength",vm:"1-n",version:"PrivateTag"},'(0041,"PAPYRUS",b0)':{tag:'(0041,"PAPYRUS",b0)',vr:"LT",name:"InternalFolderElementDSID",vm:"1-n",version:"PrivateTag"},'(0041,"PAPYRUS",b1)':{tag:'(0041,"PAPYRUS",b1)',vr:"US",name:"InternalFolderElementDataSetType",vm:"1-n",version:"PrivateTag"},'(0041,"PAPYRUS",b2)':{tag:'(0041,"PAPYRUS",b2)',vr:"UL",name:"InternalOffsetToDataSet",vm:"1-n",version:"PrivateTag"},'(0041,"PAPYRUS",b3)':{tag:'(0041,"PAPYRUS",b3)',vr:"UL",name:"InternalOffsetToImage",vm:"1-n",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",01)':{tag:'(2001,"Philips Imaging DD 001",01)',vr:"FL",name:"ChemicalShift",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",02)':{tag:'(2001,"Philips Imaging DD 001",02)',vr:"IS",name:"ChemicalShiftNumberMR",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",03)':{tag:'(2001,"Philips Imaging DD 001",03)',vr:"FL",name:"DiffusionBFactor",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",04)':{tag:'(2001,"Philips Imaging DD 001",04)',vr:"CS",name:"DiffusionDirection",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",06)':{tag:'(2001,"Philips Imaging DD 001",06)',vr:"CS",name:"ImageEnhanced",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",07)':{tag:'(2001,"Philips Imaging DD 001",07)',vr:"CS",name:"ImageTypeEDES",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",08)':{tag:'(2001,"Philips Imaging DD 001",08)',vr:"IS",name:"PhaseNumber",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",09)':{tag:'(2001,"Philips Imaging DD 001",09)',vr:"FL",name:"ImagePrepulseDelay",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",0a)':{tag:'(2001,"Philips Imaging DD 001",0a)',vr:"IS",name:"SliceNumberMR",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",0b)':{tag:'(2001,"Philips Imaging DD 001",0b)',vr:"CS",name:"SliceOrientation",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",0c)':{tag:'(2001,"Philips Imaging DD 001",0c)',vr:"CS",name:"ArrhythmiaRejection",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",0e)':{tag:'(2001,"Philips Imaging DD 001",0e)',vr:"CS",name:"CardiacCycled",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",0f)':{tag:'(2001,"Philips Imaging DD 001",0f)',vr:"SS",name:"CardiacGateWidth",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",10)':{tag:'(2001,"Philips Imaging DD 001",10)',vr:"CS",name:"CardiacSync",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",11)':{tag:'(2001,"Philips Imaging DD 001",11)',vr:"FL",name:"DiffusionEchoTime",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",12)':{tag:'(2001,"Philips Imaging DD 001",12)',vr:"CS",name:"DynamicSeries",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",13)':{tag:'(2001,"Philips Imaging DD 001",13)',vr:"SL",name:"EPIFactor",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",14)':{tag:'(2001,"Philips Imaging DD 001",14)',vr:"SL",name:"NumberOfEchoes",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",15)':{tag:'(2001,"Philips Imaging DD 001",15)',vr:"SS",name:"NumberOfLocations",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",16)':{tag:'(2001,"Philips Imaging DD 001",16)',vr:"SS",name:"NumberOfPCDirections",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",17)':{tag:'(2001,"Philips Imaging DD 001",17)',vr:"SL",name:"NumberOfPhasesMR",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",18)':{tag:'(2001,"Philips Imaging DD 001",18)',vr:"SL",name:"NumberOfSlicesMR",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",19)':{tag:'(2001,"Philips Imaging DD 001",19)',vr:"CS",name:"PartialMatrixScanned",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",1a)':{tag:'(2001,"Philips Imaging DD 001",1a)',vr:"FL",name:"PCVelocity",vm:"1-n",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",1b)':{tag:'(2001,"Philips Imaging DD 001",1b)',vr:"FL",name:"PrepulseDelay",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",1c)':{tag:'(2001,"Philips Imaging DD 001",1c)',vr:"CS",name:"PrepulseType",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",1d)':{tag:'(2001,"Philips Imaging DD 001",1d)',vr:"IS",name:"ReconstructionNumberMR",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",1f)':{tag:'(2001,"Philips Imaging DD 001",1f)',vr:"CS",name:"RespirationSync",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",20)':{tag:'(2001,"Philips Imaging DD 001",20)',vr:"LO",name:"ScanningTechnique",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",21)':{tag:'(2001,"Philips Imaging DD 001",21)',vr:"CS",name:"SPIR",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",22)':{tag:'(2001,"Philips Imaging DD 001",22)',vr:"FL",name:"WaterFatShift",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",23)':{tag:'(2001,"Philips Imaging DD 001",23)',vr:"DS",name:"FlipAnglePhilips",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",24)':{tag:'(2001,"Philips Imaging DD 001",24)',vr:"CS",name:"SeriesIsInteractive",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",25)':{tag:'(2001,"Philips Imaging DD 001",25)',vr:"SH",name:"EchoTimeDisplayMR",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",26)':{tag:'(2001,"Philips Imaging DD 001",26)',vr:"CS",name:"PresentationStateSubtractionActive",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",2d)':{tag:'(2001,"Philips Imaging DD 001",2d)',vr:"SS",name:"StackNumberOfSlices",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",32)':{tag:'(2001,"Philips Imaging DD 001",32)',vr:"FL",name:"StackRadialAngle",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",33)':{tag:'(2001,"Philips Imaging DD 001",33)',vr:"CS",name:"StackRadialAxis",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",35)':{tag:'(2001,"Philips Imaging DD 001",35)',vr:"SS",name:"StackSliceNumber",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",36)':{tag:'(2001,"Philips Imaging DD 001",36)',vr:"CS",name:"StackType",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",3f)':{tag:'(2001,"Philips Imaging DD 001",3f)',vr:"CS",name:"ZoomMode",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",58)':{tag:'(2001,"Philips Imaging DD 001",58)',vr:"UL",name:"ContrastTransferTaste",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",5f)':{tag:'(2001,"Philips Imaging DD 001",5f)',vr:"SQ",name:"StackSequence",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",60)':{tag:'(2001,"Philips Imaging DD 001",60)',vr:"SL",name:"NumberOfStacks",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",61)':{tag:'(2001,"Philips Imaging DD 001",61)',vr:"CS",name:"SeriesTransmitted",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",62)':{tag:'(2001,"Philips Imaging DD 001",62)',vr:"CS",name:"SeriesCommitted",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",63)':{tag:'(2001,"Philips Imaging DD 001",63)',vr:"CS",name:"ExaminationSource",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",67)':{tag:'(2001,"Philips Imaging DD 001",67)',vr:"CS",name:"LinearPresentationGLTrafoShapeSub",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",77)':{tag:'(2001,"Philips Imaging DD 001",77)',vr:"CS",name:"GLTrafoType",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",7b)':{tag:'(2001,"Philips Imaging DD 001",7b)',vr:"IS",name:"AcquisitionNumber",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",81)':{tag:'(2001,"Philips Imaging DD 001",81)',vr:"IS",name:"NumberOfDynamicScans",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",9f)':{tag:'(2001,"Philips Imaging DD 001",9f)',vr:"US",name:"PixelProcessingKernelSize",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",a1)':{tag:'(2001,"Philips Imaging DD 001",a1)',vr:"CS",name:"IsRawImage",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",f1)':{tag:'(2001,"Philips Imaging DD 001",f1)',vr:"FL",name:"ProspectiveMotionCorrection",vm:"1",version:"PrivateTag"},'(2001,"Philips Imaging DD 001",f2)':{tag:'(2001,"Philips Imaging DD 001",f2)',vr:"FL",name:"RetrospectiveMotionCorrection",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",01)':{tag:'(2001,"PHILIPS IMAGING DD 001",01)',vr:"FL",name:"ChemicalShift",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",02)':{tag:'(2001,"PHILIPS IMAGING DD 001",02)',vr:"IS",name:"ChemicalShiftNumberMR",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",03)':{tag:'(2001,"PHILIPS IMAGING DD 001",03)',vr:"FL",name:"DiffusionBFactor",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",04)':{tag:'(2001,"PHILIPS IMAGING DD 001",04)',vr:"CS",name:"DiffusionDirection",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",06)':{tag:'(2001,"PHILIPS IMAGING DD 001",06)',vr:"CS",name:"ImageEnhanced",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",07)':{tag:'(2001,"PHILIPS IMAGING DD 001",07)',vr:"CS",name:"ImageTypeEDES",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",08)':{tag:'(2001,"PHILIPS IMAGING DD 001",08)',vr:"IS",name:"PhaseNumber",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",09)':{tag:'(2001,"PHILIPS IMAGING DD 001",09)',vr:"FL",name:"ImagePrepulseDelay",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",0a)':{tag:'(2001,"PHILIPS IMAGING DD 001",0a)',vr:"IS",name:"SliceNumberMR",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",0b)':{tag:'(2001,"PHILIPS IMAGING DD 001",0b)',vr:"CS",name:"SliceOrientation",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",0c)':{tag:'(2001,"PHILIPS IMAGING DD 001",0c)',vr:"CS",name:"ArrhythmiaRejection",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",0e)':{tag:'(2001,"PHILIPS IMAGING DD 001",0e)',vr:"CS",name:"CardiacCycled",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",0f)':{tag:'(2001,"PHILIPS IMAGING DD 001",0f)',vr:"SS",name:"CardiacGateWidth",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",10)':{tag:'(2001,"PHILIPS IMAGING DD 001",10)',vr:"CS",name:"CardiacSync",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",11)':{tag:'(2001,"PHILIPS IMAGING DD 001",11)',vr:"FL",name:"DiffusionEchoTime",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",12)':{tag:'(2001,"PHILIPS IMAGING DD 001",12)',vr:"CS",name:"DynamicSeries",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",13)':{tag:'(2001,"PHILIPS IMAGING DD 001",13)',vr:"SL",name:"EPIFactor",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",14)':{tag:'(2001,"PHILIPS IMAGING DD 001",14)',vr:"SL",name:"NumberOfEchoes",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",15)':{tag:'(2001,"PHILIPS IMAGING DD 001",15)',vr:"SS",name:"NumberOfLocations",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",16)':{tag:'(2001,"PHILIPS IMAGING DD 001",16)',vr:"SS",name:"NumberOfPCDirections",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",17)':{tag:'(2001,"PHILIPS IMAGING DD 001",17)',vr:"SL",name:"NumberOfPhasesMR",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",18)':{tag:'(2001,"PHILIPS IMAGING DD 001",18)',vr:"SL",name:"NumberOfSlicesMR",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",19)':{tag:'(2001,"PHILIPS IMAGING DD 001",19)',vr:"CS",name:"PartialMatrixScanned",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",1a)':{tag:'(2001,"PHILIPS IMAGING DD 001",1a)',vr:"FL",name:"PCVelocity",vm:"1-n",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",1b)':{tag:'(2001,"PHILIPS IMAGING DD 001",1b)',vr:"FL",name:"PrepulseDelay",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",1c)':{tag:'(2001,"PHILIPS IMAGING DD 001",1c)',vr:"CS",name:"PrepulseType",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",1d)':{tag:'(2001,"PHILIPS IMAGING DD 001",1d)',vr:"IS",name:"ReconstructionNumberMR",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",1f)':{tag:'(2001,"PHILIPS IMAGING DD 001",1f)',vr:"CS",name:"RespirationSync",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",20)':{tag:'(2001,"PHILIPS IMAGING DD 001",20)',vr:"LO",name:"ScanningTechnique",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",21)':{tag:'(2001,"PHILIPS IMAGING DD 001",21)',vr:"CS",name:"SPIR",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",22)':{tag:'(2001,"PHILIPS IMAGING DD 001",22)',vr:"FL",name:"WaterFatShift",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",23)':{tag:'(2001,"PHILIPS IMAGING DD 001",23)',vr:"DS",name:"FlipAnglePhilips",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",24)':{tag:'(2001,"PHILIPS IMAGING DD 001",24)',vr:"CS",name:"SeriesIsInteractive",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",25)':{tag:'(2001,"PHILIPS IMAGING DD 001",25)',vr:"SH",name:"EchoTimeDisplayMR",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",26)':{tag:'(2001,"PHILIPS IMAGING DD 001",26)',vr:"CS",name:"PresentationStateSubtractionActive",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",2d)':{tag:'(2001,"PHILIPS IMAGING DD 001",2d)',vr:"SS",name:"StackNumberOfSlices",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",32)':{tag:'(2001,"PHILIPS IMAGING DD 001",32)',vr:"FL",name:"StackRadialAngle",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",33)':{tag:'(2001,"PHILIPS IMAGING DD 001",33)',vr:"CS",name:"StackRadialAxis",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",35)':{tag:'(2001,"PHILIPS IMAGING DD 001",35)',vr:"SS",name:"StackSliceNumber",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",36)':{tag:'(2001,"PHILIPS IMAGING DD 001",36)',vr:"CS",name:"StackType",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",3f)':{tag:'(2001,"PHILIPS IMAGING DD 001",3f)',vr:"CS",name:"ZoomMode",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",58)':{tag:'(2001,"PHILIPS IMAGING DD 001",58)',vr:"UL",name:"ContrastTransferTaste",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",5f)':{tag:'(2001,"PHILIPS IMAGING DD 001",5f)',vr:"SQ",name:"StackSequence",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",60)':{tag:'(2001,"PHILIPS IMAGING DD 001",60)',vr:"SL",name:"NumberOfStacks",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",61)':{tag:'(2001,"PHILIPS IMAGING DD 001",61)',vr:"CS",name:"SeriesTransmitted",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",62)':{tag:'(2001,"PHILIPS IMAGING DD 001",62)',vr:"CS",name:"SeriesCommitted",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",63)':{tag:'(2001,"PHILIPS IMAGING DD 001",63)',vr:"CS",name:"ExaminationSource",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",67)':{tag:'(2001,"PHILIPS IMAGING DD 001",67)',vr:"CS",name:"LinearPresentationGLTrafoShapeSub",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",77)':{tag:'(2001,"PHILIPS IMAGING DD 001",77)',vr:"CS",name:"GLTrafoType",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",7b)':{tag:'(2001,"PHILIPS IMAGING DD 001",7b)',vr:"IS",name:"AcquisitionNumber",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",81)':{tag:'(2001,"PHILIPS IMAGING DD 001",81)',vr:"IS",name:"NumberOfDynamicScans",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",9f)':{tag:'(2001,"PHILIPS IMAGING DD 001",9f)',vr:"US",name:"PixelProcessingKernelSize",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",a1)':{tag:'(2001,"PHILIPS IMAGING DD 001",a1)',vr:"CS",name:"IsRawImage",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",f1)':{tag:'(2001,"PHILIPS IMAGING DD 001",f1)',vr:"FL",name:"ProspectiveMotionCorrection",vm:"1",version:"PrivateTag"},'(2001,"PHILIPS IMAGING DD 001",f2)':{tag:'(2001,"PHILIPS IMAGING DD 001",f2)',vr:"FL",name:"RetrospectiveMotionCorrection",vm:"1",version:"PrivateTag"},'(2005,"Philips MR Imaging DD 001",05)':{tag:'(2005,"Philips MR Imaging DD 001",05)',vr:"CS",name:"SynergyReconstructionType",vm:"1",version:"PrivateTag"},'(2005,"Philips MR Imaging DD 001",1e)':{tag:'(2005,"Philips MR Imaging DD 001",1e)',vr:"SH",name:"MIPProtocol",vm:"1",version:"PrivateTag"},'(2005,"Philips MR Imaging DD 001",1f)':{tag:'(2005,"Philips MR Imaging DD 001",1f)',vr:"SH",name:"MPRProtocol",vm:"1",version:"PrivateTag"},'(2005,"Philips MR Imaging DD 001",20)':{tag:'(2005,"Philips MR Imaging DD 001",20)',vr:"SL",name:"NumberOfChemicalShifts",vm:"1",version:"PrivateTag"},'(2005,"Philips MR Imaging DD 001",2d)':{tag:'(2005,"Philips MR Imaging DD 001",2d)',vr:"SS",name:"NumberOfStackSlices",vm:"1",version:"PrivateTag"},'(2005,"Philips MR Imaging DD 001",83)':{tag:'(2005,"Philips MR Imaging DD 001",83)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(2005,"Philips MR Imaging DD 001",a1)':{tag:'(2005,"Philips MR Imaging DD 001",a1)',vr:"CS",name:"SyncraScanType",vm:"1",version:"PrivateTag"},'(2005,"Philips MR Imaging DD 001",b0)':{tag:'(2005,"Philips MR Imaging DD 001",b0)',vr:"FL",name:"DiffusionDirectionRL",vm:"1",version:"PrivateTag"},'(2005,"Philips MR Imaging DD 001",b1)':{tag:'(2005,"Philips MR Imaging DD 001",b1)',vr:"FL",name:"DiffusionDirectionAP",vm:"1",version:"PrivateTag"},'(2005,"Philips MR Imaging DD 001",b2)':{tag:'(2005,"Philips MR Imaging DD 001",b2)',vr:"FL",name:"DiffusionDirectionFH",vm:"1",version:"PrivateTag"},'(2005,"Philips MR Imaging DD 005",02)':{tag:'(2005,"Philips MR Imaging DD 005",02)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(2005,"PHILIPS MR IMAGING DD 001",05)':{tag:'(2005,"PHILIPS MR IMAGING DD 001",05)',vr:"CS",name:"SynergyReconstructionType",vm:"1",version:"PrivateTag"},'(2005,"PHILIPS MR IMAGING DD 001",1e)':{tag:'(2005,"PHILIPS MR IMAGING DD 001",1e)',vr:"SH",name:"MIPProtocol",vm:"1",version:"PrivateTag"},'(2005,"PHILIPS MR IMAGING DD 001",1f)':{tag:'(2005,"PHILIPS MR IMAGING DD 001",1f)',vr:"SH",name:"MPRProtocol",vm:"1",version:"PrivateTag"},'(2005,"PHILIPS MR IMAGING DD 001",20)':{tag:'(2005,"PHILIPS MR IMAGING DD 001",20)',vr:"SL",name:"NumberOfChemicalShifts",vm:"1",version:"PrivateTag"},'(2005,"PHILIPS MR IMAGING DD 001",2d)':{tag:'(2005,"PHILIPS MR IMAGING DD 001",2d)',vr:"SS",name:"NumberOfStackSlices",vm:"1",version:"PrivateTag"},'(2005,"PHILIPS MR IMAGING DD 001",83)':{tag:'(2005,"PHILIPS MR IMAGING DD 001",83)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(2005,"PHILIPS MR IMAGING DD 001",a1)':{tag:'(2005,"PHILIPS MR IMAGING DD 001",a1)',vr:"CS",name:"SyncraScanType",vm:"1",version:"PrivateTag"},'(2005,"PHILIPS MR IMAGING DD 001",b0)':{tag:'(2005,"PHILIPS MR IMAGING DD 001",b0)',vr:"FL",name:"DiffusionDirectionRL",vm:"1",version:"PrivateTag"},'(2005,"PHILIPS MR IMAGING DD 001",b1)':{tag:'(2005,"PHILIPS MR IMAGING DD 001",b1)',vr:"FL",name:"DiffusionDirectionAP",vm:"1",version:"PrivateTag"},'(2005,"PHILIPS MR IMAGING DD 001",b2)':{tag:'(2005,"PHILIPS MR IMAGING DD 001",b2)',vr:"FL",name:"DiffusionDirectionFH",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR R5.5/PART",1000)':{tag:'(0019,"PHILIPS MR R5.5/PART",1000)',vr:"DS",name:"FieldOfView",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR R5.6/PART",1000)':{tag:'(0019,"PHILIPS MR R5.6/PART",1000)',vr:"DS",name:"FieldOfView",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",01)':{tag:'(0019,"PHILIPS MR SPECTRO;1",01)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",02)':{tag:'(0019,"PHILIPS MR SPECTRO;1",02)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",03)':{tag:'(0019,"PHILIPS MR SPECTRO;1",03)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",04)':{tag:'(0019,"PHILIPS MR SPECTRO;1",04)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",05)':{tag:'(0019,"PHILIPS MR SPECTRO;1",05)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",06)':{tag:'(0019,"PHILIPS MR SPECTRO;1",06)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",07)':{tag:'(0019,"PHILIPS MR SPECTRO;1",07)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",08)':{tag:'(0019,"PHILIPS MR SPECTRO;1",08)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",09)':{tag:'(0019,"PHILIPS MR SPECTRO;1",09)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",10)':{tag:'(0019,"PHILIPS MR SPECTRO;1",10)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",12)':{tag:'(0019,"PHILIPS MR SPECTRO;1",12)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",13)':{tag:'(0019,"PHILIPS MR SPECTRO;1",13)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",14)':{tag:'(0019,"PHILIPS MR SPECTRO;1",14)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",15)':{tag:'(0019,"PHILIPS MR SPECTRO;1",15)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",16)':{tag:'(0019,"PHILIPS MR SPECTRO;1",16)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",17)':{tag:'(0019,"PHILIPS MR SPECTRO;1",17)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",18)':{tag:'(0019,"PHILIPS MR SPECTRO;1",18)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",20)':{tag:'(0019,"PHILIPS MR SPECTRO;1",20)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",21)':{tag:'(0019,"PHILIPS MR SPECTRO;1",21)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",22)':{tag:'(0019,"PHILIPS MR SPECTRO;1",22)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",23)':{tag:'(0019,"PHILIPS MR SPECTRO;1",23)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",24)':{tag:'(0019,"PHILIPS MR SPECTRO;1",24)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",25)':{tag:'(0019,"PHILIPS MR SPECTRO;1",25)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",26)':{tag:'(0019,"PHILIPS MR SPECTRO;1",26)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",27)':{tag:'(0019,"PHILIPS MR SPECTRO;1",27)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",28)':{tag:'(0019,"PHILIPS MR SPECTRO;1",28)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",29)':{tag:'(0019,"PHILIPS MR SPECTRO;1",29)',vr:"IS",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",31)':{tag:'(0019,"PHILIPS MR SPECTRO;1",31)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",32)':{tag:'(0019,"PHILIPS MR SPECTRO;1",32)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",41)':{tag:'(0019,"PHILIPS MR SPECTRO;1",41)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",42)':{tag:'(0019,"PHILIPS MR SPECTRO;1",42)',vr:"IS",name:"Unknown",vm:"2",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",43)':{tag:'(0019,"PHILIPS MR SPECTRO;1",43)',vr:"IS",name:"Unknown",vm:"2",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",45)':{tag:'(0019,"PHILIPS MR SPECTRO;1",45)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",46)':{tag:'(0019,"PHILIPS MR SPECTRO;1",46)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",47)':{tag:'(0019,"PHILIPS MR SPECTRO;1",47)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",48)':{tag:'(0019,"PHILIPS MR SPECTRO;1",48)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",49)':{tag:'(0019,"PHILIPS MR SPECTRO;1",49)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",50)':{tag:'(0019,"PHILIPS MR SPECTRO;1",50)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",60)':{tag:'(0019,"PHILIPS MR SPECTRO;1",60)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",61)':{tag:'(0019,"PHILIPS MR SPECTRO;1",61)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",70)':{tag:'(0019,"PHILIPS MR SPECTRO;1",70)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",71)':{tag:'(0019,"PHILIPS MR SPECTRO;1",71)',vr:"IS",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",72)':{tag:'(0019,"PHILIPS MR SPECTRO;1",72)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",73)':{tag:'(0019,"PHILIPS MR SPECTRO;1",73)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",74)':{tag:'(0019,"PHILIPS MR SPECTRO;1",74)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",76)':{tag:'(0019,"PHILIPS MR SPECTRO;1",76)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",77)':{tag:'(0019,"PHILIPS MR SPECTRO;1",77)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",78)':{tag:'(0019,"PHILIPS MR SPECTRO;1",78)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",79)':{tag:'(0019,"PHILIPS MR SPECTRO;1",79)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR SPECTRO;1",80)':{tag:'(0019,"PHILIPS MR SPECTRO;1",80)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"PHILIPS MR",10)':{tag:'(0009,"PHILIPS MR",10)',vr:"LO",name:"SPIRelease",vm:"1",version:"PrivateTag"},'(0009,"PHILIPS MR",12)':{tag:'(0009,"PHILIPS MR",12)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",09)':{tag:'(0019,"PHILIPS MR/LAST",09)',vr:"DS",name:"MainMagneticField",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",0e)':{tag:'(0019,"PHILIPS MR/LAST",0e)',vr:"IS",name:"FlowCompensation",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",b1)':{tag:'(0019,"PHILIPS MR/LAST",b1)',vr:"IS",name:"MinimumRRInterval",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",b2)':{tag:'(0019,"PHILIPS MR/LAST",b2)',vr:"IS",name:"MaximumRRInterval",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",b3)':{tag:'(0019,"PHILIPS MR/LAST",b3)',vr:"IS",name:"NumberOfRejections",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",b4)':{tag:'(0019,"PHILIPS MR/LAST",b4)',vr:"IS",name:"NumberOfRRIntervals",vm:"1-n",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",b5)':{tag:'(0019,"PHILIPS MR/LAST",b5)',vr:"IS",name:"ArrhythmiaRejection",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",c0)':{tag:'(0019,"PHILIPS MR/LAST",c0)',vr:"DS",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",c6)':{tag:'(0019,"PHILIPS MR/LAST",c6)',vr:"IS",name:"CycledMultipleSlice",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",ce)':{tag:'(0019,"PHILIPS MR/LAST",ce)',vr:"IS",name:"REST",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",d5)':{tag:'(0019,"PHILIPS MR/LAST",d5)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",d6)':{tag:'(0019,"PHILIPS MR/LAST",d6)',vr:"IS",name:"FourierInterpolation",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",d9)':{tag:'(0019,"PHILIPS MR/LAST",d9)',vr:"IS",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",e0)':{tag:'(0019,"PHILIPS MR/LAST",e0)',vr:"IS",name:"Prepulse",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",e1)':{tag:'(0019,"PHILIPS MR/LAST",e1)',vr:"DS",name:"PrepulseDelay",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",e2)':{tag:'(0019,"PHILIPS MR/LAST",e2)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",e3)':{tag:'(0019,"PHILIPS MR/LAST",e3)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",f0)':{tag:'(0019,"PHILIPS MR/LAST",f0)',vr:"LT",name:"WSProtocolString1",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",f1)':{tag:'(0019,"PHILIPS MR/LAST",f1)',vr:"LT",name:"WSProtocolString2",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",f2)':{tag:'(0019,"PHILIPS MR/LAST",f2)',vr:"LT",name:"WSProtocolString3",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/LAST",f3)':{tag:'(0019,"PHILIPS MR/LAST",f3)',vr:"LT",name:"WSProtocolString4",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS MR/LAST",00)':{tag:'(0021,"PHILIPS MR/LAST",00)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS MR/LAST",10)':{tag:'(0021,"PHILIPS MR/LAST",10)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS MR/LAST",20)':{tag:'(0021,"PHILIPS MR/LAST",20)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS MR/LAST",21)':{tag:'(0021,"PHILIPS MR/LAST",21)',vr:"DS",name:"SliceGap",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS MR/LAST",22)':{tag:'(0021,"PHILIPS MR/LAST",22)',vr:"DS",name:"StackRadialAngle",vm:"1",version:"PrivateTag"},'(0027,"PHILIPS MR/LAST",00)':{tag:'(0027,"PHILIPS MR/LAST",00)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0027,"PHILIPS MR/LAST",11)':{tag:'(0027,"PHILIPS MR/LAST",11)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0027,"PHILIPS MR/LAST",12)':{tag:'(0027,"PHILIPS MR/LAST",12)',vr:"DS",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0027,"PHILIPS MR/LAST",13)':{tag:'(0027,"PHILIPS MR/LAST",13)',vr:"DS",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0027,"PHILIPS MR/LAST",14)':{tag:'(0027,"PHILIPS MR/LAST",14)',vr:"DS",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0027,"PHILIPS MR/LAST",15)':{tag:'(0027,"PHILIPS MR/LAST",15)',vr:"DS",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0027,"PHILIPS MR/LAST",16)':{tag:'(0027,"PHILIPS MR/LAST",16)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/LAST",10)':{tag:'(0029,"PHILIPS MR/LAST",10)',vr:"DS",name:"FPMin",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/LAST",20)':{tag:'(0029,"PHILIPS MR/LAST",20)',vr:"DS",name:"FPMax",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/LAST",30)':{tag:'(0029,"PHILIPS MR/LAST",30)',vr:"DS",name:"ScaledMinimum",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/LAST",40)':{tag:'(0029,"PHILIPS MR/LAST",40)',vr:"DS",name:"ScaledMaximum",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/LAST",50)':{tag:'(0029,"PHILIPS MR/LAST",50)',vr:"DS",name:"WindowMinimum",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/LAST",60)':{tag:'(0029,"PHILIPS MR/LAST",60)',vr:"DS",name:"WindowMaximum",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/LAST",61)':{tag:'(0029,"PHILIPS MR/LAST",61)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/LAST",70)':{tag:'(0029,"PHILIPS MR/LAST",70)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/LAST",71)':{tag:'(0029,"PHILIPS MR/LAST",71)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/LAST",72)':{tag:'(0029,"PHILIPS MR/LAST",72)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/LAST",80)':{tag:'(0029,"PHILIPS MR/LAST",80)',vr:"IS",name:"ViewCenter",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/LAST",81)':{tag:'(0029,"PHILIPS MR/LAST",81)',vr:"IS",name:"ViewSize",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/LAST",82)':{tag:'(0029,"PHILIPS MR/LAST",82)',vr:"IS",name:"ViewZoom",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/LAST",83)':{tag:'(0029,"PHILIPS MR/LAST",83)',vr:"IS",name:"ViewTransform",vm:"1",version:"PrivateTag"},'(6001,"PHILIPS MR/LAST",00)':{tag:'(6001,"PHILIPS MR/LAST",00)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1000)':{tag:'(0019,"PHILIPS MR/PART",1000)',vr:"DS",name:"FieldOfView",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1005)':{tag:'(0019,"PHILIPS MR/PART",1005)',vr:"DS",name:"CCAngulation",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1006)':{tag:'(0019,"PHILIPS MR/PART",1006)',vr:"DS",name:"APAngulation",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1007)':{tag:'(0019,"PHILIPS MR/PART",1007)',vr:"DS",name:"LRAngulation",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1008)':{tag:'(0019,"PHILIPS MR/PART",1008)',vr:"IS",name:"PatientPosition",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1009)':{tag:'(0019,"PHILIPS MR/PART",1009)',vr:"IS",name:"PatientOrientation",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",100a)':{tag:'(0019,"PHILIPS MR/PART",100a)',vr:"IS",name:"SliceOrientation",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",100b)':{tag:'(0019,"PHILIPS MR/PART",100b)',vr:"DS",name:"LROffcenter",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",100c)':{tag:'(0019,"PHILIPS MR/PART",100c)',vr:"DS",name:"CCOffcenter",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",100d)':{tag:'(0019,"PHILIPS MR/PART",100d)',vr:"DS",name:"APOffcenter",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",100e)':{tag:'(0019,"PHILIPS MR/PART",100e)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",100f)':{tag:'(0019,"PHILIPS MR/PART",100f)',vr:"IS",name:"NumberOfSlices",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1010)':{tag:'(0019,"PHILIPS MR/PART",1010)',vr:"DS",name:"SliceFactor",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1011)':{tag:'(0019,"PHILIPS MR/PART",1011)',vr:"DS",name:"EchoTimes",vm:"1-n",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1015)':{tag:'(0019,"PHILIPS MR/PART",1015)',vr:"IS",name:"DynamicStudy",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1018)':{tag:'(0019,"PHILIPS MR/PART",1018)',vr:"DS",name:"HeartbeatInterval",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1019)':{tag:'(0019,"PHILIPS MR/PART",1019)',vr:"DS",name:"RepetitionTimeFFE",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",101a)':{tag:'(0019,"PHILIPS MR/PART",101a)',vr:"DS",name:"FFEFlipAngle",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",101b)':{tag:'(0019,"PHILIPS MR/PART",101b)',vr:"IS",name:"NumberOfScans",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1021)':{tag:'(0019,"PHILIPS MR/PART",1021)',vr:"DS",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1022)':{tag:'(0019,"PHILIPS MR/PART",1022)',vr:"DS",name:"DynamicScanTimeBegin",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1024)':{tag:'(0019,"PHILIPS MR/PART",1024)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1064)':{tag:'(0019,"PHILIPS MR/PART",1064)',vr:"DS",name:"RepetitionTimeSE",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1065)':{tag:'(0019,"PHILIPS MR/PART",1065)',vr:"DS",name:"RepetitionTimeIR",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1069)':{tag:'(0019,"PHILIPS MR/PART",1069)',vr:"IS",name:"NumberOfPhases",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",106a)':{tag:'(0019,"PHILIPS MR/PART",106a)',vr:"IS",name:"CardiacFrequency",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",106b)':{tag:'(0019,"PHILIPS MR/PART",106b)',vr:"DS",name:"InversionDelay",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",106c)':{tag:'(0019,"PHILIPS MR/PART",106c)',vr:"DS",name:"GateDelay",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",106d)':{tag:'(0019,"PHILIPS MR/PART",106d)',vr:"DS",name:"GateWidth",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",106e)':{tag:'(0019,"PHILIPS MR/PART",106e)',vr:"DS",name:"TriggerDelayTime",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1080)':{tag:'(0019,"PHILIPS MR/PART",1080)',vr:"IS",name:"NumberOfChemicalShifts",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1081)':{tag:'(0019,"PHILIPS MR/PART",1081)',vr:"DS",name:"ChemicalShift",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1084)':{tag:'(0019,"PHILIPS MR/PART",1084)',vr:"IS",name:"NumberOfRows",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1085)':{tag:'(0019,"PHILIPS MR/PART",1085)',vr:"IS",name:"NumberOfSamples",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1094)':{tag:'(0019,"PHILIPS MR/PART",1094)',vr:"LO",name:"MagnetizationTransferContrast",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1095)':{tag:'(0019,"PHILIPS MR/PART",1095)',vr:"LO",name:"SpectralPresaturationWithInversionRecovery",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1096)':{tag:'(0019,"PHILIPS MR/PART",1096)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1097)':{tag:'(0019,"PHILIPS MR/PART",1097)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10a0)':{tag:'(0019,"PHILIPS MR/PART",10a0)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10a1)':{tag:'(0019,"PHILIPS MR/PART",10a1)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10a3)':{tag:'(0019,"PHILIPS MR/PART",10a3)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10a4)':{tag:'(0019,"PHILIPS MR/PART",10a4)',vr:"CS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10c8)':{tag:'(0019,"PHILIPS MR/PART",10c8)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10c9)':{tag:'(0019,"PHILIPS MR/PART",10c9)',vr:"IS",name:"FoldoverDirectionTransverse",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10ca)':{tag:'(0019,"PHILIPS MR/PART",10ca)',vr:"IS",name:"FoldoverDirectionSagittal",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10cb)':{tag:'(0019,"PHILIPS MR/PART",10cb)',vr:"IS",name:"FoldoverDirectionCoronal",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10cc)':{tag:'(0019,"PHILIPS MR/PART",10cc)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10cd)':{tag:'(0019,"PHILIPS MR/PART",10cd)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10ce)':{tag:'(0019,"PHILIPS MR/PART",10ce)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10cf)':{tag:'(0019,"PHILIPS MR/PART",10cf)',vr:"IS",name:"NumberOfEchoes",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10d0)':{tag:'(0019,"PHILIPS MR/PART",10d0)',vr:"IS",name:"ScanResolution",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10d2)':{tag:'(0019,"PHILIPS MR/PART",10d2)',vr:"LO",name:"WaterFatShift",vm:"2",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10d4)':{tag:'(0019,"PHILIPS MR/PART",10d4)',vr:"IS",name:"ArtifactReduction",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10d5)':{tag:'(0019,"PHILIPS MR/PART",10d5)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10d6)':{tag:'(0019,"PHILIPS MR/PART",10d6)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10d7)':{tag:'(0019,"PHILIPS MR/PART",10d7)',vr:"DS",name:"ScanPercentage",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10d8)':{tag:'(0019,"PHILIPS MR/PART",10d8)',vr:"IS",name:"Halfscan",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10d9)':{tag:'(0019,"PHILIPS MR/PART",10d9)',vr:"IS",name:"EPIFactor",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10da)':{tag:'(0019,"PHILIPS MR/PART",10da)',vr:"IS",name:"TurboFactor",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10db)':{tag:'(0019,"PHILIPS MR/PART",10db)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10e0)':{tag:'(0019,"PHILIPS MR/PART",10e0)',vr:"IS",name:"PercentageOfScanCompleted",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",10e1)':{tag:'(0019,"PHILIPS MR/PART",10e1)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1100)':{tag:'(0019,"PHILIPS MR/PART",1100)',vr:"IS",name:"NumberOfStacks",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1101)':{tag:'(0019,"PHILIPS MR/PART",1101)',vr:"IS",name:"StackType",vm:"1-n",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1102)':{tag:'(0019,"PHILIPS MR/PART",1102)',vr:"IS",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",110b)':{tag:'(0019,"PHILIPS MR/PART",110b)',vr:"DS",name:"LROffcenter",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",110c)':{tag:'(0019,"PHILIPS MR/PART",110c)',vr:"DS",name:"CCOffcenter",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",110d)':{tag:'(0019,"PHILIPS MR/PART",110d)',vr:"DS",name:"APOffcenter",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",1145)':{tag:'(0019,"PHILIPS MR/PART",1145)',vr:"IS",name:"ReconstructionResolution",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",11fc)':{tag:'(0019,"PHILIPS MR/PART",11fc)',vr:"IS",name:"ResonanceFrequency",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",12c0)':{tag:'(0019,"PHILIPS MR/PART",12c0)',vr:"DS",name:"TriggerDelayTimes",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",12e0)':{tag:'(0019,"PHILIPS MR/PART",12e0)',vr:"IS",name:"PrepulseType",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",12e1)':{tag:'(0019,"PHILIPS MR/PART",12e1)',vr:"DS",name:"PrepulseDelay",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS MR/PART",12e3)':{tag:'(0019,"PHILIPS MR/PART",12e3)',vr:"DS",name:"PhaseContrastVelocity",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS MR/PART",1000)':{tag:'(0021,"PHILIPS MR/PART",1000)',vr:"IS",name:"ReconstructionNumber",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS MR/PART",1010)':{tag:'(0021,"PHILIPS MR/PART",1010)',vr:"IS",name:"ImageType",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS MR/PART",1020)':{tag:'(0021,"PHILIPS MR/PART",1020)',vr:"IS",name:"SliceNumber",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS MR/PART",1030)':{tag:'(0021,"PHILIPS MR/PART",1030)',vr:"IS",name:"EchoNumber",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS MR/PART",1031)':{tag:'(0021,"PHILIPS MR/PART",1031)',vr:"DS",name:"PatientReferenceID",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS MR/PART",1035)':{tag:'(0021,"PHILIPS MR/PART",1035)',vr:"IS",name:"ChemicalShiftNumber",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS MR/PART",1040)':{tag:'(0021,"PHILIPS MR/PART",1040)',vr:"IS",name:"PhaseNumber",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS MR/PART",1050)':{tag:'(0021,"PHILIPS MR/PART",1050)',vr:"IS",name:"DynamicScanNumber",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS MR/PART",1060)':{tag:'(0021,"PHILIPS MR/PART",1060)',vr:"IS",name:"NumberOfRowsInObject",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS MR/PART",1061)':{tag:'(0021,"PHILIPS MR/PART",1061)',vr:"IS",name:"RowNumber",vm:"1-n",version:"PrivateTag"},'(0021,"PHILIPS MR/PART",1062)':{tag:'(0021,"PHILIPS MR/PART",1062)',vr:"IS",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0021,"PHILIPS MR/PART",1100)':{tag:'(0021,"PHILIPS MR/PART",1100)',vr:"DA",name:"ScanDate",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS MR/PART",1110)':{tag:'(0021,"PHILIPS MR/PART",1110)',vr:"TM",name:"ScanTime",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS MR/PART",1221)':{tag:'(0021,"PHILIPS MR/PART",1221)',vr:"IS",name:"SliceGap",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/PART",00)':{tag:'(0029,"PHILIPS MR/PART",00)',vr:"DS",name:"Unknown",vm:"2",version:"PrivateTag"},'(0029,"PHILIPS MR/PART",04)':{tag:'(0029,"PHILIPS MR/PART",04)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/PART",10)':{tag:'(0029,"PHILIPS MR/PART",10)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/PART",11)':{tag:'(0029,"PHILIPS MR/PART",11)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/PART",20)':{tag:'(0029,"PHILIPS MR/PART",20)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/PART",31)':{tag:'(0029,"PHILIPS MR/PART",31)',vr:"DS",name:"Unknown",vm:"2",version:"PrivateTag"},'(0029,"PHILIPS MR/PART",32)':{tag:'(0029,"PHILIPS MR/PART",32)',vr:"DS",name:"Unknown",vm:"2",version:"PrivateTag"},'(0029,"PHILIPS MR/PART",c3)':{tag:'(0029,"PHILIPS MR/PART",c3)',vr:"IS",name:"ScanResolution",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/PART",c4)':{tag:'(0029,"PHILIPS MR/PART",c4)',vr:"IS",name:"FieldOfView",vm:"1",version:"PrivateTag"},'(0029,"PHILIPS MR/PART",d5)':{tag:'(0029,"PHILIPS MR/PART",d5)',vr:"LT",name:"SliceThickness",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS-MR-1",11)':{tag:'(0019,"PHILIPS-MR-1",11)',vr:"IS",name:"ChemicalShiftNumber",vm:"1",version:"PrivateTag"},'(0019,"PHILIPS-MR-1",12)':{tag:'(0019,"PHILIPS-MR-1",12)',vr:"IS",name:"PhaseNumber",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS-MR-1",01)':{tag:'(0021,"PHILIPS-MR-1",01)',vr:"IS",name:"ReconstructionNumber",vm:"1",version:"PrivateTag"},'(0021,"PHILIPS-MR-1",02)':{tag:'(0021,"PHILIPS-MR-1",02)',vr:"IS",name:"SliceNumber",vm:"1",version:"PrivateTag"},'(7001,"Picker NM Private Group",01)':{tag:'(7001,"Picker NM Private Group",01)',vr:"UI",name:"Unknown",vm:"1",version:"PrivateTag"},'(7001,"Picker NM Private Group",02)':{tag:'(7001,"Picker NM Private Group",02)',vr:"OB",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CM VA0 ACQU",10)':{tag:'(0019,"SIEMENS CM VA0 ACQU",10)',vr:"LT",name:"ParameterFileName",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CM VA0 ACQU",11)':{tag:'(0019,"SIEMENS CM VA0 ACQU",11)',vr:"LO",name:"SequenceFileName",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CM VA0 ACQU",12)':{tag:'(0019,"SIEMENS CM VA0 ACQU",12)',vr:"LT",name:"SequenceFileOwner",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CM VA0 ACQU",13)':{tag:'(0019,"SIEMENS CM VA0 ACQU",13)',vr:"LT",name:"SequenceDescription",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CM VA0 ACQU",14)':{tag:'(0019,"SIEMENS CM VA0 ACQU",14)',vr:"LT",name:"EPIFileName",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CM VA0 CMS",00)':{tag:'(0009,"SIEMENS CM VA0 CMS",00)',vr:"DS",name:"NumberOfMeasurements",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CM VA0 CMS",10)':{tag:'(0009,"SIEMENS CM VA0 CMS",10)',vr:"LT",name:"StorageMode",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CM VA0 CMS",12)':{tag:'(0009,"SIEMENS CM VA0 CMS",12)',vr:"UL",name:"EvaluationMaskImage",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CM VA0 CMS",26)':{tag:'(0009,"SIEMENS CM VA0 CMS",26)',vr:"DA",name:"LastMoveDate",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CM VA0 CMS",27)':{tag:'(0009,"SIEMENS CM VA0 CMS",27)',vr:"TM",name:"LastMoveTime",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS CM VA0 CMS",0a)':{tag:'(0011,"SIEMENS CM VA0 CMS",0a)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS CM VA0 CMS",10)':{tag:'(0011,"SIEMENS CM VA0 CMS",10)',vr:"DA",name:"RegistrationDate",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS CM VA0 CMS",11)':{tag:'(0011,"SIEMENS CM VA0 CMS",11)',vr:"TM",name:"RegistrationTime",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS CM VA0 CMS",22)':{tag:'(0011,"SIEMENS CM VA0 CMS",22)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS CM VA0 CMS",23)':{tag:'(0011,"SIEMENS CM VA0 CMS",23)',vr:"DS",name:"UsedPatientWeight",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS CM VA0 CMS",40)':{tag:'(0011,"SIEMENS CM VA0 CMS",40)',vr:"IS",name:"OrganCode",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",00)':{tag:'(0013,"SIEMENS CM VA0 CMS",00)',vr:"LT",name:"ModifyingPhysician",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",10)':{tag:'(0013,"SIEMENS CM VA0 CMS",10)',vr:"DA",name:"ModificationDate",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",12)':{tag:'(0013,"SIEMENS CM VA0 CMS",12)',vr:"TM",name:"ModificationTime",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",20)':{tag:'(0013,"SIEMENS CM VA0 CMS",20)',vr:"LO",name:"PatientName",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",22)':{tag:'(0013,"SIEMENS CM VA0 CMS",22)',vr:"LO",name:"PatientId",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",30)':{tag:'(0013,"SIEMENS CM VA0 CMS",30)',vr:"DA",name:"PatientBirthdate",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",31)':{tag:'(0013,"SIEMENS CM VA0 CMS",31)',vr:"DS",name:"PatientWeight",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",32)':{tag:'(0013,"SIEMENS CM VA0 CMS",32)',vr:"LT",name:"PatientsMaidenName",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",33)':{tag:'(0013,"SIEMENS CM VA0 CMS",33)',vr:"LT",name:"ReferringPhysician",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",34)':{tag:'(0013,"SIEMENS CM VA0 CMS",34)',vr:"LT",name:"AdmittingDiagnosis",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",35)':{tag:'(0013,"SIEMENS CM VA0 CMS",35)',vr:"LO",name:"PatientSex",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",40)':{tag:'(0013,"SIEMENS CM VA0 CMS",40)',vr:"LO",name:"ProcedureDescription",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",42)':{tag:'(0013,"SIEMENS CM VA0 CMS",42)',vr:"LO",name:"RestDirection",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",44)':{tag:'(0013,"SIEMENS CM VA0 CMS",44)',vr:"LO",name:"PatientPosition",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",46)':{tag:'(0013,"SIEMENS CM VA0 CMS",46)',vr:"LT",name:"ViewDirection",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",50)':{tag:'(0013,"SIEMENS CM VA0 CMS",50)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",51)':{tag:'(0013,"SIEMENS CM VA0 CMS",51)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",52)':{tag:'(0013,"SIEMENS CM VA0 CMS",52)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",53)':{tag:'(0013,"SIEMENS CM VA0 CMS",53)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",54)':{tag:'(0013,"SIEMENS CM VA0 CMS",54)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",55)':{tag:'(0013,"SIEMENS CM VA0 CMS",55)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0013,"SIEMENS CM VA0 CMS",56)':{tag:'(0013,"SIEMENS CM VA0 CMS",56)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CM VA0 CMS",10)':{tag:'(0019,"SIEMENS CM VA0 CMS",10)',vr:"DS",name:"NetFrequency",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CM VA0 CMS",20)':{tag:'(0019,"SIEMENS CM VA0 CMS",20)',vr:"LT",name:"MeasurementMode",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CM VA0 CMS",30)':{tag:'(0019,"SIEMENS CM VA0 CMS",30)',vr:"LT",name:"CalculationMode",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CM VA0 CMS",50)':{tag:'(0019,"SIEMENS CM VA0 CMS",50)',vr:"IS",name:"NoiseLevel",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CM VA0 CMS",60)':{tag:'(0019,"SIEMENS CM VA0 CMS",60)',vr:"IS",name:"NumberOfDataBytes",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CM VA0 CMS",20)':{tag:'(0021,"SIEMENS CM VA0 CMS",20)',vr:"DS",name:"FoV",vm:"2",version:"PrivateTag"},'(0021,"SIEMENS CM VA0 CMS",22)':{tag:'(0021,"SIEMENS CM VA0 CMS",22)',vr:"DS",name:"ImageMagnificationFactor",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CM VA0 CMS",24)':{tag:'(0021,"SIEMENS CM VA0 CMS",24)',vr:"DS",name:"ImageScrollOffset",vm:"2",version:"PrivateTag"},'(0021,"SIEMENS CM VA0 CMS",26)':{tag:'(0021,"SIEMENS CM VA0 CMS",26)',vr:"IS",name:"ImagePixelOffset",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CM VA0 CMS",30)':{tag:'(0021,"SIEMENS CM VA0 CMS",30)',vr:"LT",name:"ViewDirection",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CM VA0 CMS",32)':{tag:'(0021,"SIEMENS CM VA0 CMS",32)',vr:"CS",name:"PatientRestDirection",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CM VA0 CMS",60)':{tag:'(0021,"SIEMENS CM VA0 CMS",60)',vr:"DS",name:"ImagePosition",vm:"3",version:"PrivateTag"},'(0021,"SIEMENS CM VA0 CMS",61)':{tag:'(0021,"SIEMENS CM VA0 CMS",61)',vr:"DS",name:"ImageNormal",vm:"3",version:"PrivateTag"},'(0021,"SIEMENS CM VA0 CMS",63)':{tag:'(0021,"SIEMENS CM VA0 CMS",63)',vr:"DS",name:"ImageDistance",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CM VA0 CMS",65)':{tag:'(0021,"SIEMENS CM VA0 CMS",65)',vr:"US",name:"ImagePositioningHistoryMask",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CM VA0 CMS",6a)':{tag:'(0021,"SIEMENS CM VA0 CMS",6a)',vr:"DS",name:"ImageRow",vm:"3",version:"PrivateTag"},'(0021,"SIEMENS CM VA0 CMS",6b)':{tag:'(0021,"SIEMENS CM VA0 CMS",6b)',vr:"DS",name:"ImageColumn",vm:"3",version:"PrivateTag"},'(0021,"SIEMENS CM VA0 CMS",70)':{tag:'(0021,"SIEMENS CM VA0 CMS",70)',vr:"LT",name:"PatientOrientationSet1",vm:"3",version:"PrivateTag"},'(0021,"SIEMENS CM VA0 CMS",71)':{tag:'(0021,"SIEMENS CM VA0 CMS",71)',vr:"LT",name:"PatientOrientationSet2",vm:"3",version:"PrivateTag"},'(0021,"SIEMENS CM VA0 CMS",80)':{tag:'(0021,"SIEMENS CM VA0 CMS",80)',vr:"LT",name:"StudyName",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CM VA0 CMS",82)':{tag:'(0021,"SIEMENS CM VA0 CMS",82)',vr:"LT",name:"StudyType",vm:"3",version:"PrivateTag"},'(0029,"SIEMENS CM VA0 CMS",10)':{tag:'(0029,"SIEMENS CM VA0 CMS",10)',vr:"LT",name:"WindowStyle",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS CM VA0 CMS",11)':{tag:'(0029,"SIEMENS CM VA0 CMS",11)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS CM VA0 CMS",13)':{tag:'(0029,"SIEMENS CM VA0 CMS",13)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS CM VA0 CMS",20)':{tag:'(0029,"SIEMENS CM VA0 CMS",20)',vr:"LT",name:"PixelQualityCode",vm:"3",version:"PrivateTag"},'(0029,"SIEMENS CM VA0 CMS",22)':{tag:'(0029,"SIEMENS CM VA0 CMS",22)',vr:"IS",name:"PixelQualityValue",vm:"3",version:"PrivateTag"},'(0029,"SIEMENS CM VA0 CMS",50)':{tag:'(0029,"SIEMENS CM VA0 CMS",50)',vr:"LT",name:"ArchiveCode",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS CM VA0 CMS",51)':{tag:'(0029,"SIEMENS CM VA0 CMS",51)',vr:"LT",name:"ExposureCode",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS CM VA0 CMS",52)':{tag:'(0029,"SIEMENS CM VA0 CMS",52)',vr:"LT",name:"SortCode",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS CM VA0 CMS",53)':{tag:'(0029,"SIEMENS CM VA0 CMS",53)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS CM VA0 CMS",60)':{tag:'(0029,"SIEMENS CM VA0 CMS",60)',vr:"LT",name:"Splash",vm:"1",version:"PrivateTag"},'(0051,"SIEMENS CM VA0 CMS",10)':{tag:'(0051,"SIEMENS CM VA0 CMS",10)',vr:"LT",name:"ImageText",vm:"1-n",version:"PrivateTag"},'(6021,"SIEMENS CM VA0 CMS",00)':{tag:'(6021,"SIEMENS CM VA0 CMS",00)',vr:"LT",name:"ImageGraphicsFormatCode",vm:"1",version:"PrivateTag"},'(6021,"SIEMENS CM VA0 CMS",10)':{tag:'(6021,"SIEMENS CM VA0 CMS",10)',vr:"LT",name:"ImageGraphics",vm:"1",version:"PrivateTag"},'(7fe1,"SIEMENS CM VA0 CMS",00)':{tag:'(7fe1,"SIEMENS CM VA0 CMS",00)',vr:"OB",name:"BinaryData",vm:"1-n",version:"PrivateTag"},'(0009,"SIEMENS CM VA0 LAB",10)':{tag:'(0009,"SIEMENS CM VA0 LAB",10)',vr:"LT",name:"GeneratorIdentificationLabel",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CM VA0 LAB",11)':{tag:'(0009,"SIEMENS CM VA0 LAB",11)',vr:"LT",name:"GantryIdentificationLabel",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CM VA0 LAB",12)':{tag:'(0009,"SIEMENS CM VA0 LAB",12)',vr:"LT",name:"X-RayTubeIdentificationLabel",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CM VA0 LAB",13)':{tag:'(0009,"SIEMENS CM VA0 LAB",13)',vr:"LT",name:"DetectorIdentificationLabel",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CM VA0 LAB",14)':{tag:'(0009,"SIEMENS CM VA0 LAB",14)',vr:"LT",name:"DASIdentificationLabel",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CM VA0 LAB",15)':{tag:'(0009,"SIEMENS CM VA0 LAB",15)',vr:"LT",name:"SMIIdentificationLabel",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CM VA0 LAB",16)':{tag:'(0009,"SIEMENS CM VA0 LAB",16)',vr:"LT",name:"CPUIdentificationLabel",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CM VA0 LAB",20)':{tag:'(0009,"SIEMENS CM VA0 LAB",20)',vr:"LT",name:"HeaderVersion",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS CSA HEADER",08)':{tag:'(0029,"SIEMENS CSA HEADER",08)',vr:"CS",name:"CSAImageHeaderType",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS CSA HEADER",09)':{tag:'(0029,"SIEMENS CSA HEADER",09)',vr:"LO",name:"CSAImageHeaderVersion",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS CSA HEADER",10)':{tag:'(0029,"SIEMENS CSA HEADER",10)',vr:"OB",name:"CSAImageHeaderInfo",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS CSA HEADER",18)':{tag:'(0029,"SIEMENS CSA HEADER",18)',vr:"CS",name:"CSASeriesHeaderType",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS CSA HEADER",19)':{tag:'(0029,"SIEMENS CSA HEADER",19)',vr:"LO",name:"CSASeriesHeaderVersion",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS CSA HEADER",20)':{tag:'(0029,"SIEMENS CSA HEADER",20)',vr:"OB",name:"CSASeriesHeaderInfo",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS CSA NON-IMAGE",08)':{tag:'(0029,"SIEMENS CSA NON-IMAGE",08)',vr:"CS",name:"CSADataType",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS CSA NON-IMAGE",09)':{tag:'(0029,"SIEMENS CSA NON-IMAGE",09)',vr:"LO",name:"CSADataVersion",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS CSA NON-IMAGE",10)':{tag:'(0029,"SIEMENS CSA NON-IMAGE",10)',vr:"OB",name:"CSADataInfo",vm:"1",version:"PrivateTag"},'(7FE1,"SIEMENS CSA NON-IMAGE",10)':{tag:'(7FE1,"SIEMENS CSA NON-IMAGE",10)',vr:"OB",name:"CSAData",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",10)':{tag:'(0019,"SIEMENS CT VA0 COAD",10)',vr:"DS",name:"DistanceSourceToSourceSideCollimator",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",11)':{tag:'(0019,"SIEMENS CT VA0 COAD",11)',vr:"DS",name:"DistanceSourceToDetectorSideCollimator",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",20)':{tag:'(0019,"SIEMENS CT VA0 COAD",20)',vr:"IS",name:"NumberOfPossibleChannels",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",21)':{tag:'(0019,"SIEMENS CT VA0 COAD",21)',vr:"IS",name:"MeanChannelNumber",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",22)':{tag:'(0019,"SIEMENS CT VA0 COAD",22)',vr:"DS",name:"DetectorSpacing",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",23)':{tag:'(0019,"SIEMENS CT VA0 COAD",23)',vr:"DS",name:"DetectorCenter",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",24)':{tag:'(0019,"SIEMENS CT VA0 COAD",24)',vr:"DS",name:"ReadingIntegrationTime",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",50)':{tag:'(0019,"SIEMENS CT VA0 COAD",50)',vr:"DS",name:"DetectorAlignment",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",52)':{tag:'(0019,"SIEMENS CT VA0 COAD",52)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",54)':{tag:'(0019,"SIEMENS CT VA0 COAD",54)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",60)':{tag:'(0019,"SIEMENS CT VA0 COAD",60)',vr:"DS",name:"FocusAlignment",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",65)':{tag:'(0019,"SIEMENS CT VA0 COAD",65)',vr:"UL",name:"FocalSpotDeflectionAmplitude",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",66)':{tag:'(0019,"SIEMENS CT VA0 COAD",66)',vr:"UL",name:"FocalSpotDeflectionPhase",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",67)':{tag:'(0019,"SIEMENS CT VA0 COAD",67)',vr:"UL",name:"FocalSpotDeflectionOffset",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",70)':{tag:'(0019,"SIEMENS CT VA0 COAD",70)',vr:"DS",name:"WaterScalingFactor",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",71)':{tag:'(0019,"SIEMENS CT VA0 COAD",71)',vr:"DS",name:"InterpolationFactor",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",80)':{tag:'(0019,"SIEMENS CT VA0 COAD",80)',vr:"LT",name:"PatientRegion",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",82)':{tag:'(0019,"SIEMENS CT VA0 COAD",82)',vr:"LT",name:"PatientPhaseOfLife",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",90)':{tag:'(0019,"SIEMENS CT VA0 COAD",90)',vr:"DS",name:"OsteoOffset",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",92)':{tag:'(0019,"SIEMENS CT VA0 COAD",92)',vr:"DS",name:"OsteoRegressionLineSlope",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",93)':{tag:'(0019,"SIEMENS CT VA0 COAD",93)',vr:"DS",name:"OsteoRegressionLineIntercept",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",94)':{tag:'(0019,"SIEMENS CT VA0 COAD",94)',vr:"DS",name:"OsteoStandardizationCode",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",96)':{tag:'(0019,"SIEMENS CT VA0 COAD",96)',vr:"IS",name:"OsteoPhantomNumber",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",A3)':{tag:'(0019,"SIEMENS CT VA0 COAD",A3)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",A4)':{tag:'(0019,"SIEMENS CT VA0 COAD",A4)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",A5)':{tag:'(0019,"SIEMENS CT VA0 COAD",A5)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",A6)':{tag:'(0019,"SIEMENS CT VA0 COAD",A6)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",A7)':{tag:'(0019,"SIEMENS CT VA0 COAD",A7)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",A8)':{tag:'(0019,"SIEMENS CT VA0 COAD",A8)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",A9)':{tag:'(0019,"SIEMENS CT VA0 COAD",A9)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",AA)':{tag:'(0019,"SIEMENS CT VA0 COAD",AA)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",AB)':{tag:'(0019,"SIEMENS CT VA0 COAD",AB)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",AC)':{tag:'(0019,"SIEMENS CT VA0 COAD",AC)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",AD)':{tag:'(0019,"SIEMENS CT VA0 COAD",AD)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",AE)':{tag:'(0019,"SIEMENS CT VA0 COAD",AE)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",AF)':{tag:'(0019,"SIEMENS CT VA0 COAD",AF)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",B0)':{tag:'(0019,"SIEMENS CT VA0 COAD",B0)',vr:"DS",name:"FeedPerRotation",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",BD)':{tag:'(0019,"SIEMENS CT VA0 COAD",BD)',vr:"IS",name:"PulmoTriggerLevel",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",BE)':{tag:'(0019,"SIEMENS CT VA0 COAD",BE)',vr:"DS",name:"ExpiratoricReserveVolume",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",BF)':{tag:'(0019,"SIEMENS CT VA0 COAD",BF)',vr:"DS",name:"VitalCapacity",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",C0)':{tag:'(0019,"SIEMENS CT VA0 COAD",C0)',vr:"DS",name:"PulmoWater",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",C1)':{tag:'(0019,"SIEMENS CT VA0 COAD",C1)',vr:"DS",name:"PulmoAir",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",C2)':{tag:'(0019,"SIEMENS CT VA0 COAD",C2)',vr:"DA",name:"PulmoDate",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 COAD",C3)':{tag:'(0019,"SIEMENS CT VA0 COAD",C3)',vr:"TM",name:"PulmoTime",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",10)':{tag:'(0019,"SIEMENS CT VA0 GEN",10)',vr:"DS",name:"SourceSideCollimatorAperture",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",11)':{tag:'(0019,"SIEMENS CT VA0 GEN",11)',vr:"DS",name:"DetectorSideCollimatorAperture",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",20)':{tag:'(0019,"SIEMENS CT VA0 GEN",20)',vr:"DS",name:"ExposureTime",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",21)':{tag:'(0019,"SIEMENS CT VA0 GEN",21)',vr:"DS",name:"ExposureCurrent",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",25)':{tag:'(0019,"SIEMENS CT VA0 GEN",25)',vr:"DS",name:"KVPGeneratorPowerCurrent",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",26)':{tag:'(0019,"SIEMENS CT VA0 GEN",26)',vr:"DS",name:"GeneratorVoltage",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",40)':{tag:'(0019,"SIEMENS CT VA0 GEN",40)',vr:"UL",name:"MasterControlMask",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",42)':{tag:'(0019,"SIEMENS CT VA0 GEN",42)',vr:"US",name:"ProcessingMask",vm:"5",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",44)':{tag:'(0019,"SIEMENS CT VA0 GEN",44)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",45)':{tag:'(0019,"SIEMENS CT VA0 GEN",45)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",62)':{tag:'(0019,"SIEMENS CT VA0 GEN",62)',vr:"IS",name:"NumberOfVirtuellChannels",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",70)':{tag:'(0019,"SIEMENS CT VA0 GEN",70)',vr:"IS",name:"NumberOfReadings",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",71)':{tag:'(0019,"SIEMENS CT VA0 GEN",71)',vr:"LT",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",74)':{tag:'(0019,"SIEMENS CT VA0 GEN",74)',vr:"IS",name:"NumberOfProjections",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",75)':{tag:'(0019,"SIEMENS CT VA0 GEN",75)',vr:"IS",name:"NumberOfBytes",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",80)':{tag:'(0019,"SIEMENS CT VA0 GEN",80)',vr:"LT",name:"ReconstructionAlgorithmSet",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",81)':{tag:'(0019,"SIEMENS CT VA0 GEN",81)',vr:"LT",name:"ReconstructionAlgorithmIndex",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",82)':{tag:'(0019,"SIEMENS CT VA0 GEN",82)',vr:"LT",name:"RegenerationSoftwareVersion",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS CT VA0 GEN",88)':{tag:'(0019,"SIEMENS CT VA0 GEN",88)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",10)':{tag:'(0021,"SIEMENS CT VA0 GEN",10)',vr:"IS",name:"RotationAngle",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",11)':{tag:'(0021,"SIEMENS CT VA0 GEN",11)',vr:"IS",name:"StartAngle",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",20)':{tag:'(0021,"SIEMENS CT VA0 GEN",20)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",30)':{tag:'(0021,"SIEMENS CT VA0 GEN",30)',vr:"IS",name:"TopogramTubePosition",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",32)':{tag:'(0021,"SIEMENS CT VA0 GEN",32)',vr:"DS",name:"LengthOfTopogram",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",34)':{tag:'(0021,"SIEMENS CT VA0 GEN",34)',vr:"DS",name:"TopogramCorrectionFactor",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",36)':{tag:'(0021,"SIEMENS CT VA0 GEN",36)',vr:"DS",name:"MaximumTablePosition",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",40)':{tag:'(0021,"SIEMENS CT VA0 GEN",40)',vr:"IS",name:"TableMoveDirectionCode",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",45)':{tag:'(0021,"SIEMENS CT VA0 GEN",45)',vr:"IS",name:"VOIStartRow",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",46)':{tag:'(0021,"SIEMENS CT VA0 GEN",46)',vr:"IS",name:"VOIStopRow",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",47)':{tag:'(0021,"SIEMENS CT VA0 GEN",47)',vr:"IS",name:"VOIStartColumn",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",48)':{tag:'(0021,"SIEMENS CT VA0 GEN",48)',vr:"IS",name:"VOIStopColumn",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",49)':{tag:'(0021,"SIEMENS CT VA0 GEN",49)',vr:"IS",name:"VOIStartSlice",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",4a)':{tag:'(0021,"SIEMENS CT VA0 GEN",4a)',vr:"IS",name:"VOIStopSlice",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",50)':{tag:'(0021,"SIEMENS CT VA0 GEN",50)',vr:"IS",name:"VectorStartRow",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",51)':{tag:'(0021,"SIEMENS CT VA0 GEN",51)',vr:"IS",name:"VectorRowStep",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",52)':{tag:'(0021,"SIEMENS CT VA0 GEN",52)',vr:"IS",name:"VectorStartColumn",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",53)':{tag:'(0021,"SIEMENS CT VA0 GEN",53)',vr:"IS",name:"VectorColumnStep",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",60)':{tag:'(0021,"SIEMENS CT VA0 GEN",60)',vr:"IS",name:"RangeTypeCode",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",62)':{tag:'(0021,"SIEMENS CT VA0 GEN",62)',vr:"IS",name:"ReferenceTypeCode",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",70)':{tag:'(0021,"SIEMENS CT VA0 GEN",70)',vr:"DS",name:"ObjectOrientation",vm:"3",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",72)':{tag:'(0021,"SIEMENS CT VA0 GEN",72)',vr:"DS",name:"LightOrientation",vm:"3",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",75)':{tag:'(0021,"SIEMENS CT VA0 GEN",75)',vr:"DS",name:"LightBrightness",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",76)':{tag:'(0021,"SIEMENS CT VA0 GEN",76)',vr:"DS",name:"LightContrast",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",7a)':{tag:'(0021,"SIEMENS CT VA0 GEN",7a)',vr:"IS",name:"OverlayThreshold",vm:"2",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",7b)':{tag:'(0021,"SIEMENS CT VA0 GEN",7b)',vr:"IS",name:"SurfaceThreshold",vm:"2",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",7c)':{tag:'(0021,"SIEMENS CT VA0 GEN",7c)',vr:"IS",name:"GreyScaleThreshold",vm:"2",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",a0)':{tag:'(0021,"SIEMENS CT VA0 GEN",a0)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",a2)':{tag:'(0021,"SIEMENS CT VA0 GEN",a2)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 GEN",a7)':{tag:'(0021,"SIEMENS CT VA0 GEN",a7)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CT VA0 IDE",10)':{tag:'(0009,"SIEMENS CT VA0 IDE",10)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CT VA0 IDE",30)':{tag:'(0009,"SIEMENS CT VA0 IDE",30)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CT VA0 IDE",31)':{tag:'(0009,"SIEMENS CT VA0 IDE",31)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CT VA0 IDE",32)':{tag:'(0009,"SIEMENS CT VA0 IDE",32)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CT VA0 IDE",34)':{tag:'(0009,"SIEMENS CT VA0 IDE",34)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CT VA0 IDE",40)':{tag:'(0009,"SIEMENS CT VA0 IDE",40)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CT VA0 IDE",42)':{tag:'(0009,"SIEMENS CT VA0 IDE",42)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CT VA0 IDE",50)':{tag:'(0009,"SIEMENS CT VA0 IDE",50)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CT VA0 IDE",51)':{tag:'(0009,"SIEMENS CT VA0 IDE",51)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CT VA0 ORI",20)':{tag:'(0009,"SIEMENS CT VA0 ORI",20)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS CT VA0 ORI",30)':{tag:'(0009,"SIEMENS CT VA0 ORI",30)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(6021,"SIEMENS CT VA0 OST",00)':{tag:'(6021,"SIEMENS CT VA0 OST",00)',vr:"LT",name:"OsteoContourComment",vm:"1",version:"PrivateTag"},'(6021,"SIEMENS CT VA0 OST",10)':{tag:'(6021,"SIEMENS CT VA0 OST",10)',vr:"US",name:"OsteoContourBuffer",vm:"256",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 RAW",10)':{tag:'(0021,"SIEMENS CT VA0 RAW",10)',vr:"UL",name:"CreationMask",vm:"2",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 RAW",20)':{tag:'(0021,"SIEMENS CT VA0 RAW",20)',vr:"UL",name:"EvaluationMask",vm:"2",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 RAW",30)':{tag:'(0021,"SIEMENS CT VA0 RAW",30)',vr:"US",name:"ExtendedProcessingMask",vm:"7",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 RAW",40)':{tag:'(0021,"SIEMENS CT VA0 RAW",40)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 RAW",41)':{tag:'(0021,"SIEMENS CT VA0 RAW",41)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 RAW",42)':{tag:'(0021,"SIEMENS CT VA0 RAW",42)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 RAW",43)':{tag:'(0021,"SIEMENS CT VA0 RAW",43)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 RAW",44)':{tag:'(0021,"SIEMENS CT VA0 RAW",44)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0021,"SIEMENS CT VA0 RAW",50)':{tag:'(0021,"SIEMENS CT VA0 RAW",50)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS DICOM",10)':{tag:'(0009,"SIEMENS DICOM",10)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS DICOM",12)':{tag:'(0009,"SIEMENS DICOM",12)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",10)':{tag:'(0019,"SIEMENS DLR.01",10)',vr:"LT",name:"MeasurementMode",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",11)':{tag:'(0019,"SIEMENS DLR.01",11)',vr:"LT",name:"ImageType",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",15)':{tag:'(0019,"SIEMENS DLR.01",15)',vr:"LT",name:"SoftwareVersion",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",20)':{tag:'(0019,"SIEMENS DLR.01",20)',vr:"LT",name:"MPMCode",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",21)':{tag:'(0019,"SIEMENS DLR.01",21)',vr:"LT",name:"Latitude",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",22)':{tag:'(0019,"SIEMENS DLR.01",22)',vr:"LT",name:"Sensitivity",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",23)':{tag:'(0019,"SIEMENS DLR.01",23)',vr:"LT",name:"EDR",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",24)':{tag:'(0019,"SIEMENS DLR.01",24)',vr:"LT",name:"LFix",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",25)':{tag:'(0019,"SIEMENS DLR.01",25)',vr:"LT",name:"SFix",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",26)':{tag:'(0019,"SIEMENS DLR.01",26)',vr:"LT",name:"PresetMode",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",27)':{tag:'(0019,"SIEMENS DLR.01",27)',vr:"LT",name:"Region",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",28)':{tag:'(0019,"SIEMENS DLR.01",28)',vr:"LT",name:"Subregion",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",30)':{tag:'(0019,"SIEMENS DLR.01",30)',vr:"LT",name:"Orientation",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",31)':{tag:'(0019,"SIEMENS DLR.01",31)',vr:"LT",name:"MarkOnFilm",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",32)':{tag:'(0019,"SIEMENS DLR.01",32)',vr:"LT",name:"RotationOnDRC",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",40)':{tag:'(0019,"SIEMENS DLR.01",40)',vr:"LT",name:"ReaderType",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",41)':{tag:'(0019,"SIEMENS DLR.01",41)',vr:"LT",name:"SubModality",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",42)':{tag:'(0019,"SIEMENS DLR.01",42)',vr:"LT",name:"ReaderSerialNumber",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",50)':{tag:'(0019,"SIEMENS DLR.01",50)',vr:"LT",name:"CassetteScale",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",51)':{tag:'(0019,"SIEMENS DLR.01",51)',vr:"LT",name:"CassetteMatrix",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",52)':{tag:'(0019,"SIEMENS DLR.01",52)',vr:"LT",name:"CassetteSubmatrix",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",53)':{tag:'(0019,"SIEMENS DLR.01",53)',vr:"LT",name:"Barcode",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",60)':{tag:'(0019,"SIEMENS DLR.01",60)',vr:"LT",name:"ContrastType",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",61)':{tag:'(0019,"SIEMENS DLR.01",61)',vr:"LT",name:"RotationAmount",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",62)':{tag:'(0019,"SIEMENS DLR.01",62)',vr:"LT",name:"RotationCenter",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",63)':{tag:'(0019,"SIEMENS DLR.01",63)',vr:"LT",name:"DensityShift",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",64)':{tag:'(0019,"SIEMENS DLR.01",64)',vr:"US",name:"FrequencyRank",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",65)':{tag:'(0019,"SIEMENS DLR.01",65)',vr:"LT",name:"FrequencyEnhancement",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",66)':{tag:'(0019,"SIEMENS DLR.01",66)',vr:"LT",name:"FrequencyType",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",67)':{tag:'(0019,"SIEMENS DLR.01",67)',vr:"LT",name:"KernelLength",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",68)':{tag:'(0019,"SIEMENS DLR.01",68)',vr:"UL",name:"KernelMode",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",69)':{tag:'(0019,"SIEMENS DLR.01",69)',vr:"UL",name:"ConvolutionMode",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",70)':{tag:'(0019,"SIEMENS DLR.01",70)',vr:"LT",name:"PLASource",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",71)':{tag:'(0019,"SIEMENS DLR.01",71)',vr:"LT",name:"PLADestination",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",75)':{tag:'(0019,"SIEMENS DLR.01",75)',vr:"LT",name:"UIDOriginalImage",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",76)':{tag:'(0019,"SIEMENS DLR.01",76)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",80)':{tag:'(0019,"SIEMENS DLR.01",80)',vr:"LT",name:"ReaderHeader",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",90)':{tag:'(0019,"SIEMENS DLR.01",90)',vr:"LT",name:"PLAOfSecondaryDestination",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",a0)':{tag:'(0019,"SIEMENS DLR.01",a0)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS DLR.01",a1)':{tag:'(0019,"SIEMENS DLR.01",a1)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0041,"SIEMENS DLR.01",10)':{tag:'(0041,"SIEMENS DLR.01",10)',vr:"US",name:"NumberOfHardcopies",vm:"1",version:"PrivateTag"},'(0041,"SIEMENS DLR.01",20)':{tag:'(0041,"SIEMENS DLR.01",20)',vr:"LT",name:"FilmFormat",vm:"1",version:"PrivateTag"},'(0041,"SIEMENS DLR.01",30)':{tag:'(0041,"SIEMENS DLR.01",30)',vr:"LT",name:"FilmSize",vm:"1",version:"PrivateTag"},'(0041,"SIEMENS DLR.01",31)':{tag:'(0041,"SIEMENS DLR.01",31)',vr:"LT",name:"FullFilmFormat",vm:"1",version:"PrivateTag"},'(0003,"SIEMENS ISI",08)':{tag:'(0003,"SIEMENS ISI",08)',vr:"US",name:"ISICommandField",vm:"1",version:"PrivateTag"},'(0003,"SIEMENS ISI",11)':{tag:'(0003,"SIEMENS ISI",11)',vr:"US",name:"AttachIDApplicationCode",vm:"1",version:"PrivateTag"},'(0003,"SIEMENS ISI",12)':{tag:'(0003,"SIEMENS ISI",12)',vr:"UL",name:"AttachIDMessageCount",vm:"1",version:"PrivateTag"},'(0003,"SIEMENS ISI",13)':{tag:'(0003,"SIEMENS ISI",13)',vr:"DA",name:"AttachIDDate",vm:"1",version:"PrivateTag"},'(0003,"SIEMENS ISI",14)':{tag:'(0003,"SIEMENS ISI",14)',vr:"TM",name:"AttachIDTime",vm:"1",version:"PrivateTag"},'(0003,"SIEMENS ISI",20)':{tag:'(0003,"SIEMENS ISI",20)',vr:"US",name:"MessageType",vm:"1",version:"PrivateTag"},'(0003,"SIEMENS ISI",30)':{tag:'(0003,"SIEMENS ISI",30)',vr:"DA",name:"MaxWaitingDate",vm:"1",version:"PrivateTag"},'(0003,"SIEMENS ISI",31)':{tag:'(0003,"SIEMENS ISI",31)',vr:"TM",name:"MaxWaitingTime",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS ISI",01)':{tag:'(0009,"SIEMENS ISI",01)',vr:"UN",name:"RISPatientInfoIMGEF",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS ISI",03)':{tag:'(0011,"SIEMENS ISI",03)',vr:"LT",name:"PatientUID",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS ISI",04)':{tag:'(0011,"SIEMENS ISI",04)',vr:"LT",name:"PatientID",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS ISI",0a)':{tag:'(0011,"SIEMENS ISI",0a)',vr:"LT",name:"CaseID",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS ISI",22)':{tag:'(0011,"SIEMENS ISI",22)',vr:"LT",name:"RequestID",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS ISI",23)':{tag:'(0011,"SIEMENS ISI",23)',vr:"LT",name:"ExaminationUID",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS ISI",a1)':{tag:'(0011,"SIEMENS ISI",a1)',vr:"DA",name:"PatientRegistrationDate",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS ISI",a2)':{tag:'(0011,"SIEMENS ISI",a2)',vr:"TM",name:"PatientRegistrationTime",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS ISI",b0)':{tag:'(0011,"SIEMENS ISI",b0)',vr:"LT",name:"PatientLastName",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS ISI",b2)':{tag:'(0011,"SIEMENS ISI",b2)',vr:"LT",name:"PatientFirstName",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS ISI",b4)':{tag:'(0011,"SIEMENS ISI",b4)',vr:"LT",name:"PatientHospitalStatus",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS ISI",bc)':{tag:'(0011,"SIEMENS ISI",bc)',vr:"TM",name:"CurrentLocationTime",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS ISI",c0)':{tag:'(0011,"SIEMENS ISI",c0)',vr:"LT",name:"PatientInsuranceStatus",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS ISI",d0)':{tag:'(0011,"SIEMENS ISI",d0)',vr:"LT",name:"PatientBillingType",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS ISI",d2)':{tag:'(0011,"SIEMENS ISI",d2)',vr:"LT",name:"PatientBillingAddress",vm:"1",version:"PrivateTag"},'(0031,"SIEMENS ISI",12)':{tag:'(0031,"SIEMENS ISI",12)',vr:"LT",name:"ExaminationReason",vm:"1",version:"PrivateTag"},'(0031,"SIEMENS ISI",30)':{tag:'(0031,"SIEMENS ISI",30)',vr:"DA",name:"RequestedDate",vm:"1",version:"PrivateTag"},'(0031,"SIEMENS ISI",32)':{tag:'(0031,"SIEMENS ISI",32)',vr:"TM",name:"WorklistRequestStartTime",vm:"1",version:"PrivateTag"},'(0031,"SIEMENS ISI",33)':{tag:'(0031,"SIEMENS ISI",33)',vr:"TM",name:"WorklistRequestEndTime",vm:"1",version:"PrivateTag"},'(0031,"SIEMENS ISI",4a)':{tag:'(0031,"SIEMENS ISI",4a)',vr:"TM",name:"RequestedTime",vm:"1",version:"PrivateTag"},'(0031,"SIEMENS ISI",80)':{tag:'(0031,"SIEMENS ISI",80)',vr:"LT",name:"RequestedLocation",vm:"1",version:"PrivateTag"},'(0055,"SIEMENS ISI",46)':{tag:'(0055,"SIEMENS ISI",46)',vr:"LT",name:"CurrentWard",vm:"1",version:"PrivateTag"},'(0193,"SIEMENS ISI",02)':{tag:'(0193,"SIEMENS ISI",02)',vr:"DS",name:"RISKey",vm:"1",version:"PrivateTag"},'(0307,"SIEMENS ISI",01)':{tag:'(0307,"SIEMENS ISI",01)',vr:"UN",name:"RISWorklistIMGEF",vm:"1",version:"PrivateTag"},'(0309,"SIEMENS ISI",01)':{tag:'(0309,"SIEMENS ISI",01)',vr:"UN",name:"RISReportIMGEF",vm:"1",version:"PrivateTag"},'(4009,"SIEMENS ISI",01)':{tag:'(4009,"SIEMENS ISI",01)',vr:"LT",name:"ReportID",vm:"1",version:"PrivateTag"},'(4009,"SIEMENS ISI",20)':{tag:'(4009,"SIEMENS ISI",20)',vr:"LT",name:"ReportStatus",vm:"1",version:"PrivateTag"},'(4009,"SIEMENS ISI",30)':{tag:'(4009,"SIEMENS ISI",30)',vr:"DA",name:"ReportCreationDate",vm:"1",version:"PrivateTag"},'(4009,"SIEMENS ISI",70)':{tag:'(4009,"SIEMENS ISI",70)',vr:"LT",name:"ReportApprovingPhysician",vm:"1",version:"PrivateTag"},'(4009,"SIEMENS ISI",e0)':{tag:'(4009,"SIEMENS ISI",e0)',vr:"LT",name:"ReportText",vm:"1",version:"PrivateTag"},'(4009,"SIEMENS ISI",e1)':{tag:'(4009,"SIEMENS ISI",e1)',vr:"LT",name:"ReportAuthor",vm:"1",version:"PrivateTag"},'(4009,"SIEMENS ISI",e3)':{tag:'(4009,"SIEMENS ISI",e3)',vr:"LT",name:"ReportingRadiologist",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED DISPLAY",04)':{tag:'(0029,"SIEMENS MED DISPLAY",04)',vr:"LT",name:"PhotometricInterpretation",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED DISPLAY",10)':{tag:'(0029,"SIEMENS MED DISPLAY",10)',vr:"US",name:"RowsOfSubmatrix",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED DISPLAY",11)':{tag:'(0029,"SIEMENS MED DISPLAY",11)',vr:"US",name:"ColumnsOfSubmatrix",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED DISPLAY",20)':{tag:'(0029,"SIEMENS MED DISPLAY",20)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED DISPLAY",21)':{tag:'(0029,"SIEMENS MED DISPLAY",21)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED DISPLAY",50)':{tag:'(0029,"SIEMENS MED DISPLAY",50)',vr:"US",name:"OriginOfSubmatrix",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED DISPLAY",99)':{tag:'(0029,"SIEMENS MED DISPLAY",99)',vr:"LT",name:"ShutterType",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED DISPLAY",a0)':{tag:'(0029,"SIEMENS MED DISPLAY",a0)',vr:"US",name:"RowsOfRectangularShutter",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED DISPLAY",a1)':{tag:'(0029,"SIEMENS MED DISPLAY",a1)',vr:"US",name:"ColumnsOfRectangularShutter",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED DISPLAY",a2)':{tag:'(0029,"SIEMENS MED DISPLAY",a2)',vr:"US",name:"OriginOfRectangularShutter",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED DISPLAY",b0)':{tag:'(0029,"SIEMENS MED DISPLAY",b0)',vr:"US",name:"RadiusOfCircularShutter",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED DISPLAY",b2)':{tag:'(0029,"SIEMENS MED DISPLAY",b2)',vr:"US",name:"OriginOfCircularShutter",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED DISPLAY",c1)':{tag:'(0029,"SIEMENS MED DISPLAY",c1)',vr:"US",name:"ContourOfIrregularShutter",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED HG",10)':{tag:'(0029,"SIEMENS MED HG",10)',vr:"US",name:"ListOfGroupNumbers",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED HG",15)':{tag:'(0029,"SIEMENS MED HG",15)',vr:"LT",name:"ListOfShadowOwnerCodes",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED HG",20)':{tag:'(0029,"SIEMENS MED HG",20)',vr:"US",name:"ListOfElementNumbers",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED HG",30)':{tag:'(0029,"SIEMENS MED HG",30)',vr:"US",name:"ListOfTotalDisplayLength",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED HG",40)':{tag:'(0029,"SIEMENS MED HG",40)',vr:"LT",name:"ListOfDisplayPrefix",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED HG",50)':{tag:'(0029,"SIEMENS MED HG",50)',vr:"LT",name:"ListOfDisplayPostfix",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED HG",60)':{tag:'(0029,"SIEMENS MED HG",60)',vr:"US",name:"ListOfTextPosition",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED HG",70)':{tag:'(0029,"SIEMENS MED HG",70)',vr:"LT",name:"ListOfTextConcatenation",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED MG",10)':{tag:'(0029,"SIEMENS MED MG",10)',vr:"US",name:"ListOfGroupNumbers",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED MG",15)':{tag:'(0029,"SIEMENS MED MG",15)',vr:"LT",name:"ListOfShadowOwnerCodes",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED MG",20)':{tag:'(0029,"SIEMENS MED MG",20)',vr:"US",name:"ListOfElementNumbers",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED MG",30)':{tag:'(0029,"SIEMENS MED MG",30)',vr:"US",name:"ListOfTotalDisplayLength",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED MG",40)':{tag:'(0029,"SIEMENS MED MG",40)',vr:"LT",name:"ListOfDisplayPrefix",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED MG",50)':{tag:'(0029,"SIEMENS MED MG",50)',vr:"LT",name:"ListOfDisplayPostfix",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED MG",60)':{tag:'(0029,"SIEMENS MED MG",60)',vr:"US",name:"ListOfTextPosition",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MED MG",70)':{tag:'(0029,"SIEMENS MED MG",70)',vr:"LT",name:"ListOfTextConcatenation",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS MED",10)':{tag:'(0009,"SIEMENS MED",10)',vr:"LO",name:"RecognitionCode",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS MED",30)':{tag:'(0009,"SIEMENS MED",30)',vr:"UL",name:"ByteOffsetOfOriginalHeader",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS MED",31)':{tag:'(0009,"SIEMENS MED",31)',vr:"UL",name:"LengthOfOriginalHeader",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS MED",40)':{tag:'(0009,"SIEMENS MED",40)',vr:"UL",name:"ByteOffsetOfPixelmatrix",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS MED",41)':{tag:'(0009,"SIEMENS MED",41)',vr:"UL",name:"LengthOfPixelmatrixInBytes",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS MED",50)':{tag:'(0009,"SIEMENS MED",50)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS MED",51)':{tag:'(0009,"SIEMENS MED",51)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS MED",f5)':{tag:'(0009,"SIEMENS MED",f5)',vr:"LT",name:"PDMEFIDPlaceholder",vm:"1",version:"PrivateTag"},'(0009,"SIEMENS MED",f6)':{tag:'(0009,"SIEMENS MED",f6)',vr:"LT",name:"PDMDataObjectTypeExtension",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MED",10)':{tag:'(0021,"SIEMENS MED",10)',vr:"DS",name:"Zoom",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MED",11)':{tag:'(0021,"SIEMENS MED",11)',vr:"DS",name:"Target",vm:"2",version:"PrivateTag"},'(0021,"SIEMENS MED",12)':{tag:'(0021,"SIEMENS MED",12)',vr:"IS",name:"TubeAngle",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MED",20)':{tag:'(0021,"SIEMENS MED",20)',vr:"US",name:"ROIMask",vm:"1",version:"PrivateTag"},'(7001,"SIEMENS MED",10)':{tag:'(7001,"SIEMENS MED",10)',vr:"LT",name:"Dummy",vm:"1",version:"PrivateTag"},'(7003,"SIEMENS MED",10)':{tag:'(7003,"SIEMENS MED",10)',vr:"LT",name:"Header",vm:"1",version:"PrivateTag"},'(7005,"SIEMENS MED",10)':{tag:'(7005,"SIEMENS MED",10)',vr:"LT",name:"Dummy",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",08)':{tag:'(0029,"SIEMENS MEDCOM HEADER",08)',vr:"CS",name:"MedComHeaderType",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",09)':{tag:'(0029,"SIEMENS MEDCOM HEADER",09)',vr:"LO",name:"MedComHeaderVersion",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",10)':{tag:'(0029,"SIEMENS MEDCOM HEADER",10)',vr:"OB",name:"MedComHeaderInfo",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",20)':{tag:'(0029,"SIEMENS MEDCOM HEADER",20)',vr:"OB",name:"MedComHistoryInformation",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",31)':{tag:'(0029,"SIEMENS MEDCOM HEADER",31)',vr:"LO",name:"PMTFInformation1",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",32)':{tag:'(0029,"SIEMENS MEDCOM HEADER",32)',vr:"UL",name:"PMTFInformation2",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",33)':{tag:'(0029,"SIEMENS MEDCOM HEADER",33)',vr:"UL",name:"PMTFInformation3",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",34)':{tag:'(0029,"SIEMENS MEDCOM HEADER",34)',vr:"CS",name:"PMTFInformation4",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",35)':{tag:'(0029,"SIEMENS MEDCOM HEADER",35)',vr:"UL",name:"PMTFInformation5",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",40)':{tag:'(0029,"SIEMENS MEDCOM HEADER",40)',vr:"SQ",name:"ApplicationHeaderSequence",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",41)':{tag:'(0029,"SIEMENS MEDCOM HEADER",41)',vr:"CS",name:"ApplicationHeaderType",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",42)':{tag:'(0029,"SIEMENS MEDCOM HEADER",42)',vr:"LO",name:"ApplicationHeaderID",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",43)':{tag:'(0029,"SIEMENS MEDCOM HEADER",43)',vr:"LO",name:"ApplicationHeaderVersion",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",44)':{tag:'(0029,"SIEMENS MEDCOM HEADER",44)',vr:"OB",name:"ApplicationHeaderInfo",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",50)':{tag:'(0029,"SIEMENS MEDCOM HEADER",50)',vr:"LO",name:"WorkflowControlFlags",vm:"8",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",51)':{tag:'(0029,"SIEMENS MEDCOM HEADER",51)',vr:"CS",name:"ArchiveManagementFlagKeepOnline",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",52)':{tag:'(0029,"SIEMENS MEDCOM HEADER",52)',vr:"CS",name:"ArchiveManagementFlagDoNotArchive",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",53)':{tag:'(0029,"SIEMENS MEDCOM HEADER",53)',vr:"CS",name:"ImageLocationStatus",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",54)':{tag:'(0029,"SIEMENS MEDCOM HEADER",54)',vr:"DS",name:"EstimatedRetrieveTime",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",55)':{tag:'(0029,"SIEMENS MEDCOM HEADER",55)',vr:"DS",name:"DataSizeOfRetrievedImages",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",70)':{tag:'(0029,"SIEMENS MEDCOM HEADER",70)',vr:"SQ",name:"SiemensLinkSequence",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",71)':{tag:'(0029,"SIEMENS MEDCOM HEADER",71)',vr:"AT",name:"ReferencedTag",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",72)':{tag:'(0029,"SIEMENS MEDCOM HEADER",72)',vr:"CS",name:"ReferencedTagType",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",73)':{tag:'(0029,"SIEMENS MEDCOM HEADER",73)',vr:"UL",name:"ReferencedValueLength",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",74)':{tag:'(0029,"SIEMENS MEDCOM HEADER",74)',vr:"CS",name:"ReferencedObjectDeviceType",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",75)':{tag:'(0029,"SIEMENS MEDCOM HEADER",75)',vr:"OB",name:"ReferencedObjectDeviceLocation",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER",76)':{tag:'(0029,"SIEMENS MEDCOM HEADER",76)',vr:"OB",name:"ReferencedObjectDeviceID",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM HEADER2",60)':{tag:'(0029,"SIEMENS MEDCOM HEADER2",60)',vr:"LO",name:"SeriesWorkflowStatus",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM OOG",08)':{tag:'(0029,"SIEMENS MEDCOM OOG",08)',vr:"CS",name:"MEDCOMOOGType",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM OOG",09)':{tag:'(0029,"SIEMENS MEDCOM OOG",09)',vr:"LO",name:"MEDCOMOOGVersion",vm:"1",version:"PrivateTag"},'(0029,"SIEMENS MEDCOM OOG",10)':{tag:'(0029,"SIEMENS MEDCOM OOG",10)',vr:"OB",name:"MEDCOMOOGInfo",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",12)':{tag:'(0019,"SIEMENS MR VA0 COAD",12)',vr:"DS",name:"MagneticFieldStrength",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",14)':{tag:'(0019,"SIEMENS MR VA0 COAD",14)',vr:"DS",name:"ADCVoltage",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",16)':{tag:'(0019,"SIEMENS MR VA0 COAD",16)',vr:"DS",name:"ADCOffset",vm:"2",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",20)':{tag:'(0019,"SIEMENS MR VA0 COAD",20)',vr:"DS",name:"TransmitterAmplitude",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",21)':{tag:'(0019,"SIEMENS MR VA0 COAD",21)',vr:"IS",name:"NumberOfTransmitterAmplitudes",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",22)':{tag:'(0019,"SIEMENS MR VA0 COAD",22)',vr:"DS",name:"TransmitterAttenuator",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",24)':{tag:'(0019,"SIEMENS MR VA0 COAD",24)',vr:"DS",name:"TransmitterCalibration",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",26)':{tag:'(0019,"SIEMENS MR VA0 COAD",26)',vr:"DS",name:"TransmitterReference",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",50)':{tag:'(0019,"SIEMENS MR VA0 COAD",50)',vr:"DS",name:"ReceiverTotalGain",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",51)':{tag:'(0019,"SIEMENS MR VA0 COAD",51)',vr:"DS",name:"ReceiverAmplifierGain",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",52)':{tag:'(0019,"SIEMENS MR VA0 COAD",52)',vr:"DS",name:"ReceiverPreamplifierGain",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",54)':{tag:'(0019,"SIEMENS MR VA0 COAD",54)',vr:"DS",name:"ReceiverCableAttenuation",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",55)':{tag:'(0019,"SIEMENS MR VA0 COAD",55)',vr:"DS",name:"ReceiverReferenceGain",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",56)':{tag:'(0019,"SIEMENS MR VA0 COAD",56)',vr:"DS",name:"ReceiverFilterFrequency",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",60)':{tag:'(0019,"SIEMENS MR VA0 COAD",60)',vr:"DS",name:"ReconstructionScaleFactor",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",62)':{tag:'(0019,"SIEMENS MR VA0 COAD",62)',vr:"DS",name:"ReferenceScaleFactor",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",70)':{tag:'(0019,"SIEMENS MR VA0 COAD",70)',vr:"DS",name:"PhaseGradientAmplitude",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",71)':{tag:'(0019,"SIEMENS MR VA0 COAD",71)',vr:"DS",name:"ReadoutGradientAmplitude",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",72)':{tag:'(0019,"SIEMENS MR VA0 COAD",72)',vr:"DS",name:"SelectionGradientAmplitude",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",80)':{tag:'(0019,"SIEMENS MR VA0 COAD",80)',vr:"DS",name:"GradientDelayTime",vm:"3",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",82)':{tag:'(0019,"SIEMENS MR VA0 COAD",82)',vr:"DS",name:"TotalGradientDelayTime",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",90)':{tag:'(0019,"SIEMENS MR VA0 COAD",90)',vr:"LT",name:"SensitivityCorrectionLabel",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",91)':{tag:'(0019,"SIEMENS MR VA0 COAD",91)',vr:"DS",name:"SaturationPhaseEncodingVectorCoronalComponent",vm:"6",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",92)':{tag:'(0019,"SIEMENS MR VA0 COAD",92)',vr:"DS",name:"SaturationReadoutVectorCoronalComponent",vm:"6",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",a0)':{tag:'(0019,"SIEMENS MR VA0 COAD",a0)',vr:"US",name:"RFWatchdogMask",vm:"3",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",a1)':{tag:'(0019,"SIEMENS MR VA0 COAD",a1)',vr:"DS",name:"EPIReconstructionSlope",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",a2)':{tag:'(0019,"SIEMENS MR VA0 COAD",a2)',vr:"DS",name:"RFPowerErrorIndicator",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",a5)':{tag:'(0019,"SIEMENS MR VA0 COAD",a5)',vr:"DS",name:"SpecificAbsorptionRateWholeBody",vm:"3",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",a6)':{tag:'(0019,"SIEMENS MR VA0 COAD",a6)',vr:"DS",name:"SpecificEnergyDose",vm:"3",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",b0)':{tag:'(0019,"SIEMENS MR VA0 COAD",b0)',vr:"UL",name:"AdjustmentStatusMask",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",c1)':{tag:'(0019,"SIEMENS MR VA0 COAD",c1)',vr:"DS",name:"EPICapacity",vm:"6",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",c2)':{tag:'(0019,"SIEMENS MR VA0 COAD",c2)',vr:"DS",name:"EPIInductance",vm:"3",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",c3)':{tag:'(0019,"SIEMENS MR VA0 COAD",c3)',vr:"IS",name:"EPISwitchConfigurationCode",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",c4)':{tag:'(0019,"SIEMENS MR VA0 COAD",c4)',vr:"IS",name:"EPISwitchHardwareCode",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",c5)':{tag:'(0019,"SIEMENS MR VA0 COAD",c5)',vr:"DS",name:"EPISwitchDelayTime",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",d1)':{tag:'(0019,"SIEMENS MR VA0 COAD",d1)',vr:"DS",name:"FlowSensitivity",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",d2)':{tag:'(0019,"SIEMENS MR VA0 COAD",d2)',vr:"LT",name:"CalculationSubmode",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",d3)':{tag:'(0019,"SIEMENS MR VA0 COAD",d3)',vr:"DS",name:"FieldOfViewRatio",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",d4)':{tag:'(0019,"SIEMENS MR VA0 COAD",d4)',vr:"IS",name:"BaseRawMatrixSize",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",d5)':{tag:'(0019,"SIEMENS MR VA0 COAD",d5)',vr:"IS",name:"2DOversamplingLines",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",d6)':{tag:'(0019,"SIEMENS MR VA0 COAD",d6)',vr:"IS",name:"3DPhaseOversamplingPartitions",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",d7)':{tag:'(0019,"SIEMENS MR VA0 COAD",d7)',vr:"IS",name:"EchoLinePosition",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",d8)':{tag:'(0019,"SIEMENS MR VA0 COAD",d8)',vr:"IS",name:"EchoColumnPosition",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",d9)':{tag:'(0019,"SIEMENS MR VA0 COAD",d9)',vr:"IS",name:"LinesPerSegment",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 COAD",da)':{tag:'(0019,"SIEMENS MR VA0 COAD",da)',vr:"LT",name:"PhaseCodingDirection",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",10)':{tag:'(0019,"SIEMENS MR VA0 GEN",10)',vr:"DS",name:"TotalMeasurementTimeNominal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",11)':{tag:'(0019,"SIEMENS MR VA0 GEN",11)',vr:"DS",name:"TotalMeasurementTimeCurrent",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",12)':{tag:'(0019,"SIEMENS MR VA0 GEN",12)',vr:"DS",name:"StartDelayTime",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",13)':{tag:'(0019,"SIEMENS MR VA0 GEN",13)',vr:"DS",name:"DwellTime",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",14)':{tag:'(0019,"SIEMENS MR VA0 GEN",14)',vr:"IS",name:"NumberOfPhases",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",16)':{tag:'(0019,"SIEMENS MR VA0 GEN",16)',vr:"UL",name:"SequenceControlMask",vm:"2",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",18)':{tag:'(0019,"SIEMENS MR VA0 GEN",18)',vr:"UL",name:"MeasurementStatusMask",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",20)':{tag:'(0019,"SIEMENS MR VA0 GEN",20)',vr:"IS",name:"NumberOfFourierLinesNominal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",21)':{tag:'(0019,"SIEMENS MR VA0 GEN",21)',vr:"IS",name:"NumberOfFourierLinesCurrent",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",26)':{tag:'(0019,"SIEMENS MR VA0 GEN",26)',vr:"IS",name:"NumberOfFourierLinesAfterZero",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",28)':{tag:'(0019,"SIEMENS MR VA0 GEN",28)',vr:"IS",name:"FirstMeasuredFourierLine",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",30)':{tag:'(0019,"SIEMENS MR VA0 GEN",30)',vr:"IS",name:"AcquisitionColumns",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",31)':{tag:'(0019,"SIEMENS MR VA0 GEN",31)',vr:"IS",name:"ReconstructionColumns",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",40)':{tag:'(0019,"SIEMENS MR VA0 GEN",40)',vr:"IS",name:"ArrayCoilElementNumber",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",41)':{tag:'(0019,"SIEMENS MR VA0 GEN",41)',vr:"UL",name:"ArrayCoilElementSelectMask",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",42)':{tag:'(0019,"SIEMENS MR VA0 GEN",42)',vr:"UL",name:"ArrayCoilElementDataMask",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",43)':{tag:'(0019,"SIEMENS MR VA0 GEN",43)',vr:"IS",name:"ArrayCoilElementToADCConnect",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",44)':{tag:'(0019,"SIEMENS MR VA0 GEN",44)',vr:"DS",name:"ArrayCoilElementNoiseLevel",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",45)':{tag:'(0019,"SIEMENS MR VA0 GEN",45)',vr:"IS",name:"ArrayCoilADCPairNumber",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",46)':{tag:'(0019,"SIEMENS MR VA0 GEN",46)',vr:"UL",name:"ArrayCoilCombinationMask",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",50)':{tag:'(0019,"SIEMENS MR VA0 GEN",50)',vr:"IS",name:"NumberOfAverages",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",60)':{tag:'(0019,"SIEMENS MR VA0 GEN",60)',vr:"DS",name:"FlipAngle",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",70)':{tag:'(0019,"SIEMENS MR VA0 GEN",70)',vr:"IS",name:"NumberOfPrescans",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",81)':{tag:'(0019,"SIEMENS MR VA0 GEN",81)',vr:"LT",name:"FilterTypeForRawData",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",82)':{tag:'(0019,"SIEMENS MR VA0 GEN",82)',vr:"DS",name:"FilterParameterForRawData",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",83)':{tag:'(0019,"SIEMENS MR VA0 GEN",83)',vr:"LT",name:"FilterTypeForImageData",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",84)':{tag:'(0019,"SIEMENS MR VA0 GEN",84)',vr:"DS",name:"FilterParameterForImageData",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",85)':{tag:'(0019,"SIEMENS MR VA0 GEN",85)',vr:"LT",name:"FilterTypeForPhaseCorrection",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",86)':{tag:'(0019,"SIEMENS MR VA0 GEN",86)',vr:"DS",name:"FilterParameterForPhaseCorrection",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",87)':{tag:'(0019,"SIEMENS MR VA0 GEN",87)',vr:"LT",name:"NormalizationFilterTypeForImageData",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",88)':{tag:'(0019,"SIEMENS MR VA0 GEN",88)',vr:"DS",name:"NormalizationFilterParameterForImageData",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",90)':{tag:'(0019,"SIEMENS MR VA0 GEN",90)',vr:"IS",name:"NumberOfSaturationRegions",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",91)':{tag:'(0019,"SIEMENS MR VA0 GEN",91)',vr:"DS",name:"SaturationPhaseEncodingVectorSagittalComponent",vm:"6",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",92)':{tag:'(0019,"SIEMENS MR VA0 GEN",92)',vr:"DS",name:"SaturationReadoutVectorSagittalComponent",vm:"6",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",93)':{tag:'(0019,"SIEMENS MR VA0 GEN",93)',vr:"DS",name:"EPIStimulationMonitorMode",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",94)':{tag:'(0019,"SIEMENS MR VA0 GEN",94)',vr:"DS",name:"ImageRotationAngle",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",96)':{tag:'(0019,"SIEMENS MR VA0 GEN",96)',vr:"UL",name:"CoilIDMask",vm:"3",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",97)':{tag:'(0019,"SIEMENS MR VA0 GEN",97)',vr:"UL",name:"CoilClassMask",vm:"2",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",98)':{tag:'(0019,"SIEMENS MR VA0 GEN",98)',vr:"DS",name:"CoilPosition",vm:"3",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",a0)':{tag:'(0019,"SIEMENS MR VA0 GEN",a0)',vr:"DS",name:"EPIReconstructionPhase",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS MR VA0 GEN",a1)':{tag:'(0019,"SIEMENS MR VA0 GEN",a1)',vr:"DS",name:"EPIReconstructionSlope",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",20)':{tag:'(0021,"SIEMENS MR VA0 GEN",20)',vr:"IS",name:"PhaseCorrectionRowsSequence",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",21)':{tag:'(0021,"SIEMENS MR VA0 GEN",21)',vr:"IS",name:"PhaseCorrectionColumnsSequence",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",22)':{tag:'(0021,"SIEMENS MR VA0 GEN",22)',vr:"IS",name:"PhaseCorrectionRowsReconstruction",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",24)':{tag:'(0021,"SIEMENS MR VA0 GEN",24)',vr:"IS",name:"PhaseCorrectionColumnsReconstruction",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",30)':{tag:'(0021,"SIEMENS MR VA0 GEN",30)',vr:"IS",name:"NumberOf3DRawPartitionsNominal",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",31)':{tag:'(0021,"SIEMENS MR VA0 GEN",31)',vr:"IS",name:"NumberOf3DRawPartitionsCurrent",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",34)':{tag:'(0021,"SIEMENS MR VA0 GEN",34)',vr:"IS",name:"NumberOf3DImagePartitions",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",36)':{tag:'(0021,"SIEMENS MR VA0 GEN",36)',vr:"IS",name:"Actual3DImagePartitionNumber",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",39)':{tag:'(0021,"SIEMENS MR VA0 GEN",39)',vr:"DS",name:"SlabThickness",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",40)':{tag:'(0021,"SIEMENS MR VA0 GEN",40)',vr:"IS",name:"NumberOfSlicesNominal",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",41)':{tag:'(0021,"SIEMENS MR VA0 GEN",41)',vr:"IS",name:"NumberOfSlicesCurrent",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",42)':{tag:'(0021,"SIEMENS MR VA0 GEN",42)',vr:"IS",name:"CurrentSliceNumber",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",43)':{tag:'(0021,"SIEMENS MR VA0 GEN",43)',vr:"IS",name:"CurrentGroupNumber",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",44)':{tag:'(0021,"SIEMENS MR VA0 GEN",44)',vr:"DS",name:"CurrentSliceDistanceFactor",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",45)':{tag:'(0021,"SIEMENS MR VA0 GEN",45)',vr:"IS",name:"MIPStartRow",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",46)':{tag:'(0021,"SIEMENS MR VA0 GEN",46)',vr:"IS",name:"MIPStopRow",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",47)':{tag:'(0021,"SIEMENS MR VA0 GEN",47)',vr:"IS",name:"MIPStartColumn",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",48)':{tag:'(0021,"SIEMENS MR VA0 GEN",48)',vr:"IS",name:"MIPStartColumn",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",49)':{tag:'(0021,"SIEMENS MR VA0 GEN",49)',vr:"IS",name:"MIPStartSlice Name=",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",4a)':{tag:'(0021,"SIEMENS MR VA0 GEN",4a)',vr:"IS",name:"MIPStartSlice",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",4f)':{tag:'(0021,"SIEMENS MR VA0 GEN",4f)',vr:"LT",name:"OrderofSlices",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",50)':{tag:'(0021,"SIEMENS MR VA0 GEN",50)',vr:"US",name:"SignalMask",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",52)':{tag:'(0021,"SIEMENS MR VA0 GEN",52)',vr:"DS",name:"DelayAfterTrigger",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",53)':{tag:'(0021,"SIEMENS MR VA0 GEN",53)',vr:"IS",name:"RRInterval",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",54)':{tag:'(0021,"SIEMENS MR VA0 GEN",54)',vr:"DS",name:"NumberOfTriggerPulses",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",56)':{tag:'(0021,"SIEMENS MR VA0 GEN",56)',vr:"DS",name:"RepetitionTimeEffective",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",57)':{tag:'(0021,"SIEMENS MR VA0 GEN",57)',vr:"LT",name:"GatePhase",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",58)':{tag:'(0021,"SIEMENS MR VA0 GEN",58)',vr:"DS",name:"GateThreshold",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",59)':{tag:'(0021,"SIEMENS MR VA0 GEN",59)',vr:"DS",name:"GatedRatio",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",60)':{tag:'(0021,"SIEMENS MR VA0 GEN",60)',vr:"IS",name:"NumberOfInterpolatedImages",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",70)':{tag:'(0021,"SIEMENS MR VA0 GEN",70)',vr:"IS",name:"NumberOfEchoes",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",72)':{tag:'(0021,"SIEMENS MR VA0 GEN",72)',vr:"DS",name:"SecondEchoTime",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",73)':{tag:'(0021,"SIEMENS MR VA0 GEN",73)',vr:"DS",name:"SecondRepetitionTime",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",80)':{tag:'(0021,"SIEMENS MR VA0 GEN",80)',vr:"IS",name:"CardiacCode",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",91)':{tag:'(0021,"SIEMENS MR VA0 GEN",91)',vr:"DS",name:"SaturationPhaseEncodingVectorTransverseComponent",vm:"6",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",92)':{tag:'(0021,"SIEMENS MR VA0 GEN",92)',vr:"DS",name:"SaturationReadoutVectorTransverseComponent",vm:"6",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",93)':{tag:'(0021,"SIEMENS MR VA0 GEN",93)',vr:"DS",name:"EPIChangeValueOfMagnitude",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",94)':{tag:'(0021,"SIEMENS MR VA0 GEN",94)',vr:"DS",name:"EPIChangeValueOfXComponent",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",95)':{tag:'(0021,"SIEMENS MR VA0 GEN",95)',vr:"DS",name:"EPIChangeValueOfYComponent",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 GEN",96)':{tag:'(0021,"SIEMENS MR VA0 GEN",96)',vr:"DS",name:"EPIChangeValueOfZComponent",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",00)':{tag:'(0021,"SIEMENS MR VA0 RAW",00)',vr:"LT",name:"SequenceType",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",01)':{tag:'(0021,"SIEMENS MR VA0 RAW",01)',vr:"IS",name:"VectorSizeOriginal",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",02)':{tag:'(0021,"SIEMENS MR VA0 RAW",02)',vr:"IS",name:"VectorSizeExtended",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",03)':{tag:'(0021,"SIEMENS MR VA0 RAW",03)',vr:"DS",name:"AcquiredSpectralRange",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",04)':{tag:'(0021,"SIEMENS MR VA0 RAW",04)',vr:"DS",name:"VOIPosition",vm:"3",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",05)':{tag:'(0021,"SIEMENS MR VA0 RAW",05)',vr:"DS",name:"VOISize",vm:"3",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",06)':{tag:'(0021,"SIEMENS MR VA0 RAW",06)',vr:"IS",name:"CSIMatrixSizeOriginal",vm:"3",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",07)':{tag:'(0021,"SIEMENS MR VA0 RAW",07)',vr:"IS",name:"CSIMatrixSizeExtended",vm:"3",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",08)':{tag:'(0021,"SIEMENS MR VA0 RAW",08)',vr:"DS",name:"SpatialGridShift",vm:"3",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",09)':{tag:'(0021,"SIEMENS MR VA0 RAW",09)',vr:"DS",name:"SignalLimitsMinimum",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",10)':{tag:'(0021,"SIEMENS MR VA0 RAW",10)',vr:"DS",name:"SignalLimitsMaximum",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",11)':{tag:'(0021,"SIEMENS MR VA0 RAW",11)',vr:"DS",name:"SpecInfoMask",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",12)':{tag:'(0021,"SIEMENS MR VA0 RAW",12)',vr:"DS",name:"EPITimeRateOfChangeOfMagnitude",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",13)':{tag:'(0021,"SIEMENS MR VA0 RAW",13)',vr:"DS",name:"EPITimeRateOfChangeOfXComponent",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",14)':{tag:'(0021,"SIEMENS MR VA0 RAW",14)',vr:"DS",name:"EPITimeRateOfChangeOfYComponent",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",15)':{tag:'(0021,"SIEMENS MR VA0 RAW",15)',vr:"DS",name:"EPITimeRateOfChangeOfZComponent",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",16)':{tag:'(0021,"SIEMENS MR VA0 RAW",16)',vr:"DS",name:"EPITimeRateOfChangeLegalLimit1",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",17)':{tag:'(0021,"SIEMENS MR VA0 RAW",17)',vr:"DS",name:"EPIOperationModeFlag",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",18)':{tag:'(0021,"SIEMENS MR VA0 RAW",18)',vr:"DS",name:"EPIFieldCalculationSafetyFactor",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",19)':{tag:'(0021,"SIEMENS MR VA0 RAW",19)',vr:"DS",name:"EPILegalLimit1OfChangeValue",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",20)':{tag:'(0021,"SIEMENS MR VA0 RAW",20)',vr:"DS",name:"EPILegalLimit2OfChangeValue",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",21)':{tag:'(0021,"SIEMENS MR VA0 RAW",21)',vr:"DS",name:"EPIRiseTime",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",30)':{tag:'(0021,"SIEMENS MR VA0 RAW",30)',vr:"DS",name:"ArrayCoilADCOffset",vm:"16",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",31)':{tag:'(0021,"SIEMENS MR VA0 RAW",31)',vr:"DS",name:"ArrayCoilPreamplifierGain",vm:"16",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",50)':{tag:'(0021,"SIEMENS MR VA0 RAW",50)',vr:"LT",name:"SaturationType",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",51)':{tag:'(0021,"SIEMENS MR VA0 RAW",51)',vr:"DS",name:"SaturationNormalVector",vm:"3",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",52)':{tag:'(0021,"SIEMENS MR VA0 RAW",52)',vr:"DS",name:"SaturationPositionVector",vm:"3",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",53)':{tag:'(0021,"SIEMENS MR VA0 RAW",53)',vr:"DS",name:"SaturationThickness",vm:"6",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",54)':{tag:'(0021,"SIEMENS MR VA0 RAW",54)',vr:"DS",name:"SaturationWidth",vm:"6",version:"PrivateTag"},'(0021,"SIEMENS MR VA0 RAW",55)':{tag:'(0021,"SIEMENS MR VA0 RAW",55)',vr:"DS",name:"SaturationDistance",vm:"6",version:"PrivateTag"},'(7fe3,"SIEMENS NUMARIS II",00)':{tag:'(7fe3,"SIEMENS NUMARIS II",00)',vr:"LT",name:"ImageGraphicsFormatCode",vm:"1",version:"PrivateTag"},'(7fe3,"SIEMENS NUMARIS II",10)':{tag:'(7fe3,"SIEMENS NUMARIS II",10)',vr:"OB",name:"ImageGraphics",vm:"1",version:"PrivateTag"},'(7fe3,"SIEMENS NUMARIS II",20)':{tag:'(7fe3,"SIEMENS NUMARIS II",20)',vr:"OB",name:"ImageGraphicsDummy",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RA GEN",20)':{tag:'(0011,"SIEMENS RA GEN",20)',vr:"SL",name:"FluoroTimer",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RA GEN",25)':{tag:'(0011,"SIEMENS RA GEN",25)',vr:"SL",name:"PtopDoseAreaProduct",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RA GEN",26)':{tag:'(0011,"SIEMENS RA GEN",26)',vr:"SL",name:"PtopTotalSkinDose",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RA GEN",30)':{tag:'(0011,"SIEMENS RA GEN",30)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RA GEN",35)':{tag:'(0011,"SIEMENS RA GEN",35)',vr:"LO",name:"PatientInitialPuckCounter",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RA GEN",40)':{tag:'(0011,"SIEMENS RA GEN",40)',vr:"SS",name:"SPIDataObjectType",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",15)':{tag:'(0019,"SIEMENS RA GEN",15)',vr:"LO",name:"AcquiredPlane",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",1f)':{tag:'(0019,"SIEMENS RA GEN",1f)',vr:"SS",name:"DefaultTableIsoCenterHeight",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",20)':{tag:'(0019,"SIEMENS RA GEN",20)',vr:"SL",name:"SceneFlag",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",22)':{tag:'(0019,"SIEMENS RA GEN",22)',vr:"SL",name:"RefPhotofileFlag",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",24)':{tag:'(0019,"SIEMENS RA GEN",24)',vr:"LO",name:"SceneName",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",26)':{tag:'(0019,"SIEMENS RA GEN",26)',vr:"SS",name:"AcquisitionIndex",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",28)':{tag:'(0019,"SIEMENS RA GEN",28)',vr:"SS",name:"MixedPulseMode",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",2a)':{tag:'(0019,"SIEMENS RA GEN",2a)',vr:"SS",name:"NoOfPositions",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",2c)':{tag:'(0019,"SIEMENS RA GEN",2c)',vr:"SS",name:"NoOfPhases",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",2e)':{tag:'(0019,"SIEMENS RA GEN",2e)',vr:"SS",name:"FrameRateForPositions",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",30)':{tag:'(0019,"SIEMENS RA GEN",30)',vr:"SS",name:"NoOfFramesForPositions",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",32)':{tag:'(0019,"SIEMENS RA GEN",32)',vr:"SS",name:"SteppingDirection",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",34)':{tag:'(0019,"SIEMENS RA GEN",34)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",36)':{tag:'(0019,"SIEMENS RA GEN",36)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",38)':{tag:'(0019,"SIEMENS RA GEN",38)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",3a)':{tag:'(0019,"SIEMENS RA GEN",3a)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",3c)':{tag:'(0019,"SIEMENS RA GEN",3c)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",3e)':{tag:'(0019,"SIEMENS RA GEN",3e)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",40)':{tag:'(0019,"SIEMENS RA GEN",40)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",42)':{tag:'(0019,"SIEMENS RA GEN",42)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",44)':{tag:'(0019,"SIEMENS RA GEN",44)',vr:"SS",name:"ImageTransferDelay",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",46)':{tag:'(0019,"SIEMENS RA GEN",46)',vr:"SL",name:"InversFlag",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",48)':{tag:'(0019,"SIEMENS RA GEN",48)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",4a)':{tag:'(0019,"SIEMENS RA GEN",4a)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",4c)':{tag:'(0019,"SIEMENS RA GEN",4c)',vr:"SS",name:"BlankingCircleDiameter",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",50)':{tag:'(0019,"SIEMENS RA GEN",50)',vr:"SL",name:"StandDataValid",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",52)':{tag:'(0019,"SIEMENS RA GEN",52)',vr:"SS",name:"TableTilt",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",54)':{tag:'(0019,"SIEMENS RA GEN",54)',vr:"SS",name:"TableAxisRotation",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",56)':{tag:'(0019,"SIEMENS RA GEN",56)',vr:"SS",name:"TableLongitudalPosition",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",58)':{tag:'(0019,"SIEMENS RA GEN",58)',vr:"SS",name:"TableSideOffset",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",5a)':{tag:'(0019,"SIEMENS RA GEN",5a)',vr:"SS",name:"TableIsoCenterHeight",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",5c)':{tag:'(0019,"SIEMENS RA GEN",5c)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",5e)':{tag:'(0019,"SIEMENS RA GEN",5e)',vr:"SL",name:"CollimationDataValid",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",60)':{tag:'(0019,"SIEMENS RA GEN",60)',vr:"SL",name:"PeriSequenceNo",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",62)':{tag:'(0019,"SIEMENS RA GEN",62)',vr:"SL",name:"PeriTotalScenes",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",64)':{tag:'(0019,"SIEMENS RA GEN",64)',vr:"SL",name:"PeriOverlapTop",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",66)':{tag:'(0019,"SIEMENS RA GEN",66)',vr:"SL",name:"PeriOverlapBottom",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",68)':{tag:'(0019,"SIEMENS RA GEN",68)',vr:"SL",name:"RawImageNumber",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",6a)':{tag:'(0019,"SIEMENS RA GEN",6a)',vr:"SL",name:"XRayDataValid",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",70)':{tag:'(0019,"SIEMENS RA GEN",70)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",72)':{tag:'(0019,"SIEMENS RA GEN",72)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",74)':{tag:'(0019,"SIEMENS RA GEN",74)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",76)':{tag:'(0019,"SIEMENS RA GEN",76)',vr:"SL",name:"FillingAverageFactor",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",78)':{tag:'(0019,"SIEMENS RA GEN",78)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",7a)':{tag:'(0019,"SIEMENS RA GEN",7a)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",7c)':{tag:'(0019,"SIEMENS RA GEN",7c)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",7e)':{tag:'(0019,"SIEMENS RA GEN",7e)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",80)':{tag:'(0019,"SIEMENS RA GEN",80)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",82)':{tag:'(0019,"SIEMENS RA GEN",82)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",84)':{tag:'(0019,"SIEMENS RA GEN",84)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",86)':{tag:'(0019,"SIEMENS RA GEN",86)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",88)':{tag:'(0019,"SIEMENS RA GEN",88)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",8a)':{tag:'(0019,"SIEMENS RA GEN",8a)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",8c)':{tag:'(0019,"SIEMENS RA GEN",8c)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",8e)':{tag:'(0019,"SIEMENS RA GEN",8e)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",92)':{tag:'(0019,"SIEMENS RA GEN",92)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",94)':{tag:'(0019,"SIEMENS RA GEN",94)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",96)':{tag:'(0019,"SIEMENS RA GEN",96)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",98)':{tag:'(0019,"SIEMENS RA GEN",98)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",9a)':{tag:'(0019,"SIEMENS RA GEN",9a)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",9c)':{tag:'(0019,"SIEMENS RA GEN",9c)',vr:"SL",name:"IntensifierLevelCalibrationFactor",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",9e)':{tag:'(0019,"SIEMENS RA GEN",9e)',vr:"SL",name:"NativeReviewFlag",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",a2)':{tag:'(0019,"SIEMENS RA GEN",a2)',vr:"SL",name:"SceneNumber",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",a4)':{tag:'(0019,"SIEMENS RA GEN",a4)',vr:"SS",name:"AcquisitionMode",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",a5)':{tag:'(0019,"SIEMENS RA GEN",a5)',vr:"SS",name:"AcquisitonFrameRate",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",a6)':{tag:'(0019,"SIEMENS RA GEN",a6)',vr:"SL",name:"ECGFlag",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",a7)':{tag:'(0019,"SIEMENS RA GEN",a7)',vr:"SL",name:"AdditionalSceneData",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",a8)':{tag:'(0019,"SIEMENS RA GEN",a8)',vr:"SL",name:"FileCopyFlag",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",a9)':{tag:'(0019,"SIEMENS RA GEN",a9)',vr:"SL",name:"PhlebovisionFlag",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",aa)':{tag:'(0019,"SIEMENS RA GEN",aa)',vr:"SL",name:"Co2Flag",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",ab)':{tag:'(0019,"SIEMENS RA GEN",ab)',vr:"SS",name:"MaxSpeed",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",ac)':{tag:'(0019,"SIEMENS RA GEN",ac)',vr:"SS",name:"StepWidth",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",ad)':{tag:'(0019,"SIEMENS RA GEN",ad)',vr:"SL",name:"DigitalAcquisitionZoom",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA GEN",ff)':{tag:'(0019,"SIEMENS RA GEN",ff)',vr:"SS",name:"Internal",vm:"1-n",version:"PrivateTag"},'(0021,"SIEMENS RA GEN",15)':{tag:'(0021,"SIEMENS RA GEN",15)',vr:"SS",name:"ImagesInStudy",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS RA GEN",20)':{tag:'(0021,"SIEMENS RA GEN",20)',vr:"SS",name:"ScenesInStudy",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS RA GEN",25)':{tag:'(0021,"SIEMENS RA GEN",25)',vr:"SS",name:"ImagesInPhotofile",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS RA GEN",27)':{tag:'(0021,"SIEMENS RA GEN",27)',vr:"SS",name:"PlaneBImagesExist",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS RA GEN",28)':{tag:'(0021,"SIEMENS RA GEN",28)',vr:"SS",name:"NoOf2MBChunks",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS RA GEN",30)':{tag:'(0021,"SIEMENS RA GEN",30)',vr:"SS",name:"ImagesInAllScenes",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS RA GEN",40)':{tag:'(0021,"SIEMENS RA GEN",40)',vr:"SS",name:"ArchiveSWInternalVersion",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RA PLANE A",28)':{tag:'(0011,"SIEMENS RA PLANE A",28)',vr:"SL",name:"FluoroTimerA",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RA PLANE A",29)':{tag:'(0011,"SIEMENS RA PLANE A",29)',vr:"SL",name:"FluoroSkinDoseA",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RA PLANE A",2a)':{tag:'(0011,"SIEMENS RA PLANE A",2a)',vr:"SL",name:"TotalSkinDoseA",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RA PLANE A",2b)':{tag:'(0011,"SIEMENS RA PLANE A",2b)',vr:"SL",name:"FluoroDoseAreaProductA",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RA PLANE A",2c)':{tag:'(0011,"SIEMENS RA PLANE A",2c)',vr:"SL",name:"TotalDoseAreaProductA",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",15)':{tag:'(0019,"SIEMENS RA PLANE A",15)',vr:"LT",name:"OfflineUID",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",18)':{tag:'(0019,"SIEMENS RA PLANE A",18)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",19)':{tag:'(0019,"SIEMENS RA PLANE A",19)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",1a)':{tag:'(0019,"SIEMENS RA PLANE A",1a)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",1b)':{tag:'(0019,"SIEMENS RA PLANE A",1b)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",1c)':{tag:'(0019,"SIEMENS RA PLANE A",1c)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",1d)':{tag:'(0019,"SIEMENS RA PLANE A",1d)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",1e)':{tag:'(0019,"SIEMENS RA PLANE A",1e)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",1f)':{tag:'(0019,"SIEMENS RA PLANE A",1f)',vr:"SS",name:"Internal",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",20)':{tag:'(0019,"SIEMENS RA PLANE A",20)',vr:"SS",name:"SystemCalibFactorPlaneA",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",22)':{tag:'(0019,"SIEMENS RA PLANE A",22)',vr:"SS",name:"XRayParameterSetNo",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",24)':{tag:'(0019,"SIEMENS RA PLANE A",24)',vr:"SS",name:"XRaySystem",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",26)':{tag:'(0019,"SIEMENS RA PLANE A",26)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",28)':{tag:'(0019,"SIEMENS RA PLANE A",28)',vr:"SS",name:"AcquiredDisplayMode",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",2a)':{tag:'(0019,"SIEMENS RA PLANE A",2a)',vr:"SS",name:"AcquisitionDelay",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",2c)':{tag:'(0019,"SIEMENS RA PLANE A",2c)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",2e)':{tag:'(0019,"SIEMENS RA PLANE A",2e)',vr:"SS",name:"MaxFramesLimit",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",30)':{tag:'(0019,"SIEMENS RA PLANE A",30)',vr:"US",name:"MaximumFrameSizeNIU",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",32)':{tag:'(0019,"SIEMENS RA PLANE A",32)',vr:"SS",name:"SubtractedFilterType",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",34)':{tag:'(0019,"SIEMENS RA PLANE A",34)',vr:"SS",name:"FilterFactorNative",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",36)':{tag:'(0019,"SIEMENS RA PLANE A",36)',vr:"SS",name:"AnatomicBackgroundFactor",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",38)':{tag:'(0019,"SIEMENS RA PLANE A",38)',vr:"SS",name:"WindowUpperLimitNative",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",3a)':{tag:'(0019,"SIEMENS RA PLANE A",3a)',vr:"SS",name:"WindowLowerLimitNative",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",3c)':{tag:'(0019,"SIEMENS RA PLANE A",3c)',vr:"SS",name:"WindowBrightnessPhase1",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",3e)':{tag:'(0019,"SIEMENS RA PLANE A",3e)',vr:"SS",name:"WindowBrightnessPhase2",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",40)':{tag:'(0019,"SIEMENS RA PLANE A",40)',vr:"SS",name:"WindowContrastPhase1",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",42)':{tag:'(0019,"SIEMENS RA PLANE A",42)',vr:"SS",name:"WindowContrastPhase2",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",44)':{tag:'(0019,"SIEMENS RA PLANE A",44)',vr:"SS",name:"FilterFactorSub",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",46)':{tag:'(0019,"SIEMENS RA PLANE A",46)',vr:"SS",name:"PeakOpacified",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",48)':{tag:'(0019,"SIEMENS RA PLANE A",48)',vr:"SL",name:"MaskFrame",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",4a)':{tag:'(0019,"SIEMENS RA PLANE A",4a)',vr:"SL",name:"BIHFrame",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",4c)':{tag:'(0019,"SIEMENS RA PLANE A",4c)',vr:"SS",name:"CentBeamAngulationCaudCran",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",4e)':{tag:'(0019,"SIEMENS RA PLANE A",4e)',vr:"SS",name:"CentBeamAngulationLRAnterior",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",50)':{tag:'(0019,"SIEMENS RA PLANE A",50)',vr:"SS",name:"LongitudinalPosition",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",52)':{tag:'(0019,"SIEMENS RA PLANE A",52)',vr:"SS",name:"SideOffset",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",54)':{tag:'(0019,"SIEMENS RA PLANE A",54)',vr:"SS",name:"IsoCenterHeight",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",56)':{tag:'(0019,"SIEMENS RA PLANE A",56)',vr:"SS",name:"ImageTwist",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",58)':{tag:'(0019,"SIEMENS RA PLANE A",58)',vr:"SS",name:"SourceImageDistance",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",5a)':{tag:'(0019,"SIEMENS RA PLANE A",5a)',vr:"SS",name:"MechanicalMagnificationFactor",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",5c)':{tag:'(0019,"SIEMENS RA PLANE A",5c)',vr:"SL",name:"CalibrationFlag",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",5e)':{tag:'(0019,"SIEMENS RA PLANE A",5e)',vr:"SL",name:"CalibrationAngleCranCaud",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",60)':{tag:'(0019,"SIEMENS RA PLANE A",60)',vr:"SL",name:"CalibrationAngleRAOLAO",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",62)':{tag:'(0019,"SIEMENS RA PLANE A",62)',vr:"SL",name:"CalibrationTableToFloorDist",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",64)':{tag:'(0019,"SIEMENS RA PLANE A",64)',vr:"SL",name:"CalibrationIsocenterToFloorDist",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",66)':{tag:'(0019,"SIEMENS RA PLANE A",66)',vr:"SL",name:"CalibrationIsocenterToSourceDist",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",68)':{tag:'(0019,"SIEMENS RA PLANE A",68)',vr:"SL",name:"CalibrationSourceToII",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",6a)':{tag:'(0019,"SIEMENS RA PLANE A",6a)',vr:"SL",name:"CalibrationIIZoom",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",6c)':{tag:'(0019,"SIEMENS RA PLANE A",6c)',vr:"SL",name:"CalibrationIIField",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",6e)':{tag:'(0019,"SIEMENS RA PLANE A",6e)',vr:"SL",name:"CalibrationFactor",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",70)':{tag:'(0019,"SIEMENS RA PLANE A",70)',vr:"SL",name:"CalibrationObjectToImageDistance",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",72)':{tag:'(0019,"SIEMENS RA PLANE A",72)',vr:"SL",name:"CalibrationSystemFactor",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",74)':{tag:'(0019,"SIEMENS RA PLANE A",74)',vr:"SL",name:"CalibrationSystemCorrection",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",76)':{tag:'(0019,"SIEMENS RA PLANE A",76)',vr:"SL",name:"CalibrationSystemIIFormats",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",78)':{tag:'(0019,"SIEMENS RA PLANE A",78)',vr:"SL",name:"CalibrationGantryDataValid",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",7a)':{tag:'(0019,"SIEMENS RA PLANE A",7a)',vr:"SS",name:"CollimatorSquareBreadth",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",7c)':{tag:'(0019,"SIEMENS RA PLANE A",7c)',vr:"SS",name:"CollimatorSquareHeight",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",7e)':{tag:'(0019,"SIEMENS RA PLANE A",7e)',vr:"SS",name:"CollimatorSquareDiameter",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",80)':{tag:'(0019,"SIEMENS RA PLANE A",80)',vr:"SS",name:"CollimaterFingerTurnAngle",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",82)':{tag:'(0019,"SIEMENS RA PLANE A",82)',vr:"SS",name:"CollimaterFingerPosition",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",84)':{tag:'(0019,"SIEMENS RA PLANE A",84)',vr:"SS",name:"CollimaterDiaphragmTurnAngle",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",86)':{tag:'(0019,"SIEMENS RA PLANE A",86)',vr:"SS",name:"CollimaterDiaphragmPosition1",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",88)':{tag:'(0019,"SIEMENS RA PLANE A",88)',vr:"SS",name:"CollimaterDiaphragmPosition2",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",8a)':{tag:'(0019,"SIEMENS RA PLANE A",8a)',vr:"SS",name:"CollimaterDiaphragmMode",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",8c)':{tag:'(0019,"SIEMENS RA PLANE A",8c)',vr:"SS",name:"CollimaterBeamLimitBreadth",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",8e)':{tag:'(0019,"SIEMENS RA PLANE A",8e)',vr:"SS",name:"CollimaterBeamLimitHeight",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",90)':{tag:'(0019,"SIEMENS RA PLANE A",90)',vr:"SS",name:"CollimaterBeamLimitDiameter",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",92)':{tag:'(0019,"SIEMENS RA PLANE A",92)',vr:"SS",name:"X-RayControlMOde",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",94)':{tag:'(0019,"SIEMENS RA PLANE A",94)',vr:"SS",name:"X-RaySystem",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",96)':{tag:'(0019,"SIEMENS RA PLANE A",96)',vr:"SS",name:"FocalSpot",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",98)':{tag:'(0019,"SIEMENS RA PLANE A",98)',vr:"SS",name:"ExposureControl",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",9a)':{tag:'(0019,"SIEMENS RA PLANE A",9a)',vr:"SL",name:"XRayVoltage",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",9c)':{tag:'(0019,"SIEMENS RA PLANE A",9c)',vr:"SL",name:"XRayCurrent",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",9e)':{tag:'(0019,"SIEMENS RA PLANE A",9e)',vr:"SL",name:"XRayCurrentTimeProduct",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",a0)':{tag:'(0019,"SIEMENS RA PLANE A",a0)',vr:"SL",name:"XRayPulseTime",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",a2)':{tag:'(0019,"SIEMENS RA PLANE A",a2)',vr:"SL",name:"XRaySceneTimeFluoroClock",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",a4)':{tag:'(0019,"SIEMENS RA PLANE A",a4)',vr:"SS",name:"MaximumPulseRate",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",a6)':{tag:'(0019,"SIEMENS RA PLANE A",a6)',vr:"SS",name:"PulsesPerScene",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",a8)':{tag:'(0019,"SIEMENS RA PLANE A",a8)',vr:"SL",name:"DoseAreaProductOfScene",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",aa)':{tag:'(0019,"SIEMENS RA PLANE A",aa)',vr:"SS",name:"Dose",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",ac)':{tag:'(0019,"SIEMENS RA PLANE A",ac)',vr:"SS",name:"DoseRate",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",ae)':{tag:'(0019,"SIEMENS RA PLANE A",ae)',vr:"SL",name:"IIToCoverDistance",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",b0)':{tag:'(0019,"SIEMENS RA PLANE A",b0)',vr:"SS",name:"LastFramePhase1",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",b1)':{tag:'(0019,"SIEMENS RA PLANE A",b1)',vr:"SS",name:"FrameRatePhase1",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",b2)':{tag:'(0019,"SIEMENS RA PLANE A",b2)',vr:"SS",name:"LastFramePhase2",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",b3)':{tag:'(0019,"SIEMENS RA PLANE A",b3)',vr:"SS",name:"FrameRatePhase2",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",b4)':{tag:'(0019,"SIEMENS RA PLANE A",b4)',vr:"SS",name:"LastFramePhase3",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",b5)':{tag:'(0019,"SIEMENS RA PLANE A",b5)',vr:"SS",name:"FrameRatePhase3",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",b6)':{tag:'(0019,"SIEMENS RA PLANE A",b6)',vr:"SS",name:"LastFramePhase4",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",b7)':{tag:'(0019,"SIEMENS RA PLANE A",b7)',vr:"SS",name:"FrameRatePhase4",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",b8)':{tag:'(0019,"SIEMENS RA PLANE A",b8)',vr:"SS",name:"GammaOfNativeImage",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",b9)':{tag:'(0019,"SIEMENS RA PLANE A",b9)',vr:"SS",name:"GammaOfTVSystem",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",bb)':{tag:'(0019,"SIEMENS RA PLANE A",bb)',vr:"SL",name:"PixelshiftX",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",bc)':{tag:'(0019,"SIEMENS RA PLANE A",bc)',vr:"SL",name:"PixelshiftY",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",bd)':{tag:'(0019,"SIEMENS RA PLANE A",bd)',vr:"SL",name:"MaskAverageFactor",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",be)':{tag:'(0019,"SIEMENS RA PLANE A",be)',vr:"SL",name:"BlankingCircleFlag",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",bf)':{tag:'(0019,"SIEMENS RA PLANE A",bf)',vr:"SL",name:"CircleRowStart",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",c0)':{tag:'(0019,"SIEMENS RA PLANE A",c0)',vr:"SL",name:"CircleRowEnd",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",c1)':{tag:'(0019,"SIEMENS RA PLANE A",c1)',vr:"SL",name:"CircleColumnStart",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",c2)':{tag:'(0019,"SIEMENS RA PLANE A",c2)',vr:"SL",name:"CircleColumnEnd",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",c3)':{tag:'(0019,"SIEMENS RA PLANE A",c3)',vr:"SL",name:"CircleDiameter",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",c4)':{tag:'(0019,"SIEMENS RA PLANE A",c4)',vr:"SL",name:"RectangularCollimaterFlag",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",c5)':{tag:'(0019,"SIEMENS RA PLANE A",c5)',vr:"SL",name:"RectangleRowStart",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",c6)':{tag:'(0019,"SIEMENS RA PLANE A",c6)',vr:"SL",name:"RectangleRowEnd",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",c7)':{tag:'(0019,"SIEMENS RA PLANE A",c7)',vr:"SL",name:"RectangleColumnStart",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",c8)':{tag:'(0019,"SIEMENS RA PLANE A",c8)',vr:"SL",name:"RectangleColumnEnd",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",c9)':{tag:'(0019,"SIEMENS RA PLANE A",c9)',vr:"SL",name:"RectangleAngulation",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",ca)':{tag:'(0019,"SIEMENS RA PLANE A",ca)',vr:"SL",name:"IrisCollimatorFlag",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",cb)':{tag:'(0019,"SIEMENS RA PLANE A",cb)',vr:"SL",name:"IrisRowStart",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",cc)':{tag:'(0019,"SIEMENS RA PLANE A",cc)',vr:"SL",name:"IrisRowEnd",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",cd)':{tag:'(0019,"SIEMENS RA PLANE A",cd)',vr:"SL",name:"IrisColumnStart",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",ce)':{tag:'(0019,"SIEMENS RA PLANE A",ce)',vr:"SL",name:"IrisColumnEnd",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",cf)':{tag:'(0019,"SIEMENS RA PLANE A",cf)',vr:"SL",name:"IrisAngulation",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",d1)':{tag:'(0019,"SIEMENS RA PLANE A",d1)',vr:"SS",name:"NumberOfFramesPlane",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",d2)':{tag:'(0019,"SIEMENS RA PLANE A",d2)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",d3)':{tag:'(0019,"SIEMENS RA PLANE A",d3)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",d4)':{tag:'(0019,"SIEMENS RA PLANE A",d4)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",d5)':{tag:'(0019,"SIEMENS RA PLANE A",d5)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",d6)':{tag:'(0019,"SIEMENS RA PLANE A",d6)',vr:"SS",name:"Internal",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",d7)':{tag:'(0019,"SIEMENS RA PLANE A",d7)',vr:"SS",name:"Internal",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",d8)':{tag:'(0019,"SIEMENS RA PLANE A",d8)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",d9)':{tag:'(0019,"SIEMENS RA PLANE A",d9)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",da)':{tag:'(0019,"SIEMENS RA PLANE A",da)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",db)':{tag:'(0019,"SIEMENS RA PLANE A",db)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",dc)':{tag:'(0019,"SIEMENS RA PLANE A",dc)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",dd)':{tag:'(0019,"SIEMENS RA PLANE A",dd)',vr:"SL",name:"AnatomicBackground",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",de)':{tag:'(0019,"SIEMENS RA PLANE A",de)',vr:"SL",name:"AutoWindowBase",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",df)':{tag:'(0019,"SIEMENS RA PLANE A",df)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE A",e0)':{tag:'(0019,"SIEMENS RA PLANE A",e0)',vr:"SL",name:"Internal",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RA PLANE B",28)':{tag:'(0011,"SIEMENS RA PLANE B",28)',vr:"SL",name:"FluoroTimerB",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RA PLANE B",29)':{tag:'(0011,"SIEMENS RA PLANE B",29)',vr:"SL",name:"FluoroSkinDoseB",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RA PLANE B",2a)':{tag:'(0011,"SIEMENS RA PLANE B",2a)',vr:"SL",name:"TotalSkinDoseB",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RA PLANE B",2b)':{tag:'(0011,"SIEMENS RA PLANE B",2b)',vr:"SL",name:"FluoroDoseAreaProductB",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RA PLANE B",2c)':{tag:'(0011,"SIEMENS RA PLANE B",2c)',vr:"SL",name:"TotalDoseAreaProductB",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",18)':{tag:'(0019,"SIEMENS RA PLANE B",18)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",19)':{tag:'(0019,"SIEMENS RA PLANE B",19)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",1a)':{tag:'(0019,"SIEMENS RA PLANE B",1a)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",1b)':{tag:'(0019,"SIEMENS RA PLANE B",1b)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",1c)':{tag:'(0019,"SIEMENS RA PLANE B",1c)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",1d)':{tag:'(0019,"SIEMENS RA PLANE B",1d)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",1e)':{tag:'(0019,"SIEMENS RA PLANE B",1e)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",1f)':{tag:'(0019,"SIEMENS RA PLANE B",1f)',vr:"SS",name:"Internal",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",20)':{tag:'(0019,"SIEMENS RA PLANE B",20)',vr:"SL",name:"SystemCalibFactorPlaneB",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",22)':{tag:'(0019,"SIEMENS RA PLANE B",22)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",24)':{tag:'(0019,"SIEMENS RA PLANE B",24)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",26)':{tag:'(0019,"SIEMENS RA PLANE B",26)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",28)':{tag:'(0019,"SIEMENS RA PLANE B",28)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",2a)':{tag:'(0019,"SIEMENS RA PLANE B",2a)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",2c)':{tag:'(0019,"SIEMENS RA PLANE B",2c)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",2e)':{tag:'(0019,"SIEMENS RA PLANE B",2e)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",30)':{tag:'(0019,"SIEMENS RA PLANE B",30)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",32)':{tag:'(0019,"SIEMENS RA PLANE B",32)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",34)':{tag:'(0019,"SIEMENS RA PLANE B",34)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",36)':{tag:'(0019,"SIEMENS RA PLANE B",36)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",38)':{tag:'(0019,"SIEMENS RA PLANE B",38)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",3a)':{tag:'(0019,"SIEMENS RA PLANE B",3a)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",3c)':{tag:'(0019,"SIEMENS RA PLANE B",3c)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",3e)':{tag:'(0019,"SIEMENS RA PLANE B",3e)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",40)':{tag:'(0019,"SIEMENS RA PLANE B",40)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",42)':{tag:'(0019,"SIEMENS RA PLANE B",42)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",44)':{tag:'(0019,"SIEMENS RA PLANE B",44)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",46)':{tag:'(0019,"SIEMENS RA PLANE B",46)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",48)':{tag:'(0019,"SIEMENS RA PLANE B",48)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",4a)':{tag:'(0019,"SIEMENS RA PLANE B",4a)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",4c)':{tag:'(0019,"SIEMENS RA PLANE B",4c)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",4e)':{tag:'(0019,"SIEMENS RA PLANE B",4e)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",50)':{tag:'(0019,"SIEMENS RA PLANE B",50)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",52)':{tag:'(0019,"SIEMENS RA PLANE B",52)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",54)':{tag:'(0019,"SIEMENS RA PLANE B",54)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",56)':{tag:'(0019,"SIEMENS RA PLANE B",56)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",58)':{tag:'(0019,"SIEMENS RA PLANE B",58)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",5a)':{tag:'(0019,"SIEMENS RA PLANE B",5a)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",5c)':{tag:'(0019,"SIEMENS RA PLANE B",5c)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",5e)':{tag:'(0019,"SIEMENS RA PLANE B",5e)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",60)':{tag:'(0019,"SIEMENS RA PLANE B",60)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",62)':{tag:'(0019,"SIEMENS RA PLANE B",62)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",64)':{tag:'(0019,"SIEMENS RA PLANE B",64)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",66)':{tag:'(0019,"SIEMENS RA PLANE B",66)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",68)':{tag:'(0019,"SIEMENS RA PLANE B",68)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",6a)':{tag:'(0019,"SIEMENS RA PLANE B",6a)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",6c)':{tag:'(0019,"SIEMENS RA PLANE B",6c)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",6e)':{tag:'(0019,"SIEMENS RA PLANE B",6e)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",70)':{tag:'(0019,"SIEMENS RA PLANE B",70)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",72)':{tag:'(0019,"SIEMENS RA PLANE B",72)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",74)':{tag:'(0019,"SIEMENS RA PLANE B",74)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",76)':{tag:'(0019,"SIEMENS RA PLANE B",76)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",78)':{tag:'(0019,"SIEMENS RA PLANE B",78)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",7a)':{tag:'(0019,"SIEMENS RA PLANE B",7a)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",7c)':{tag:'(0019,"SIEMENS RA PLANE B",7c)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",7e)':{tag:'(0019,"SIEMENS RA PLANE B",7e)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",80)':{tag:'(0019,"SIEMENS RA PLANE B",80)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",82)':{tag:'(0019,"SIEMENS RA PLANE B",82)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",84)':{tag:'(0019,"SIEMENS RA PLANE B",84)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",86)':{tag:'(0019,"SIEMENS RA PLANE B",86)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",88)':{tag:'(0019,"SIEMENS RA PLANE B",88)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",8a)':{tag:'(0019,"SIEMENS RA PLANE B",8a)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",8c)':{tag:'(0019,"SIEMENS RA PLANE B",8c)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",8e)':{tag:'(0019,"SIEMENS RA PLANE B",8e)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",90)':{tag:'(0019,"SIEMENS RA PLANE B",90)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",92)':{tag:'(0019,"SIEMENS RA PLANE B",92)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",94)':{tag:'(0019,"SIEMENS RA PLANE B",94)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",96)':{tag:'(0019,"SIEMENS RA PLANE B",96)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",98)':{tag:'(0019,"SIEMENS RA PLANE B",98)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",9a)':{tag:'(0019,"SIEMENS RA PLANE B",9a)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",9c)':{tag:'(0019,"SIEMENS RA PLANE B",9c)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",9e)':{tag:'(0019,"SIEMENS RA PLANE B",9e)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",a0)':{tag:'(0019,"SIEMENS RA PLANE B",a0)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",a2)':{tag:'(0019,"SIEMENS RA PLANE B",a2)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",a4)':{tag:'(0019,"SIEMENS RA PLANE B",a4)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",a6)':{tag:'(0019,"SIEMENS RA PLANE B",a6)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",a8)':{tag:'(0019,"SIEMENS RA PLANE B",a8)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",aa)':{tag:'(0019,"SIEMENS RA PLANE B",aa)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS RA PLANE B",ac)':{tag:'(0019,"SIEMENS RA PLANE B",ac)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RIS",10)':{tag:'(0011,"SIEMENS RIS",10)',vr:"LT",name:"PatientUID",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RIS",11)':{tag:'(0011,"SIEMENS RIS",11)',vr:"LT",name:"PatientID",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RIS",20)':{tag:'(0011,"SIEMENS RIS",20)',vr:"DA",name:"PatientRegistrationDate",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RIS",21)':{tag:'(0011,"SIEMENS RIS",21)',vr:"TM",name:"PatientRegistrationTime",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RIS",30)':{tag:'(0011,"SIEMENS RIS",30)',vr:"LT",name:"PatientnameRIS",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RIS",31)':{tag:'(0011,"SIEMENS RIS",31)',vr:"LT",name:"PatientprenameRIS",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RIS",40)':{tag:'(0011,"SIEMENS RIS",40)',vr:"LT",name:"PatientHospitalStatus",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RIS",41)':{tag:'(0011,"SIEMENS RIS",41)',vr:"LT",name:"MedicalAlerts",vm:"1",version:"PrivateTag"},'(0011,"SIEMENS RIS",42)':{tag:'(0011,"SIEMENS RIS",42)',vr:"LT",name:"ContrastAllergies",vm:"1",version:"PrivateTag"},'(0031,"SIEMENS RIS",10)':{tag:'(0031,"SIEMENS RIS",10)',vr:"LT",name:"RequestUID",vm:"1",version:"PrivateTag"},'(0031,"SIEMENS RIS",45)':{tag:'(0031,"SIEMENS RIS",45)',vr:"LT",name:"RequestingPhysician",vm:"1",version:"PrivateTag"},'(0031,"SIEMENS RIS",50)':{tag:'(0031,"SIEMENS RIS",50)',vr:"LT",name:"RequestedPhysician",vm:"1",version:"PrivateTag"},'(0033,"SIEMENS RIS",10)':{tag:'(0033,"SIEMENS RIS",10)',vr:"LT",name:"PatientStudyUID",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",00)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",00)',vr:"US",name:"AcquisitionType",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",01)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",01)',vr:"US",name:"AcquisitionMode",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",02)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",02)',vr:"US",name:"FootswitchIndex",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",03)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",03)',vr:"US",name:"AcquisitionRoom",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",04)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",04)',vr:"SL",name:"CurrentTimeProduct",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",05)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",05)',vr:"SL",name:"Dose",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",06)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",06)',vr:"SL",name:"SkinDosePercent",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",07)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",07)',vr:"SL",name:"SkinDoseAccumulation",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",08)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",08)',vr:"SL",name:"SkinDoseRate",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",0A)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",0A)',vr:"UL",name:"CopperFilter",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",0B)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",0B)',vr:"US",name:"MeasuringField",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",0C)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",0C)',vr:"SS",name:"PostBlankingCircle",vm:"3",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",0D)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",0D)',vr:"SS",name:"DynaAngles",vm:"2-2n",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",0E)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",0E)',vr:"SS",name:"TotalSteps",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",0F)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",0F)',vr:"SL",name:"DynaXRayInfo",vm:"3-3n",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",10)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",10)',vr:"US",name:"ModalityLUTInputGamma",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",11)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",11)',vr:"US",name:"ModalityLUTOutputGamma",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",12)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",12)',vr:"OB",name:"SH_STPAR",vm:"1-n",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",13)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",13)',vr:"US",name:"AcquisitionZoom",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",14)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",14)',vr:"SS",name:"DynaAngulationStepWidth",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",15)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",15)',vr:"US",name:"Harmonization",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",16)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",16)',vr:"US",name:"DRSingleFlag",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",17)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",17)',vr:"SL",name:"SourceToIsocenter",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",18)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",18)',vr:"US",name:"PressureData",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",19)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",19)',vr:"SL",name:"ECGIndexArray",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",1A)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",1A)',vr:"US",name:"FDFlag",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",1B)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",1B)',vr:"OB",name:"SH_ZOOM",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",1C)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",1C)',vr:"OB",name:"SH_COLPAR",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",1D)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",1D)',vr:"US",name:"K_Factor",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",1E)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",1E)',vr:"US",name:"EVE",vm:"8",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",1F)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",1F)',vr:"SL",name:"TotalSceneTime",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",20)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",20)',vr:"US",name:"RestoreFlag",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",21)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",21)',vr:"US",name:"StandMovementFlag",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",22)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",22)',vr:"US",name:"FDRows",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",23)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",23)',vr:"US",name:"FDColumns",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",24)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",24)',vr:"US",name:"TableMovementFlag",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",25)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",25)',vr:"LO",name:"OriginalOrganProgramName",vm:"1",version:"PrivateTag"},'(0021,"SIEMENS SMS-AX ACQ 1.0",26)':{tag:'(0021,"SIEMENS SMS-AX ACQ 1.0",26)',vr:"DS",name:"CrispyXPIFilter",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",00)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",00)',vr:"US",name:"ViewNative",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",01)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",01)',vr:"US",name:"OriginalSeriesNumber",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",02)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",02)',vr:"US",name:"OriginalImageNumber",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",03)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",03)',vr:"US",name:"WinCenter",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",04)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",04)',vr:"US",name:"WinWidth",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",05)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",05)',vr:"US",name:"WinBrightness",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",06)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",06)',vr:"US",name:"WinContrast",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",07)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",07)',vr:"US",name:"OriginalFrameNumber",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",08)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",08)',vr:"US",name:"OriginalMaskFrameNumber",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",09)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",09)',vr:"US",name:"Opac",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",0A)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",0A)',vr:"US",name:"OriginalNumberOfFrames",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",0B)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",0B)',vr:"DS",name:"OriginalSceneDuration",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",0C)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",0C)',vr:"LO",name:"IdentifierLOID",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",0D)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",0D)',vr:"SS",name:"OriginalSceneVFRInfo",vm:"1-n",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",0E)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",0E)',vr:"SS",name:"OriginalFrameECGPosition",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",0F)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",0F)',vr:"SS",name:"OriginalECG1stFrameOffset_retired",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",10)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",10)',vr:"SS",name:"ZoomFlag",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",11)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",11)',vr:"US",name:"Flex",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",12)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",12)',vr:"US",name:"NumberOfMaskFrames",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",13)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",13)',vr:"US",name:"NumberOfFillFrames",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",14)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",14)',vr:"US",name:"SeriesNumber",vm:"1",version:"PrivateTag"},'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",15)':{tag:'(0025,"SIEMENS SMS-AX ORIGINAL IMAGE INFO 1.0",15)',vr:"IS",name:"ImageNumber",vm:"1",version:"PrivateTag"},'(0023,"SIEMENS SMS-AX QUANT 1.0",00)':{tag:'(0023,"SIEMENS SMS-AX QUANT 1.0",00)',vr:"DS",name:"HorizontalCalibrationPixelSize",vm:"2",version:"PrivateTag"},'(0023,"SIEMENS SMS-AX QUANT 1.0",01)':{tag:'(0023,"SIEMENS SMS-AX QUANT 1.0",01)',vr:"DS",name:"VerticalCalibrationPixelSize",vm:"2",version:"PrivateTag"},'(0023,"SIEMENS SMS-AX QUANT 1.0",02)':{tag:'(0023,"SIEMENS SMS-AX QUANT 1.0",02)',vr:"LO",name:"CalibrationObject",vm:"1",version:"PrivateTag"},'(0023,"SIEMENS SMS-AX QUANT 1.0",03)':{tag:'(0023,"SIEMENS SMS-AX QUANT 1.0",03)',vr:"DS",name:"CalibrationObjectSize",vm:"1",version:"PrivateTag"},'(0023,"SIEMENS SMS-AX QUANT 1.0",04)':{tag:'(0023,"SIEMENS SMS-AX QUANT 1.0",04)',vr:"LO",name:"CalibrationMethod",vm:"1",version:"PrivateTag"},'(0023,"SIEMENS SMS-AX QUANT 1.0",05)':{tag:'(0023,"SIEMENS SMS-AX QUANT 1.0",05)',vr:"ST",name:"Filename",vm:"1",version:"PrivateTag"},'(0023,"SIEMENS SMS-AX QUANT 1.0",06)':{tag:'(0023,"SIEMENS SMS-AX QUANT 1.0",06)',vr:"IS",name:"FrameNumber",vm:"1",version:"PrivateTag"},'(0023,"SIEMENS SMS-AX QUANT 1.0",07)':{tag:'(0023,"SIEMENS SMS-AX QUANT 1.0",07)',vr:"IS",name:"CalibrationFactorMultiplicity",vm:"2",version:"PrivateTag"},'(0023,"SIEMENS SMS-AX QUANT 1.0",08)':{tag:'(0023,"SIEMENS SMS-AX QUANT 1.0",08)',vr:"IS",name:"CalibrationTODValue",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",00)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",00)',vr:"US",name:"ReviewMode",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",01)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",01)',vr:"US",name:"AnatomicalBackgroundPercent",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",02)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",02)',vr:"US",name:"NumberOfPhases",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",03)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",03)',vr:"US",name:"ApplyAnatomicalBackground",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",04)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",04)',vr:"SS",name:"PixelShiftArray",vm:"4-4n",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",05)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",05)',vr:"US",name:"Brightness",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",06)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",06)',vr:"US",name:"Contrast",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",07)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",07)',vr:"US",name:"Enabled",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",08)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",08)',vr:"US",name:"NativeEdgeEnhancementPercentGain",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",09)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",09)',vr:"SS",name:"NativeEdgeEnhancementLUTIndex",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",0A)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",0A)',vr:"SS",name:"NativeEdgeEnhancementKernelSize",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",0B)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",0B)',vr:"US",name:"SubtrEdgeEnhancementPercentGain",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",0C)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",0C)',vr:"SS",name:"SubtrEdgeEnhancementLUTIndex",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",0D)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",0D)',vr:"SS",name:"SubtrEdgeEnhancementKernelSize",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",0E)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",0E)',vr:"US",name:"FadePercent",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",0F)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",0F)',vr:"US",name:"FlippedBeforeLateralityApplied",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",10)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",10)',vr:"US",name:"ApplyFade",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",12)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",12)',vr:"US",name:"Zoom",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",13)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",13)',vr:"SS",name:"PanX",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",14)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",14)',vr:"SS",name:"PanY",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",15)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",15)',vr:"SS",name:"NativeEdgeEnhancementAdvPercGain",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",16)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",16)',vr:"SS",name:"SubtrEdgeEnhancementAdvPercGain",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",17)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",17)',vr:"US",name:"InvertFlag",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",1A)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",1A)',vr:"OB",name:"Quant1KOverlay",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",1B)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",1B)',vr:"US",name:"OriginalResolution",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",1C)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",1C)',vr:"DS",name:"AutoWindowCenter",vm:"1",version:"PrivateTag"},'(0019,"SIEMENS SMS-AX VIEW 1.0",1D)':{tag:'(0019,"SIEMENS SMS-AX VIEW 1.0",1D)',vr:"DS",name:"AutoWindowWidth",vm:"1",version:"PrivateTag"},'(0009,"SIENET",01)':{tag:'(0009,"SIENET",01)',vr:"US",name:"SIENETCommandField",vm:"1",version:"PrivateTag"},'(0009,"SIENET",14)':{tag:'(0009,"SIENET",14)',vr:"LT",name:"ReceiverPLA",vm:"1",version:"PrivateTag"},'(0009,"SIENET",16)':{tag:'(0009,"SIENET",16)',vr:"US",name:"TransferPriority",vm:"1",version:"PrivateTag"},'(0009,"SIENET",29)':{tag:'(0009,"SIENET",29)',vr:"LT",name:"ActualUser",vm:"1",version:"PrivateTag"},'(0095,"SIENET",01)':{tag:'(0095,"SIENET",01)',vr:"LT",name:"ExaminationFolderID",vm:"1",version:"PrivateTag"},'(0095,"SIENET",04)':{tag:'(0095,"SIENET",04)',vr:"UL",name:"FolderReportedStatus",vm:"1",version:"PrivateTag"},'(0095,"SIENET",05)':{tag:'(0095,"SIENET",05)',vr:"LT",name:"FolderReportingRadiologist",vm:"1",version:"PrivateTag"},'(0095,"SIENET",07)':{tag:'(0095,"SIENET",07)',vr:"LT",name:"SIENETISAPLA",vm:"1",version:"PrivateTag"},'(0099,"SIENET",02)':{tag:'(0099,"SIENET",02)',vr:"UL",name:"DataObjectAttributes",vm:"1",version:"PrivateTag"},'(0009,"SPI RELEASE 1",10)':{tag:'(0009,"SPI RELEASE 1",10)',vr:"LT",name:"Comments",vm:"1",version:"PrivateTag"},'(0009,"SPI RELEASE 1",15)':{tag:'(0009,"SPI RELEASE 1",15)',vr:"LO",name:"SPIImageUID",vm:"1",version:"PrivateTag"},'(0009,"SPI RELEASE 1",40)':{tag:'(0009,"SPI RELEASE 1",40)',vr:"US",name:"DataObjectType",vm:"1",version:"PrivateTag"},'(0009,"SPI RELEASE 1",41)':{tag:'(0009,"SPI RELEASE 1",41)',vr:"LO",name:"DataObjectSubtype",vm:"1",version:"PrivateTag"},'(0011,"SPI RELEASE 1",10)':{tag:'(0011,"SPI RELEASE 1",10)',vr:"LO",name:"Organ",vm:"1",version:"PrivateTag"},'(0011,"SPI RELEASE 1",15)':{tag:'(0011,"SPI RELEASE 1",15)',vr:"LO",name:"AllergyIndication",vm:"1",version:"PrivateTag"},'(0011,"SPI RELEASE 1",20)':{tag:'(0011,"SPI RELEASE 1",20)',vr:"LO",name:"Pregnancy",vm:"1",version:"PrivateTag"},'(0029,"SPI RELEASE 1",60)':{tag:'(0029,"SPI RELEASE 1",60)',vr:"LT",name:"CompressionAlgorithm",vm:"1",version:"PrivateTag"},'(0009,"SPI Release 1",10)':{tag:'(0009,"SPI Release 1",10)',vr:"LT",name:"Comments",vm:"1",version:"PrivateTag"},'(0009,"SPI Release 1",15)':{tag:'(0009,"SPI Release 1",15)',vr:"LO",name:"SPIImageUID",vm:"1",version:"PrivateTag"},'(0009,"SPI Release 1",40)':{tag:'(0009,"SPI Release 1",40)',vr:"US",name:"DataObjectType",vm:"1",version:"PrivateTag"},'(0009,"SPI Release 1",41)':{tag:'(0009,"SPI Release 1",41)',vr:"LO",name:"DataObjectSubtype",vm:"1",version:"PrivateTag"},'(0011,"SPI Release 1",10)':{tag:'(0011,"SPI Release 1",10)',vr:"LO",name:"Organ",vm:"1",version:"PrivateTag"},'(0011,"SPI Release 1",15)':{tag:'(0011,"SPI Release 1",15)',vr:"LO",name:"AllergyIndication",vm:"1",version:"PrivateTag"},'(0011,"SPI Release 1",20)':{tag:'(0011,"SPI Release 1",20)',vr:"LO",name:"Pregnancy",vm:"1",version:"PrivateTag"},'(0029,"SPI Release 1",60)':{tag:'(0029,"SPI Release 1",60)',vr:"LT",name:"CompressionAlgorithm",vm:"1",version:"PrivateTag"},'(0009,"SPI",10)':{tag:'(0009,"SPI",10)',vr:"LO",name:"Comments",vm:"1",version:"PrivateTag"},'(0009,"SPI",15)':{tag:'(0009,"SPI",15)',vr:"LO",name:"SPIImageUID",vm:"1",version:"PrivateTag"},'(0009,"SPI",40)':{tag:'(0009,"SPI",40)',vr:"US",name:"DataObjectType",vm:"1",version:"PrivateTag"},'(0009,"SPI",41)':{tag:'(0009,"SPI",41)',vr:"LT",name:"DataObjectSubtype",vm:"1",version:"PrivateTag"},'(0011,"SPI",10)':{tag:'(0011,"SPI",10)',vr:"LT",name:"Organ",vm:"1",version:"PrivateTag"},'(0011,"SPI",15)':{tag:'(0011,"SPI",15)',vr:"LT",name:"AllergyIndication",vm:"1",version:"PrivateTag"},'(0011,"SPI",20)':{tag:'(0011,"SPI",20)',vr:"LT",name:"Pregnancy",vm:"1",version:"PrivateTag"},'(0029,"SPI",60)':{tag:'(0029,"SPI",60)',vr:"LT",name:"CompressionAlgorithm",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",00)':{tag:'(0009,"SPI-P Release 1",00)',vr:"LT",name:"DataObjectRecognitionCode",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",04)':{tag:'(0009,"SPI-P Release 1",04)',vr:"LO",name:"ImageDataConsistence",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",08)':{tag:'(0009,"SPI-P Release 1",08)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",12)':{tag:'(0009,"SPI-P Release 1",12)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",15)':{tag:'(0009,"SPI-P Release 1",15)',vr:"LO",name:"UniqueIdentifier",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",16)':{tag:'(0009,"SPI-P Release 1",16)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",18)':{tag:'(0009,"SPI-P Release 1",18)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",21)':{tag:'(0009,"SPI-P Release 1",21)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",31)':{tag:'(0009,"SPI-P Release 1",31)',vr:"LT",name:"PACSUniqueIdentifier",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",34)':{tag:'(0009,"SPI-P Release 1",34)',vr:"LT",name:"ClusterUniqueIdentifier",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",38)':{tag:'(0009,"SPI-P Release 1",38)',vr:"LT",name:"SystemUniqueIdentifier",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",39)':{tag:'(0009,"SPI-P Release 1",39)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",51)':{tag:'(0009,"SPI-P Release 1",51)',vr:"LT",name:"StudyUniqueIdentifier",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",61)':{tag:'(0009,"SPI-P Release 1",61)',vr:"LT",name:"SeriesUniqueIdentifier",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",91)':{tag:'(0009,"SPI-P Release 1",91)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",f2)':{tag:'(0009,"SPI-P Release 1",f2)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",f3)':{tag:'(0009,"SPI-P Release 1",f3)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",f4)':{tag:'(0009,"SPI-P Release 1",f4)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",f5)':{tag:'(0009,"SPI-P Release 1",f5)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1",f7)':{tag:'(0009,"SPI-P Release 1",f7)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0011,"SPI-P Release 1",10)':{tag:'(0011,"SPI-P Release 1",10)',vr:"LT",name:"PatientEntryID",vm:"1",version:"PrivateTag"},'(0011,"SPI-P Release 1",21)':{tag:'(0011,"SPI-P Release 1",21)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0011,"SPI-P Release 1",22)':{tag:'(0011,"SPI-P Release 1",22)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0011,"SPI-P Release 1",31)':{tag:'(0011,"SPI-P Release 1",31)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0011,"SPI-P Release 1",32)':{tag:'(0011,"SPI-P Release 1",32)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",00)':{tag:'(0019,"SPI-P Release 1",00)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",01)':{tag:'(0019,"SPI-P Release 1",01)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",02)':{tag:'(0019,"SPI-P Release 1",02)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",10)':{tag:'(0019,"SPI-P Release 1",10)',vr:"US",name:"MainsFrequency",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",25)':{tag:'(0019,"SPI-P Release 1",25)',vr:"LT",name:"OriginalPixelDataQuality",vm:"1-n",version:"PrivateTag"},'(0019,"SPI-P Release 1",30)':{tag:'(0019,"SPI-P Release 1",30)',vr:"US",name:"ECGTriggering",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",31)':{tag:'(0019,"SPI-P Release 1",31)',vr:"UN",name:"ECG1Offset",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",32)':{tag:'(0019,"SPI-P Release 1",32)',vr:"UN",name:"ECG2Offset1",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",33)':{tag:'(0019,"SPI-P Release 1",33)',vr:"UN",name:"ECG2Offset2",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",50)':{tag:'(0019,"SPI-P Release 1",50)',vr:"US",name:"VideoScanMode",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",51)':{tag:'(0019,"SPI-P Release 1",51)',vr:"US",name:"VideoLineRate",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",60)':{tag:'(0019,"SPI-P Release 1",60)',vr:"US",name:"XrayTechnique",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",61)':{tag:'(0019,"SPI-P Release 1",61)',vr:"DS",name:"ImageIdentifierFromat",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",62)':{tag:'(0019,"SPI-P Release 1",62)',vr:"US",name:"IrisDiaphragm",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",63)':{tag:'(0019,"SPI-P Release 1",63)',vr:"CS",name:"Filter",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",64)':{tag:'(0019,"SPI-P Release 1",64)',vr:"CS",name:"CineParallel",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",65)':{tag:'(0019,"SPI-P Release 1",65)',vr:"CS",name:"CineMaster",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",70)':{tag:'(0019,"SPI-P Release 1",70)',vr:"US",name:"ExposureChannel",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",71)':{tag:'(0019,"SPI-P Release 1",71)',vr:"UN",name:"ExposureChannelFirstImage",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",72)':{tag:'(0019,"SPI-P Release 1",72)',vr:"US",name:"ProcessingChannel",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",80)':{tag:'(0019,"SPI-P Release 1",80)',vr:"DS",name:"AcquisitionDelay",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",81)':{tag:'(0019,"SPI-P Release 1",81)',vr:"UN",name:"RelativeImageTime",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",90)':{tag:'(0019,"SPI-P Release 1",90)',vr:"CS",name:"VideoWhiteCompression",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",a0)':{tag:'(0019,"SPI-P Release 1",a0)',vr:"US",name:"Angulation",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1",a1)':{tag:'(0019,"SPI-P Release 1",a1)',vr:"US",name:"Rotation",vm:"1",version:"PrivateTag"},'(0021,"SPI-P Release 1",12)':{tag:'(0021,"SPI-P Release 1",12)',vr:"LT",name:"SeriesUniqueIdentifier",vm:"1",version:"PrivateTag"},'(0021,"SPI-P Release 1",14)':{tag:'(0021,"SPI-P Release 1",14)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",00)':{tag:'(0029,"SPI-P Release 1",00)',vr:"DS",name:"Unknown",vm:"4",version:"PrivateTag"},'(0029,"SPI-P Release 1",20)':{tag:'(0029,"SPI-P Release 1",20)',vr:"DS",name:"PixelAspectRatio",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",25)':{tag:'(0029,"SPI-P Release 1",25)',vr:"LO",name:"ProcessedPixelDataQuality",vm:"1-n",version:"PrivateTag"},'(0029,"SPI-P Release 1",30)':{tag:'(0029,"SPI-P Release 1",30)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",38)':{tag:'(0029,"SPI-P Release 1",38)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",60)':{tag:'(0029,"SPI-P Release 1",60)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",61)':{tag:'(0029,"SPI-P Release 1",61)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",67)':{tag:'(0029,"SPI-P Release 1",67)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",70)':{tag:'(0029,"SPI-P Release 1",70)',vr:"LT",name:"WindowID",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",71)':{tag:'(0029,"SPI-P Release 1",71)',vr:"CS",name:"VideoInvertSubtracted",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",72)':{tag:'(0029,"SPI-P Release 1",72)',vr:"CS",name:"VideoInvertNonsubtracted",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",77)':{tag:'(0029,"SPI-P Release 1",77)',vr:"CS",name:"WindowSelectStatus",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",78)':{tag:'(0029,"SPI-P Release 1",78)',vr:"LT",name:"ECGDisplayPrintingID",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",79)':{tag:'(0029,"SPI-P Release 1",79)',vr:"CS",name:"ECGDisplayPrinting",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",7e)':{tag:'(0029,"SPI-P Release 1",7e)',vr:"CS",name:"ECGDisplayPrintingEnableStatus",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",7f)':{tag:'(0029,"SPI-P Release 1",7f)',vr:"CS",name:"ECGDisplayPrintingSelectStatus",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",80)':{tag:'(0029,"SPI-P Release 1",80)',vr:"LT",name:"PhysiologicalDisplayID",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",81)':{tag:'(0029,"SPI-P Release 1",81)',vr:"US",name:"PreferredPhysiologicalChannelDisplay",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",8e)':{tag:'(0029,"SPI-P Release 1",8e)',vr:"CS",name:"PhysiologicalDisplayEnableStatus",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",8f)':{tag:'(0029,"SPI-P Release 1",8f)',vr:"CS",name:"PhysiologicalDisplaySelectStatus",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",c0)':{tag:'(0029,"SPI-P Release 1",c0)',vr:"LT",name:"FunctionalShutterID",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",c1)':{tag:'(0029,"SPI-P Release 1",c1)',vr:"US",name:"FieldOfShutter",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",c5)':{tag:'(0029,"SPI-P Release 1",c5)',vr:"LT",name:"FieldOfShutterRectangle",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",ce)':{tag:'(0029,"SPI-P Release 1",ce)',vr:"CS",name:"ShutterEnableStatus",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1",cf)':{tag:'(0029,"SPI-P Release 1",cf)',vr:"CS",name:"ShutterSelectStatus",vm:"1",version:"PrivateTag"},'(7FE1,"SPI-P Release 1",10)':{tag:'(7FE1,"SPI-P Release 1",10)',vr:"ox",name:"PixelData",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1;1",c0)':{tag:'(0009,"SPI-P Release 1;1",c0)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P Release 1;1",c1)':{tag:'(0009,"SPI-P Release 1;1",c1)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",00)':{tag:'(0019,"SPI-P Release 1;1",00)',vr:"UN",name:"PhysiologicalDataType",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",01)':{tag:'(0019,"SPI-P Release 1;1",01)',vr:"UN",name:"PhysiologicalDataChannelAndKind",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",02)':{tag:'(0019,"SPI-P Release 1;1",02)',vr:"US",name:"SampleBitsAllocated",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",03)':{tag:'(0019,"SPI-P Release 1;1",03)',vr:"US",name:"SampleBitsStored",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",04)':{tag:'(0019,"SPI-P Release 1;1",04)',vr:"US",name:"SampleHighBit",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",05)':{tag:'(0019,"SPI-P Release 1;1",05)',vr:"US",name:"SampleRepresentation",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",06)':{tag:'(0019,"SPI-P Release 1;1",06)',vr:"UN",name:"SmallestSampleValue",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",07)':{tag:'(0019,"SPI-P Release 1;1",07)',vr:"UN",name:"LargestSampleValue",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",08)':{tag:'(0019,"SPI-P Release 1;1",08)',vr:"UN",name:"NumberOfSamples",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",09)':{tag:'(0019,"SPI-P Release 1;1",09)',vr:"UN",name:"SampleData",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",0a)':{tag:'(0019,"SPI-P Release 1;1",0a)',vr:"UN",name:"SampleRate",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",10)':{tag:'(0019,"SPI-P Release 1;1",10)',vr:"UN",name:"PhysiologicalDataType2",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",11)':{tag:'(0019,"SPI-P Release 1;1",11)',vr:"UN",name:"PhysiologicalDataChannelAndKind2",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",12)':{tag:'(0019,"SPI-P Release 1;1",12)',vr:"US",name:"SampleBitsAllocated2",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",13)':{tag:'(0019,"SPI-P Release 1;1",13)',vr:"US",name:"SampleBitsStored2",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",14)':{tag:'(0019,"SPI-P Release 1;1",14)',vr:"US",name:"SampleHighBit2",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",15)':{tag:'(0019,"SPI-P Release 1;1",15)',vr:"US",name:"SampleRepresentation2",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",16)':{tag:'(0019,"SPI-P Release 1;1",16)',vr:"UN",name:"SmallestSampleValue2",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",17)':{tag:'(0019,"SPI-P Release 1;1",17)',vr:"UN",name:"LargestSampleValue2",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",18)':{tag:'(0019,"SPI-P Release 1;1",18)',vr:"UN",name:"NumberOfSamples2",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",19)':{tag:'(0019,"SPI-P Release 1;1",19)',vr:"UN",name:"SampleData2",vm:"1",version:"PrivateTag"},'(0019,"SPI-P Release 1;1",1a)':{tag:'(0019,"SPI-P Release 1;1",1a)',vr:"UN",name:"SampleRate2",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;1",00)':{tag:'(0029,"SPI-P Release 1;1",00)',vr:"LT",name:"ZoomID",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;1",01)':{tag:'(0029,"SPI-P Release 1;1",01)',vr:"DS",name:"ZoomRectangle",vm:"1-n",version:"PrivateTag"},'(0029,"SPI-P Release 1;1",03)':{tag:'(0029,"SPI-P Release 1;1",03)',vr:"DS",name:"ZoomFactor",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;1",04)':{tag:'(0029,"SPI-P Release 1;1",04)',vr:"US",name:"ZoomFunction",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;1",0e)':{tag:'(0029,"SPI-P Release 1;1",0e)',vr:"CS",name:"ZoomEnableStatus",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;1",0f)':{tag:'(0029,"SPI-P Release 1;1",0f)',vr:"CS",name:"ZoomSelectStatus",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;1",40)':{tag:'(0029,"SPI-P Release 1;1",40)',vr:"LT",name:"MagnifyingGlassID",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;1",41)':{tag:'(0029,"SPI-P Release 1;1",41)',vr:"DS",name:"MagnifyingGlassRectangle",vm:"1-n",version:"PrivateTag"},'(0029,"SPI-P Release 1;1",43)':{tag:'(0029,"SPI-P Release 1;1",43)',vr:"DS",name:"MagnifyingGlassFactor",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;1",44)':{tag:'(0029,"SPI-P Release 1;1",44)',vr:"US",name:"MagnifyingGlassFunction",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;1",4e)':{tag:'(0029,"SPI-P Release 1;1",4e)',vr:"CS",name:"MagnifyingGlassEnableStatus",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;1",4f)':{tag:'(0029,"SPI-P Release 1;1",4f)',vr:"CS",name:"MagnifyingGlassSelectStatus",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;2",00)':{tag:'(0029,"SPI-P Release 1;2",00)',vr:"LT",name:"SubtractionMaskID",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;2",04)':{tag:'(0029,"SPI-P Release 1;2",04)',vr:"UN",name:"MaskingFunction",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;2",0c)':{tag:'(0029,"SPI-P Release 1;2",0c)',vr:"UN",name:"ProprietaryMaskingParameters",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;2",1e)':{tag:'(0029,"SPI-P Release 1;2",1e)',vr:"CS",name:"SubtractionMaskEnableStatus",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;2",1f)':{tag:'(0029,"SPI-P Release 1;2",1f)',vr:"CS",name:"SubtractionMaskSelectStatus",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;3",00)':{tag:'(0029,"SPI-P Release 1;3",00)',vr:"LT",name:"ImageEnhancementID",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;3",01)':{tag:'(0029,"SPI-P Release 1;3",01)',vr:"LT",name:"ImageEnhancement",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;3",02)':{tag:'(0029,"SPI-P Release 1;3",02)',vr:"LT",name:"ConvolutionID",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;3",03)':{tag:'(0029,"SPI-P Release 1;3",03)',vr:"LT",name:"ConvolutionType",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;3",04)':{tag:'(0029,"SPI-P Release 1;3",04)',vr:"LT",name:"ConvolutionKernelSizeID",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;3",05)':{tag:'(0029,"SPI-P Release 1;3",05)',vr:"US",name:"ConvolutionKernelSize",vm:"2",version:"PrivateTag"},'(0029,"SPI-P Release 1;3",06)':{tag:'(0029,"SPI-P Release 1;3",06)',vr:"US",name:"ConvolutionKernel",vm:"1-n",version:"PrivateTag"},'(0029,"SPI-P Release 1;3",0c)':{tag:'(0029,"SPI-P Release 1;3",0c)',vr:"DS",name:"EnhancementGain",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;3",1e)':{tag:'(0029,"SPI-P Release 1;3",1e)',vr:"CS",name:"ImageEnhancementEnableStatus",vm:"1",version:"PrivateTag"},'(0029,"SPI-P Release 1;3",1f)':{tag:'(0029,"SPI-P Release 1;3",1f)',vr:"CS",name:"ImageEnhancementSelectStatus",vm:"1",version:"PrivateTag"},'(0011,"SPI-P Release 2;1",18)':{tag:'(0011,"SPI-P Release 2;1",18)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0023,"SPI-P Release 2;1",0d)':{tag:'(0023,"SPI-P Release 2;1",0d)',vr:"UI",name:"Unknown",vm:"1",version:"PrivateTag"},'(0023,"SPI-P Release 2;1",0e)':{tag:'(0023,"SPI-P Release 2;1",0e)',vr:"UI",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P-GV-CT Release 1",00)':{tag:'(0009,"SPI-P-GV-CT Release 1",00)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P-GV-CT Release 1",10)':{tag:'(0009,"SPI-P-GV-CT Release 1",10)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P-GV-CT Release 1",20)':{tag:'(0009,"SPI-P-GV-CT Release 1",20)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P-GV-CT Release 1",30)':{tag:'(0009,"SPI-P-GV-CT Release 1",30)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P-GV-CT Release 1",40)':{tag:'(0009,"SPI-P-GV-CT Release 1",40)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P-GV-CT Release 1",50)':{tag:'(0009,"SPI-P-GV-CT Release 1",50)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P-GV-CT Release 1",60)':{tag:'(0009,"SPI-P-GV-CT Release 1",60)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P-GV-CT Release 1",70)':{tag:'(0009,"SPI-P-GV-CT Release 1",70)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P-GV-CT Release 1",75)':{tag:'(0009,"SPI-P-GV-CT Release 1",75)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P-GV-CT Release 1",80)':{tag:'(0009,"SPI-P-GV-CT Release 1",80)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"SPI-P-GV-CT Release 1",90)':{tag:'(0009,"SPI-P-GV-CT Release 1",90)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",08)':{tag:'(0019,"SPI-P-GV-CT Release 1",08)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",09)':{tag:'(0019,"SPI-P-GV-CT Release 1",09)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",0a)':{tag:'(0019,"SPI-P-GV-CT Release 1",0a)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",10)':{tag:'(0019,"SPI-P-GV-CT Release 1",10)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",20)':{tag:'(0019,"SPI-P-GV-CT Release 1",20)',vr:"TM",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",50)':{tag:'(0019,"SPI-P-GV-CT Release 1",50)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",60)':{tag:'(0019,"SPI-P-GV-CT Release 1",60)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",61)':{tag:'(0019,"SPI-P-GV-CT Release 1",61)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",63)':{tag:'(0019,"SPI-P-GV-CT Release 1",63)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",64)':{tag:'(0019,"SPI-P-GV-CT Release 1",64)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",65)':{tag:'(0019,"SPI-P-GV-CT Release 1",65)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",70)':{tag:'(0019,"SPI-P-GV-CT Release 1",70)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",80)':{tag:'(0019,"SPI-P-GV-CT Release 1",80)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",81)':{tag:'(0019,"SPI-P-GV-CT Release 1",81)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",90)':{tag:'(0019,"SPI-P-GV-CT Release 1",90)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",a0)':{tag:'(0019,"SPI-P-GV-CT Release 1",a0)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",a1)':{tag:'(0019,"SPI-P-GV-CT Release 1",a1)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",a2)':{tag:'(0019,"SPI-P-GV-CT Release 1",a2)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",a3)':{tag:'(0019,"SPI-P-GV-CT Release 1",a3)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",b0)':{tag:'(0019,"SPI-P-GV-CT Release 1",b0)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-GV-CT Release 1",b1)':{tag:'(0019,"SPI-P-GV-CT Release 1",b1)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-GV-CT Release 1",20)':{tag:'(0021,"SPI-P-GV-CT Release 1",20)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-GV-CT Release 1",30)':{tag:'(0021,"SPI-P-GV-CT Release 1",30)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-GV-CT Release 1",40)':{tag:'(0021,"SPI-P-GV-CT Release 1",40)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-GV-CT Release 1",50)':{tag:'(0021,"SPI-P-GV-CT Release 1",50)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-GV-CT Release 1",60)':{tag:'(0021,"SPI-P-GV-CT Release 1",60)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-GV-CT Release 1",70)':{tag:'(0021,"SPI-P-GV-CT Release 1",70)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-GV-CT Release 1",80)':{tag:'(0021,"SPI-P-GV-CT Release 1",80)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-GV-CT Release 1",90)':{tag:'(0021,"SPI-P-GV-CT Release 1",90)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-GV-CT Release 1",a0)':{tag:'(0021,"SPI-P-GV-CT Release 1",a0)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-GV-CT Release 1",a1)':{tag:'(0021,"SPI-P-GV-CT Release 1",a1)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-GV-CT Release 1",a2)':{tag:'(0021,"SPI-P-GV-CT Release 1",a2)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-GV-CT Release 1",a3)':{tag:'(0021,"SPI-P-GV-CT Release 1",a3)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-GV-CT Release 1",a4)':{tag:'(0021,"SPI-P-GV-CT Release 1",a4)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-GV-CT Release 1",b0)':{tag:'(0021,"SPI-P-GV-CT Release 1",b0)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-GV-CT Release 1",c0)':{tag:'(0021,"SPI-P-GV-CT Release 1",c0)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-GV-CT Release 1",10)':{tag:'(0029,"SPI-P-GV-CT Release 1",10)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-GV-CT Release 1",30)':{tag:'(0029,"SPI-P-GV-CT Release 1",30)',vr:"UL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-GV-CT Release 1",31)':{tag:'(0029,"SPI-P-GV-CT Release 1",31)',vr:"UL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-GV-CT Release 1",32)':{tag:'(0029,"SPI-P-GV-CT Release 1",32)',vr:"UL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-GV-CT Release 1",33)':{tag:'(0029,"SPI-P-GV-CT Release 1",33)',vr:"UL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-GV-CT Release 1",80)':{tag:'(0029,"SPI-P-GV-CT Release 1",80)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-GV-CT Release 1",90)':{tag:'(0029,"SPI-P-GV-CT Release 1",90)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-GV-CT Release 1",d0)':{tag:'(0029,"SPI-P-GV-CT Release 1",d0)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-GV-CT Release 1",d1)':{tag:'(0029,"SPI-P-GV-CT Release 1",d1)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-PCR Release 2",30)':{tag:'(0019,"SPI-P-PCR Release 2",30)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-Private-CWS Release 1",00)':{tag:'(0021,"SPI-P-Private-CWS Release 1",00)',vr:"LT",name:"WindowOfImagesID",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-Private-CWS Release 1",01)':{tag:'(0021,"SPI-P-Private-CWS Release 1",01)',vr:"CS",name:"WindowOfImagesType",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-Private-CWS Release 1",02)':{tag:'(0021,"SPI-P-Private-CWS Release 1",02)',vr:"IS",name:"WindowOfImagesScope",vm:"1-n",version:"PrivateTag"},'(0019,"SPI-P-Private-DCI Release 1",10)':{tag:'(0019,"SPI-P-Private-DCI Release 1",10)',vr:"UN",name:"ECGTimeMapDataBitsAllocated",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-Private-DCI Release 1",11)':{tag:'(0019,"SPI-P-Private-DCI Release 1",11)',vr:"UN",name:"ECGTimeMapDataBitsStored",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-Private-DCI Release 1",12)':{tag:'(0019,"SPI-P-Private-DCI Release 1",12)',vr:"UN",name:"ECGTimeMapDataHighBit",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-Private-DCI Release 1",13)':{tag:'(0019,"SPI-P-Private-DCI Release 1",13)',vr:"UN",name:"ECGTimeMapDataRepresentation",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-Private-DCI Release 1",14)':{tag:'(0019,"SPI-P-Private-DCI Release 1",14)',vr:"UN",name:"ECGTimeMapDataSmallestDataValue",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-Private-DCI Release 1",15)':{tag:'(0019,"SPI-P-Private-DCI Release 1",15)',vr:"UN",name:"ECGTimeMapDataLargestDataValue",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-Private-DCI Release 1",16)':{tag:'(0019,"SPI-P-Private-DCI Release 1",16)',vr:"UN",name:"ECGTimeMapDataNumberOfDataValues",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-Private-DCI Release 1",17)':{tag:'(0019,"SPI-P-Private-DCI Release 1",17)',vr:"UN",name:"ECGTimeMapData",vm:"1",version:"PrivateTag"},'(0021,"SPI-P-Private_CDS Release 1",40)':{tag:'(0021,"SPI-P-Private_CDS Release 1",40)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_CDS Release 1",00)':{tag:'(0029,"SPI-P-Private_CDS Release 1",00)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-Private_ICS Release 1",30)':{tag:'(0019,"SPI-P-Private_ICS Release 1",30)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-Private_ICS Release 1",31)':{tag:'(0019,"SPI-P-Private_ICS Release 1",31)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1",08)':{tag:'(0029,"SPI-P-Private_ICS Release 1",08)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1",0f)':{tag:'(0029,"SPI-P-Private_ICS Release 1",0f)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1",10)':{tag:'(0029,"SPI-P-Private_ICS Release 1",10)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1",1b)':{tag:'(0029,"SPI-P-Private_ICS Release 1",1b)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1",1c)':{tag:'(0029,"SPI-P-Private_ICS Release 1",1c)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1",21)':{tag:'(0029,"SPI-P-Private_ICS Release 1",21)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1",43)':{tag:'(0029,"SPI-P-Private_ICS Release 1",43)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1",44)':{tag:'(0029,"SPI-P-Private_ICS Release 1",44)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1",4C)':{tag:'(0029,"SPI-P-Private_ICS Release 1",4C)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1",67)':{tag:'(0029,"SPI-P-Private_ICS Release 1",67)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1",68)':{tag:'(0029,"SPI-P-Private_ICS Release 1",68)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1",6A)':{tag:'(0029,"SPI-P-Private_ICS Release 1",6A)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1",6B)':{tag:'(0029,"SPI-P-Private_ICS Release 1",6B)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;1",00)':{tag:'(0029,"SPI-P-Private_ICS Release 1;1",00)',vr:"SL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;1",05)':{tag:'(0029,"SPI-P-Private_ICS Release 1;1",05)',vr:"FL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;1",06)':{tag:'(0029,"SPI-P-Private_ICS Release 1;1",06)',vr:"FL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;1",20)':{tag:'(0029,"SPI-P-Private_ICS Release 1;1",20)',vr:"FL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;1",21)':{tag:'(0029,"SPI-P-Private_ICS Release 1;1",21)',vr:"FL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;1",CD)':{tag:'(0029,"SPI-P-Private_ICS Release 1;1",CD)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;2",00)':{tag:'(0029,"SPI-P-Private_ICS Release 1;2",00)',vr:"FD",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;2",01)':{tag:'(0029,"SPI-P-Private_ICS Release 1;2",01)',vr:"FD",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;2",02)':{tag:'(0029,"SPI-P-Private_ICS Release 1;2",02)',vr:"FD",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;2",03)':{tag:'(0029,"SPI-P-Private_ICS Release 1;2",03)',vr:"SL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;2",04)':{tag:'(0029,"SPI-P-Private_ICS Release 1;2",04)',vr:"SL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;2",05)':{tag:'(0029,"SPI-P-Private_ICS Release 1;2",05)',vr:"SL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;3",C0)':{tag:'(0029,"SPI-P-Private_ICS Release 1;3",C0)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;3",C1)':{tag:'(0029,"SPI-P-Private_ICS Release 1;3",C1)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;3",C2)':{tag:'(0029,"SPI-P-Private_ICS Release 1;3",C2)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;3",C3)':{tag:'(0029,"SPI-P-Private_ICS Release 1;3",C3)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;3",C4)':{tag:'(0029,"SPI-P-Private_ICS Release 1;3",C4)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;3",C5)':{tag:'(0029,"SPI-P-Private_ICS Release 1;3",C5)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;4",02)':{tag:'(0029,"SPI-P-Private_ICS Release 1;4",02)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;4",9A)':{tag:'(0029,"SPI-P-Private_ICS Release 1;4",9A)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;4",E0)':{tag:'(0029,"SPI-P-Private_ICS Release 1;4",E0)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;5",50)':{tag:'(0029,"SPI-P-Private_ICS Release 1;5",50)',vr:"CS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"SPI-P-Private_ICS Release 1;5",55)':{tag:'(0029,"SPI-P-Private_ICS Release 1;5",55)',vr:"CS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-XSB-DCI Release 1",10)':{tag:'(0019,"SPI-P-XSB-DCI Release 1",10)',vr:"LT",name:"VideoBeamBoost",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-XSB-DCI Release 1",11)':{tag:'(0019,"SPI-P-XSB-DCI Release 1",11)',vr:"US",name:"ChannelGeneratingVideoSync",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-XSB-DCI Release 1",12)':{tag:'(0019,"SPI-P-XSB-DCI Release 1",12)',vr:"US",name:"VideoGain",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-XSB-DCI Release 1",13)':{tag:'(0019,"SPI-P-XSB-DCI Release 1",13)',vr:"US",name:"VideoOffset",vm:"1",version:"PrivateTag"},'(0019,"SPI-P-XSB-DCI Release 1",20)':{tag:'(0019,"SPI-P-XSB-DCI Release 1",20)',vr:"DS",name:"RTDDataCompressionFactor",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",11)':{tag:'(0029,"Silhouette Annot V1.0",11)',vr:"IS",name:"AnnotationName",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",12)':{tag:'(0029,"Silhouette Annot V1.0",12)',vr:"LT",name:"AnnotationFont",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",13)':{tag:'(0029,"Silhouette Annot V1.0",13)',vr:"LT",name:"AnnotationTextForegroundColor",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",14)':{tag:'(0029,"Silhouette Annot V1.0",14)',vr:"LT",name:"AnnotationTextBackgroundColor",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",15)':{tag:'(0029,"Silhouette Annot V1.0",15)',vr:"UL",name:"AnnotationTextBackingMode",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",16)':{tag:'(0029,"Silhouette Annot V1.0",16)',vr:"UL",name:"AnnotationTextJustification",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",17)':{tag:'(0029,"Silhouette Annot V1.0",17)',vr:"UL",name:"AnnotationTextLocation",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",18)':{tag:'(0029,"Silhouette Annot V1.0",18)',vr:"LT",name:"AnnotationTextString",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",19)':{tag:'(0029,"Silhouette Annot V1.0",19)',vr:"UL",name:"AnnotationTextAttachMode",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",20)':{tag:'(0029,"Silhouette Annot V1.0",20)',vr:"UL",name:"AnnotationTextCursorMode",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",21)':{tag:'(0029,"Silhouette Annot V1.0",21)',vr:"UL",name:"AnnotationTextShadowOffsetX",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",22)':{tag:'(0029,"Silhouette Annot V1.0",22)',vr:"UL",name:"AnnotationTextShadowOffsetY",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",23)':{tag:'(0029,"Silhouette Annot V1.0",23)',vr:"LT",name:"AnnotationLineColor",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",24)':{tag:'(0029,"Silhouette Annot V1.0",24)',vr:"UL",name:"AnnotationLineThickness",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",25)':{tag:'(0029,"Silhouette Annot V1.0",25)',vr:"UL",name:"AnnotationLineType",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",26)':{tag:'(0029,"Silhouette Annot V1.0",26)',vr:"UL",name:"AnnotationLineStyle",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",27)':{tag:'(0029,"Silhouette Annot V1.0",27)',vr:"UL",name:"AnnotationLineDashLength",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",28)':{tag:'(0029,"Silhouette Annot V1.0",28)',vr:"UL",name:"AnnotationLineAttachMode",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",29)':{tag:'(0029,"Silhouette Annot V1.0",29)',vr:"UL",name:"AnnotationLinePointCount",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",30)':{tag:'(0029,"Silhouette Annot V1.0",30)',vr:"FD",name:"AnnotationLinePoints",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",31)':{tag:'(0029,"Silhouette Annot V1.0",31)',vr:"UL",name:"AnnotationLineControlSize",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",32)':{tag:'(0029,"Silhouette Annot V1.0",32)',vr:"LT",name:"AnnotationMarkerColor",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",33)':{tag:'(0029,"Silhouette Annot V1.0",33)',vr:"UL",name:"AnnotationMarkerType",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",34)':{tag:'(0029,"Silhouette Annot V1.0",34)',vr:"UL",name:"AnnotationMarkerSize",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",35)':{tag:'(0029,"Silhouette Annot V1.0",35)',vr:"FD",name:"AnnotationMarkerLocation",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",36)':{tag:'(0029,"Silhouette Annot V1.0",36)',vr:"UL",name:"AnnotationMarkerAttachMode",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",37)':{tag:'(0029,"Silhouette Annot V1.0",37)',vr:"LT",name:"AnnotationGeomColor",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",38)':{tag:'(0029,"Silhouette Annot V1.0",38)',vr:"UL",name:"AnnotationGeomThickness",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",39)':{tag:'(0029,"Silhouette Annot V1.0",39)',vr:"UL",name:"AnnotationGeomLineStyle",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",40)':{tag:'(0029,"Silhouette Annot V1.0",40)',vr:"UL",name:"AnnotationGeomDashLength",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",41)':{tag:'(0029,"Silhouette Annot V1.0",41)',vr:"UL",name:"AnnotationGeomFillPattern",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",42)':{tag:'(0029,"Silhouette Annot V1.0",42)',vr:"UL",name:"AnnotationInteractivity",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",43)':{tag:'(0029,"Silhouette Annot V1.0",43)',vr:"FD",name:"AnnotationArrowLength",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",44)':{tag:'(0029,"Silhouette Annot V1.0",44)',vr:"FD",name:"AnnotationArrowAngle",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Annot V1.0",45)':{tag:'(0029,"Silhouette Annot V1.0",45)',vr:"UL",name:"AnnotationDontSave",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Graphics Export V1.0",00)':{tag:'(0029,"Silhouette Graphics Export V1.0",00)',vr:"UI",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",11)':{tag:'(0029,"Silhouette Line V1.0",11)',vr:"IS",name:"LineName",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",12)':{tag:'(0029,"Silhouette Line V1.0",12)',vr:"LT",name:"LineNameFont",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",13)':{tag:'(0029,"Silhouette Line V1.0",13)',vr:"UL",name:"LineNameDisplay",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",14)':{tag:'(0029,"Silhouette Line V1.0",14)',vr:"LT",name:"LineNormalColor",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",15)':{tag:'(0029,"Silhouette Line V1.0",15)',vr:"UL",name:"LineType",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",16)':{tag:'(0029,"Silhouette Line V1.0",16)',vr:"UL",name:"LineThickness",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",17)':{tag:'(0029,"Silhouette Line V1.0",17)',vr:"UL",name:"LineStyle",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",18)':{tag:'(0029,"Silhouette Line V1.0",18)',vr:"UL",name:"LineDashLength",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",19)':{tag:'(0029,"Silhouette Line V1.0",19)',vr:"UL",name:"LineInteractivity",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",20)':{tag:'(0029,"Silhouette Line V1.0",20)',vr:"LT",name:"LineMeasurementColor",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",21)':{tag:'(0029,"Silhouette Line V1.0",21)',vr:"LT",name:"LineMeasurementFont",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",22)':{tag:'(0029,"Silhouette Line V1.0",22)',vr:"UL",name:"LineMeasurementDashLength",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",23)':{tag:'(0029,"Silhouette Line V1.0",23)',vr:"UL",name:"LinePointSpace",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",24)':{tag:'(0029,"Silhouette Line V1.0",24)',vr:"FD",name:"LinePoints",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",25)':{tag:'(0029,"Silhouette Line V1.0",25)',vr:"UL",name:"LineControlPointSize",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",26)':{tag:'(0029,"Silhouette Line V1.0",26)',vr:"UL",name:"LineControlPointSpace",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",27)':{tag:'(0029,"Silhouette Line V1.0",27)',vr:"FD",name:"LineControlPoints",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",28)':{tag:'(0029,"Silhouette Line V1.0",28)',vr:"LT",name:"LineLabel",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Line V1.0",29)':{tag:'(0029,"Silhouette Line V1.0",29)',vr:"UL",name:"LineDontSave",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",11)':{tag:'(0029,"Silhouette ROI V1.0",11)',vr:"IS",name:"ROIName",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",12)':{tag:'(0029,"Silhouette ROI V1.0",12)',vr:"LT",name:"ROINameFont",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",13)':{tag:'(0029,"Silhouette ROI V1.0",13)',vr:"LT",name:"ROINormalColor",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",14)':{tag:'(0029,"Silhouette ROI V1.0",14)',vr:"UL",name:"ROIFillPattern",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",15)':{tag:'(0029,"Silhouette ROI V1.0",15)',vr:"UL",name:"ROIBpSeg",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",16)':{tag:'(0029,"Silhouette ROI V1.0",16)',vr:"UN",name:"ROIBpSegPairs",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",17)':{tag:'(0029,"Silhouette ROI V1.0",17)',vr:"UL",name:"ROISeedSpace",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",18)':{tag:'(0029,"Silhouette ROI V1.0",18)',vr:"UN",name:"ROISeeds",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",19)':{tag:'(0029,"Silhouette ROI V1.0",19)',vr:"UL",name:"ROILineThickness",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",20)':{tag:'(0029,"Silhouette ROI V1.0",20)',vr:"UL",name:"ROILineStyle",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",21)':{tag:'(0029,"Silhouette ROI V1.0",21)',vr:"UL",name:"ROILineDashLength",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",22)':{tag:'(0029,"Silhouette ROI V1.0",22)',vr:"UL",name:"ROIInteractivity",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",23)':{tag:'(0029,"Silhouette ROI V1.0",23)',vr:"UL",name:"ROINamePosition",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",24)':{tag:'(0029,"Silhouette ROI V1.0",24)',vr:"UL",name:"ROINameDisplay",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",25)':{tag:'(0029,"Silhouette ROI V1.0",25)',vr:"LT",name:"ROILabel",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",26)':{tag:'(0029,"Silhouette ROI V1.0",26)',vr:"UL",name:"ROIShape",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",27)':{tag:'(0029,"Silhouette ROI V1.0",27)',vr:"FD",name:"ROIShapeTilt",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",28)':{tag:'(0029,"Silhouette ROI V1.0",28)',vr:"UL",name:"ROIShapePointsCount",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",29)':{tag:'(0029,"Silhouette ROI V1.0",29)',vr:"UL",name:"ROIShapePointsSpace",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",30)':{tag:'(0029,"Silhouette ROI V1.0",30)',vr:"FD",name:"ROIShapePoints",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",31)':{tag:'(0029,"Silhouette ROI V1.0",31)',vr:"UL",name:"ROIShapeControlPointsCount",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",32)':{tag:'(0029,"Silhouette ROI V1.0",32)',vr:"UL",name:"ROIShapeControlPointsSpace",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",33)':{tag:'(0029,"Silhouette ROI V1.0",33)',vr:"FD",name:"ROIShapeControlPoints",vm:"1",version:"PrivateTag"},'(0029,"Silhouette ROI V1.0",34)':{tag:'(0029,"Silhouette ROI V1.0",34)',vr:"UL",name:"ROIDontSave",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Sequence Ids V1.0",41)':{tag:'(0029,"Silhouette Sequence Ids V1.0",41)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Sequence Ids V1.0",42)':{tag:'(0029,"Silhouette Sequence Ids V1.0",42)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette Sequence Ids V1.0",43)':{tag:'(0029,"Silhouette Sequence Ids V1.0",43)',vr:"SQ",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",13)':{tag:'(0029,"Silhouette V1.0",13)',vr:"UL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",14)':{tag:'(0029,"Silhouette V1.0",14)',vr:"UL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",17)':{tag:'(0029,"Silhouette V1.0",17)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",18)':{tag:'(0029,"Silhouette V1.0",18)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",19)':{tag:'(0029,"Silhouette V1.0",19)',vr:"UL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",1a)':{tag:'(0029,"Silhouette V1.0",1a)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",1b)':{tag:'(0029,"Silhouette V1.0",1b)',vr:"UL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",1c)':{tag:'(0029,"Silhouette V1.0",1c)',vr:"UL",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",1d)':{tag:'(0029,"Silhouette V1.0",1d)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",1e)':{tag:'(0029,"Silhouette V1.0",1e)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",21)':{tag:'(0029,"Silhouette V1.0",21)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",22)':{tag:'(0029,"Silhouette V1.0",22)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",23)':{tag:'(0029,"Silhouette V1.0",23)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",24)':{tag:'(0029,"Silhouette V1.0",24)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",25)':{tag:'(0029,"Silhouette V1.0",25)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",27)':{tag:'(0029,"Silhouette V1.0",27)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",28)':{tag:'(0029,"Silhouette V1.0",28)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",29)':{tag:'(0029,"Silhouette V1.0",29)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",30)':{tag:'(0029,"Silhouette V1.0",30)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",52)':{tag:'(0029,"Silhouette V1.0",52)',vr:"US",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",53)':{tag:'(0029,"Silhouette V1.0",53)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",54)':{tag:'(0029,"Silhouette V1.0",54)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",55)':{tag:'(0029,"Silhouette V1.0",55)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",56)':{tag:'(0029,"Silhouette V1.0",56)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0029,"Silhouette V1.0",57)':{tag:'(0029,"Silhouette V1.0",57)',vr:"UN",name:"Unknown",vm:"1",version:"PrivateTag"},'(0135,"SONOWAND AS",10)':{tag:'(0135,"SONOWAND AS",10)',vr:"LO",name:"UltrasoundScannerName",vm:"1",version:"PrivateTag"},'(0135,"SONOWAND AS",11)':{tag:'(0135,"SONOWAND AS",11)',vr:"LO",name:"TransducerSerial",vm:"1",version:"PrivateTag"},'(0135,"SONOWAND AS",12)':{tag:'(0135,"SONOWAND AS",12)',vr:"LO",name:"ProbeApplication",vm:"1",version:"PrivateTag"},'(0017,"SVISION",00)':{tag:'(0017,"SVISION",00)',vr:"LO",name:"ExtendedBodyPart",vm:"1",version:"PrivateTag"},'(0017,"SVISION",10)':{tag:'(0017,"SVISION",10)',vr:"LO",name:"ExtendedViewPosition",vm:"1",version:"PrivateTag"},'(0017,"SVISION",F0)':{tag:'(0017,"SVISION",F0)',vr:"IS",name:"ImagesSOPClass",vm:"1",version:"PrivateTag"},'(0019,"SVISION",00)':{tag:'(0019,"SVISION",00)',vr:"IS",name:"AECField",vm:"1",version:"PrivateTag"},'(0019,"SVISION",01)':{tag:'(0019,"SVISION",01)',vr:"IS",name:"AECFilmScreen",vm:"1",version:"PrivateTag"},'(0019,"SVISION",02)':{tag:'(0019,"SVISION",02)',vr:"IS",name:"AECDensity",vm:"1",version:"PrivateTag"},'(0019,"SVISION",10)':{tag:'(0019,"SVISION",10)',vr:"IS",name:"PatientThickness",vm:"1",version:"PrivateTag"},'(0019,"SVISION",18)':{tag:'(0019,"SVISION",18)',vr:"IS",name:"BeamDistance",vm:"1",version:"PrivateTag"},'(0019,"SVISION",20)':{tag:'(0019,"SVISION",20)',vr:"IS",name:"WorkstationNumber",vm:"1",version:"PrivateTag"},'(0019,"SVISION",28)':{tag:'(0019,"SVISION",28)',vr:"IS",name:"TubeNumber",vm:"1",version:"PrivateTag"},'(0019,"SVISION",30)':{tag:'(0019,"SVISION",30)',vr:"IS",name:"BuckyGrid",vm:"1",version:"PrivateTag"},'(0019,"SVISION",34)':{tag:'(0019,"SVISION",34)',vr:"IS",name:"Focus",vm:"1",version:"PrivateTag"},'(0019,"SVISION",38)':{tag:'(0019,"SVISION",38)',vr:"IS",name:"Child",vm:"1",version:"PrivateTag"},'(0019,"SVISION",40)':{tag:'(0019,"SVISION",40)',vr:"IS",name:"CollimatorDistanceX",vm:"1",version:"PrivateTag"},'(0019,"SVISION",41)':{tag:'(0019,"SVISION",41)',vr:"IS",name:"CollimatorDistanceY",vm:"1",version:"PrivateTag"},'(0019,"SVISION",50)':{tag:'(0019,"SVISION",50)',vr:"IS",name:"CentralBeamHeight",vm:"1",version:"PrivateTag"},'(0019,"SVISION",60)':{tag:'(0019,"SVISION",60)',vr:"IS",name:"BuckyAngle",vm:"1",version:"PrivateTag"},'(0019,"SVISION",68)':{tag:'(0019,"SVISION",68)',vr:"IS",name:"CArmAngle",vm:"1",version:"PrivateTag"},'(0019,"SVISION",69)':{tag:'(0019,"SVISION",69)',vr:"IS",name:"CollimatorAngle",vm:"1",version:"PrivateTag"},'(0019,"SVISION",70)':{tag:'(0019,"SVISION",70)',vr:"IS",name:"FilterNumber",vm:"1",version:"PrivateTag"},'(0019,"SVISION",74)':{tag:'(0019,"SVISION",74)',vr:"LO",name:"FilterMaterial1",vm:"1",version:"PrivateTag"},'(0019,"SVISION",75)':{tag:'(0019,"SVISION",75)',vr:"LO",name:"FilterMaterial2",vm:"1",version:"PrivateTag"},'(0019,"SVISION",78)':{tag:'(0019,"SVISION",78)',vr:"DS",name:"FilterThickness1",vm:"1",version:"PrivateTag"},'(0019,"SVISION",79)':{tag:'(0019,"SVISION",79)',vr:"DS",name:"FilterThickness2",vm:"1",version:"PrivateTag"},'(0019,"SVISION",80)':{tag:'(0019,"SVISION",80)',vr:"IS",name:"BuckyFormat",vm:"1",version:"PrivateTag"},'(0019,"SVISION",81)':{tag:'(0019,"SVISION",81)',vr:"IS",name:"ObjectPosition",vm:"1",version:"PrivateTag"},'(0019,"SVISION",90)':{tag:'(0019,"SVISION",90)',vr:"LO",name:"DeskCommand",vm:"1",version:"PrivateTag"},'(0019,"SVISION",A0)':{tag:'(0019,"SVISION",A0)',vr:"DS",name:"ExtendedExposureTime",vm:"1",version:"PrivateTag"},'(0019,"SVISION",A1)':{tag:'(0019,"SVISION",A1)',vr:"DS",name:"ActualExposureTime",vm:"1",version:"PrivateTag"},'(0019,"SVISION",A8)':{tag:'(0019,"SVISION",A8)',vr:"DS",name:"ExtendedXRayTubeCurrent",vm:"1",version:"PrivateTag"},'(0021,"SVISION",00)':{tag:'(0021,"SVISION",00)',vr:"DS",name:"NoiseReduction",vm:"1",version:"PrivateTag"},'(0021,"SVISION",01)':{tag:'(0021,"SVISION",01)',vr:"DS",name:"ContrastAmplification",vm:"1",version:"PrivateTag"},'(0021,"SVISION",02)':{tag:'(0021,"SVISION",02)',vr:"DS",name:"EdgeContrastBoosting",vm:"1",version:"PrivateTag"},'(0021,"SVISION",03)':{tag:'(0021,"SVISION",03)',vr:"DS",name:"LatitudeReduction",vm:"1",version:"PrivateTag"},'(0021,"SVISION",10)':{tag:'(0021,"SVISION",10)',vr:"LO",name:"FindRangeAlgorithm",vm:"1",version:"PrivateTag"},'(0021,"SVISION",11)':{tag:'(0021,"SVISION",11)',vr:"DS",name:"ThresholdCAlgorithm",vm:"1",version:"PrivateTag"},'(0021,"SVISION",20)':{tag:'(0021,"SVISION",20)',vr:"LO",name:"SensometricCurve",vm:"1",version:"PrivateTag"},'(0021,"SVISION",30)':{tag:'(0021,"SVISION",30)',vr:"DS",name:"LowerWindowOffset",vm:"1",version:"PrivateTag"},'(0021,"SVISION",31)':{tag:'(0021,"SVISION",31)',vr:"DS",name:"UpperWindowOffset",vm:"1",version:"PrivateTag"},'(0021,"SVISION",40)':{tag:'(0021,"SVISION",40)',vr:"DS",name:"MinPrintableDensity",vm:"1",version:"PrivateTag"},'(0021,"SVISION",41)':{tag:'(0021,"SVISION",41)',vr:"DS",name:"MaxPrintableDensity",vm:"1",version:"PrivateTag"},'(0021,"SVISION",90)':{tag:'(0021,"SVISION",90)',vr:"DS",name:"Brightness",vm:"1",version:"PrivateTag"},'(0021,"SVISION",91)':{tag:'(0021,"SVISION",91)',vr:"DS",name:"Contrast",vm:"1",version:"PrivateTag"},'(0021,"SVISION",92)':{tag:'(0021,"SVISION",92)',vr:"DS",name:"ShapeFactor",vm:"1",version:"PrivateTag"},'(0023,"SVISION",00)':{tag:'(0023,"SVISION",00)',vr:"LO",name:"ImageLaterality",vm:"1",version:"PrivateTag"},'(0023,"SVISION",01)':{tag:'(0023,"SVISION",01)',vr:"IS",name:"LetterPosition",vm:"1",version:"PrivateTag"},'(0023,"SVISION",02)':{tag:'(0023,"SVISION",02)',vr:"IS",name:"BurnedInAnnotation",vm:"1",version:"PrivateTag"},'(0023,"SVISION",03)':{tag:'(0023,"SVISION",03)',vr:"LO",name:"Unknown",vm:"1",version:"PrivateTag"},'(0023,"SVISION",F0)':{tag:'(0023,"SVISION",F0)',vr:"IS",name:"ImageSOPClass",vm:"1",version:"PrivateTag"},'(0025,"SVISION",00)':{tag:'(0025,"SVISION",00)',vr:"IS",name:"OriginalImage",vm:"1",version:"PrivateTag"},'(0025,"SVISION",01)':{tag:'(0025,"SVISION",01)',vr:"IS",name:"NotProcessedImage",vm:"1",version:"PrivateTag"},'(0025,"SVISION",02)':{tag:'(0025,"SVISION",02)',vr:"IS",name:"CutOutImage",vm:"1",version:"PrivateTag"},'(0025,"SVISION",03)':{tag:'(0025,"SVISION",03)',vr:"IS",name:"DuplicatedImage",vm:"1",version:"PrivateTag"},'(0025,"SVISION",04)':{tag:'(0025,"SVISION",04)',vr:"IS",name:"StoredImage",vm:"1",version:"PrivateTag"},'(0025,"SVISION",05)':{tag:'(0025,"SVISION",05)',vr:"IS",name:"RetrievedImage",vm:"1",version:"PrivateTag"},'(0025,"SVISION",06)':{tag:'(0025,"SVISION",06)',vr:"IS",name:"RemoteImage",vm:"1",version:"PrivateTag"},'(0025,"SVISION",07)':{tag:'(0025,"SVISION",07)',vr:"IS",name:"MediaStoredImage",vm:"1",version:"PrivateTag"},'(0025,"SVISION",08)':{tag:'(0025,"SVISION",08)',vr:"IS",name:"ImageState",vm:"1",version:"PrivateTag"},'(0025,"SVISION",20)':{tag:'(0025,"SVISION",20)',vr:"LO",name:"SourceImageFile",vm:"1",version:"PrivateTag"},'(0025,"SVISION",21)':{tag:'(0025,"SVISION",21)',vr:"UI",name:"Unknown",vm:"1",version:"PrivateTag"},'(0027,"SVISION",00)':{tag:'(0027,"SVISION",00)',vr:"IS",name:"NumberOfSeries",vm:"1",version:"PrivateTag"},'(0027,"SVISION",01)':{tag:'(0027,"SVISION",01)',vr:"IS",name:"NumberOfStudies",vm:"1",version:"PrivateTag"},'(0027,"SVISION",10)':{tag:'(0027,"SVISION",10)',vr:"DT",name:"OldestSeries",vm:"1",version:"PrivateTag"},'(0027,"SVISION",11)':{tag:'(0027,"SVISION",11)',vr:"DT",name:"NewestSeries",vm:"1",version:"PrivateTag"},'(0027,"SVISION",12)':{tag:'(0027,"SVISION",12)',vr:"DT",name:"OldestStudy",vm:"1",version:"PrivateTag"},'(0027,"SVISION",13)':{tag:'(0027,"SVISION",13)',vr:"DT",name:"NewestStudy",vm:"1",version:"PrivateTag"},'(0009,"TOSHIBA_MEC_1.0",01)':{tag:'(0009,"TOSHIBA_MEC_1.0",01)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0009,"TOSHIBA_MEC_1.0",02)':{tag:'(0009,"TOSHIBA_MEC_1.0",02)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0009,"TOSHIBA_MEC_1.0",03)':{tag:'(0009,"TOSHIBA_MEC_1.0",03)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0009,"TOSHIBA_MEC_1.0",04)':{tag:'(0009,"TOSHIBA_MEC_1.0",04)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0011,"TOSHIBA_MEC_1.0",01)':{tag:'(0011,"TOSHIBA_MEC_1.0",01)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0011,"TOSHIBA_MEC_1.0",02)':{tag:'(0011,"TOSHIBA_MEC_1.0",02)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"TOSHIBA_MEC_1.0",01)':{tag:'(0019,"TOSHIBA_MEC_1.0",01)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"TOSHIBA_MEC_1.0",02)':{tag:'(0019,"TOSHIBA_MEC_1.0",02)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0021,"TOSHIBA_MEC_1.0",01)':{tag:'(0021,"TOSHIBA_MEC_1.0",01)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0021,"TOSHIBA_MEC_1.0",02)':{tag:'(0021,"TOSHIBA_MEC_1.0",02)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0021,"TOSHIBA_MEC_1.0",03)':{tag:'(0021,"TOSHIBA_MEC_1.0",03)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(7ff1,"TOSHIBA_MEC_1.0",01)':{tag:'(7ff1,"TOSHIBA_MEC_1.0",01)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(7ff1,"TOSHIBA_MEC_1.0",02)':{tag:'(7ff1,"TOSHIBA_MEC_1.0",02)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(7ff1,"TOSHIBA_MEC_1.0",03)':{tag:'(7ff1,"TOSHIBA_MEC_1.0",03)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(7ff1,"TOSHIBA_MEC_1.0",10)':{tag:'(7ff1,"TOSHIBA_MEC_1.0",10)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"TOSHIBA_MEC_CT_1.0",01)':{tag:'(0019,"TOSHIBA_MEC_CT_1.0",01)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"TOSHIBA_MEC_CT_1.0",02)':{tag:'(0019,"TOSHIBA_MEC_CT_1.0",02)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"TOSHIBA_MEC_CT_1.0",03)':{tag:'(0019,"TOSHIBA_MEC_CT_1.0",03)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"TOSHIBA_MEC_CT_1.0",04)':{tag:'(0019,"TOSHIBA_MEC_CT_1.0",04)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"TOSHIBA_MEC_CT_1.0",05)':{tag:'(0019,"TOSHIBA_MEC_CT_1.0",05)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"TOSHIBA_MEC_CT_1.0",06)':{tag:'(0019,"TOSHIBA_MEC_CT_1.0",06)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"TOSHIBA_MEC_CT_1.0",07)':{tag:'(0019,"TOSHIBA_MEC_CT_1.0",07)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"TOSHIBA_MEC_CT_1.0",08)':{tag:'(0019,"TOSHIBA_MEC_CT_1.0",08)',vr:"LT",name:"OrientationHeadFeet",vm:"1",version:"PrivateTag"},'(0019,"TOSHIBA_MEC_CT_1.0",09)':{tag:'(0019,"TOSHIBA_MEC_CT_1.0",09)',vr:"LT",name:"ViewDirection",vm:"1",version:"PrivateTag"},'(0019,"TOSHIBA_MEC_CT_1.0",0a)':{tag:'(0019,"TOSHIBA_MEC_CT_1.0",0a)',vr:"LT",name:"OrientationSupineProne",vm:"1",version:"PrivateTag"},'(0019,"TOSHIBA_MEC_CT_1.0",0b)':{tag:'(0019,"TOSHIBA_MEC_CT_1.0",0b)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(0019,"TOSHIBA_MEC_CT_1.0",0c)':{tag:'(0019,"TOSHIBA_MEC_CT_1.0",0c)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(0019,"TOSHIBA_MEC_CT_1.0",0d)':{tag:'(0019,"TOSHIBA_MEC_CT_1.0",0d)',vr:"TM",name:"Time",vm:"1",version:"PrivateTag"},'(0019,"TOSHIBA_MEC_CT_1.0",0e)':{tag:'(0019,"TOSHIBA_MEC_CT_1.0",0e)',vr:"DS",name:"Unknown",vm:"1",version:"PrivateTag"},'(7ff1,"TOSHIBA_MEC_CT_1.0",01)':{tag:'(7ff1,"TOSHIBA_MEC_CT_1.0",01)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(7ff1,"TOSHIBA_MEC_CT_1.0",02)':{tag:'(7ff1,"TOSHIBA_MEC_CT_1.0",02)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(7ff1,"TOSHIBA_MEC_CT_1.0",03)':{tag:'(7ff1,"TOSHIBA_MEC_CT_1.0",03)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(7ff1,"TOSHIBA_MEC_CT_1.0",04)':{tag:'(7ff1,"TOSHIBA_MEC_CT_1.0",04)',vr:"IS",name:"Unknown",vm:"1",version:"PrivateTag"},'(7ff1,"TOSHIBA_MEC_CT_1.0",05)':{tag:'(7ff1,"TOSHIBA_MEC_CT_1.0",05)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(7ff1,"TOSHIBA_MEC_CT_1.0",07)':{tag:'(7ff1,"TOSHIBA_MEC_CT_1.0",07)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(7ff1,"TOSHIBA_MEC_CT_1.0",08)':{tag:'(7ff1,"TOSHIBA_MEC_CT_1.0",08)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(7ff1,"TOSHIBA_MEC_CT_1.0",09)':{tag:'(7ff1,"TOSHIBA_MEC_CT_1.0",09)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(7ff1,"TOSHIBA_MEC_CT_1.0",0a)':{tag:'(7ff1,"TOSHIBA_MEC_CT_1.0",0a)',vr:"LT",name:"Unknown",vm:"1",version:"PrivateTag"},'(7ff1,"TOSHIBA_MEC_CT_1.0",0b)':{tag:'(7ff1,"TOSHIBA_MEC_CT_1.0",0b)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(7ff1,"TOSHIBA_MEC_CT_1.0",0c)':{tag:'(7ff1,"TOSHIBA_MEC_CT_1.0",0c)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"},'(7ff1,"TOSHIBA_MEC_CT_1.0",0d)':{tag:'(7ff1,"TOSHIBA_MEC_CT_1.0",0d)',vr:"US",name:"Unknown",vm:"1-n",version:"PrivateTag"}},Jr._generateNameMap(),Jr._generateUIDMap();var $r=["SQ","OF","OW","OB","UN","LT"],ea={"":"iso-8859-1","iso-ir-6":"iso-8859-1","iso-ir-13":"shift-jis","iso-ir-100":"latin1","iso-ir-101":"iso-8859-2","iso-ir-109":"iso-8859-3","iso-ir-110":"iso-8859-4","iso-ir-126":"iso-ir-126","iso-ir-127":"iso-ir-127","iso-ir-138":"iso-ir-138","iso-ir-144":"iso-ir-144","iso-ir-148":"iso-ir-148","iso-ir-166":"tis-620","iso-2022-ir-6":"iso-8859-1","iso-2022-ir-13":"shift-jis","iso-2022-ir-87":"iso-2022-jp","iso-2022-ir-100":"latin1","iso-2022-ir-101":"iso-8859-2","iso-2022-ir-109":"iso-8859-3","iso-2022-ir-110":"iso-8859-4","iso-2022-ir-126":"iso-ir-126","iso-2022-ir-127":"iso-ir-127","iso-2022-ir-138":"iso-ir-138","iso-2022-ir-144":"iso-ir-144","iso-2022-ir-148":"iso-ir-148","iso-2022-ir-149":"euc-kr","iso-2022-ir-159":"iso-2022-jp","iso-2022-ir-166":"tis-620","iso-2022-ir-58":"iso-ir-58","iso-ir-192":"utf-8",gb18030:"gb18030","iso-2022-gbk":"gbk","iso-2022-58":"gb2312",gbk:"gbk"},ta=["1.2.840.10008.1.2.4.50","1.2.840.10008.1.2.4.51","1.2.840.10008.1.2.4.57","1.2.840.10008.1.2.4.70","1.2.840.10008.1.2.4.80","1.2.840.10008.1.2.4.81","1.2.840.10008.1.2.4.90","1.2.840.10008.1.2.4.91","1.2.840.10008.1.2.4.92","1.2.840.10008.1.2.4.93","1.2.840.10008.1.2.4.94","1.2.840.10008.1.2.4.95","1.2.840.10008.1.2.5","1.2.840.10008.1.2.6.1","1.2.840.10008.1.2.4.100","1.2.840.10008.1.2.4.102","1.2.840.10008.1.2.4.103"],na=function(){function e(){b(this,e)}return w(e,null,[{key:"read",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,a=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return P.warn("DicomMessage.read to be deprecated after dcmjs 0.24.x"),this._read(e,t,{ignoreErrors:n,untilTag:r,includeUntilTagValue:a})}},{key:"readTag",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return P.warn("DicomMessage.readTag to be deprecated after dcmjs 0.24.x"),this._readTag(e,t,{untilTag:n,includeUntilTagValue:r})}},{key:"_read",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{ignoreErrors:!1,untilTag:null,includeUntilTagValue:!1},a=r.ignoreErrors,i=r.untilTag,o={};try{for(;!t.end();){var s=e._readTag(t,n,r),v=s.tag.toCleanString();if("00080005"===v){if(s.values.length>0){var u=s.values[0];if((u=u.replace(/[_ ]/g,"-").toLowerCase())in ea)u=ea[u],t.setDecoder(new TextDecoder(u));else{if(!a)throw Error("Unsupported character set: ".concat(u));P.warn("Unsupported character set: ".concat(u,", using default character set"))}}if(s.values.length>1){if(!a)throw Error("Using multiple character sets is not supported: ".concat(s.values));P.warn("Using multiple character sets is not supported, proceeding with just the first character set",s.values)}s.values=["ISO_IR 192"]}if(o[v]={vr:s.vr.type,Value:s.values},i&&i===v)break}return o}catch(dt){if(a)return P.warn("WARN:",dt),o;throw dt}}},{key:"_normalizeSyntax",value:function(e){return e==or||e==sr||"1.2.840.10008.1.2.2"==e?e:sr}},{key:"isEncapsulated",value:function(e){return-1!=ta.indexOf(e)}},{key:"readFile",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ignoreErrors:!1,untilTag:null,includeUntilTagValue:!1,noCopy:!1},r=new rr(t,null,{noCopy:n.noCopy}),a=sr;if(r.reset(),r.increment(128),"DICM"!==r.readAsciiString(4))throw new Error("Invalid DICOM file, expected header is missing");var i=e._readTag(r,a);if("00020000"!==i.tag.toCleanString())throw new Error("Invalid DICOM file, meta length tag is malformed or not present.");var o=i.values[0],s=r.more(o),v=e._read(s,a,n),u=v["00020010"].Value[0];u===vr&&(r=new ar(r,{noCopy:n.noCopy})),u=e._normalizeSyntax(u);var c=e._read(r,u,n),l=new aa(v);return l.dict=c,l}},{key:"writeTagObject",value:function(e,t,n,r,a,i){mr.fromString(t).write(e,n,r,a,i)}},{key:"write",value:function(e,t,n,r){var a=0;return Object.keys(e).sort().forEach((function(i){var o=mr.fromString(i),s=e[i],v=s.vr,u=s.Value;a+=o.write(t,v,u,n,r)})),a}},{key:"_readTag",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{untilTag:null,includeUntilTagValue:!1},a=r.untilTag,i=r.includeUntilTagValue,o=n==or,s=n==or||n==sr,v=t.isLittleEndian;t.setEndian(s);var u=mr.readTag(t);if(a===u.toCleanString()&&null!==a&&!i)return{tag:u,vr:0,values:0};var c,l=null,m=null;if(o){l=t.readUint32();var g=e.lookupTag(u);c=g?g.vr:4294967295==l?"SQ":u.isPixelDataTag()?"OW":"xs"==c?"US":u.isPrivateCreator()?"LO":"UN",m=hr.createByTypeString(c)}else c=t.readVR(),(m=hr.createByTypeString(c)).isExplicit()?(t.increment(2),l=t.readUint32()):l=t.readUint16();var S=[];if(m.isBinary()&&l>m.maxLength&&!m.noMultiple)for(var d=l/m.maxLength,f=0;f++0&&void 0!==arguments[0]?arguments[0]:{allowInvalidVRLength:!1},t=ra,n=new ir(4096,!0);n.writeUint8Repeat(0,128),n.writeAsciiString("DICM");var r=new ir(1024);this.meta["00020010"]||(this.meta["00020010"]={vr:"UI",Value:[ra]}),na.write(this.meta,r,t,e),na.writeTagObject(n,"00020000","UL",r.size,t,e),n.concat(r);var a=this.meta["00020010"].Value[0];return na.write(this.dict,n,a,e),n.getBuffer()}}]),e}(),ia=function(){function e(){b(this,e)}return w(e,null,[{key:"d65WhitePointXYZ",value:function(){return[.950456,1,1.088754]}},{key:"dicomlab2RGB",value:function(t){return e.lab2RGB(e.dicomlab2LAB(t))}},{key:"rgb2DICOMLAB",value:function(t){return e.lab2DICOMLAB(e.rgb2LAB(t))}},{key:"dicomlab2LAB",value:function(e){return[100*e[0]/65535,255*e[1]/65535-128,255*e[2]/65535-128]}},{key:"lab2DICOMLAB",value:function(e){return[65535*e[0]/100,65535*(e[1]+128)/255,65535*(e[2]+128)/255]}},{key:"rgb2LAB",value:function(t){return e.xyz2LAB(e.rgb2XYZ(t))}},{key:"gammaCorrection",value:function(e){return e<=.0031306684425005883?12.92*e:1.055*Math.pow(e,.4166666666666667)-.055}},{key:"invGammaCorrection",value:function(e){return e<=.0404482362771076?e/12.92:Math.pow((e+.055)/1.055,2.4)}},{key:"rgb2XYZ",value:function(t){var n=e.invGammaCorrection(t[0]),r=e.invGammaCorrection(t[1]),a=e.invGammaCorrection(t[2]);return[.41239558896741424*n+.3575834307637148*r+.18049264738170157*a,.21258623078559555*n+.7151703037034108*r+.07220049864333623*a,.019297215491746945*n+.11918386458084854*r+.9504971251315798*a]}},{key:"xyz2LAB",value:function(t){var n=e.d65WhitePointXYZ(),r=t[0]/n[0],a=t[1]/n[1],i=t[2]/n[2];return r=e.labf(r),[116*(a=e.labf(a))-16,500*(r-a),200*(a-(i=e.labf(i)))]}},{key:"lab2RGB",value:function(t){return e.xyz2RGB(e.lab2XYZ(t))}},{key:"lab2XYZ",value:function(t){var n=(t[0]+16)/116,r=n+t[1]/500,a=n-t[2]/200,i=e.d65WhitePointXYZ();return[i[0]*e.labfInv(r),i[1]*e.labfInv(n),i[2]*e.labfInv(a)]}},{key:"xyz2RGB",value:function(t){var n=3.2406*t[0]-1.5372*t[1]-.4986*t[2],r=-.9689*t[0]+1.8758*t[1]+.0415*t[2],a=.0557*t[0]-.204*t[1]+1.057*t[2],i=Math.min(n,r);return(i=Math.min(i,a))<0&&(n-=i,r-=i,a-=i),[e.gammaCorrection(n),e.gammaCorrection(r),e.gammaCorrection(a)]}},{key:"labf",value:function(e){return e>=.008856451679035631?Math.pow(e,.333333333333333):841/108*e+4/29}},{key:"labfInv",value:function(e){return e>=.20689655172413793?e*e*e:108/841*(e-4/29)}}]),e}();function oa(e){var t=new Uint8Array(2);t[1]=1;var n=e._meta.TransferSyntaxUID&&e._meta.TransferSyntaxUID.Value&&e._meta.TransferSyntaxUID.Value[0]?e._meta.TransferSyntaxUID.Value[0]:"1.2.840.10008.1.2.1";e._meta={MediaStorageSOPClassUID:e.SOPClassUID,MediaStorageSOPInstanceUID:e.SOPInstanceUID,ImplementationVersionName:"dcmjs-0.0",TransferSyntaxUID:n,ImplementationClassUID:"2.25.80302813137786398554742050926734630921603366648225212145404",FileMetaInformationVersion:t.buffer};var r=Jr.denaturalizeDataset(e._meta),a=new aa(r);return a.dict=Jr.denaturalizeDataset(e),a}function sa(e){return Buffer.from(oa(e).write())}function va(e){var t=sa(e);return new Blob([t],{type:"application/dicom"})}var ua=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this.options=JSON.parse(JSON.stringify(n));var r=this.options;r.Manufacturer=n.Manufacturer||"Unspecified",r.ManufacturerModelName=n.ManufacturerModelName||"Unspecified",r.SeriesDescription=n.SeriesDescription||"Research Derived series",r.SeriesNumber=n.SeriesNumber||"99",r.SoftwareVersions=n.SoftwareVersions||"0",r.DeviceSerialNumber=n.DeviceSerialNumber||"1";var a=Jr.date(),i=Jr.time();r.SeriesDate=n.SeriesDate||a,r.SeriesTime=n.SeriesTime||i,r.ContentDate=n.ContentDate||a,r.ContentTime=n.ContentTime||i,r.SOPInstanceUID=n.SOPInstanceUID||Jr.uid(),r.SeriesInstanceUID=n.SeriesInstanceUID||Jr.uid(),r.ClinicalTrialTimePointID=n.ClinicalTrialTimePointID||"",r.ClinicalTrialCoordinatingCenterName=n.ClinicalTrialCoordinatingCenterName||"",r.ClinicalTrialSeriesID=n.ClinicalTrialSeriesID||"",r.ImageComments=n.ImageComments||"NOT FOR CLINICAL USE",r.ContentQualification="RESEARCH",this.referencedDatasets=t,this.referencedDataset=this.referencedDatasets[0],this.dataset={_vrMap:this.referencedDataset._vrMap,_meta:this.referencedDataset._meta},this.derive()}return w(e,[{key:"assignToDataset",value:function(e){var t=this;Object.keys(e).forEach((function(n){return t.dataset[n]=e[n]}))}},{key:"assignFromReference",value:function(e){var t=this;e.forEach((function(e){return t.dataset[e]=t.referencedDataset[e]||""}))}},{key:"assignFromOptions",value:function(e){var t=this;e.forEach((function(e){return t.dataset[e]=t.options[e]||""}))}},{key:"derive",value:function(){this.assignFromReference(["AccessionNumber","ReferringPhysicianName","StudyDate","StudyID","StudyTime","PatientName","PatientID","PatientBirthDate","PatientSex","PatientAge","StudyInstanceUID","StudyID"]),this.assignFromOptions(["Manufacturer","SoftwareVersions","DeviceSerialNumber","ManufacturerModelName","SeriesDescription","SeriesNumber","ImageComments","SeriesDate","SeriesTime","ContentDate","ContentTime","ContentQualification","SOPInstanceUID","SeriesInstanceUID"])}}],[{key:"copyDataset",value:function(e){return JSON.parse(JSON.stringify(e))}}]),e}(),ca=function(e){F(n,e);var t=Q(n);function n(e){var r,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n);var i=(r=t.call(this,e,a)).options;return i.ContentLabel=a.ContentLabel||"",i.ContentDescription=a.ContentDescription||"",i.ContentCreatorName=a.ContentCreatorName||"",r}return w(n,[{key:"derive",value:function(){j(U(n.prototype),"derive",this).call(this),this.assignToDataset({ImageType:["DERIVED","PRIMARY"],LossyImageCompression:"00",InstanceNumber:"1"}),this.assignFromReference(["SOPClassUID","Modality","FrameOfReferenceUID","PositionReferenceIndicator","NumberOfFrames","Rows","Columns","SamplesPerPixel","PhotometricInterpretation","BitsStored","HighBit"]),this.assignFromOptions(["ContentLabel","ContentDescription","ContentCreatorName"]),this.referencedDataset.SharedFunctionalGroupsSequence&&(this.dataset.SharedFunctionalGroupsSequence=ua.copyDataset(this.referencedDataset.SharedFunctionalGroupsSequence)),this.referencedDataset.PerFrameFunctionalGroupsSequence&&(this.dataset.PerFrameFunctionalGroupsSequence=ua.copyDataset(this.referencedDataset.PerFrameFunctionalGroupsSequence)),this.dataset.PixelData=new ArrayBuffer(this.referencedDataset.PixelData.byteLength)}}]),n}(ua),la=function(e){F(n,e);var t=Q(n);function n(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),t.call(this,e,r)}return w(n,[{key:"derive",value:function(){j(U(n.prototype),"derive",this).call(this),this.assignFromReference(["WindowCenter","WindowWidth","BitsAllocated","PixelRepresentation","BodyPartExamined","Laterality","PatientPosition","RescaleSlope","RescaleIntercept","PixelPresentation","VolumetricProperties","VolumeBasedCalculationTechnique","PresentationLUTShape"])}}]),n}(ca),ma=function(){function e(t){b(this,e),this.datasets=t,this.dataset=void 0}return w(e,[{key:"normalize",value:function(){return"No normalization defined"}}],[{key:"consistentSOPClassUIDs",value:function(e){var t;return e.forEach((function(e){e.SOPClassUID&&(t||(t=e.SOPClassUID),e.SOPClassUID===t||P.error("inconsistent sopClassUIDs: ",e.SOPClassUID,t))})),t}},{key:"normalizerForSOPClassUID",value:function(e){e=e.replace(/[^0-9.]/g,"");var t=Jr.sopClassUIDsByName,n={};return n[t.CTImage]=pa,n[t.ParametricMapStorage]=Da,n[t.MRImage]=Sa,n[t.EnhancedCTImage]=da,n[t.LegacyConvertedEnhancedCTImage]=da,n[t.EnhancedMRImage]=fa,n[t.LegacyConvertedEnhancedMRImage]=fa,n[t.EnhancedUSVolume]=ha,n[t.PETImage]=Ia,n[t.EnhancedPETImage]=Ia,n[t.LegacyConvertedEnhancedPETImage]=Ia,n[t.Segmentation]=Ca,n[t.DeformableSpatialRegistration]=Ea,n[e]}},{key:"isMultiframeSOPClassUID",value:function(e){var t=Jr.sopClassUIDsByName;return-1!==[t.EnhancedMRImage,t.LegacyConvertedEnhancedMRImage,t.EnhancedCTImage,t.LegacyConvertedEnhancedCTImage,t.EnhancedUSVolume,t.EnhancedPETImage,t.LegacyConvertedEnhancedPETImage,t.Segmentation,t.ParametricMapStorage].indexOf(e)}},{key:"isMultiframeDataset",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.dataset,n=t.SOPClassUID.replace(/[^0-9.]/g,"");return e.isMultiframeSOPClassUID(n)}},{key:"normalizeToDataset",value:function(t){var n=e.consistentSOPClassUIDs(t),r=e.normalizerForSOPClassUID(n);if(r){var a=new r(t);return a.normalize(),a.dataset}P.error("no normalizerClass for ",n)}}]),e}(),ga=function(e){F(n,e);var t=Q(n);function n(){return b(this,n),t.apply(this,arguments)}return w(n,[{key:"normalize",value:function(){this.convertToMultiframe(),this.normalizeMultiframe()}},{key:"convertToMultiframe",value:function(){if(1===this.datasets.length&&ma.isMultiframeDataset(this.datasets[0]))this.dataset=this.datasets[0];else{this.derivation=new la(this.datasets),this.dataset=this.derivation.dataset;var e=this.dataset,t=this.datasets[0];e.NumberOfFrames=this.datasets.length,e.SOPClassUID=t.SOPClassUID,e.Rows=t.Rows,e.Columns=t.Columns,e.BitsAllocated=t.BitsAllocated,e.PixelRepresentation=t.PixelRepresentation,e.RescaleSlope=t.RescaleSlope||"1",e.RescaleIntercept=t.RescaleIntercept||"0";var r=t.ImagePositionPatient,a=t.ImageOrientationPatient.slice(0,3),i=t.ImageOrientationPatient.slice(3,6),o=n.vec3CrossProduct(a,i),s=[];this.datasets.forEach((function(e){var t=e.ImagePositionPatient.slice(),a=n.vec3Subtract(t,r),i=n.vec3Dot(a,o);s.push([i,e])})),s.sort((function(e,t){return t[0]-e[0]})),16!==e.BitsAllocated&&P.error("Only works with 16 bit data, not "+String(this.dataset.BitsAllocated)),t._vrMap&&!t._vrMap.PixelData?(P.warn("No vr map given for pixel data, using OW"),e._vrMap={PixelData:"OW"}):e._vrMap={PixelData:t._vrMap.PixelData};var v=t.PixelData.byteLength;e.PixelData=new ArrayBuffer(e.NumberOfFrames*v);var u=0;s.forEach((function(t){var n=t[1],r=new Uint16Array(n.PixelData),a=new Uint16Array(e.PixelData,u*v,v/2);try{a.set(r)}catch(o){if(o instanceof RangeError){var i="Error inserting pixels in PixelData\n"+"frameSize ".concat(v,"\n")+"NumberOfFrames ".concat(e.NumberOfFrames,"\n")+"pair ".concat(t,"\n")+"dataset PixelData size ".concat(n.PixelData.length);P.error(i)}}u++})),e.NumberOfFrames<2&&P.error("Cannot populate shared groups uniquely without multiple frames");var c=W(s[0],2),l=c[0],m=c[1],g=s[1][0],S=Math.abs(g-l);e.SharedFunctionalGroupsSequence={PlaneOrientationSequence:{ImageOrientationPatient:m.ImageOrientationPatient},PixelMeasuresSequence:{PixelSpacing:m.PixelSpacing,SpacingBetweenSlices:S,SliceThickness:S}},e.ReferencedSeriesSequence={SeriesInstanceUID:m.SeriesInstanceUID,ReferencedInstanceSequence:[]},e.PerFrameFunctionalGroupsSequence=[],s.forEach((function(t){var n=t[1];e.PerFrameFunctionalGroupsSequence.push({PlanePositionSequence:{ImagePositionPatient:n.ImagePositionPatient},FrameVOILUTSequence:{WindowCenter:n.WindowCenter,WindowWidth:n.WindowWidth}}),e.ReferencedSeriesSequence.ReferencedInstanceSequence.push({ReferencedSOPClassUID:n.SOPClassUID,ReferencedSOPInstanceUID:n.SOPInstanceUID})}));var d=Jr.uid();this.dataset.DimensionOrganizationSequence={DimensionOrganizationUID:d},this.dataset.DimensionIndexSequence=[{DimensionOrganizationUID:d,DimensionIndexPointer:2097202,FunctionalGroupPointer:2134291,DimensionDescriptionLabel:"ImagePositionPatient"}]}}},{key:"normalizeMultiframe",value:function(){var e=this.dataset;if(e.NumberOfFrames){e.PixelRepresentation||(e.PixelRepresentation=1),e.StudyID&&""!==e.StudyID||(e.StudyID="No Study ID");-1===["R","L"].indexOf(e.Laterality)&&delete e.Laterality,e.PresentationLUTShape||(e.PresentationLUTShape="IDENTITY"),e.SharedFunctionalGroupsSequence||P.error("Can only process multiframe data with SharedFunctionalGroupsSequence"),"PROSTATE"===e.BodyPartExamined&&(e.SharedFunctionalGroupsSequence.FrameAnatomySequence={AnatomicRegionSequence:{CodeValue:"T-9200B",CodingSchemeDesignator:"SRT",CodeMeaning:"Prostate"},FrameLaterality:"U"});var t=e.RescaleIntercept||0,n=e.RescaleSlope||1;e.SharedFunctionalGroupsSequence.PixelValueTransformationSequence={RescaleIntercept:t,RescaleSlope:n,RescaleType:"US"};var r=1;if(this.datasets.forEach((function(t){1===e.NumberOfFrames&&(e.PerFrameFunctionalGroupsSequence=[e.PerFrameFunctionalGroupsSequence]),e.PerFrameFunctionalGroupsSequence[r-1].FrameContentSequence={FrameAcquisitionDuration:0,StackID:1,InStackPositionNumber:r,DimensionIndexValues:r};var n=t.AcquisitionDate+t.AcquisitionTime;if(!isNaN(n)){var a=e.PerFrameFunctionalGroupsSequence[r-1].FrameContentSequence;a.FrameAcquisitionDateTime=n,a.FrameReferenceDateTime=n}r++})),e.WindowCenter&&e.WindowWidth&&(Array.isArray(e.WindowCenter)||(e.WindowCenter=[e.WindowCenter]),Array.isArray(e.WindowWidth)||(e.WindowWidth=[e.WindowWidth])),(!e.WindowCenter||!e.WindowWidth)&&(e.WindowCenter=[],e.WindowWidth=[],e.PerFrameFunctionalGroupsSequence)){var a={center:0,width:0,count:0};e.PerFrameFunctionalGroupsSequence.forEach((function(e){if(e.FrameVOILUT){var t=e.FrameVOILUTSequence.WindowCenter,n=e.FrameVOILUTSequence.WindowWidth;e.FrameVOILUTSequence&&t&&n&&(Array.isArray(t)&&(t=t[0]),Array.isArray(n)&&(n=n[0]),a.center+=Number(t),a.width+=Number(n),a.count++)}})),a.count>0&&(e.WindowCenter.push(String(a.center/a.count)),e.WindowWidth.push(String(a.width/a.count)))}0===e.WindowCenter.length&&(e.WindowCenter=[300]),0===e.WindowWidth.length&&(e.WindowWidth=[500])}else P.error("Missing number or frames not supported")}}],[{key:"vec3CrossProduct",value:function(e,t){var n=e[0],r=e[1],a=e[2],i=t[0],o=t[1],s=t[2],v=[];return v[0]=r*s-a*o,v[1]=a*i-n*s,v[2]=n*o-r*i,v}},{key:"vec3Subtract",value:function(e,t){var n=[];return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n}},{key:"vec3Dot",value:function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}}]),n}(ma),Sa=function(e){F(n,e);var t=Q(n);function n(){return b(this,n),t.apply(this,arguments)}return w(n,[{key:"normalize",value:function(){j(U(n.prototype),"normalize",this).call(this),this.dataset.SOPClassUID="LegacyConvertedEnhancedMRImage"}},{key:"normalizeMultiframe",value:function(){j(U(n.prototype),"normalizeMultiframe",this).call(this);var e=this.dataset;e.ImageType&&e.ImageType.constructor&&"Array"==e.ImageType.constructor.name&&4==e.ImageType.length||(e.ImageType=["ORIGINAL","PRIMARY","OTHER","NONE"]),e.SharedFunctionalGroupsSequence.MRImageFrameTypeSequence={FrameType:e.ImageType,PixelPresentation:"MONOCHROME",VolumetricProperties:"VOLUME",VolumeBasedCalculationTechnique:"NONE",ComplexImageComponent:"MAGNITUDE",AcquisitionContrast:"UNKNOWN"}}}]),n}(ga),da=function(e){F(n,e);var t=Q(n);function n(){return b(this,n),t.apply(this,arguments)}return w(n,[{key:"normalize",value:function(){j(U(n.prototype),"normalize",this).call(this)}}]),n}(ga),fa=function(e){F(n,e);var t=Q(n);function n(){return b(this,n),t.apply(this,arguments)}return w(n,[{key:"normalize",value:function(){j(U(n.prototype),"normalize",this).call(this)}}]),n}(ga),ha=function(e){F(n,e);var t=Q(n);function n(){return b(this,n),t.apply(this,arguments)}return w(n,[{key:"normalize",value:function(){j(U(n.prototype),"normalize",this).call(this)}}]),n}(ga),pa=function(e){F(n,e);var t=Q(n);function n(){return b(this,n),t.apply(this,arguments)}return w(n,[{key:"normalize",value:function(){j(U(n.prototype),"normalize",this).call(this);var e=Jr.sopClassUIDsByName;this.dataset.SOPClassUID=e.EnhancedCTImage}}]),n}(ga),Ia=function(e){F(n,e);var t=Q(n);function n(){return b(this,n),t.apply(this,arguments)}return w(n,[{key:"normalize",value:function(){j(U(n.prototype),"normalize",this).call(this);var e=Jr.sopClassUIDsByName;this.dataset.SOPClassUID=e.EnhancedPETImage}}]),n}(ga),Ca=function(e){F(n,e);var t=Q(n);function n(){return b(this,n),t.apply(this,arguments)}return w(n,[{key:"normalize",value:function(){j(U(n.prototype),"normalize",this).call(this)}}]),n}(ga),Da=function(e){F(n,e);var t=Q(n);function n(){return b(this,n),t.apply(this,arguments)}return w(n,[{key:"normalize",value:function(){j(U(n.prototype),"normalize",this).call(this);var e=this.datasets[0];32!==e.BitsAllocated&&P.error("Only works with 32 bit data, not "+String(e.BitsAllocated))}}]),n}(ga),Ea=function(e){F(n,e);var t=Q(n);function n(){return b(this,n),t.apply(this,arguments)}return w(n,[{key:"normalize",value:function(){this.dataset=this.datasets[0]}}]),n}(ma),Ma=function(e){F(n,e);var t=Q(n);function n(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),t.call(this,e,r)}return w(n,[{key:"derive",value:function(){j(U(n.prototype),"derive",this).call(this),this.assignToDataset({SOPClassUID:Jr.sopClassUIDsByName.EnhancedSR,Modality:"SR",ValueType:"CONTAINER"}),this.assignFromReference([])}}]),n}(ua),Aa=function(){function e(t){b(this,e),this.TIDIncludeGroups=t;var n=[],r=[];this.ImageLibraryContentSequence=n,this.CurrentRequestedProcedureEvidenceSequence=r,this.PersonObserverName={RelationshipType:"HAS OBS CONTEXT",ValueType:"PNAME",ConceptNameCodeSequence:{CodeValue:"121008",CodingSchemeDesignator:"DCM",CodeMeaning:"Person Observer Name"},PersonName:"unknown^unknown"},this.tid1500={ConceptNameCodeSequence:{CodeValue:"126000",CodingSchemeDesignator:"DCM",CodeMeaning:"Imaging Measurement Report"},ContinuityOfContent:"SEPARATE",PerformedProcedureCodeSequence:[],CompletionFlag:"COMPLETE",VerificationFlag:"UNVERIFIED",ReferencedPerformedProcedureStepSequence:[],InstanceNumber:1,CurrentRequestedProcedureEvidenceSequence:r,CodingSchemeIdentificationSequence:{CodingSchemeDesignator:"99dcmjs",CodingSchemeName:"Codes used for dcmjs",CodingSchemeVersion:"0",CodingSchemeResponsibleOrganization:"https://github.com/dcmjs-org/dcmjs"},ContentTemplateSequence:{MappingResource:"DCMR",TemplateIdentifier:"1500"},ContentSequence:[{RelationshipType:"HAS CONCEPT MOD",ValueType:"CODE",ConceptNameCodeSequence:cr({CodeValue:"121049",CodingSchemeDesignator:"DCM",CodeMeaning:"Language of Content Item and Descendants"}),ConceptCodeSequence:cr({CodeValue:"eng",CodingSchemeDesignator:"RFC5646",CodeMeaning:"English"}),ContentSequence:cr({RelationshipType:"HAS CONCEPT MOD",ValueType:"CODE",ConceptNameCodeSequence:cr({CodeValue:"121046",CodingSchemeDesignator:"DCM",CodeMeaning:"Country of Language"}),ConceptCodeSequence:cr({CodeValue:"US",CodingSchemeDesignator:"ISO3166_1",CodeMeaning:"United States"})})},this.PersonObserverName,{RelationshipType:"HAS CONCEPT MOD",ValueType:"CODE",ConceptNameCodeSequence:cr({CodeValue:"121058",CodingSchemeDesignator:"DCM",CodeMeaning:"Procedure reported"}),ConceptCodeSequence:cr({CodeValue:"1",CodingSchemeDesignator:"99dcmjs",CodeMeaning:"Unknown procedure"})},{RelationshipType:"CONTAINS",ValueType:"CONTAINER",ConceptNameCodeSequence:{CodeValue:"111028",CodingSchemeDesignator:"DCM",CodeMeaning:"Image Library"},ContinuityOfContent:"SEPARATE",ContentSequence:{RelationshipType:"CONTAINS",ValueType:"CONTAINER",ConceptNameCodeSequence:{CodeValue:"126200",CodingSchemeDesignator:"DCM",CodeMeaning:"Image Library Group"},ContinuityOfContent:"SEPARATE",ContentSequence:n}}]}}return w(e,[{key:"validate",value:function(){}},{key:"contentItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.PersonName&&(this.PersonObserverName.PersonName=t.PersonName);var n=Array.isArray(e)?e:[e];return this.addTID1501MeasurementGroups(n,t),this.tid1500}},{key:"addTID1501MeasurementGroups",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.CurrentRequestedProcedureEvidenceSequence,r=this.ImageLibraryContentSequence,a=t.sopInstanceUIDsToSeriesInstanceUIDMap;if(e.length>1&&void 0===a)throw new Error("addTID1501MeasurementGroups provided with ".concat(e.length," derivationSourceDatasets, with no sopInstanceUIDsToSeriesInstanceUIDMap in options."));var i=this.TIDIncludeGroups.TID1501MeasurementGroups;if(i){var o=[];i.forEach((function(e){o=o.concat(e.contentItem())}));var s=[];i.forEach((function(t){t.TID300Measurements.forEach((function(t){var i=t.ReferencedSOPSequence.ReferencedSOPInstanceUID;if(!s.includes(i)){var o;if(r.push({RelationshipType:"CONTAINS",ValueType:"IMAGE",ReferencedSOPSequence:t.ReferencedSOPSequence}),1===e.length)o=e[0];else{var v=a[i];o=e.find((function(e){return e.SeriesInstanceUID===v}))}n.push({StudyInstanceUID:o.StudyInstanceUID,ReferencedSeriesSequence:{SeriesInstanceUID:o.SeriesInstanceUID,ReferencedSOPSequence:t.ReferencedSOPSequence}}),s.push(i)}}))}));var v={RelationshipType:"CONTAINS",ValueType:"CONTAINER",ConceptNameCodeSequence:{CodeValue:"126010",CodingSchemeDesignator:"DCM",CodeMeaning:"Imaging Measurements"},ContinuityOfContent:"SEPARATE",ContentSequence:o};this.tid1500.ContentSequence.push(v)}}}]),e}(),Pa=function(){function e(t){b(this,e),this.TID300Measurements=t}return w(e,[{key:"contentItem",value:function(){var e=this,t=this.TID300Measurements,n=[];return t.forEach((function(t){n.push(e.getMeasurementGroup(t.contentItem()))})),n}},{key:"getMeasurementGroup",value:function(e){return{RelationshipType:"CONTAINS",ValueType:"CONTAINER",ConceptNameCodeSequence:{CodeValue:"125007",CodingSchemeDesignator:"DCM",CodeMeaning:"Measurement Group"},ContinuityOfContent:"SEPARATE",ContentSequence:Z(e)}}}]),e}(),Ta=function(e){return Array.isArray(e)?e:[e]},Oa=function(e){return function(t){return t.ConceptNameCodeSequence.CodeMeaning===e}},ya={CodingSchemeDesignator:"DCM",CodeValue:"121071"},Ra={CodingSchemeDesignator:"SCT",CodeValue:"363698007"},_a={CodingSchemeDesignator:"SRT",CodeValue:"G-C0E3"},Na=function(e,t,n){var r=e.ConceptNameCodeSequence;if(r){var a=r.CodingSchemeDesignator,i=r.CodeValue;return a==t.CodingSchemeDesignator&&i==t.CodeValue||n&&a==n.CodingSchemeDesignator&&i==n.CodeValue}};var ba=function(){function e(){b(this,e)}return w(e,null,[{key:"getSetupMeasurementData",value:function(e){var t=e.ContentSequence,n=Ta(t),r=n.find((function(e){return Na(e,ya)})),a=n.filter((function(e){return Na(e,Ra,_a)}))||[],i=n.find((function(e){return"NUM"===e.ValueType})),o=Ta(i.ContentSequence).find((function(e){return"SCOORD"===e.ValueType})),s=o.ContentSequence.ReferencedSOPSequence,v=s.ReferencedSOPInstanceUID,u=s.ReferencedFrameNumber,c={sopInstanceUid:v,frameIndex:u||1,complete:!0,finding:r?cr(r.ConceptCodeSequence):void 0,findingSites:a.map((function(e){return cr(e.ConceptCodeSequence)}))};c.finding&&(c.description=c.finding.CodeMeaning);var l=c.findingSites&&c.findingSites[0];return l&&(c.location=l[0]&&l[0].CodeMeaning||l.CodeMeaning),{defaultState:c,findingGroup:r,findingSiteGroups:a,NUMGroup:i,SCOORDGroup:o,ReferencedSOPSequence:s,ReferencedSOPInstanceUID:v,ReferencedFrameNumber:u}}},{key:"generateReport",value:function(e,t,n){var r=[],a=Object.keys(e)[0];if(!a)throw new Error("No measurements provided.");var i=t.get("generalSeriesModule",a),o=i.studyInstanceUID,s=i.seriesInstanceUID;Object.keys(e).forEach((function(n){var a=t.get("sopCommonModule",n),i=t.get("frameNumber",n),o=e[n],s=Object.keys(o),v={ReferencedSOPClassUID:a.sopClassUID,ReferencedSOPInstanceUID:a.sopInstanceUID};ma.isMultiframeSOPClassUID(a.sopClassUID)&&(v.ReferencedFrameNumber=i);var u=[];s.forEach((function(e){var t=function(e,t,n){var r=t[e],a=ba.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE[e];if(r&&r.data&&r.data.length&&a){var i=r.data.map((function(e){return function(e,t,n,r){var a=r.getTID300RepresentationArguments(e);return a.ReferencedSOPSequence=n,new r.TID300Representation(a)}(e,0,n,a)}));return new Pa(i)}}(e,o,v);t&&u.push(t)})),r=r.concat(u)}));var v=new Aa({TID1501MeasurementGroups:r},n),u=new Uint8Array(2);u[1]=1;var c={StudyInstanceUID:o,SeriesInstanceUID:s},l={FileMetaInformationVersion:{Value:[u.buffer],vr:"OB"},TransferSyntaxUID:{Value:["1.2.840.10008.1.2.1"],vr:"UI"},ImplementationClassUID:{Value:[Jr.uid()],vr:"UI"},ImplementationVersionName:{Value:["dcmjs"],vr:"SH"}};c._meta=l,c._vrMap={PixelData:"OW"};var m=new Ma([c]),g=v.contentItem(c);return m.dataset=Object.assign(m.dataset,g),m.dataset._meta=l,m}},{key:"generateToolState",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("1500"!==t.ContentTemplateSequence.TemplateIdentifier)throw new Error("This package can currently only interpret DICOM SR TID 1500");var r="Imaging Measurements",a="Measurement Group",i="Tracking Identifier",o=Ta(t.ContentSequence).find(Oa(r)),s=Ta(o.ContentSequence).filter(Oa(a)),v={},u=e.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE,c=[];return Object.keys(u).forEach((function(e){c.push(u[e]),v[e]=[]})),s.forEach((function(e){var r=Ta(e.ContentSequence).find((function(e){return e.ConceptNameCodeSequence.CodeMeaning===i})).TextValue,a=n.getToolClass?n.getToolClass(e,t,c):c.find((function(e){return e.isValidCornerstoneTrackingIdentifier(r)}));if(a){var o=a.getMeasurementData(e);console.log("=== ".concat(a.toolType," ===")),console.log(o),v[a.toolType].push(o)}})),v}},{key:"registerTool",value:function(t){e.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE[t.utilityToolType]=t,e.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE[t.toolType]=t,e.MEASUREMENT_BY_TOOLTYPE[t.toolType]=t.utilityToolType}}]),e}();ba.MEASUREMENT_BY_TOOLTYPE={},ba.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE={},ba.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE={};var La=function(){function e(t){b(this,e),this.ReferencedSOPSequence=t.ReferencedSOPSequence,this.props=t}return w(e,[{key:"getMeasurement",value:function(e){return[].concat(Z(this.getTrackingGroups()),Z(this.getFindingGroup()),Z(this.getFindingSiteGroups()),Z(e))}},{key:"getTrackingGroups",value:function(){return[{RelationshipType:"HAS OBS CONTEXT",ValueType:"TEXT",ConceptNameCodeSequence:{CodeValue:"112039",CodingSchemeDesignator:"DCM",CodeMeaning:"Tracking Identifier"},TextValue:this.props.trackingIdentifierTextValue||"web annotation"},{RelationshipType:"HAS OBS CONTEXT",ValueType:"UIDREF",ConceptNameCodeSequence:{CodeValue:"112040",CodingSchemeDesignator:"DCM",CodeMeaning:"Tracking Unique Identifier"},UID:Jr.uid()}]}},{key:"getFindingGroup",value:function(){var e=this.props.finding;if(!e)return[];var t=e.CodeValue,n=e.CodingSchemeDesignator,r=e.CodeMeaning;return[{RelationshipType:"CONTAINS",ValueType:"CODE",ConceptNameCodeSequence:cr({CodeValue:"121071",CodingSchemeDesignator:"DCM",CodeMeaning:"Finding"}),ConceptCodeSequence:cr({CodeValue:t,CodingSchemeDesignator:n,CodeMeaning:r})}]}},{key:"getFindingSiteGroups",value:function(){return(this.props.findingSites||[]).map((function(e){var t=e.CodeValue,n=e.CodingSchemeDesignator,r=e.CodeMeaning;return{RelationshipType:"CONTAINS",ValueType:"CODE",ConceptNameCodeSequence:cr({CodeValue:"363698007",CodingSchemeDesignator:"SCT",CodeMeaning:"Finding Site"}),ConceptCodeSequence:cr({CodeValue:t,CodingSchemeDesignator:n,CodeMeaning:r})}}))}}]),e}(),wa={CodeValue:"mm",CodingSchemeDesignator:"UCUM",CodingSchemeVersion:"1.4",CodeMeaning:"millimeter"},xa={CodeValue:"mm2",CodingSchemeDesignator:"UCUM",CodingSchemeVersion:"1.4",CodeMeaning:"SquareMilliMeter"},Fa={CodeValue:"1",CodingSchemeDesignator:"UCUM",CodingSchemeVersion:"1.4",CodeMeaning:"px"},Ua={px:Fa,mm:wa,mm2:xa,"mm\xb2":xa,"px\xb2":Fa},ka=function(e){if(!e)return Fa;var t=e.indexOf(" "),n=-1===t?e:e.substring(0,t),r=Ua[e]||Ua[n];return r||(P.error("Unspecified units",e),wa)};ka.measurementMap=Ua;var Ga=function(e){F(n,e);var t=Q(n);function n(){return b(this,n),t.apply(this,arguments)}return w(n,[{key:"contentItem",value:function(){var e=this.props,t=e.point1,n=e.point2,r=e.unit,a=void 0===r?"mm":r,i=e.distance,o=e.ReferencedSOPSequence;return this.getMeasurement([{RelationshipType:"CONTAINS",ValueType:"NUM",ConceptNameCodeSequence:{CodeValue:"G-D7FE",CodingSchemeDesignator:"SRT",CodeMeaning:"Length"},MeasuredValueSequence:{MeasurementUnitsCodeSequence:ka(a),NumericValue:i},ContentSequence:{RelationshipType:"INFERRED FROM",ValueType:"SCOORD",GraphicType:"POLYLINE",GraphicData:[t.x,t.y,n.x,n.y],ContentSequence:{RelationshipType:"SELECTED FROM",ValueType:"IMAGE",ReferencedSOPSequence:o}}}])}}]),n}(La),qa="cornerstoneTools@^4.0.0",Va="Length",Ba=function(){function e(){b(this,e)}return w(e,null,[{key:"getMeasurementData",value:function(t){var n=ba.getSetupMeasurementData(t),r=n.defaultState,a=n.NUMGroup,i=n.SCOORDGroup,o=_(_({},r),{},{length:a.MeasuredValueSequence.NumericValue,toolType:e.toolType,handles:{start:{},end:{},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}}),s=W(i.GraphicData,4);return o.handles.start.x=s[0],o.handles.start.y=s[1],o.handles.end.x=s[2],o.handles.end.y=s[3],o}},{key:"getTID300RepresentationArguments",value:function(e){var t=e.handles,n=e.finding,r=e.findingSites;return{point1:t.start,point2:t.end,distance:e.length,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:Length",finding:n,findingSites:r||[]}}}]),e}();Ba.toolType=Va,Ba.utilityToolType=Va,Ba.TID300Representation=Ga,Ba.isValidCornerstoneTrackingIdentifier=function(e){if(!e.includes(":"))return!1;var t=W(e.split(":"),2),n=t[0],r=t[1];return n===qa&&r===Va},ba.registerTool(Ba);var Qa=function(e){F(n,e);var t=Q(n);function n(){return b(this,n),t.apply(this,arguments)}return w(n,[{key:"contentItem",value:function(){var e=this.props,t=e.points,n=e.area,r=e.areaUnit,a=void 0===r?"mm2":r,i=e.ReferencedSOPSequence,o=e.use3DSpatialCoordinates,s=void 0!==o&&o,v=e.perimeter,u=e.unit,c=void 0===u?"mm":u,l=function(e){var t=[];return e.forEach((function(e){t.push(e[0]||e.x),t.push(e[1]||e.y),void 0===e[2]&&void 0===e.z||t.push(e[2]||e.z)})),t}(t);return this.getMeasurement([{RelationshipType:"CONTAINS",ValueType:"NUM",ConceptNameCodeSequence:{CodeValue:"131191004",CodingSchemeDesignator:"SCT",CodeMeaning:"Perimeter"},MeasuredValueSequence:{MeasurementUnitsCodeSequence:ka(c),NumericValue:v},ContentSequence:{RelationshipType:"INFERRED FROM",ValueType:s?"SCOORD3D":"SCOORD",GraphicType:"POLYLINE",GraphicData:l,ContentSequence:s?void 0:{RelationshipType:"SELECTED FROM",ValueType:"IMAGE",ReferencedSOPSequence:i}}},{RelationshipType:"CONTAINS",ValueType:"NUM",ConceptNameCodeSequence:{CodeValue:"G-A166",CodingSchemeDesignator:"SRT",CodeMeaning:"Area"},MeasuredValueSequence:{MeasurementUnitsCodeSequence:ka(a),NumericValue:n},ContentSequence:{RelationshipType:"INFERRED FROM",ValueType:s?"SCOORD3D":"SCOORD",GraphicType:"POLYLINE",GraphicData:l,ContentSequence:s?void 0:{RelationshipType:"SELECTED FROM",ValueType:"IMAGE",ReferencedSOPSequence:i}}}])}}]),n}(La),Ha=function(){function e(){b(this,e)}return w(e,null,[{key:"getMeasurementData",value:function(t){for(var n=ba.getSetupMeasurementData(t),r=n.defaultState,a=n.SCOORDGroup,i=n.NUMGroup,o=_(_({},r),{},{toolType:e.toolType,handles:{points:[],textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},cachedStats:{area:i?i.MeasuredValueSequence.NumericValue:0},color:void 0,invalidated:!0}),s=a.GraphicData,v=0;vc?(l.push({x:m.x-u,y:m.y}),l.push({x:m.x+u,y:m.y}),l.push({x:m.x,y:m.y-c}),l.push({x:m.x,y:m.y+c})):(l.push({x:m.x,y:m.y-c}),l.push({x:m.x,y:m.y+c}),l.push({x:m.x-u,y:m.y}),l.push({x:m.x+u,y:m.y}));return{area:v,points:l,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:EllipticalRoi",finding:a,findingSites:i||[]}}}]),e}();Xa.toolType=Ka,Xa.utilityToolType=Ka,Xa.TID300Representation=za,Xa.isValidCornerstoneTrackingIdentifier=function(e){if(!e.includes(":"))return!1;var t=W(e.split(":"),2),n=t[0],r=t[1];return n===qa&&r===Ka},ba.registerTool(Xa);var Ya=function(e){F(n,e);var t=Q(n);function n(){return b(this,n),t.apply(this,arguments)}return w(n,[{key:"contentItem",value:function(){var e=this.props,t=e.points,n=e.ReferencedSOPSequence,r=e.use3DSpatialCoordinates,a=void 0!==r&&r,i=e.perimeter,o=e.area,s=e.areaUnit,v=void 0===s?"mm2":s,u=e.unit,c=void 0===u?"mm":u,l=function(e){var t=[];return e.forEach((function(e){t.push(e.x),t.push(e.y)})),t}(t);return this.getMeasurement([{RelationshipType:"CONTAINS",ValueType:"NUM",ConceptNameCodeSequence:{CodeValue:"G-A197",CodingSchemeDesignator:"SRT",CodeMeaning:"Perimeter"},MeasuredValueSequence:{MeasurementUnitsCodeSequence:ka(c),NumericValue:i},ContentSequence:{RelationshipType:"INFERRED FROM",ValueType:a?"SCOORD3D":"SCOORD",GraphicType:"CIRCLE",GraphicData:l,ContentSequence:a?void 0:{RelationshipType:"SELECTED FROM",ValueType:"IMAGE",ReferencedSOPSequence:n}}},{RelationshipType:"CONTAINS",ValueType:"NUM",ConceptNameCodeSequence:{CodeValue:"G-A166",CodingSchemeDesignator:"SRT",CodeMeaning:"Area"},MeasuredValueSequence:{MeasurementUnitsCodeSequence:ka(v),NumericValue:o},ContentSequence:{RelationshipType:"INFERRED FROM",ValueType:a?"SCOORD3D":"SCOORD",GraphicType:"CIRCLE",GraphicData:l,ContentSequence:a?void 0:{RelationshipType:"SELECTED FROM",ValueType:"IMAGE",ReferencedSOPSequence:n}}}])}}]),n}(La),Ja="CircleRoi",$a=function(){function e(){b(this,e)}return w(e,null,[{key:"getMeasurementData",value:function(t){var n=ba.getSetupMeasurementData(t),r=n.defaultState,a=n.NUMGroup,i=n.SCOORDGroup.GraphicData,o={x:i[0],y:i[1]},s={x:i[2],y:i[3]};return _(_({},r),{},{toolType:e.toolType,active:!1,cachedStats:{area:a?a.MeasuredValueSequence.NumericValue:0,radius:0,perimeter:0},handles:{end:_(_({},s),{},{highlight:!1,active:!1}),initialRotation:0,start:_(_({},o),{},{highlight:!1,active:!1}),textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},invalidated:!0,visible:!0})}},{key:"getTID300RepresentationArguments",value:function(e){var t=e.cachedStats,n=void 0===t?{}:t,r=e.handles,a=e.finding,i=e.findingSites,o=r.start,s=r.end,v=n.area,u=n.areaUnit,c=void 0===u?"mm2":u,l=n.unit,m=void 0===l?"mm":l,g=n.radius,S=2*Math.PI*g,d=[];d.push(o),d.push(s);return{area:v,areaUnit:c,perimeter:S,unit:m,radius:g,points:d,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:CircleRoi",finding:a,findingSites:i||[]}}}]),e}();$a.toolType=Ja,$a.utilityToolType=Ja,$a.TID300Representation=Ya,$a.isValidCornerstoneTrackingIdentifier=function(e){if(!e.includes(":"))return!1;var t=W(e.split(":"),2),n=t[0],r=t[1];return n===qa&&r===Ja},ba.registerTool($a);var ei=function(e){F(n,e);var t=Q(n);function n(){return b(this,n),t.apply(this,arguments)}return w(n,[{key:"contentItem",value:function(){var e=this.props,t=e.points,n=e.ReferencedSOPSequence,r=e.use3DSpatialCoordinates,a=void 0!==r&&r,i=a?[t[0].x,t[0].y,t[0].z]:[t[0].x,t[0].y];return 2==t.length&&(i.push(t[1].x),i.push(t[1].y),a&&i.push(t[1].z)),this.getMeasurement([{RelationshipType:"CONTAINS",ValueType:"NUM",ConceptNameCodeSequence:{CodeValue:"111010",CodingSchemeDesignator:"DCM",CodeMeaning:"Center"},ContentSequence:{RelationshipType:"INFERRED FROM",ValueType:a?"SCOORD3D":"SCOORD",GraphicType:"POINT",GraphicData:i,ContentSequence:a?void 0:{RelationshipType:"SELECTED FROM",ValueType:"IMAGE",ReferencedSOPSequence:n}}}])}}]),n}(La),ti="ArrowAnnotate",ni="CORNERSTONEFREETEXT",ri=function(){function e(){b(this,e)}return w(e,null,[{key:"getMeasurementData",value:function(t){var n=ba.getSetupMeasurementData(t),r=n.defaultState,a=n.SCOORDGroup,i=n.findingGroup.ConceptCodeSequence.CodeMeaning,o=a.GraphicData;return _(_({},r),{},{toolType:e.toolType,active:!1,handles:{start:{x:o[0],y:o[1],highlight:!0,active:!1},end:{x:4==o.length?o[2]:o[0]+20,y:4==o.length?o[3]:o[1]+20,highlight:!0,active:!1},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}},invalidated:!0,text:i,visible:!0})}},{key:"getTID300RepresentationArguments",value:function(e){var t=[e.handles.start,e.handles.end],n=e.finding,r={points:t,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:ArrowAnnotate",findingSites:e.findingSites||[]};return n&&n.CodeValue===ni||(n={CodeValue:ni,CodingSchemeDesignator:"CST4",CodeMeaning:e.text}),r.finding=n,r}}]),e}();ri.toolType=ti,ri.utilityToolType=ti,ri.TID300Representation=ei,ri.isValidCornerstoneTrackingIdentifier=function(e){if(!e.includes(":"))return!1;var t=W(e.split(":"),2),n=t[0],r=t[1];return n===qa&&r===ti},ba.registerTool(ri);var ai=1e-6,ii="undefined"!==typeof Float32Array?Float32Array:Array,oi=Math.random;function si(){var e=new ii(3);return ii!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function vi(e){var t=e[0],n=e[1],r=e[2];return Math.hypot(t,n,r)}function ui(e,t,n){var r=new ii(3);return r[0]=e,r[1]=t,r[2]=n,r}function ci(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e}function li(e,t,n){return e[0]=t[0]*n[0],e[1]=t[1]*n[1],e[2]=t[2]*n[2],e}function mi(e,t,n){return e[0]=t[0]/n[0],e[1]=t[1]/n[1],e[2]=t[2]/n[2],e}function gi(e,t){var n=t[0]-e[0],r=t[1]-e[1],a=t[2]-e[2];return Math.hypot(n,r,a)}function Si(e,t){var n=t[0]-e[0],r=t[1]-e[1],a=t[2]-e[2];return n*n+r*r+a*a}function di(e){var t=e[0],n=e[1],r=e[2];return t*t+n*n+r*r}function fi(e,t){var n=t[0],r=t[1],a=t[2],i=n*n+r*r+a*a;return i>0&&(i=1/Math.sqrt(i)),e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e}function hi(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});var pi=ci,Ii=li,Ci=mi,Di=gi,Ei=Si,Mi=vi,Ai=di,Pi=function(){var e=si();return function(t,n,r,a,i,o){var s,v;for(n||(n=3),r||(r=0),v=a?Math.min(a*n+r,t.length):t.length,s=r;s-1},Te.prototype.set=function(e,t){var n=this.__data__,r=Ne(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},Oe.prototype.clear=function(){this.__data__={hash:new Pe,map:new(ge||Te),string:new Pe}},Oe.prototype.delete=function(e){return Fe(this,e).delete(e)},Oe.prototype.get=function(e){return Fe(this,e).get(e)},Oe.prototype.has=function(e){return Fe(this,e).has(e)},Oe.prototype.set=function(e,t){return Fe(this,e).set(e,t),this},ye.prototype.clear=function(){this.__data__=new Te},ye.prototype.delete=function(e){return this.__data__.delete(e)},ye.prototype.get=function(e){return this.__data__.get(e)},ye.prototype.has=function(e){return this.__data__.has(e)},ye.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Te){var r=n.__data__;if(!ge||r.length<199)return r.push([e,t]),this;n=this.__data__=new Oe(r)}return n.set(e,t),this};var ke=ue?j(ue,Object):function(){return[]},Ge=function(e){return ee.call(e)};function qe(e,t){return!!(t=null==t?r:t)&&("number"==typeof e||b.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=r}(e.length)&&!Ze(e)}var We=ce||function(){return!1};function Ze(e){var t=ze(e)?ee.call(e):"";return t==s||t==v}function ze(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function Ke(e){return je(e)?Re(e):function(e){if(!Ve(e))return le(e);var t=[];for(var n in Object(e))$.call(e,n)&&"constructor"!=n&&t.push(n);return t}(e)}e.exports=function(e){return be(e,!0,!0)}}(Oi,Oi.exports);var yi=function(e){F(n,e);var t=Q(n);function n(){return b(this,n),t.apply(this,arguments)}return w(n,[{key:"contentItem",value:function(){var e=this.props,t=e.point1,n=e.point2,r=e.point3,a=e.point4,i=e.rAngle,o=e.ReferencedSOPSequence;return this.getMeasurement([{RelationshipType:"CONTAINS",ValueType:"NUM",ConceptNameCodeSequence:{CodeValue:"285285000",CodingSchemeDesignator:"SCT",CodeMeaning:"Cobb angle"},MeasuredValueSequence:{MeasurementUnitsCodeSequence:{CodeValue:"deg",CodingSchemeDesignator:"UCUM",CodingSchemeVersion:"1.4",CodeMeaning:"\xb0"},NumericValue:i},ContentSequence:{RelationshipType:"INFERRED FROM",ValueType:"SCOORD",GraphicType:"POLYLINE",GraphicData:[t.x,t.y,n.x,n.y,r.x,r.y,a.x,a.y],ContentSequence:{RelationshipType:"SELECTED FROM",ValueType:"IMAGE",ReferencedSOPSequence:o}}}])}}]),n}(La),Ri="CobbAngle",_i=function(){function e(){b(this,e)}return w(e,null,[{key:"getMeasurementData",value:function(t){var n=ba.getSetupMeasurementData(t),r=n.defaultState,a=n.NUMGroup,i=n.SCOORDGroup,o=_(_({},r),{},{rAngle:a.MeasuredValueSequence.NumericValue,toolType:e.toolType,handles:{start:{},end:{},start2:{highlight:!0,drawnIndependently:!0},end2:{highlight:!0,drawnIndependently:!0},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}}),s=W(i.GraphicData,8);return o.handles.start.x=s[0],o.handles.start.y=s[1],o.handles.end.x=s[2],o.handles.end.y=s[3],o.handles.start2.x=s[4],o.handles.start2.y=s[5],o.handles.end2.x=s[6],o.handles.end2.y=s[7],o}},{key:"getTID300RepresentationArguments",value:function(e){var t=e.handles,n=e.finding,r=e.findingSites;return{point1:t.start,point2:t.end,point3:t.start2,point4:t.end2,rAngle:e.rAngle,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:CobbAngle",finding:n,findingSites:r||[]}}}]),e}();_i.toolType=Ri,_i.utilityToolType=Ri,_i.TID300Representation=yi,_i.isValidCornerstoneTrackingIdentifier=function(e){if(!e.includes(":"))return!1;var t=W(e.split(":"),2),n=t[0],r=t[1];return n===qa&&r===Ri},ba.registerTool(_i);var Ni="Angle",bi=function(){function e(){b(this,e)}return w(e,null,[{key:"getMeasurementData",value:function(t){var n=ba.getSetupMeasurementData(t),r=n.defaultState,a=n.NUMGroup,i=n.SCOORDGroup,o=_(_({},r),{},{rAngle:a.MeasuredValueSequence.NumericValue,toolType:e.toolType,handles:{start:{},middle:{},end:{},textBox:{hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0}}}),s=W(i.GraphicData,8);return o.handles.start.x=s[0],o.handles.start.y=s[1],o.handles.middle.x=s[2],o.handles.middle.y=s[3],o.handles.middle.x=s[4],o.handles.middle.y=s[5],o.handles.end.x=s[6],o.handles.end.y=s[7],o}},{key:"getTID300RepresentationArguments",value:function(e){var t=e.handles,n=e.finding,r=e.findingSites;return{point1:t.start,point2:t.middle,point3:t.middle,point4:t.end,rAngle:e.rAngle,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:Angle",finding:n,findingSites:r||[]}}}]),e}();bi.toolType=Ni,bi.utilityToolType=Ni,bi.TID300Representation=yi,bi.isValidCornerstoneTrackingIdentifier=function(e){if(!e.includes(":"))return!1;var t=W(e.split(":"),2),n=t[0],r=t[1];return n===qa&&r===Ni},ba.registerTool(bi);var Li=function(){function e(){b(this,e)}return w(e,null,[{key:"getMeasurementData",value:function(t){var n=ba.getSetupMeasurementData(t),r=n.defaultState,a=n.SCOORDGroup,i=n.NUMGroup,o=_(_({},r),{},{toolType:e.toolType,handles:{start:{},end:{},textBox:{active:!1,hasMoved:!1,movesIndependently:!1,drawnIndependently:!0,allowedOutsideImage:!0,hasBoundingBox:!0},initialRotation:0},cachedStats:{area:i?i.MeasuredValueSequence.NumericValue:0},color:void 0,invalidated:!0}),s=W(a.GraphicData,6);return o.handles.start.x=s[0],o.handles.start.y=s[1],s[2],s[3],o.handles.end.x=s[4],o.handles.end.y=s[5],o}},{key:"getTID300RepresentationArguments",value:function(e){var t=e.finding,n=e.findingSites,r=e.cachedStats,a=void 0===r?{}:r,i=e.handles;console.log("getTID300 Rectangle",e,a,i);var o=i.start,s=i.end,v=[o,{x:o.x,y:s.y},s,{x:s.x,y:o.y}],u=a.area,c=a.perimeter;console.log("Point=",v,"cachedStats=",a);return{points:v,area:u,perimeter:c,trackingIdentifierTextValue:"cornerstoneTools@^4.0.0:RectangleRoi",finding:t,findingSites:n||[]}}}]),e}();Li.toolType="RectangleRoi",Li.utilityToolType="RectangleRoi",Li.TID300Representation=Qa,Li.isValidCornerstoneTrackingIdentifier=function(e){if(!e.includes(":"))return!1;var t=W(e.split(":"),2),n=t[0],r=t[1];return n===qa&&r===Li.toolType},ba.registerTool(Li);var wi={CodingSchemeDesignator:"CORNERSTONEJS",codeValues:{CORNERSTONEFREETEXT:"CORNERSTONEFREETEXT"}},xi={CodingSchemeDesignator:"DCM",CodeValue:"121071"},Fi={CodingSchemeDesignator:"SCT",CodeValue:"363698007"},Ui={CodingSchemeDesignator:"SRT",CodeValue:"G-C0E3"},ki=function(e,t,n){var r=e.ConceptNameCodeSequence;if(r){var a=r.CodingSchemeDesignator,i=r.CodeValue;return a==t.CodingSchemeDesignator&&i==t.CodeValue||n&&a==n.CodingSchemeDesignator&&i==n.CodeValue}};var Gi=function(){function e(){b(this,e)}return w(e,null,[{key:"getCornerstoneLabelFromDefaultState",value:function(e){var t=e.findingSites,n=void 0===t?[]:t,r=e.finding,a=wi.codeValues.CORNERSTONEFREETEXT,i=n.find((function(e){return e.CodeValue===a}));return i?i.CodeMeaning:r&&r.CodeValue===a?r.CodeMeaning:void 0}},{key:"generateDatasetMeta",value:function(){var e=new Uint8Array(2);return e[1]=1,{FileMetaInformationVersion:{Value:[e.buffer],vr:"OB"},TransferSyntaxUID:{Value:["1.2.840.10008.1.2.1"],vr:"UI"},ImplementationClassUID:{Value:[Jr.uid()],vr:"UI"},ImplementationVersionName:{Value:["dcmjs"],vr:"SH"}}}},{key:"generateDerivationSourceDataset",value:function(t,n){return{StudyInstanceUID:t,SeriesInstanceUID:n,_meta:e.generateDatasetMeta(),_vrMap:{PixelData:"OW"}}}},{key:"getSetupMeasurementData",value:function(t,n,r,a){var i=t.ContentSequence,o=Ta(i),s=o.find((function(e){return ki(e,xi)})),v=o.filter((function(e){return ki(e,Fi,Ui)}))||[],u=o.find((function(e){return"NUM"===e.ValueType})),c=Ta(u.ContentSequence).find((function(e){return"SCOORD"===e.ValueType})),l=c.ContentSequence.ReferencedSOPSequence,m=l.ReferencedSOPInstanceUID,g=l.ReferencedFrameNumber,S=n[m],d=r.get("imagePlaneModule",S),f=s?cr(s.ConceptCodeSequence):void 0,h=v.map((function(e){return cr(e.ConceptCodeSequence)})),p={sopInstanceUid:m,annotation:{annotationUID:Jr.uid(),metadata:{toolName:a,referencedImageId:S,FrameOfReferenceUID:d.frameOfReferenceUID,label:""}},finding:f,findingSites:h};return p.finding&&(p.description=p.finding.CodeMeaning),p.annotation.metadata.label=e.getCornerstoneLabelFromDefaultState(p),{defaultState:p,NUMGroup:u,SCOORDGroup:c,ReferencedSOPSequence:l,ReferencedSOPInstanceUID:m,ReferencedFrameNumber:g}}},{key:"generateReport",value:function(t,n,r,a){var i=[],o={},s=[],v=e.generateDatasetMeta();Object.keys(t).forEach((function(a){var v=n.get("sopCommonModule",a),u=n.get("generalSeriesModule",a),c=v.sopInstanceUID,l=v.sopClassUID,m=u.studyInstanceUID,g=u.seriesInstanceUID;if(o[c]=g,!s.find((function(e){return e.SeriesInstanceUID===g}))){var S=e.generateDerivationSourceDataset(m,g);s.push(S)}var d=n.get("frameNumber",a),f=t[a],h=Object.keys(f),p={ReferencedSOPClassUID:l,ReferencedSOPInstanceUID:c},I=n.get("instance",a);(I&&I.NumberOfFrames&&I.NumberOfFrames>1||ma.isMultiframeSOPClassUID(l))&&(p.ReferencedFrameNumber=d);var C=[];h.forEach((function(e){var t=function(e,t,n,r){var a=t[e],i=Gi.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE[e];if(a&&a.data&&a.data.length&&i){var o=a.data.map((function(e){return function(e,t,n,r,a){var i=r.getTID300RepresentationArguments(e,a);return i.ReferencedSOPSequence=n,new r.TID300Representation(i)}(e,0,n,i,r)}));return new Pa(o)}}(e,f,p,r);t&&C.push(t)})),i=i.concat(C)}));var u=new Aa({TID1501MeasurementGroups:i},a),c=new Ma(s),l=u.contentItem(s,{sopInstanceUIDsToSeriesInstanceUIDMap:o});return c.dataset=Object.assign(c.dataset,l),c.dataset._meta=v,c}},{key:"generateToolState",value:function(t,n,r,a){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};if("1500"!==t.ContentTemplateSequence.TemplateIdentifier)throw new Error("This package can currently only interpret DICOM SR TID 1500");var o="Imaging Measurements",s="Measurement Group",v="Tracking Identifier",u=Ta(t.ContentSequence).find(Oa(o)),c=Ta(u.ContentSequence).filter(Oa(s)),l={},m=e.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE,g=[];return Object.keys(m).forEach((function(e){g.push(m[e]),l[e]=[]})),c.forEach((function(e,o){var s=Ta(e.ContentSequence).find((function(e){return e.ConceptNameCodeSequence.CodeMeaning===v})).TextValue,u=i.getToolClass?i.getToolClass(e,t,g):g.find((function(e){return e.isValidCornerstoneTrackingIdentifier(s)}));if(u){var c=u.getMeasurementData(e,n,r,a);console.log("=== ".concat(u.toolType," ===")),console.log(c),l[u.toolType].push(c)}})),l}},{key:"registerTool",value:function(t){e.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE[t.utilityToolType]=t,e.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE[t.toolType]=t,e.MEASUREMENT_BY_TOOLTYPE[t.toolType]=t.utilityToolType}}]),e}();Gi.MEASUREMENT_BY_TOOLTYPE={},Gi.CORNERSTONE_TOOL_CLASSES_BY_UTILITY_TYPE={},Gi.CORNERSTONE_TOOL_CLASSES_BY_TOOL_TYPE={};var qi="Cornerstone3DTools@^0.1.0",Vi="Length",Bi="".concat(qi,":").concat(Vi),Qi=function(){function e(){b(this,e)}return w(e,null,[{key:"getMeasurementData",value:function(t,n,r,a){for(var i=Gi.getSetupMeasurementData(t,n,a,e.toolType),o=i.defaultState,s=i.NUMGroup,v=i.SCOORDGroup,u=i.ReferencedFrameNumber,c=o.annotation.metadata.referencedImageId,l=v.GraphicData,m=[],g=0;gMath.sqrt(Math.pow(h[0][0]-h[1][0],2)+Math.pow(h[0][1]-h[1][1],2)+Math.pow(h[0][2]-h[1][2],2))?(c=f,l=h):(c=h,l=f);var p=t(u,c[0]),I=t(u,c[1]),C=t(u,l[0]),D=t(u,l[1]);return{longAxis:{point1:{x:p[0],y:p[1]},point2:{x:I[0],y:I[1]}},shortAxis:{point1:{x:C[0],y:C[1]},point2:{x:D[0],y:D[1]}},longAxisLength:g,shortAxisLength:S,trackingIdentifierTextValue:ji,finding:r,findingSites:a||[]}}}]),e}();Wi.toolType=Hi,Wi.utilityToolType=Hi,Wi.TID300Representation=ja,Wi.isValidCornerstoneTrackingIdentifier=function(e){if(!e.includes(":"))return!1;var t=W(e.split(":"),2),n=t[0],r=t[1];return n===qi&&r===Hi},Gi.registerTool(Wi);var Zi="EllipticalROI",zi=1e-4,Ki="".concat(qi,":").concat(Zi),Xi=function(){function e(){b(this,e)}return w(e,null,[{key:"getMeasurementData",value:function(t,n,r,a){for(var i=Gi.getSetupMeasurementData(t,n,a,e.toolType),o=i.defaultState,s=i.NUMGroup,v=i.SCOORDGroup,u=i.ReferencedFrameNumber,c=o.annotation.metadata.referencedImageId,l=v.GraphicData,m=[],g=0;gMath.abs(m[0]-g[0])?(S.push({x:c[0],y:c[1]}),S.push({x:l[0],y:l[1]}),S.push({x:m[0],y:m[1]}),S.push({x:g[0],y:g[1]})):(S.push({x:m[0],y:m[1]}),S.push({x:g[0],y:g[1]}),S.push({x:c[0],y:c[1]}),S.push({x:l[0],y:l[1]})),{area:(s["imageId:".concat(u)]||{}).area,points:S,trackingIdentifierTextValue:Ki,finding:r,findingSites:a||[]}}}]),e}();Xi.toolType=Zi,Xi.utilityToolType=Zi,Xi.TID300Representation=za,Xi.isValidCornerstoneTrackingIdentifier=function(e){if(!e.includes(":"))return!1;var t=W(e.split(":"),2),n=t[0],r=t[1];return n===qi&&r.toLowerCase()===Zi.toLowerCase()},Gi.registerTool(Xi);var Yi="ArrowAnnotate",Ji="".concat(qi,":").concat(Yi),$i=wi.codeValues,eo=wi.CodingSchemeDesignator,to=function(){function e(){b(this,e)}return w(e,null,[{key:"getMeasurementData",value:function(t,n,r,a){for(var i=Gi.getSetupMeasurementData(t,n,a,e.toolType),o=i.defaultState,s=i.SCOORDGroup,v=i.ReferencedFrameNumber,u=o.annotation.metadata.referencedImageId,c=o.annotation.metadata.label,l=s.GraphicData,m=[],g=0;g9?"":"0")+e}function To(e){var t=e.getHours(),n=e.getMinutes(),r=e.getSeconds(),a=e.getMilliseconds();return Po(t)+Po(n)+Po(r)+a}function Oo(e){var t=e.getFullYear(),n=e.getMonth()+1,r=e.getDate();return t+Po(n)+Po(r)}Object.freeze(Mo);var yo=function(e){F(n,e);var t=Q(n);function n(){b(this,n);for(var e=arguments.length,r=new Array(e),a=0;a1)throw new Error("Only one of the following options should be provided: 'referencedRegions', 'referencedVolume', or 'referencedSegmentation'.");if(void 0!==e.referencedRegions){if(!("object"===N(e.referencedRegions)||e.referencedRegions instanceof Array))throw new Error("Option 'referencedRegions' must have type Array.");if(0===e.referencedRegions.length)throw new Error("Option 'referencedRegion' must have non-zero length.");e.referencedRegions.forEach((function(e){if(void 0===e||e.constructor!==Ko&&e.constructor!==Xo)throw new Error("Items of option 'referencedRegion' must have type ImageRegion or ImageRegion3D.");a.ContentSequence.push(e)}))}else if(void 0!==e.referencedVolume){if(e.referencedVolume.constructor!==Yo)throw new Error("Items of option 'referencedVolume' must have type VolumeSurface.");a.ContentSequence.push(referencedVolume)}else if(void 0!==e.referencedSegmentation){if(e.referencedSegmentation.constructor!==ts&&e.referencedSegmentation.constructor!==es)throw new Error("Option 'referencedSegmentation' must have type ReferencedSegmentation or ReferencedSegmentationFrame.");a.ContentSequence.push(referencedSegmentation)}return r[0]=a,r}return w(n)}(hs),Is=function(e){F(n,e);var t=Q(n);function n(e){b(this,n);var r=[void 0!==e.referencedRegion,void 0!==e.referencedSegmentation].reduce((function(e,t){return e+t}));if(0===r)throw new Error("One of the following options must be provided: 'referencedRegion', 'referencedSegmentation'.");if(r>1)throw new Error("Only one of the following options should be provided: 'referencedRegion', 'referencedSegmentation'.");return t.call(this,{trackingIdentifier:e.trackingIdentifier,referencedRegions:[e.referencedRegion],referencedSegmentation:e.referencedSegmentation,referencedRealWorldValueMap:e.referencedRealWorldValueMap,timePointContext:e.timePointContext,findingType:e.findingType,session:e.session,measurements:e.measurements,qualitativeEvaluations:e.qualitativeEvaluations})}return w(n)}(ps),Cs=function(e){F(n,e);var t=Q(n);function n(e){return b(this,n),t.call(this,{trackingIdentifier:e.trackingIdentifier,referencedRegions:e.referencedRegions,referencedSegmentation:e.referencedSegmentation,referencedRealWorldValueMap:e.referencedRealWorldValueMap,timePointContext:e.timePointContext,findingType:e.findingType,session:e.session,measurements:e.measurements,qualitativeEvaluations:e.qualitativeEvaluations})}return w(n)}(ps),Ds=function(e){function t(e){var n;if(b(this,t),void 0===e.derivation)throw new Error("Option 'derivation' is required for MeasurementsDerivedFromMultipleROIMeasurements.");var r=new Uo({name:e.derivation});if(r.ContentSequence=new yo,void 0===e.measurementGroups)throw new Error("Option 'measurementGroups' is required for MeasurementsDerivedFromMultipleROIMeasurements.");if(!("object"===N(e.measurementGroups)||e.measurementGroups instanceof Array))throw new Error("Option 'measurementGroups' must have type Array.");if(e.measurementGroups.forEach((function(e){var t;if(!e||e.constructor!==Is&&e.constructor!==Cs)throw new Error("Items of option 'measurementGroups' must have type PlanarROIMeasurementsAndQualitativeEvaluations or VolumetricROIMeasurementsAndQualitativeEvaluations.");e[0].RelationshipType="R-INFERRED FROM",(t=r.ContentSequence).push.apply(t,Z(e))})),void 0!==e.measurementProperties){var a;if(e.measurementProperties.constructor!==is)throw new Error("Option 'measurementProperties' must have type MeasurementProperties.");(a=r.ContentSequence).push.apply(a,Z(e.measurementProperties))}return n.push(r),B(n)}return F(t,e),Q(t),w(t)}(rs),Es=function(e){F(n,e);var t=Q(n);function n(e){return b(this,n),t.call(this,{trackingIdentifier:e.trackingIdentifier,referencedRealWorldValueMap:e.referencedRealWorldValueMap,timePointContext:e.timePointContext,findingType:e.findingType,session:e.session,measurements:e.measurements,qualitativeEvaluations:e.qualitativeEvaluations})}return w(n)}(hs),Ms=function(e){F(n,e);var t=Q(n);function n(e){var r;if(b(this,n),r=t.call(this),void 0!==e.method){var a=new _o({name:new ho({value:"370129005",meaning:"Measurement Method",schemeDesignator:"SCT"}),value:e.method,relationshipType:Mo.HAS_CONCEPT_MOD});r.push(a)}if(void 0!==e.findingSites){if(!("object"===N(e.findingSites)||e.findingSites instanceof Array))throw new Error("Option 'findingSites' must have type Array.");e.findingSites.forEach((function(e){if(!e||e.constructor!==$o)throw new Error("Items of option 'findingSites' must have type FindingSite.");r.push(e)}))}if(void 0===e.measurements)throw new Error("Options 'measurements' is required ROIMeasurements.");if(!("object"===N(e.measurements)||e.measurements instanceof Array))throw new Error("Option 'measurements' must have type Array.");if(0===e.measurements.length)throw new Error("Option 'measurements' must have non-zero length.");return e.measurements.forEach((function(e){if(!e||e.constructor!==as)throw new Error("Items of option 'measurements' must have type Measurement.");r.push(e)})),r}return w(n)}(rs),As=function(e){F(n,e);var t=Q(n);function n(e){var r,a,i,o;if(b(this,n),o=t.call(this),void 0===e.observationContext)throw new Error("Option 'observationContext' is required for MeasurementReport.");if(void 0===e.procedureReported)throw new Error("Option 'procedureReported' is required for MeasurementReport.");var s=new ko({name:new ho({value:"126000",schemeDesignator:"DCM",meaning:"Imaging Measurement Report"}),templateID:"1500"});if(s.ContentSequence=new yo,void 0===e.languageOfContentItemAndDescendants)throw new Error("Option 'languageOfContentItemAndDescendants' is required for MeasurementReport.");if(e.languageOfContentItemAndDescendants.constructor!==fs)throw new Error("Option 'languageOfContentItemAndDescendants' must have type LanguageOfContentItemAndDescendants.");if((r=s.ContentSequence).push.apply(r,Z(e.languageOfContentItemAndDescendants)),(a=s.ContentSequence).push.apply(a,Z(e.observationContext)),e.procedureReported.constructor!==ho&&e.procedureReported.constructor!==fo||(e.procedureReported=[e.procedureReported]),!("object"===N(e.procedureReported)||e.procedureReported instanceof Array))throw new Error("Option 'procedureReported' must have type Array.");e.procedureReported.forEach((function(e){var t=new _o({name:new ho({value:"121058",meaning:"Procedure reported",schemeDesignator:"DCM"}),value:e,relationshipType:Mo.HAS_CONCEPT_MOD});s.ContentSequence.push(t)}));var v=new Ts;if((i=s.ContentSequence).push.apply(i,Z(v)),[void 0!==e.imagingMeasurements,void 0!==e.derivedImagingMeasurements,void 0!==e.qualitativeEvaluations].reduce((function(e,t){return e+t}))>1)throw new Error("Only one of the following options should be provided: 'imagingMeasurements', 'derivedImagingMeasurement', 'qualitativeEvaluations'.");if(void 0!==e.imagingMeasurements){var u=new ko({name:new ho({value:"126010",meaning:"Imaging Measurements",schemeDesignator:"DCM"}),relationshipType:Mo.CONTAINS});u.ContentSequence=q(yo,Z(e.imagingMeasurements)),s.ContentSequence.push(u)}else if(void 0!==e.derivedImagingMeasurements){var c=new ko({name:new ho({value:"126011",meaning:"Derived Imaging Measurements",schemeDesignator:"DCM"}),relationshipType:Mo.CONTAINS});c.ContentSequence=q(yo,Z(e.derivedImagingMeasurements)),s.ContentSequence.push(c)}else if(void 0!==e.qualitativeEvaluations){var l=new ko({name:new ho({value:"C0034375",meaning:"Qualitative Evaluations",schemeDesignator:"UMLS"}),relationshipType:Mo.CONTAINS});l.ContentSequence=q(yo,Z(e.qualitativeEvaluations)),s.ContentSequence.push(l)}return o.push(s),o}return w(n)}(rs),Ps=function(e){function t(e){var n;if(b(this,t),void 0===e.timePoint)throw new Error("Option 'timePoint' is required for TimePointContext.");var r=new No({name:new ho({value:"C2348792",meaning:"Time Point",schemeDesignator:"UMLS"}),value:e.timePoint,relationshipType:Mo.HAS_OBS_CONTEXT});if(n.push(r),void 0!==e.timePointType){var a=new _o({name:new ho({value:"126072",meaning:"Time Point Type",schemeDesignator:"DCM"}),value:e.timePointType,relationshipType:Mo.HAS_OBS_CONTEXT});n.push(a)}if(void 0!==e.timePointOrder){var i=new Uo({name:new ho({value:"126073",meaning:"Time Point Order",schemeDesignator:"DCM"}),value:e.timePointOrder,relationshipType:Mo.HAS_OBS_CONTEXT});n.push(i)}if(void 0!==e.subjectTimePointIdentifier){var o=new Uo({name:new ho({value:"126070",meaning:"Subject Time Point Identifier",schemeDesignator:"DCM"}),value:e.subjectTimePointIdentifier,relationshipType:Mo.HAS_OBS_CONTEXT});n.push(o)}if(void 0!==e.protocolTimePointIdentifier){var s=new Uo({name:new ho({value:"126071",meaning:"Protocol Time Point Identifier",schemeDesignator:"DCM"}),value:e.protocolTimePointIdentifier,relationshipType:Mo.HAS_OBS_CONTEXT});n.push(s)}if(void 0!==e.temporalOffsetFromEvent){if(e.temporalOffsetFromEvent.constructor!==LongitudinalTemporalOffsetFromEventContentItem)throw new Error("Option 'temporalOffsetFromEvent' must have type LongitudinalTemporalOffsetFromEventContentItem.");n.push(temporalOffsetFromEvent)}return B(n)}return F(t,e),Q(t),w(t)}(rs),Ts=function(e){F(n,e);var t=Q(n);function n(e){var r;b(this,n),r=t.call(this);var a=new ko({name:new ho({value:"111028",meaning:"Image Library",schemeDesignator:"DCM"}),relationshipType:Mo.CONTAINS});return r.push(a),r}return w(n)}(rs),Os=function(e){F(n,e);var t=Q(n);function n(e){var r;if(b(this,n),r=t.call(this),void 0===e.name)throw new Error("Option 'name' is required for AlgorithmIdentification.");if(void 0===e.version)throw new Error("Option 'version' is required for AlgorithmIdentification.");var a=new No({name:new ho({value:"111001",meaning:"Algorithm Name",schemeDesignator:"DCM"}),value:e.name,relationshipType:Mo.HAS_CONCEPT_MOD});r.push(a);var i=new No({name:new ho({value:"111003",meaning:"Algorithm Version",schemeDesignator:"DCM"}),value:e.version,relationshipType:Mo.HAS_CONCEPT_MOD});if(r.push(i),void 0!==e.parameters){if(!("object"===N(e.parameters)||e.parameters instanceof Array))throw new Error("Option 'parameters' must have type Array.");e.parameters.forEach((function(e){var t=new No({name:new ho({value:"111002",meaning:"Algorithm Parameter",schemeDesignator:"DCM"}),value:param,relationshipType:Mo.HAS_CONCEPT_MOD});r.push(t)}))}return r}return w(n)}(rs),ys=function(e){F(n,e);var t=Q(n);function n(e){var r;if(b(this,n),r=t.call(this),void 0===e.uid)throw new Error("Option 'uid' is required for TrackingIdentifier.");if(void 0!==e.identifier){var a=new No({name:new ho({value:"112039",meaning:"Tracking Identifier",schemeDesignator:"DCM"}),value:e.identifier,relationshipType:Mo.HAS_OBS_CONTEXT});r.push(a)}var i=new Fo({name:new ho({value:"112040",meaning:"Tracking Unique Identifier",schemeDesignator:"DCM"}),value:e.uid,relationshipType:Mo.HAS_OBS_CONTEXT});return r.push(i),r}return w(n)}(rs),Rs=Object.freeze({__proto__:null,AlgorithmIdentification:Os,DeviceObserverIdentifyingAttributes:ls,ImageLibrary:Ts,LanguageOfContentItemAndDescendants:fs,Measurement:as,MeasurementAndQualitativeEvaluationGroup:Es,MeasurementReport:As,MeasurementsDerivedFromMultipleROIMeasurements:Ds,ObservationContext:vs,ObserverContext:us,PersonObserverIdentifyingAttributes:cs,PlanarROIMeasurementsAndQualitativeEvaluations:Is,ROIMeasurements:Ms,SubjectContext:ms,SubjectContextDevice:ds,SubjectContextFetus:gs,SubjectContextSpecimen:Ss,TimePointContext:Ps,TrackingIdentifier:ys,VolumetricROIMeasurementsAndQualitativeEvaluations:Cs}),_s=["00080054","00080100","00080102","00080103","00080104","00080105","00080106","00080107","0008010B","0008010D","0008010F","00080117","00080118","00080119","00080120","00080121","00080122","00081120","00081150","00081155","00081160","00081190","00081199","00100010","00100020","00100021","00100022","00100024","00100026","00100027","00100028","00100030","00100032","00100033","00100034","00100035","00100040","00100200","00100212","00100213","00100214","00100215","00100216","00100217","00100218","00100219","00100221","00100222","00100223","00100229","00101001","00101002","00101100","00102160","00102201","00102202","00102292","00102293","00102294","00102295","00102296","00102297","00102298","00102299","00104000","00120062","00120063","00120064","0020000D","00400031","00400032","00400033","00400035","00400036","00400039","0040003A","0040E001","0040E010","0040E020","0040E021","0040E022","0040E023","0040E024","0040E025","0040E030","0040E031","0062000B","00880130","00880140","00080100","00080102","00080103","00080104","00080105","00080106","00080107","0008010B","0008010D","0008010F","00080117","00080118","00080119","00080120","00080121","00080122","00081080","00081084","00101010","00101020","00101021","00101022","00101023","00101024","00101030","00102000","00102110","00102180","001021A0","001021B0","001021C0","001021D0","00102203","00380010","00380014","00380060","00380062","00380064","00380500","00400031","00400032","00400033","00080020","00080030","00080050","00080051","00080080","00080081","00080082","00080090","00080096","0008009C","0008009D","00080100","00080102","00080103","00080104","00080105","00080106","00080107","0008010B","0008010D","0008010F","00080117","00080118","00080119","00080120","00080121","00080122","00081030","00081032","00081048","00081049","00081060","00081062","00081110","00081150","00081155","0020000D","00200010","00321034","00400031","00400032","00400033","00401012","00401101","00401102","00401103","00401104","00120010","00120020","00120021","00120030","00120031","00120040","00120042","00120081","00120082","00120020","00120050","00120051","00120052","00120053","00120083","00120084","00120085"],Ns=w((function e(t){var n=this;if(b(this,e),void 0===t.evidence)throw new Error("Option 'evidence' is required for Comprehensive3DSR.");if(!("object"===N(t.evidence)||t.evidence instanceof Array))throw new Error("Option 'evidence' must have type Array.");if(0===t.evidence.length)throw new Error("Option 'evidence' must have non-zero length.");if(void 0===t.content)throw new Error("Option 'content' is required for Comprehensive3DSR.");if(void 0===t.seriesInstanceUID)throw new Error("Option 'seriesInstanceUID' is required for Comprehensive3DSR.");if(void 0===t.seriesNumber)throw new Error("Option 'seriesNumber' is required for Comprehensive3DSR.");if(void 0===t.seriesDescription)throw new Error("Option 'seriesDescription' is required for Comprehensive3DSR.");if(void 0===t.sopInstanceUID)throw new Error("Option 'sopInstanceUID' is required for Comprehensive3DSR.");if(void 0===t.instanceNumber)throw new Error("Option 'instanceNumber' is required for Comprehensive3DSR.");if(void 0===t.manufacturer)throw new Error("Option 'manufacturer' is required for Comprehensive3DSR.");if(this.SOPClassUID="1.2.840.10008.5.1.4.1.1.88.34",this.SOPInstanceUID=t.sopInstanceUID,this.Modality="SR",this.SeriesDescription=t.seriesDescription,this.SeriesInstanceUID=t.seriesInstanceUID,this.SeriesNumber=t.seriesNumber,this.InstanceNumber=t.instanceNumber,this.Manufacturer=t.manufacturer,void 0!==t.institutionName&&(this.InstitutionName=t.institutionName,void 0!==t.institutionalDepartmentName&&(this.InstitutionalDepartmentName=t.institutionDepartmentName)),t.isComplete?this.CompletionFlag="COMPLETE":this.CompletionFlag="PARTIAL",t.isVerified){if(void 0===t.verifyingObserverName)throw new Error("Verifying Observer Name must be specified if SR document has been verified.");if(void 0===t.verifyingOrganization)throw new Error("Verifying Organization must be specified if SR document has been verified.");this.VerificationFlag="VERIFIED";var r={};r.VerifyingObserverName=t.verifyingObserverName,r.VerifyingOrganization=t.verifyingOrganization,r.VerificationDateTime=Jr.dateTime(),this.VerifyingObserverSequence=[observer_item]}else this.VerificationFlag="UNVERIFIED";t.isFinal?this.PreliminaryFlag="FINAL":this.PreliminaryFlag="PRELIMINARY",this.ContentDate=Jr.date(),this.ContentTime=Jr.time(),Object.keys(t.content).forEach((function(e){n[e]=t.content[e]}));var a={};t.evidence.forEach((function(e){if(e.StudyInstanceUID!==t.evidence[0].StudyInstanceUID)throw new Error("Referenced data sets must all belong to the same study.");e.SeriesInstanceUID in a||(a[e.SeriesInstanceUID]=[]);var n={};n.ReferencedSOPClassUID=e.SOPClassUID,n.ReferencedSOPInstanceUID=e.SOPInstanceUID,a[e.SeriesInstanceUID].push(n)}));var i={};if(i.StudyInstanceUID=t.evidence[0].StudyInstanceUID,i.ReferencedSeriesSequence=[],Object.keys(a).forEach((function(e){var t={};t.SeriesInstanceUID=e,t.ReferencedSOPSequence=a[e],i.ReferencedSeriesSequence.push(t)})),void 0!==t.requestedProcedures){if(!("object"===N(t.requestedProcedures)||t.requestedProcedures instanceof Array))throw new Error("Option 'requestedProcedures' must have type Array.");this.ReferencedRequestSequence=q(ContentSequence,Z(t.requestedProcedures)),this.CurrentRequestedProcedureEvidenceSequence=[i]}else this.PertinentOtherEvidenceSequence=[i];if(void 0!==t.previousVersions){var o={};t.previousVersions.forEach((function(e){if(e.StudyInstanceUID!=t.evidence[0].StudyInstanceUID)throw new Error("Previous version data sets must belong to the same study.");var n={};n.ReferencedSOPClassUID=e.SOPClassUID,n.ReferencedSOPInstanceUID=e.SOPInstanceUID,o[e.SeriesInstanceUID].push(n)}));var s={};s.StudyInstanceUID=t.previousVersions[0].StudyInstanceUID,s.ReferencedSeriesSequence=[],Object.keys(o).forEach((function(e){var t={};t.SeriesInstanceUID=e,t.ReferencedSOPSequence=o[e],s.ReferencedSeriesSequence.push(t)})),this.PredecessorDocumentsSequence=[s]}if(void 0!==t.performedProcedureCodes){if(!("object"===N(t.performedProcedureCodes)||t.performedProcedureCodes instanceof Array))throw new Error("Option 'performedProcedureCodes' must have type Array.");this.PerformedProcedureCodeSequence=q(ContentSequence,Z(t.performedProcedureCodes))}else this.PerformedProcedureCodeSequence=[];this.ReferencedPerformedProcedureStepSequence=[],_s.forEach((function(e){var r=Jr.punctuateTag(e),a=Jr.dictionary[r];if(void 0!==a){var i=a.name,o=t.evidence[0][i];void 0!==o&&(n[i]=o)}}))})),bs={coding:po,contentItems:ns,documents:Object.freeze({__proto__:null,Comprehensive3DSR:Ns}),templates:Rs,valueTypes:Ho};var Ls={BitArray:O,ReadBufferStream:rr,DeflatedReadBufferStream:ar,WriteBufferStream:ir,DicomDict:aa,DicomMessage:na,DicomMetaDictionary:Jr,Tag:mr,ValueRepresentation:hr,Colors:ia,datasetToDict:oa,datasetToBuffer:sa,datasetToBlob:va}},9761:(e,t,n)=>{"use strict";n.d(t,{qY:()=>m});var r=function(e,t,n){if(n||2===arguments.length)for(var r,a=0,i=t.length;ag+1)throw new Error(l+" map requires nshades to be at least size "+c.length);S=Array.isArray(e.alpha)?2!==e.alpha.length?[1,1]:e.alpha.slice():"number"==typeof e.alpha?[e.alpha,e.alpha]:[1,1],t=c.map((function(e){return Math.round(e.index*g)})),S[0]=Math.min(Math.max(S[0],0),1),S[1]=Math.min(Math.max(S[1],0),1);var f=c.map((function(e,t){var n=c[t].index,r=c[t].rgb.slice();return 4===r.length&&r[3]>=0&&r[3]<=1||(r[3]=S[0]+(S[1]-S[0])*n),r})),h=[];for(d=0;d0&&o();break;case"number":n.im=0,n.re=e;break;default:o()}return isNaN(n.re)||isNaN(n.im),n}(e,t);this.re=n.re,this.im=n.im}v.prototype={re:0,im:0,sign:function(){var e=this.abs();return new v(this.re/e,this.im/e)},add:function(e,t){var n=new v(e,t);return this.isInfinite()&&n.isInfinite()?v.NAN:this.isInfinite()||n.isInfinite()?v.INFINITY:new v(this.re+n.re,this.im+n.im)},sub:function(e,t){var n=new v(e,t);return this.isInfinite()&&n.isInfinite()?v.NAN:this.isInfinite()||n.isInfinite()?v.INFINITY:new v(this.re-n.re,this.im-n.im)},mul:function(e,t){var n=new v(e,t);return this.isInfinite()&&n.isZero()||this.isZero()&&n.isInfinite()?v.NAN:this.isInfinite()||n.isInfinite()?v.INFINITY:0===n.im&&0===this.im?new v(this.re*n.re,0):new v(this.re*n.re-this.im*n.im,this.re*n.im+this.im*n.re)},div:function(e,t){var n=new v(e,t);if(this.isZero()&&n.isZero()||this.isInfinite()&&n.isInfinite())return v.NAN;if(this.isInfinite()||n.isZero())return v.INFINITY;if(this.isZero()||n.isInfinite())return v.ZERO;e=this.re,t=this.im;var r,a,i=n.re,o=n.im;return 0===o?new v(e/i,t/i):Math.abs(i)0)return new v(Math.pow(e,n.re),0);if(0===e)switch((n.re%4+4)%4){case 0:return new v(Math.pow(t,n.re),0);case 1:return new v(0,Math.pow(t,n.re));case 2:return new v(-Math.pow(t,n.re),0);case 3:return new v(0,-Math.pow(t,n.re))}}if(0===e&&0===t&&n.re>0&&n.im>=0)return v.ZERO;var r=Math.atan2(t,e),a=s(e,t);return e=Math.exp(n.re*a-n.im*r),t=n.im*a+n.re*r,new v(e*Math.cos(t),e*Math.sin(t))},sqrt:function(){var e,t,n=this.re,r=this.im,a=this.abs();if(n>=0){if(0===r)return new v(Math.sqrt(n),0);e=.5*Math.sqrt(2*(a+n))}else e=Math.abs(r)/Math.sqrt(2*(a-n));return t=n<=0?.5*Math.sqrt(2*(a-n)):Math.abs(r)/Math.sqrt(2*(a+n)),new v(e,r<0?-t:t)},exp:function(){var e=Math.exp(this.re);return this.im,new v(e*Math.cos(this.im),e*Math.sin(this.im))},expm1:function(){var e=this.re,t=this.im;return new v(Math.expm1(e)*Math.cos(t)+function(e){var t=Math.PI/4;if(-t>e||e>t)return Math.cos(e)-1;var n=e*e;return n*(n*(n*(n*(n*(n*(n*(n/20922789888e3-1/87178291200)+1/479001600)-1/3628800)+1/40320)-1/720)+1/24)-.5)}(t),Math.exp(e)*Math.sin(t))},log:function(){var e=this.re,t=this.im;return new v(s(e,t),Math.atan2(t,e))},abs:function(){return e=this.re,t=this.im,n=Math.abs(e),r=Math.abs(t),n<3e3&&r<3e3?Math.sqrt(n*n+r*r):(n1&&0===t,r=1-e,a=1+e,i=r*r+t*t,o=0!==i?new v((a*r-t*t)/i,(t*r+a*t)/i):new v(-1!==e?e/0:0,0!==t?t/0:0),u=o.re;return o.re=s(o.re,o.im)/2,o.im=Math.atan2(o.im,u)/2,n&&(o.im=-o.im),o},acoth:function(){var e=this.re,t=this.im;if(0===e&&0===t)return new v(0,Math.PI/2);var n=e*e+t*t;return 0!==n?new v(e/n,-t/n).atanh():new v(0!==e?e/0:0,0!==t?-t/0:0).atanh()},acsch:function(){var e=this.re,t=this.im;if(0===t)return new v(0!==e?Math.log(e+Math.sqrt(e*e+1)):1/0,0);var n=e*e+t*t;return 0!==n?new v(e/n,-t/n).asinh():new v(0!==e?e/0:0,0!==t?-t/0:0).asinh()},asech:function(){var e=this.re,t=this.im;if(this.isZero())return v.INFINITY;var n=e*e+t*t;return 0!==n?new v(e/n,-t/n).acosh():new v(0!==e?e/0:0,0!==t?-t/0:0).acosh()},inverse:function(){if(this.isZero())return v.INFINITY;if(this.isInfinite())return v.ZERO;var e=this.re,t=this.im,n=e*e+t*t;return new v(e/n,-t/n)},conjugate:function(){return new v(this.re,-this.im)},neg:function(){return new v(-this.re,-this.im)},ceil:function(e){return e=Math.pow(10,e||0),new v(Math.ceil(this.re*e)/e,Math.ceil(this.im*e)/e)},floor:function(e){return e=Math.pow(10,e||0),new v(Math.floor(this.re*e)/e,Math.floor(this.im*e)/e)},round:function(e){return e=Math.pow(10,e||0),new v(Math.round(this.re*e)/e,Math.round(this.im*e)/e)},equals:function(e,t){var n=new v(e,t);return Math.abs(n.re-this.re)<=v.EPSILON&&Math.abs(n.im-this.im)<=v.EPSILON},clone:function(){return new v(this.re,this.im)},toString:function(){var e=this.re,t=this.im,n="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(e)1?arguments[1]:void 0,n),v=o>2?arguments[2]:void 0,u=void 0===v?n:a(v,n);u>s;)t[s++]=e;return t}},5621:function(e,t,n){"use strict";var r=n(4206).forEach,a=n(6628)("forEach");e.exports=a?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}},4746:function(e,t,n){"use strict";var r=n(2868),a=n(7673),i=n(3146),o=n(2058),s=n(6261),v=n(6475),u=n(1775),c=n(9876),l=n(409),m=n(5945),g=n(5018),S=r.Array;e.exports=function(e){var t=o(e),n=u(this),r=arguments.length,d=r>1?arguments[1]:void 0,f=void 0!==d;f&&(d=a(d,r>2?arguments[2]:void 0));var h,p,I,C,D,E,M=g(t),A=0;if(!M||this==S&&v(M))for(h=c(t),p=n?new this(h):S(h);h>A;A++)E=f?d(t[A],A):t[A],l(p,A,E);else for(D=(C=m(t,M)).next,p=n?new this:[];!(I=i(D,C)).done;A++)E=f?s(C,d,[I.value,A],!0):I.value,l(p,A,E);return p.length=A,p}},7075:function(e,t,n){var r=n(3861),a=n(3055),i=n(9876),o=function(e){return function(t,n,o){var s,v=r(t),u=i(v),c=a(o,u);if(e&&n!=n){for(;u>c;)if((s=v[c++])!=s)return!0}else for(;u>c;c++)if((e||c in v)&&v[c]===n)return e||c||0;return!e&&-1}};e.exports={includes:o(!0),indexOf:o(!1)}},4206:function(e,t,n){var r=n(7673),a=n(3880),i=n(1251),o=n(2058),s=n(9876),v=n(8136),u=a([].push),c=function(e){var t=1==e,n=2==e,a=3==e,c=4==e,l=6==e,m=7==e,g=5==e||l;return function(S,d,f,h){for(var p,I,C=o(S),D=i(C),E=r(d,f),M=s(D),A=0,P=h||v,T=t?P(S,M):n||m?P(S,0):void 0;M>A;A++)if((g||A in D)&&(I=E(p=D[A],A,C),e))if(t)T[A]=I;else if(I)switch(e){case 3:return!0;case 5:return p;case 6:return A;case 2:u(T,p)}else switch(e){case 4:return!1;case 7:u(T,p)}return l?-1:a||c?c:T}};e.exports={forEach:c(0),map:c(1),filter:c(2),some:c(3),every:c(4),find:c(5),findIndex:c(6),filterReject:c(7)}},2143:function(e,t,n){var r=n(6530),a=n(5712),i=n(8233),o=a("species");e.exports=function(e){return i>=51||!r((function(){var t=[];return(t.constructor={})[o]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},6628:function(e,t,n){"use strict";var r=n(6530);e.exports=function(e,t){var n=[][e];return!!n&&r((function(){n.call(null,t||function(){return 1},1)}))}},7692:function(e,t,n){var r=n(2868),a=n(5222),i=n(2058),o=n(1251),s=n(9876),v=r.TypeError,u=function(e){return function(t,n,r,u){a(n);var c=i(t),l=o(c),m=s(c),g=e?m-1:0,S=e?-1:1;if(r<2)for(;;){if(g in l){u=l[g],g+=S;break}if(g+=S,e?g<0:m<=g)throw v("Reduce of empty array with no initial value")}for(;e?g>=0:m>g;g+=S)g in l&&(u=n(u,l[g],g,c));return u}};e.exports={left:u(!1),right:u(!0)}},6901:function(e,t,n){var r=n(2868),a=n(3055),i=n(9876),o=n(409),s=r.Array,v=Math.max;e.exports=function(e,t,n){for(var r=i(e),u=a(t,r),c=a(void 0===n?r:n,r),l=s(v(c-u,0)),m=0;u0;)e[r]=e[--r];r!==i++&&(e[r]=n)}return e},s=function(e,t,n,r){for(var a=t.length,i=n.length,o=0,s=0;o1?arguments[1]:void 0);t=t?t.next:n.first;)for(r(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!p(this,e)}}),i(g,n?{get:function(e){var t=p(this,e);return t&&t.value},set:function(e,t){return h(this,0===e?0:e,t)}}:{add:function(e){return h(this,e=0===e?0:e,e)}}),l&&r(g,"size",{get:function(){return f(this).size}}),c},setStrong:function(e,t,n){var r=t+" Iterator",a=d(t),i=d(r);u(e,t,(function(e,t){S(this,{type:r,target:e,state:a(e),kind:t,last:void 0})}),(function(){for(var e=i(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),n?"entries":"values",!n,!0),c(t)}}},1390:function(e,t,n){"use strict";var r=n(390),a=n(2868),i=n(9446),o=n(6530),s=n(8518),v=n(3906),u=n(8792),c=n(8307),l=n(3359),m=n(6738),g=n(7550).f,S=n(4206).forEach,d=n(7001),f=n(5875),h=f.set,p=f.getterFor;e.exports=function(e,t,n){var f,I=-1!==e.indexOf("Map"),C=-1!==e.indexOf("Weak"),D=I?"set":"add",E=a[e],M=E&&E.prototype,A={};if(d&&c(E)&&(C||M.forEach&&!o((function(){(new E).entries().next()})))){var P=(f=t((function(t,n){h(u(t,P),{type:e,collection:new E}),null!=n&&v(n,t[D],{that:t,AS_ENTRIES:I})}))).prototype,T=p(e);S(["add","clear","delete","forEach","get","has","set","keys","values","entries"],(function(e){var t="add"==e||"set"==e;!(e in M)||C&&"clear"==e||s(P,e,(function(n,r){var a=T(this).collection;if(!t&&C&&!l(n))return"get"==e&&void 0;var i=a[e](0===n?0:n,r);return t?this:i}))})),C||g(P,"size",{configurable:!0,get:function(){return T(this).collection.size}})}else f=n.getConstructor(t,e,I,D),i.enable();return m(f,e,!1,!0),A[e]=f,r({global:!0,forced:!0},A),C||n.setStrong(f,e,I),f}},4498:function(e,t,n){var r=n(5584),a=n(5340),i=n(5904),o=n(7550);e.exports=function(e,t,n){for(var s=a(t),v=o.f,u=i.f,c=0;c0&&r[0]<4?1:+(r[0]+r[1])),!a&&o&&(!(r=o.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=o.match(/Chrome\/(\d+)/))&&(a=+r[1]),e.exports=a},576:function(e,t,n){var r=n(6900).match(/AppleWebKit\/(\d+)\./);e.exports=!!r&&+r[1]},2018:function(e,t,n){var r=n(9081);e.exports=function(e){return r[e+"Prototype"]}},2712:function(e){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},8417:function(e,t,n){var r=n(6530),a=n(5595);e.exports=!r((function(){var e=Error("a");return!("stack"in e)||(Object.defineProperty(e,"stack",a(1,7)),7!==e.stack)}))},390:function(e,t,n){"use strict";var r=n(2868),a=n(6266),i=n(3880),o=n(8307),s=n(5904).f,v=n(1011),u=n(9081),c=n(7673),l=n(8518),m=n(5584),g=function(e){var t=function t(n,r,i){if(this instanceof t){switch(arguments.length){case 0:return new e;case 1:return new e(n);case 2:return new e(n,r)}return new e(n,r,i)}return a(e,this,arguments)};return t.prototype=e.prototype,t};e.exports=function(e,t){var n,a,S,d,f,h,p,I,C=e.target,D=e.global,E=e.stat,M=e.proto,A=D?r:E?r[C]:(r[C]||{}).prototype,P=D?u:u[C]||l(u,C,{})[C],T=P.prototype;for(S in t)n=!v(D?S:C+(E?".":"#")+S,e.forced)&&A&&m(A,S),f=P[S],n&&(h=e.dontCallGetSet?(I=s(A,S))&&I.value:A[S]),d=n&&h?h:t[S],n&&typeof f==typeof d||(p=e.bind&&n?c(d,r):e.wrap&&n?g(d):M&&o(d)?i(d):d,(e.sham||d&&d.sham||f&&f.sham)&&l(p,"sham",!0),l(P,S,p),M&&(m(u,a=C+"Prototype")||l(u,a,{}),l(u[a],S,d),e.real&&T&&!T[S]&&l(T,S,d)))}},6530:function(e){e.exports=function(e){try{return!!e()}catch(e){return!0}}},6558:function(e,t,n){var r=n(6530);e.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},6266:function(e,t,n){var r=n(9086),a=Function.prototype,i=a.apply,o=a.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?o.bind(i):function(){return o.apply(i,arguments)})},7673:function(e,t,n){var r=n(3880),a=n(5222),i=n(9086),o=r(r.bind);e.exports=function(e,t){return a(e),void 0===t?e:i?o(e,t):function(){return e.apply(t,arguments)}}},9086:function(e,t,n){var r=n(6530);e.exports=!r((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))},3146:function(e,t,n){var r=n(9086),a=Function.prototype.call;e.exports=r?a.bind(a):function(){return a.apply(a,arguments)}},7730:function(e,t,n){var r=n(7001),a=n(5584),i=Function.prototype,o=r&&Object.getOwnPropertyDescriptor,s=a(i,"name"),v=s&&"something"===function(){}.name,u=s&&(!r||r&&o(i,"name").configurable);e.exports={EXISTS:s,PROPER:v,CONFIGURABLE:u}},3880:function(e,t,n){var r=n(9086),a=Function.prototype,i=a.bind,o=a.call,s=r&&i.bind(o,o);e.exports=r?function(e){return e&&s(e)}:function(e){return e&&function(){return o.apply(e,arguments)}}},8104:function(e,t,n){var r=n(9081),a=n(2868),i=n(8307),o=function(e){return i(e)?e:void 0};e.exports=function(e,t){return arguments.length<2?o(r[e])||o(a[e]):r[e]&&r[e][t]||a[e]&&a[e][t]}},5018:function(e,t,n){var r=n(7499),a=n(2809),i=n(9418),o=n(5712)("iterator");e.exports=function(e){if(null!=e)return a(e,o)||a(e,"@@iterator")||i[r(e)]}},5945:function(e,t,n){var r=n(2868),a=n(3146),i=n(5222),o=n(1912),s=n(7265),v=n(5018),u=r.TypeError;e.exports=function(e,t){var n=arguments.length<2?v(e):t;if(i(n))return o(a(n,e));throw u(s(e)+" is not iterable")}},2809:function(e,t,n){var r=n(5222);e.exports=function(e,t){var n=e[t];return null==n?void 0:r(n)}},2868:function(e,t,n){var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},5584:function(e,t,n){var r=n(3880),a=n(2058),i=r({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,t){return i(a(e),t)}},7048:function(e){e.exports={}},8471:function(e,t,n){var r=n(2868);e.exports=function(e,t){var n=r.console;n&&n.error&&(1==arguments.length?n.error(e):n.error(e,t))}},5644:function(e,t,n){var r=n(8104);e.exports=r("document","documentElement")},640:function(e,t,n){var r=n(7001),a=n(6530),i=n(231);e.exports=!r&&!a((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},1251:function(e,t,n){var r=n(2868),a=n(3880),i=n(6530),o=n(1570),s=r.Object,v=a("".split);e.exports=i((function(){return!s("z").propertyIsEnumerable(0)}))?function(e){return"String"==o(e)?v(e,""):s(e)}:s},1494:function(e,t,n){var r=n(3880),a=n(8307),i=n(2656),o=r(Function.toString);a(i.inspectSource)||(i.inspectSource=function(e){return o(e)}),e.exports=i.inspectSource},8525:function(e,t,n){var r=n(3359),a=n(8518);e.exports=function(e,t){r(t)&&"cause"in t&&a(e,"cause",t.cause)}},9446:function(e,t,n){var r=n(390),a=n(3880),i=n(7048),o=n(3359),s=n(5584),v=n(7550).f,u=n(9035),c=n(6159),l=n(8002),m=n(9),g=n(6558),S=!1,d=m("meta"),f=0,h=function(e){v(e,d,{value:{objectID:"O"+f++,weakData:{}}})},p=e.exports={enable:function(){p.enable=function(){},S=!0;var e=u.f,t=a([].splice),n={};n[d]=1,e(n).length&&(u.f=function(n){for(var r=e(n),a=0,i=r.length;ap;p++)if((C=R(e[p]))&&c(f,C))return C;return new d(!1)}r=l(e,h)}for(D=r.next;!(E=i(D,r)).done;){try{C=R(E.value)}catch(e){g(r,"throw",e)}if("object"==typeof C&&C&&c(f,C))return C}return new d(!1)}},309:function(e,t,n){var r=n(3146),a=n(1912),i=n(2809);e.exports=function(e,t,n){var o,s;a(e);try{if(!(o=i(e,"return"))){if("throw"===t)throw n;return n}o=r(o,e)}catch(e){s=!0,o=e}if("throw"===t)throw n;if(s)throw o;return a(o),n}},7300:function(e,t,n){"use strict";var r,a,i,o=n(6530),s=n(8307),v=n(2491),u=n(2629),c=n(491),l=n(5712),m=n(8367),g=l("iterator"),S=!1;[].keys&&("next"in(i=[].keys())?(a=u(u(i)))!==Object.prototype&&(r=a):S=!0),null==r||o((function(){var e={};return r[g].call(e)!==e}))?r={}:m&&(r=v(r)),s(r[g])||c(r,g,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:S}},9418:function(e){e.exports={}},9876:function(e,t,n){var r=n(3746);e.exports=function(e){return r(e.length)}},2047:function(e){var t=Math.ceil,n=Math.floor;e.exports=Math.trunc||function(e){var r=+e;return(r>0?n:t)(r)}},8054:function(e,t,n){var r,a,i,o,s,v,u,c,l=n(2868),m=n(7673),g=n(5904).f,S=n(6569).set,d=n(6540),f=n(6405),h=n(4010),p=n(6521),I=l.MutationObserver||l.WebKitMutationObserver,C=l.document,D=l.process,E=l.Promise,M=g(l,"queueMicrotask"),A=M&&M.value;A||(r=function(){var e,t;for(p&&(e=D.domain)&&e.exit();a;){t=a.fn,a=a.next;try{t()}catch(e){throw a?o():i=void 0,e}}i=void 0,e&&e.enter()},d||p||h||!I||!C?!f&&E&&E.resolve?((u=E.resolve(void 0)).constructor=E,c=m(u.then,u),o=function(){c(r)}):p?o=function(){D.nextTick(r)}:(S=m(S,l),o=function(){S(r)}):(s=!0,v=C.createTextNode(""),new I(r).observe(v,{characterData:!0}),o=function(){v.data=s=!s})),e.exports=A||function(e){var t={fn:e,next:void 0};i&&(i.next=t),a||(a=t,o()),i=t}},3700:function(e,t,n){var r=n(3216);e.exports=r&&!!Symbol.for&&!!Symbol.keyFor},3216:function(e,t,n){var r=n(8233),a=n(6530);e.exports=!!Object.getOwnPropertySymbols&&!a((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},4583:function(e,t,n){var r=n(6530),a=n(5712),i=n(8367),o=a("iterator");e.exports=!r((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,n="";return e.pathname="c%20d",t.forEach((function(e,r){t.delete("b"),n+=r+e})),i&&!e.toJSON||!t.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[o]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://\u0442\u0435\u0441\u0442").host||"#%D0%B1"!==new URL("http://a#\u0431").hash||"a1c3"!==n||"x"!==new URL("http://x",void 0).host}))},2297:function(e,t,n){var r=n(2868),a=n(8307),i=n(1494),o=r.WeakMap;e.exports=a(o)&&/native code/.test(i(o))},4130:function(e,t,n){"use strict";var r=n(5222),a=function(e){var t,n;this.promise=new e((function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r})),this.resolve=r(t),this.reject=r(n)};e.exports.f=function(e){return new a(e)}},7515:function(e,t,n){var r=n(5264);e.exports=function(e,t){return void 0===e?arguments.length<2?"":t:r(e)}},9611:function(e,t,n){var r=n(2868),a=n(6858),i=r.TypeError;e.exports=function(e){if(a(e))throw i("The method doesn't accept regular expressions");return e}},8689:function(e,t,n){var r=n(2868),a=n(6530),i=n(3880),o=n(5264),s=n(774).trim,v=n(3781),u=i("".charAt),c=r.parseFloat,l=r.Symbol,m=l&&l.iterator,g=1/c(v+"-0")!=-1/0||m&&!a((function(){c(Object(m))}));e.exports=g?function(e){var t=s(o(e)),n=c(t);return 0===n&&"-"==u(t,0)?-0:n}:c},3210:function(e,t,n){"use strict";var r=n(7001),a=n(3880),i=n(3146),o=n(6530),s=n(461),v=n(3764),u=n(1156),c=n(2058),l=n(1251),m=Object.assign,g=Object.defineProperty,S=a([].concat);e.exports=!m||o((function(){if(r&&1!==m({b:1},m(g({},"a",{enumerable:!0,get:function(){g(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol(),a="abcdefghijklmnopqrst";return e[n]=7,a.split("").forEach((function(e){t[e]=e})),7!=m({},e)[n]||s(m({},t)).join("")!=a}))?function(e,t){for(var n=c(e),a=arguments.length,o=1,m=v.f,g=u.f;a>o;)for(var d,f=l(arguments[o++]),h=m?S(s(f),m(f)):s(f),p=h.length,I=0;p>I;)d=h[I++],r&&!i(g,f,d)||(n[d]=f[d]);return n}:m},2491:function(e,t,n){var r,a=n(1912),i=n(4686),o=n(2712),s=n(7048),v=n(5644),u=n(231),c=n(5039)("IE_PROTO"),l=function(){},m=function(e){return"