UNPKG

@umessen/dicom-deidentifier

Version:

DICOM de-identification library for TypeScript

4 lines 1.36 MB
"use strict";var _s=Object.defineProperty;var ys=(n,t,e)=>t in n?_s(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var r0=(n,t,e)=>(ys(n,typeof t!="symbol"?t+"":t,e),e);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var Ct=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function iv(n,t){return t={exports:{}},n(t,t.exports),t.exports}const Li=()=>{},_i=Symbol("log-levels"),Na=Symbol("log-instance");var tr=class{constructor(t){this[Na]=t,this[_i]={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5}}get levels(){return this[_i]}get logger(){return this[Na]}set logger(t){this[Na]=t}get methods(){return Object.keys(this.levels).map(t=>t.toLowerCase()).filter(t=>t!=="silent")}bindMethod(t,e){const a=t[e];if(typeof a.bind=="function")return a.bind(t);try{return Function.prototype.bind.call(a,t)}catch{return function(){return Function.prototype.apply.apply(a,[t,arguments])}}}distillLevel(t){let e=t;return typeof e=="string"&&typeof this.levels[e.toUpperCase()]<"u"&&(e=this.levels[e.toUpperCase()]),this.levelValid(e)?e:!1}levelValid(t){return typeof t=="number"&&t>=0&&t<=this.levels.SILENT}make(t){return t==="debug"&&(t="log"),typeof console[t]<"u"?this.bindMethod(console,t):typeof console.log<"u"?this.bindMethod(console,"log"):Li}replaceMethods(t){const e=this.distillLevel(t);if(e==null)throw new Error(`loglevelnext: replaceMethods() called with invalid level: ${t}`);if(!this.logger||this.logger.type!=="LogLevel")throw new TypeError("loglevelnext: Logger is undefined or invalid. Please specify a valid Logger instance.");this.methods.forEach(a=>{const{[a.toUpperCase()]:r}=this.levels;this.logger[a]=r<e?Li:this.make(a)}),this.logger.log=this.logger.debug}};const Us={level:n=>`[${n.level}]`,name:n=>n.logger.name,template:"{{time}} {{level}} ",time:()=>new Date().toTimeString().split(" ")[0]};var vv=class extends tr{constructor(t,e){super(t),this.options=Object.assign({},Us,e)}interpolate(t){return this.options.template.replace(/{{([^{}]*)}}/g,(e,a)=>{const r=this.options[a];return r?r({level:t,logger:this.logger}):e})}make(t){const e=super.make(t);return(...a)=>{const r=this.interpolate(t),[v]=a;typeof v=="string"?a[0]=r+v:a.unshift(r),e(...a)}}};const Gs={factory:null,level:"warn",name:+new Date,prefix:null};var yi=class{constructor(t){if(this.type="LogLevel",this.options=Object.assign({},Gs,t),this.methodFactory=t.factory,!this.methodFactory){const e=t.prefix?new vv(this,t.prefix):new tr(this);this.methodFactory=e}this.methodFactory.logger||(this.methodFactory.logger=this),this.name=t.name||"<unknown>",this.level=this.options.level}get factory(){return this.methodFactory}set factory(t){t.logger=this,this.methodFactory=t,this.methodFactory.replaceMethods(this.level)}disable(){this.level=this.levels.SILENT}enable(){this.level=this.levels.TRACE}get level(){return this.currentLevel}set level(t){const e=this.methodFactory.distillLevel(t);if(e===!1||e==null)throw new RangeError(`loglevelnext: setLevel() called with invalid level: ${t}`);this.currentLevel=e,this.methodFactory.replaceMethods(e),typeof console>"u"&&e<this.levels.SILENT&&console.warn("loglevelnext: console is undefined. The log will produce no output.")}get levels(){return this.methodFactory.levels}},Fs=iv(function(n){const t=Symbol("log-factories");class e extends yi{constructor(){super({name:"default"}),this.cache={default:this},this[t]={MethodFactory:tr,PrefixFactory:vv}}get factories(){return this[t]}get loggers(){return this.cache}create(r){let v;typeof r=="string"?v={name:r}:v=Object.assign({},r),v.id||(v.id=v.name);const{name:o,id:s}=v,m={level:this.level};if(typeof o!="string"||!o||!o.length)throw new TypeError("You must supply a name when creating a logger.");let l=this.cache[s];return l||(l=new yi(Object.assign({},m,v)),this.cache[s]=l),l}}n.exports=new e,n.exports.default=n.exports}),ve=Fs.create("dcmjs"),tt={getBytesForBinaryFrame:ov,pack:bs,unpack:ws};function ov(n){var t=n%8,e=Math.floor(n/8);return t>0&&e++,e}function bs(n){var t=n.length;ve.log("numPixels: "+t);for(var e=ov(t),a=new Uint8Array(e),r=0,v=0;v<t;v++){r=Math.floor(v/8);var o=n[v]!==0,s=o<<v%8;a[r]|=s}return a}function ws(n){for(var t=new Uint8Array(n),e=new Uint8Array(8*t.length),a=0;a<e.length;a++){var r=a%8,v=Math.floor(a/8);e[a]=255*((t[v]&1<<r)>>r)}return e}function Ui(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);t&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),e.push.apply(e,a)}return e}function de(n){for(var t=1;t<arguments.length;t++){var e=arguments[t]!=null?arguments[t]:{};t%2?Ui(Object(e),!0).forEach(function(a){M0(n,a,e[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):Ui(Object(e)).forEach(function(a){Object.defineProperty(n,a,Object.getOwnPropertyDescriptor(e,a))})}return n}function ie(n){return ie=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ie(n)}function P(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}function Gi(n,t){for(var e=0;e<t.length;e++){var a=t[e];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(n,a.key,a)}}function p(n,t,e){return t&&Gi(n.prototype,t),e&&Gi(n,e),Object.defineProperty(n,"prototype",{writable:!1}),n}function M0(n,t,e){return t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function T(n,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),Object.defineProperty(n,"prototype",{writable:!1}),t&&zn(n,t)}function W(n){return W=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},W(n)}function zn(n,t){return zn=Object.setPrototypeOf||function(a,r){return a.__proto__=r,a},zn(n,t)}function sv(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function f0(n,t,e){return sv()?f0=Reflect.construct:f0=function(r,v,o){var s=[null];s.push.apply(s,v);var m=Function.bind.apply(r,s),l=new m;return o&&zn(l,o.prototype),l},f0.apply(null,arguments)}function Vs(n){return Function.toString.call(n).indexOf("[native code]")!==-1}function wa(n){var t=typeof Map=="function"?new Map:void 0;return wa=function(a){if(a===null||!Vs(a))return a;if(typeof a!="function")throw new TypeError("Super expression must either be null or a function");if(typeof t<"u"){if(t.has(a))return t.get(a);t.set(a,r)}function r(){return f0(a,arguments,W(this).constructor)}return r.prototype=Object.create(a.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),zn(r,a)},wa(n)}function Bs(n){if(n===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n}function Bt(n,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Bs(n)}function h(n){var t=sv();return function(){var a=W(n),r;if(t){var v=W(this).constructor;r=Reflect.construct(a,arguments,v)}else r=a.apply(this,arguments);return Bt(this,r)}}function qs(n,t){for(;!Object.prototype.hasOwnProperty.call(n,t)&&(n=W(n),n!==null););return n}function Y(){return typeof Reflect<"u"&&Reflect.get?Y=Reflect.get:Y=function(t,e,a){var r=qs(t,e);if(!!r){var v=Object.getOwnPropertyDescriptor(r,e);return v.get?v.get.call(arguments.length<3?t:a):v.value}},Y.apply(this,arguments)}function me(n,t){return ks(n)||Hs(n,t)||ar(n,t)||Xs()}function z(n){return xs(n)||Qs(n)||ar(n)||Ws()}function xs(n){if(Array.isArray(n))return Va(n)}function ks(n){if(Array.isArray(n))return n}function Qs(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function Hs(n,t){var e=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(e!=null){var a=[],r=!0,v=!1,o,s;try{for(e=e.call(n);!(r=(o=e.next()).done)&&(a.push(o.value),!(t&&a.length===t));r=!0);}catch(m){v=!0,s=m}finally{try{!r&&e.return!=null&&e.return()}finally{if(v)throw s}}return a}}function ar(n,t){if(!!n){if(typeof n=="string")return Va(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);if(e==="Object"&&n.constructor&&(e=n.constructor.name),e==="Map"||e==="Set")return Array.from(n);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Va(n,t)}}function Va(n,t){(t==null||t>n.length)&&(t=n.length);for(var e=0,a=new Array(t);e<t;e++)a[e]=n[e];return a}function Ws(){throw new TypeError(`Invalid attempt to spread non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Xs(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ys(n,t){var e=typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(!e){if(Array.isArray(n)||(e=ar(n))||t&&n&&typeof n.length=="number"){e&&(n=e);var a=0,r=function(){};return{s:r,n:function(){return a>=n.length?{done:!0}:{done:!1,value:n[a++]}},e:function(m){throw m},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var v=!0,o=!1,s;return{s:function(){e=e.call(n)},n:function(){var m=e.next();return v=m.done,m},e:function(m){o=!0,s=m},f:function(){try{!v&&e.return!=null&&e.return()}finally{if(o)throw s}}}}function C0(n){if(isNaN(n))throw new Error("Not a number: "+n);return typeof n=="string"?parseInt(n):n}function Fi(n){if(isNaN(n))throw new Error("Not a number: "+n);return typeof n=="string"?parseFloat(n):n}var mv=function(){function n(t,e){P(this,n),this.buffer=typeof t=="number"?new ArrayBuffer(t):t,this.buffer||(this.buffer=new ArrayBuffer(0)),this.view=new DataView(this.buffer),this.offset=0,this.isLittleEndian=e||!1,this.size=0,this.encoder=new TextEncoder("utf-8")}return p(n,[{key:"setEndian",value:function(e){this.isLittleEndian=e}},{key:"writeUint8",value:function(e){return this.checkSize(1),this.view.setUint8(this.offset,C0(e)),this.increment(1)}},{key:"writeUint8Repeat",value:function(e,a){var r=C0(e);this.checkSize(a);for(var v=0;v<a;v++)this.view.setUint8(this.offset+v,r);return this.increment(a)}},{key:"writeInt8",value:function(e){return this.checkSize(1),this.view.setInt8(this.offset,C0(e)),this.increment(1)}},{key:"writeUint16",value:function(e){return this.checkSize(2),this.view.setUint16(this.offset,C0(e),this.isLittleEndian),this.increment(2)}},{key:"writeTwoUint16s",value:function(e){this.checkSize(4);var a=e>>16,r=e&65535;return this.view.setUint16(this.offset,C0(a),this.isLittleEndian),this.view.setUint16(this.offset+2,C0(r),this.isLittleEndian),this.increment(4)}},{key:"writeInt16",value:function(e){return this.checkSize(2),this.view.setInt16(this.offset,C0(e),this.isLittleEndian),this.increment(2)}},{key:"writeUint32",value:function(e){return this.checkSize(4),this.view.setUint32(this.offset,C0(e),this.isLittleEndian),this.increment(4)}},{key:"writeInt32",value:function(e){return this.checkSize(4),this.view.setInt32(this.offset,C0(e),this.isLittleEndian),this.increment(4)}},{key:"writeFloat",value:function(e){return this.checkSize(4),this.view.setFloat32(this.offset,Fi(e),this.isLittleEndian),this.increment(4)}},{key:"writeDouble",value:function(e){return this.checkSize(8),this.view.setFloat64(this.offset,Fi(e),this.isLittleEndian),this.increment(8)}},{key:"writeUTF8String",value:function(e){var a=this.encoder.encode(e);return this.checkSize(a.byteLength),new Uint8Array(this.buffer).set(a,this.offset),this.increment(a.byteLength)}},{key:"writeAsciiString",value:function(e){e=e||"";var a=e.length;this.checkSize(a);for(var r=this.offset,v=0;v<a;v++){var o=e.charCodeAt(v);this.view.setUint8(r+v,o)}return this.increment(a)}},{key:"readUint32",value:function(){var e=this.view.getUint32(this.offset,this.isLittleEndian);return this.increment(4),e}},{key:"readUint16",value:function(){var e=this.view.getUint16(this.offset,this.isLittleEndian);return this.increment(2),e}},{key:"readUint8",value:function(){var e=this.view.getUint8(this.offset);return this.increment(1),e}},{key:"peekUint8",value:function(e){return this.view.getUint8(this.offset+e)}},{key:"readUint8Array",value:function(e){var a=new Uint8Array(this.buffer,this.offset,e);return this.increment(e),a}},{key:"readUint16Array",value:function(e){for(var a=e/2,r=new Uint16Array(a),v=0;v++<a;)r[v]=this.view.getUint16(this.offset,this.isLittleEndian),this.offset+=2;return r}},{key:"readInt16",value:function(){var e=this.view.getInt16(this.offset,this.isLittleEndian);return this.increment(2),e}},{key:"readInt32",value:function(){var e=this.view.getInt32(this.offset,this.isLittleEndian);return this.increment(4),e}},{key:"readFloat",value:function(){var e=this.view.getFloat32(this.offset,this.isLittleEndian);return this.increment(4),e}},{key:"readDouble",value:function(){var e=this.view.getFloat64(this.offset,this.isLittleEndian);return this.increment(8),e}},{key:"readAsciiString",value:function(e){var a="",r=this.offset,v=this.offset+e;v>=this.buffer.byteLength&&(v=this.buffer.byteLength);for(var o=r;o<v;++o)a+=String.fromCharCode(this.view.getUint8(o));return this.increment(v-r),a}},{key:"readVR",value:function(){var e=String.fromCharCode(this.view.getUint8(this.offset))+String.fromCharCode(this.view.getUint8(this.offset+1));return this.increment(2),e}},{key:"readEncodedString",value:function(e){this.offset+e>=this.buffer.byteLength&&(e=this.buffer.byteLength-this.offset);var a=new DataView(this.buffer,this.offset,e),r=this.decoder.decode(a);return this.increment(e),r}},{key:"readHex",value:function(e){for(var a="",r=0;r<e;r++)a+=this.readUint8().toString(16);return a}},{key:"checkSize",value:function(e){if(this.offset+e>this.buffer.byteLength){var a=this.offset+e+this.buffer.byteLength,r=new ArrayBuffer(a);new Uint8Array(r).set(new Uint8Array(this.buffer)),this.buffer=r,this.view=new DataView(this.buffer)}}},{key:"concat",value:function(e){var a=this.buffer.byteLength-this.offset;if(e.size>a){var r=new ArrayBuffer(this.offset+e.size),v=new Uint8Array(r);v.set(new Uint8Array(this.getBuffer(0,this.offset))),v.set(new Uint8Array(e.getBuffer(0,e.size)),this.offset),this.buffer=r,this.view=new DataView(this.buffer)}else{var o=new Uint8Array(this.buffer);o.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,a){return!e&&!a&&(e=0,a=this.size),this.buffer.slice(e,a)}},{key:"more",value:function(e){if(this.offset+e>this.endOffset)throw new Error("Request more than currently allocated buffer");var a=new X0(this.buffer,null,{start:this.offset,stop:this.offset+e});return this.increment(e),a}},{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}}]),n}(),X0=function(n){T(e,n);var t=h(e);function e(a,r){var v,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{start:null,stop:null,noCopy:!1};return P(this,e),v=t.call(this,a,r),v.offset=o.start||0,v.size=o.stop||v.buffer.byteLength,v.noCopy=o.noCopy,v.startOffset=v.offset,v.endOffset=v.size,v.decoder=new TextDecoder("latin1"),v}return p(e,[{key:"setDecoder",value:function(r){this.decoder=r}},{key:"getBuffer",value:function(r,v){return this.noCopy?new Uint8Array(this.buffer,r,v-r):(!r&&!v&&(r=0,v=this.size),this.buffer.slice(r,v))}},{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(r){throw new Error(r,"writeUint8 not implemented")}},{key:"writeUint8Repeat",value:function(r,v){throw new Error(r,"writeUint8Repeat not implemented")}},{key:"writeInt8",value:function(r){throw new Error(r,"writeInt8 not implemented")}},{key:"writeUint16",value:function(r){throw new Error(r,"writeUint16 not implemented")}},{key:"writeTwoUint16s",value:function(r){throw new Error(r,"writeTwoUint16s not implemented")}},{key:"writeInt16",value:function(r){throw new Error(r,"writeInt16 not implemented")}},{key:"writeUint32",value:function(r){throw new Error(r,"writeUint32 not implemented")}},{key:"writeInt32",value:function(r){throw new Error(r,"writeInt32 not implemented")}},{key:"writeFloat",value:function(r){throw new Error(r,"writeFloat not implemented")}},{key:"writeDouble",value:function(r){throw new Error(r,"writeDouble not implemented")}},{key:"writeAsciiString",value:function(r){throw new Error(r,"writeAsciiString not implemented")}},{key:"writeUTF8String",value:function(r){throw new Error(r,"writeUTF8String not implemented")}},{key:"checkSize",value:function(r){throw new Error(r,"checkSize not implemented")}},{key:"concat",value:function(r){throw new Error(r,"concat not implemented")}}]),e}(mv),jn=function(n){T(e,n);var t=h(e);function e(a,r){var v;return P(this,e),v=t.call(this,a,r),v.size=0,v}return p(e)}(mv);function cn(n){return n.replace(/\s*$/g,"")}function zs(n,t){return Array.from({length:n.length-(t-1)},function(e,a){return n.slice(a,a+t)})}var js=["FL","FD","SL","SS","UL","US","AT"],Ks=["OB","OW","OF","SQ","UC","UR","UT","UN"],$s=["SQ","OF","OW","OB","UN"],Ge=function(){function n(t){P(this,n),this.type=t,this.multi=!1,this._isBinary=js.indexOf(this.type)!=-1,this._allowMultiple=!this._isBinary&&$s.indexOf(this.type)==-1,this._isExplicit=Ks.indexOf(this.type)!=-1}return p(n,[{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,a,r){if(this.fixed&&this.maxLength){if(!a)return this.defaultValue;this.maxLength!=a&&ve.error("Invalid length for fixed length tag, vr "+this.type+", length "+this.maxLength+" != "+a)}return this.readBytes(e,a,r)}},{key:"readBytes",value:function(e,a){return e.readAsciiString(a)}},{key:"readNullPaddedString",value:function(e,a){if(!a)return"";if(e.peekUint8(a-1)!==0)return e.readAsciiString(a);var r=e.readAsciiString(a-1);return e.increment(1),r}},{key:"write",value:function(e,a){var r=Array.from(arguments);if(r[2]===null||r[2]===""||r[2]===void 0)return[e.writeAsciiString("")];var v=[],o=r.slice(2),s=e["write"+a];if(Array.isArray(o[0]))if(o[0].length<1)v.push(0);else{var m=this;o[0].forEach(function(l,S){m.allowMultiple()&&S>0&&e.writeUint8(92);var u=[l].concat(o.slice(1)),I=s.apply(e,u);v.push(I)})}else v.push(s.apply(e,o));return v}},{key:"writeBytes",value:function(e,a,r){for(var v=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{allowInvalidVRLength:!1},o=v.allowInvalidVRLength,s=!0,m=Array.isArray(a)?a:[a],l=0,S=0;S<m.length;S++){var u=m[S],I=r[S],D=!1,C=I;if(u===null||o)s=!0;else if(this.checkLength)s=this.checkLength(u);else if(this.maxCharLength){var M=this.maxCharLength;s=u.length<=M,C=u.length,D=!0}else this.maxLength&&(s=I<=this.maxLength);if(!s){var O="Value exceeds max length, vr: "+this.type+", value: "+u+", length: "+C;if(D)ve.log(O);else throw new Error(O)}l+=I}this.allowMultiple()&&(l+=m.length?m.length-1:0);var R=l;return l&1&&(e.writeUint8(this.padByte),R++),R}}],[{key:"createByTypeString",value:function(e){var a=ct[e];return a===void 0&&(e=="ox"?(ve.error("Invalid vr type "+e+" - using OW"),a=ct.OW):e=="xs"?(ve.error("Invalid vr type "+e+" - using US"),a=ct.US):(ve.error("Invalid vr type "+e+" - using UN"),a=ct.UN)),a}}]),n}(),S0=function(n){T(e,n);var t=h(e);function e(a){return P(this,e),t.call(this,a)}return p(e,[{key:"readBytes",value:function(r,v){return r.readAsciiString(v)}},{key:"writeBytes",value:function(r,v,o){var s=Y(W(e.prototype),"write",this).call(this,r,"AsciiString",v);return Y(W(e.prototype),"writeBytes",this).call(this,r,v,s,o)}}]),e}(Ge),J0=function(n){T(e,n);var t=h(e);function e(a){return P(this,e),t.call(this,a)}return p(e,[{key:"readBytes",value:function(r,v){return r.readEncodedString(v)}},{key:"writeBytes",value:function(r,v,o){var s=Y(W(e.prototype),"write",this).call(this,r,"UTF8String",v);return Y(W(e.prototype),"writeBytes",this).call(this,r,v,s,o)}}]),e}(Ge),at=function(n){T(e,n);var t=h(e);function e(a){return P(this,e),t.call(this,a)}return p(e,[{key:"writeBytes",value:function(r,v,o,s){var m=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{},l,S,u=m.fragmentMultiframe,I=u===void 0?!0:u;if(v=v==null?[]:v,s){var D=20480,C=v.length,M=[],O=0;for(l=0;l<C;l++){var R=Boolean(v[l].byteLength&1);O+=v[l].byteLength+(R?1:0);var c=1;I&&(c=Math.ceil(v[l].byteLength/D)),O+=c*8}for(S=new jn(O,r.isLittleEndian),l=0;l<C;l++){var f=Boolean(v[l].byteLength&1);M.push(S.size);var E=v[l],N=new X0(E),b=1;I&&(b=Math.ceil(N.size/D));for(var q=0,H=0;q<b;q++){var X=q===b-1,J=H+N.size;I&&(J=H+D),X&&(J=N.size);var re=new X0(N.getBuffer(H,J));H=J,S.writeUint16(65534),S.writeUint16(57344);var Z=X&&f;S.writeUint32(re.size+(Z?1:0)),S.concat(re),Z&&S.writeInt8(this.padByte)}}for(r.writeUint16(65534),r.writeUint16(57344),r.writeUint32(M.length*4),l=0;l<M.length;l++)r.writeUint32(M[l]);return r.concat(S),r.writeUint16(65534),r.writeUint16(57565),r.writeUint32(0),4294967295}else{var ge=v[0];return S=new X0(ge),r.concat(S),Y(W(e.prototype),"writeBytes",this).call(this,r,ge,[S.size],m)}}},{key:"readBytes",value:function(r,v){if(v==4294967295){var o=E0.readTag(r),s=[];if(o.is(4294893568)){var m=r.readUint32(),l=1,S=[];if(m>0){l=m/4;for(var u=0;u++<l;)S.push(r.readUint32())}else S=[];var I=4294893568,D=4294893789,C=function(c){var f=E0.readTag(c);if(f.is(I)){var E=c.readUint32(),N=c.getBuffer(c.offset,c.offset+E);return c.increment(E),N}else if(f.is(D)){if(c.readUint32()!==0)throw Error("SequenceDelimiterItem tag value was not zero");return null}throw Error("Invalid tag in sequence")};if(S.length>0)S=S.map(function(R){return R+r.offset}),S.push(r.size),s=zs(S,2).map(function(R){for(var c=[],f=me(R,2),E=f[0],N=f[1],b=new X0(r.buffer,r.isLittleEndian,{start:E,stop:N,noCopy:r.noCopy}),q=0;!b.end();){var H=C(b);if(H===null)break;c.push(H),q+=H.byteLength}if(r.offset=b.offset,c.length===1)return c[0];if(b.noCopy)return c;var X=new ArrayBuffer(q),J=new Uint8Array(X);return c.reduce(function(re,Z){return J.set(new Uint8Array(Z),re),re+Z.byteLength},0),X});else for(;!r.end();){var M=C(r);if(M===null)break;s.push(M)}}else throw new Error("Item tag not found after undefined binary length");return s}else{var O;return O=r.getBuffer(r.offset,r.offset+v),r.increment(v),[O]}}}]),e}(Ge),Zs=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"AE"),a.maxLength=16,a.padByte=32,a}return p(e,[{key:"readBytes",value:function(r,v){return r.readAsciiString(v).trim()}}]),e}(S0),Js=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"CS"),a.maxLength=16,a.padByte=32,a}return p(e,[{key:"readBytes",value:function(r,v){return r.readAsciiString(v).trim()}}]),e}(S0),em=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"AS"),a.maxLength=4,a.padByte=32,a.fixed=!0,a.defaultValue="",a}return p(e)}(S0),nm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"AT"),a.maxLength=4,a.valueLength=4,a.padByte=0,a.fixed=!0,a}return p(e,[{key:"readBytes",value:function(r){return E0.readTag(r).value}},{key:"writeBytes",value:function(r,v,o){return Y(W(e.prototype),"writeBytes",this).call(this,r,v,Y(W(e.prototype),"write",this).call(this,r,"TwoUint16s",v),o)}}]),e}(Ge),tm=function(n){T(e,n);var t=h(e);function e(a){var r;return P(this,e),r=t.call(this,"DA",a),r.maxLength=18,r.padByte=32,r.defaultValue="",r}return p(e)}(S0),am=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"DS"),a.maxLength=16,a.padByte=32,a}return p(e,[{key:"readBytes",value:function(r,v){var o=String.fromCharCode(92),s=r.readAsciiString(v);if(s=s.replace(/[^0-9.\\\-+e]/gi,""),s.indexOf(o)!==-1){var m=s.split(o);s=m.map(function(l){return l===""?null:Number(l)})}else s=[s===""?null:Number(s)];return s}},{key:"formatValue",value:function(r){if(r===null)return"";var v=String(r);return v.length>this.maxLength?r.toExponential():v}},{key:"writeBytes",value:function(r,v,o){var s=this,m=Array.isArray(v)?v.map(function(l){return s.formatValue(l)}):[this.formatValue(v)];return Y(W(e.prototype),"writeBytes",this).call(this,r,m,o)}}]),e}(S0),rm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"DT"),a.maxLength=26,a.padByte=32,a}return p(e)}(S0),im=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"FL"),a.maxLength=4,a.padByte=0,a.fixed=!0,a.defaultValue=0,a}return p(e,[{key:"readBytes",value:function(r){return Number(r.readFloat())}},{key:"writeBytes",value:function(r,v,o){return Y(W(e.prototype),"writeBytes",this).call(this,r,v,Y(W(e.prototype),"write",this).call(this,r,"Float",v),o)}}]),e}(Ge),vm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"FD"),a.maxLength=8,a.padByte=0,a.fixed=!0,a.defaultValue=0,a}return p(e,[{key:"readBytes",value:function(r){return Number(r.readDouble())}},{key:"writeBytes",value:function(r,v,o){return Y(W(e.prototype),"writeBytes",this).call(this,r,v,Y(W(e.prototype),"write",this).call(this,r,"Double",v),o)}}]),e}(Ge),om=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"IS"),a.maxLength=12,a.padByte=32,a}return p(e,[{key:"readBytes",value:function(r,v){var o=String.fromCharCode(92),s=r.readAsciiString(v).trim();if(s=s.replace(/[^0-9.\\\-+e]/gi,""),s.indexOf(o)!==-1){var m=s.split(o);s=m.map(function(l){return l===""?null:Number(l)})}else s=[s===""?null:Number(s)];return s}},{key:"formatValue",value:function(r){return r===null?"":String(r)}},{key:"writeBytes",value:function(r,v,o){var s=this,m=Array.isArray(v)?v.map(function(l){return s.formatValue(l)}):[this.formatValue(v)];return Y(W(e.prototype),"writeBytes",this).call(this,r,m,o)}}]),e}(S0),sm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"LO"),a.maxCharLength=64,a.padByte=32,a}return p(e,[{key:"readBytes",value:function(r,v){return r.readEncodedString(v).trim()}}]),e}(J0),mm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"LT"),a.maxCharLength=10240,a.padByte=32,a}return p(e,[{key:"readBytes",value:function(r,v){return cn(r.readEncodedString(v))}}]),e}(J0),lm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"PN"),a.maxLength=null,a.padByte=32,a}return p(e,[{key:"checkLength",value:function(r){var v=[];ie(r)==="object"&&r!==null?v=Object.keys(r).forEach(function(m){return r[m]}):(typeof r=="string"||r instanceof String)&&(v=r.split(/\=/));for(var o in v){var s=v[o];if(s.length>64)return!1}return!0}},{key:"readBytes",value:function(r,v){return cn(r.readEncodedString(v))}}]),e}(J0),Sm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"SH"),a.maxCharLength=16,a.padByte=32,a}return p(e,[{key:"readBytes",value:function(r,v){return r.readEncodedString(v).trim()}}]),e}(J0),um=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"SL"),a.maxLength=4,a.padByte=0,a.fixed=!0,a.defaultValue=0,a}return p(e,[{key:"readBytes",value:function(r){return r.readInt32()}},{key:"writeBytes",value:function(r,v,o){return Y(W(e.prototype),"writeBytes",this).call(this,r,v,Y(W(e.prototype),"write",this).call(this,r,"Int32",v),o)}}]),e}(Ge),Im=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"SQ"),a.maxLength=null,a.padByte=0,a.noMultiple=!0,a}return p(e,[{key:"readBytes",value:function(r,v,o){if(v==0)return[];for(var s=v==4294967295,m=[],l=0;;){var S=E0.readTag(r),u=null;if(l+=4,S.is(4294893789)){r.readUint32();break}else{if(!s&&l==v)break;if(S.is(4294893568)){u=r.readUint32(),l+=4;var I=null,D=0,C=u==4294967295;if(C)for(var M=0;;){var O=r.readUint16();if(O==65534){var R=r.readUint16();if(R==57357)if(M--,M<0){r.increment(4),l+=8;break}else D+=4;else if(R==57344){M++,D+=4;var c=r.readUint32();r.increment(-4),c===0&&M--}else D+=2,r.increment(-2)}else D+=2}else D=u;if(D){r.increment(C?-D-8:0),I=r.more(D),l+=D,C&&r.increment(8);var f=xe._read(I,o);m.push(f)}if(!s&&l==v)break}}}return m}},{key:"writeBytes",value:function(r,v,o,s){var m=0;if(v)for(var l=0;l<v.length;l++){var S=v[l];Y(W(e.prototype),"write",this).call(this,r,"Uint16",65534),Y(W(e.prototype),"write",this).call(this,r,"Uint16",57344),Y(W(e.prototype),"write",this).call(this,r,"Uint32",4294967295),m+=xe.write(S,r,o,s),Y(W(e.prototype),"write",this).call(this,r,"Uint16",65534),Y(W(e.prototype),"write",this).call(this,r,"Uint16",57357),Y(W(e.prototype),"write",this).call(this,r,"Uint32",0),m+=16}return Y(W(e.prototype),"write",this).call(this,r,"Uint16",65534),Y(W(e.prototype),"write",this).call(this,r,"Uint16",57565),Y(W(e.prototype),"write",this).call(this,r,"Uint32",0),m+=8,Y(W(e.prototype),"writeBytes",this).call(this,r,v,[m],s)}}]),e}(Ge),gm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"SS"),a.maxLength=2,a.valueLength=2,a.padByte=0,a.fixed=!0,a.defaultValue=0,a}return p(e,[{key:"readBytes",value:function(r){return r.readInt16()}},{key:"writeBytes",value:function(r,v,o){return Y(W(e.prototype),"writeBytes",this).call(this,r,v,Y(W(e.prototype),"write",this).call(this,r,"Int16",v),o)}}]),e}(Ge),Dm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"ST"),a.maxCharLength=1024,a.padByte=32,a}return p(e,[{key:"readBytes",value:function(r,v){return cn(r.readEncodedString(v))}}]),e}(J0),Cm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"TM"),a.maxLength=14,a.padByte=32,a}return p(e,[{key:"readBytes",value:function(r,v){return cn(r.readAsciiString(v))}}]),e}(S0),cm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"UC"),a.maxLength=null,a.multi=!0,a.padByte=32,a}return p(e,[{key:"readBytes",value:function(r,v){return cn(r.readEncodedString(v))}}]),e}(J0),Om=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"UT"),a.maxLength=null,a.padByte=32,a}return p(e,[{key:"readBytes",value:function(r,v){return cn(r.readEncodedString(v))}}]),e}(J0),Mm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"US"),a.maxLength=2,a.padByte=0,a.fixed=!0,a.defaultValue=0,a}return p(e,[{key:"readBytes",value:function(r){return r.readUint16()}},{key:"writeBytes",value:function(r,v,o){return Y(W(e.prototype),"writeBytes",this).call(this,r,v,Y(W(e.prototype),"write",this).call(this,r,"Uint16",v),o)}}]),e}(Ge),Pm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"UL"),a.maxLength=4,a.padByte=0,a.fixed=!0,a.defaultValue=0,a}return p(e,[{key:"readBytes",value:function(r){return r.readUint32()}},{key:"writeBytes",value:function(r,v,o){return Y(W(e.prototype),"writeBytes",this).call(this,r,v,Y(W(e.prototype),"write",this).call(this,r,"Uint32",v),o)}}]),e}(Ge),pm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"UI"),a.maxLength=64,a.padByte=0,a}return p(e,[{key:"readBytes",value:function(r,v){var o=this.readNullPaddedString(r,v),s=String.fromCharCode(92),m=/[^0-9.]/g;return o.indexOf(s)===-1?o.replace(m,""):o.split(s).map(function(l){return l.replace(m,"")})}}]),e}(S0),dm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"UR"),a.maxLength=null,a.padByte=32,a}return p(e,[{key:"readBytes",value:function(r,v){return r.readAsciiString(v)}}]),e}(S0),fm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"UN"),a.maxLength=null,a.padByte=0,a.noMultiple=!0,a}return p(e)}(at),Em=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"OW"),a.maxLength=null,a.padByte=0,a.noMultiple=!0,a}return p(e)}(at),Rm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"OB"),a.maxLength=null,a.padByte=0,a.noMultiple=!0,a}return p(e)}(at),Am=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"OD"),a.maxLength=null,a.padByte=0,a.noMultiple=!0,a}return p(e)}(at),Tm=function(n){T(e,n);var t=h(e);function e(){var a;return P(this,e),a=t.call(this,"OF"),a.maxLength=null,a.padByte=0,a.noMultiple=!0,a}return p(e)}(at),ct={AE:new Zs,AS:new em,AT:new nm,CS:new Js,DA:new tm,DS:new am,DT:new rm,FL:new im,FD:new vm,IS:new om,LO:new sm,LT:new mm,OB:new Rm,OD:new Am,OF:new Tm,OW:new Em,PN:new lm,SH:new Sm,SL:new um,SQ:new Im,SS:new gm,ST:new Dm,TM:new Cm,UC:new cm,UI:new pm,UL:new Pm,UN:new fm,UR:new dm,US:new Mm,UT:new Om},bi="1.2.840.10008.1.2",hm="1.2.840.10008.1.2.1";function Ot(n,t){return String(n+t).slice(-n.length)}var E0=function(){function n(t){P(this,n),this.value=t}return p(n,[{key:"toString",value:function(){return"("+Ot("0000",this.group().toString(16).toUpperCase())+","+Ot("0000",this.element().toString(16).toUpperCase())+")"}},{key:"toCleanString",value:function(){return Ot("0000",this.group().toString(16).toUpperCase())+Ot("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 this.value&65535}},{key:"isPixelDataTag",value:function(){return this.is(2145386512)}},{key:"isPrivateCreator",value:function(){var e=this.group(),a=this.element();return e%2===1&&a<256&&a>0}},{key:"write",value:function(e,a,r,v,o){var s=Ge.createByTypeString(a),m=xe._normalizeSyntax(v),l=m==bi,S=m==bi||m==hm,u=this.isPixelDataTag()&&xe.isEncapsulated(v),I=e.isLittleEndian;e.setEndian(S),e.writeUint16(this.group()),e.writeUint16(this.element());var D=new jn(256),C;D.setEndian(S),a=="OW"||a=="OB"||a=="UN"?C=s.writeBytes(D,r,m,u,o):a=="SQ"?C=s.writeBytes(D,r,m,o):C=s.writeBytes(D,r,o),a=="SQ"&&(C=4294967295);var M=D.size+4;return l?(e.writeUint32(C),M+=4):s.isExplicit()?(e.writeAsciiString(s.type),e.writeUint16(0),e.writeUint32(C),M+=8):(e.writeAsciiString(s.type),e.writeUint16(C),M+=4),e.concat(D),e.setEndian(I),M}}],[{key:"fromString",value:function(e){var a=parseInt(e.substring(0,4),16),r=parseInt(e.substring(4),16);return n.fromNumbers(a,r)}},{key:"fromPString",value:function(e){var a=parseInt(e.substring(1,5),16),r=parseInt(e.substring(6,10),16);return n.fromNumbers(a,r)}},{key:"fromNumbers",value:function(e,a){return new n((e<<16|a)>>>0)}},{key:"readTag",value:function(e){var a=e.readUint16(),r=e.readUint16();return n.fromNumbers(a,r)}}]),n}(),Nm={"(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:"PhysiciansOfRe