modified-dicom-pacs
Version:
A modified version of DICOM PACS implementation
1 lines • 50.1 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@ohif/core")):"function"==typeof define&&define.amd?define(["@ohif/core"],t):"object"==typeof exports?exports["ohif-mode-tmtv"]=t(require("@ohif/core")):e["ohif-mode-tmtv"]=t(e["@ohif/core"])}(globalThis,(e=>(()=>{"use strict";var t={2:t=>{t.exports=e}},o={};function n(e){var r=o[e];if(void 0!==r)return r.exports;var i=o[e]={exports:{}};return t[e](i,i.exports,n),i.exports}n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var r={};return(()=>{n.d(r,{default:()=>oe});var e=n(2);const t="ctToolGroup",o="ptToolGroup",i="fusionToolGroup",a="mipToolGroup",s="default",l={commandName:"setToolActiveToolbar",commandOptions:{toolGroupIds:[t,o,i]}},u=[{id:"MeasurementTools",uiType:"ohif.splitButton",props:{groupId:"MeasurementTools",primary:e.ToolbarService.createButton({id:"Length",icon:"tool-length",label:"Length",tooltip:"Length Tool",commands:l,evaluate:"evaluate.cornerstoneTool"}),secondary:{icon:"chevron-down",tooltip:"More Measure Tools"},items:[e.ToolbarService.createButton({id:"Bidirectional",icon:"tool-bidirectional",label:"Bidirectional",tooltip:"Bidirectional Tool",commands:l,evaluate:"evaluate.cornerstoneTool"}),e.ToolbarService.createButton({id:"ArrowAnnotate",icon:"tool-annotate",label:"Arrow Annotate",tooltip:"Arrow Annotate Tool",commands:l,evaluate:"evaluate.cornerstoneTool"}),e.ToolbarService.createButton({id:"EllipticalROI",icon:"tool-ellipse",label:"Ellipse",tooltip:"Ellipse Tool",commands:l,evaluate:"evaluate.cornerstoneTool"})]}},{id:"Zoom",uiType:"ohif.radioGroup",props:{icon:"tool-zoom",label:"Zoom",commands:l,evaluate:"evaluate.cornerstoneTool"}},{id:"WindowLevel",uiType:"ohif.radioGroup",props:{icon:"tool-window-level",label:"Window Level",commands:l,evaluate:"evaluate.cornerstoneTool"}},{id:"Crosshairs",uiType:"ohif.radioGroup",props:{icon:"tool-crosshair",label:"Crosshairs",commands:l,evaluate:"evaluate.cornerstoneTool"}},{id:"Pan",uiType:"ohif.radioGroup",props:{icon:"tool-move",label:"Pan",commands:l,evaluate:"evaluate.cornerstoneTool"}},{id:"RectangleROIStartEndThreshold",uiType:"ohif.radioGroup",props:{icon:"tool-create-threshold",label:"Rectangle ROI Threshold",commands:l,evaluate:["evaluate.cornerstone.segmentation",{name:"evaluate.cornerstoneTool",disabledText:"Select the PT Axial to enable this tool"}],options:"tmtv.RectangleROIThresholdOptions"}},{id:"BrushTools",uiType:"ohif.buttonGroup",props:{groupId:"BrushTools",items:[{id:"Brush",icon:"icon-tool-brush",label:"Brush",evaluate:{name:"evaluate.cornerstone.segmentation",toolNames:["CircularBrush","SphereBrush"],disabledText:"Create new segmentation to enable this tool."},options:[{name:"Radius (mm)",id:"brush-radius",type:"range",min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["CircularBrush","SphereBrush"]}}},{name:"Shape",type:"radio",id:"brush-mode",value:"CircularBrush",values:[{value:"CircularBrush",label:"Circle"},{value:"SphereBrush",label:"Sphere"}],commands:"setToolActiveToolbar"}]},{id:"Eraser",icon:"icon-tool-eraser",label:"Eraser",evaluate:{name:"evaluate.cornerstone.segmentation",toolNames:["CircularEraser","SphereEraser"]},options:[{name:"Radius (mm)",id:"eraser-radius",type:"range",min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["CircularEraser","SphereEraser"]}}},{name:"Shape",type:"radio",id:"eraser-mode",value:"CircularEraser",values:[{value:"CircularEraser",label:"Circle"},{value:"SphereEraser",label:"Sphere"}],commands:"setToolActiveToolbar"}]},{id:"Threshold",icon:"icon-tool-threshold",label:"Threshold Tool",evaluate:{name:"evaluate.cornerstone.segmentation",toolNames:["ThresholdCircularBrush","ThresholdSphereBrush"]},options:[{name:"Radius (mm)",id:"threshold-radius",type:"range",min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush","ThresholdCircularBrushDynamic"]}}},{name:"Threshold",type:"radio",id:"dynamic-mode",value:"ThresholdRange",values:[{value:"ThresholdDynamic",label:"Dynamic"},{value:"ThresholdRange",label:"Range"}],commands:({value:e,commandsManager:t})=>{"ThresholdDynamic"===e?t.run("setToolActive",{toolName:"ThresholdCircularBrushDynamic"}):t.run("setToolActive",{toolName:"ThresholdCircularBrush"})}},{name:"Shape",type:"radio",id:"eraser-mode",value:"ThresholdCircularBrush",values:[{value:"ThresholdCircularBrush",label:"Circle"},{value:"ThresholdSphereBrush",label:"Sphere"}],condition:({options:e})=>"ThresholdRange"===e.find((e=>"dynamic-mode"===e.id)).value,commands:"setToolActiveToolbar"},{name:"ThresholdRange",type:"double-range",id:"threshold-range",min:0,max:50,step:.5,values:[2.5,50],condition:({options:e})=>"ThresholdRange"===e.find((e=>"dynamic-mode"===e.id)).value,commands:{commandName:"setThresholdRange",commandOptions:{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush"]}}}]}]}}],c=JSON.parse('{"UU":"@ohif/mode-tmtv"}').UU;function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function h(e){var t=function(e,t){if("object"!=p(e)||!e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var n=o.call(e,"string");if("object"!=p(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==p(t)?t:t+""}function d(e,t,o){return(t=h(t))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function f(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?Object(arguments[t]):{},n=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(o).filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),n.forEach((function(t){d(e,t,o[t])}))}return e}function g(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function v(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,h(n.key),n)}}function m(e,t,o){return t&&v(e.prototype,t),o&&v(e,o),Object.defineProperty(e,"prototype",{writable:!1}),e}function y(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function b(e,t){if(t&&("object"===p(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return y(e)}function S(e){return S=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},S(e)}function k(e,t){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},k(e,t)}function x(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&k(e,t)}function T(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,n=new Array(t);o<t;o++)n[o]=e[o];return n}function w(e,t){if(e){if("string"==typeof e)return T(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?T(e,t):void 0}}function O(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var n,r,i,a,s=[],l=!0,u=!1;try{if(i=(o=o.call(e)).next,0===t){if(Object(o)!==o)return;l=!1}else for(;!(l=(n=i.call(o)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(e){u=!0,r=e}finally{try{if(!l&&null!=o.return&&(a=o.return(),Object(a)!==a))return}finally{if(u)throw r}}return s}}(e,t)||w(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var N={type:"logger",log:function(e){this.output("log",e)},warn:function(e){this.output("warn",e)},error:function(e){this.output("error",e)},output:function(e,t){var o;console&&console[e]&&(o=console)[e].apply(o,function(e){return function(e){if(Array.isArray(e))return T(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||w(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(t))}},C=new(function(){function e(t){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};g(this,e),this.init(t,o)}return m(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||N,this.options=t,this.debug=t.debug}},{key:"setDebug",value:function(e){this.debug=e}},{key:"log",value:function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return this.forward(t,"log","",!0)}},{key:"warn",value:function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return this.forward(t,"warn","",!0)}},{key:"error",value:function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return this.forward(t,"error","")}},{key:"deprecate",value:function(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(e,t,o,n){return n&&!this.debug?null:("string"==typeof e[0]&&(e[0]="".concat(o).concat(this.prefix," ").concat(e[0])),this.logger[t](e))}},{key:"create",value:function(t){return new e(this.logger,f({},{prefix:"".concat(this.prefix,":").concat(t,":")},this.options))}}]),e}()),R=function(){function e(){g(this,e),this.observers={}}return m(e,[{key:"on",value:function(e,t){var o=this;return e.split(" ").forEach((function(e){o.observers[e]=o.observers[e]||[],o.observers[e].push(t)})),this}},{key:"off",value:function(e,t){this.observers[e]&&(t?this.observers[e]=this.observers[e].filter((function(e){return e!==t})):delete this.observers[e])}},{key:"emit",value:function(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),n=1;n<t;n++)o[n-1]=arguments[n];this.observers[e]&&[].concat(this.observers[e]).forEach((function(e){e.apply(void 0,o)})),this.observers["*"]&&[].concat(this.observers["*"]).forEach((function(t){t.apply(t,[e].concat(o))}))}}]),e}();function E(){var e,t,o=new Promise((function(o,n){e=o,t=n}));return o.resolve=e,o.reject=t,o}function L(e){return null==e?"":""+e}function P(e,t,o){function n(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function r(){return!e||"string"==typeof e}for(var i="string"!=typeof t?[].concat(t):t.split(".");i.length>1;){if(r())return{};var a=n(i.shift());!e[a]&&o&&(e[a]=new o),e=e[a]}return r()?{}:{obj:e,k:n(i.shift())}}function j(e,t,o){var n=P(e,t,Object);n.obj[n.k]=o}function I(e,t){var o=P(e,t),n=o.obj,r=o.k;if(n)return n[r]}function B(e,t,o){var n=I(e,o);return void 0!==n?n:I(t,o)}function A(e,t,o){for(var n in t)n in e?"string"==typeof e[n]||e[n]instanceof String||"string"==typeof t[n]||t[n]instanceof String?o&&(e[n]=t[n]):A(e[n],t[n],o):e[n]=t[n];return e}function M(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var D={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function F(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(function(e){return D[e]})):e}var V=function(e){function t(e){var o,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return g(this,t),o=b(this,S(t).call(this)),R.call(y(o)),o.data=e||{},o.options=n,void 0===o.options.keySeparator&&(o.options.keySeparator="."),o}return x(t,e),m(t,[{key:"addNamespaces",value:function(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}},{key:"removeNamespaces",value:function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}},{key:"getResource",value:function(e,t,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,i=[e,t];return o&&"string"!=typeof o&&(i=i.concat(o)),o&&"string"==typeof o&&(i=i.concat(r?o.split(r):o)),e.indexOf(".")>-1&&(i=e.split(".")),I(this.data,i)}},{key:"addResource",value:function(e,t,o,n){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},i=this.options.keySeparator;void 0===i&&(i=".");var a=[e,t];o&&(a=a.concat(i?o.split(i):o)),e.indexOf(".")>-1&&(n=t,t=(a=e.split("."))[1]),this.addNamespaces(t),j(this.data,a,n),r.silent||this.emit("added",e,t,o,n)}},{key:"addResources",value:function(e,t,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var r in o)"string"!=typeof o[r]&&"[object Array]"!==Object.prototype.toString.apply(o[r])||this.addResource(e,t,r,o[r],{silent:!0});n.silent||this.emit("added",e,t,o)}},{key:"addResourceBundle",value:function(e,t,o,n,r){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},a=[e,t];e.indexOf(".")>-1&&(n=o,o=t,t=(a=e.split("."))[1]),this.addNamespaces(t);var s=I(this.data,a)||{};n?A(s,o,r):s=f({},s,o),j(this.data,a,s),i.silent||this.emit("added",e,t,o)}},{key:"removeResourceBundle",value:function(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}},{key:"hasResourceBundle",value:function(e,t){return void 0!==this.getResource(e,t)}},{key:"getResourceBundle",value:function(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?f({},{},this.getResource(e,t)):this.getResource(e,t)}},{key:"getDataByLanguage",value:function(e){return this.data[e]}},{key:"toJSON",value:function(){return this.data}}]),t}(R),U={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,o,n,r){var i=this;return e.forEach((function(e){i.processors[e]&&(t=i.processors[e].process(t,o,n,r))})),t}},H=function(e){function t(e){var o,n,r,i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return g(this,t),o=b(this,S(t).call(this)),R.call(y(o)),n=["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],r=e,i=y(o),n.forEach((function(e){r[e]&&(i[e]=r[e])})),o.options=a,void 0===o.options.keySeparator&&(o.options.keySeparator="."),o.logger=C.create("translator"),o}return x(t,e),m(t,[{key:"changeLanguage",value:function(e){e&&(this.language=e)}},{key:"exists",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}},o=this.resolve(e,t);return o&&void 0!==o.res}},{key:"extractFromKey",value:function(e,t){var o=t.nsSeparator||this.options.nsSeparator;void 0===o&&(o=":");var n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,r=t.ns||this.options.defaultNS;if(o&&e.indexOf(o)>-1){var i=e.split(o);(o!==n||o===n&&this.options.ns.indexOf(i[0])>-1)&&(r=i.shift()),e=i.join(n)}return"string"==typeof r&&(r=[r]),{key:e,namespaces:r}}},{key:"translate",value:function(e,t){var o=this;if("object"!==p(t)&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);var n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,r=this.extractFromKey(e[e.length-1],t),i=r.key,a=r.namespaces,s=a[a.length-1],l=t.lng||this.language,u=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase()){if(u){var c=t.nsSeparator||this.options.nsSeparator;return s+c+i}return i}var h=this.resolve(e,t),d=h&&h.res,g=h&&h.usedKey||i,v=h&&h.exactUsedKey||i,m=Object.prototype.toString.apply(d),y=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,b=!this.i18nFormat||this.i18nFormat.handleAsObject;if(b&&d&&"string"!=typeof d&&"boolean"!=typeof d&&"number"!=typeof d&&["[object Number]","[object Function]","[object RegExp]"].indexOf(m)<0&&("string"!=typeof y||"[object Array]"!==m)){if(!t.returnObjects&&!this.options.returnObjects)return this.logger.warn("accessing an object - but returnObjects options is not enabled!"),this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,d,t):"key '".concat(i," (").concat(this.language,")' returned an object instead of string.");if(n){var S="[object Array]"===m,k=S?[]:{},x=S?v:g;for(var T in d)if(Object.prototype.hasOwnProperty.call(d,T)){var w="".concat(x).concat(n).concat(T);k[T]=this.translate(w,f({},t,{joinArrays:!1,ns:a})),k[T]===w&&(k[T]=d[T])}d=k}}else if(b&&"string"==typeof y&&"[object Array]"===m)(d=d.join(y))&&(d=this.extendTranslation(d,e,t));else{var O=!1,N=!1;if(!this.isValidLookup(d)&&void 0!==t.defaultValue){if(O=!0,void 0!==t.count){var C=this.pluralResolver.getSuffix(l,t.count);d=t["defaultValue".concat(C)]}d||(d=t.defaultValue)}this.isValidLookup(d)||(N=!0,d=i);var R=t.defaultValue&&t.defaultValue!==d&&this.options.updateMissing;if(N||O||R){this.logger.log(R?"updateKey":"missingKey",l,s,i,R?t.defaultValue:d);var E=[],L=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&L&&L[0])for(var P=0;P<L.length;P++)E.push(L[P]);else"all"===this.options.saveMissingTo?E=this.languageUtils.toResolveHierarchy(t.lng||this.language):E.push(t.lng||this.language);var j=function(e,n){o.options.missingKeyHandler?o.options.missingKeyHandler(e,s,n,R?t.defaultValue:d,R,t):o.backendConnector&&o.backendConnector.saveMissing&&o.backendConnector.saveMissing(e,s,n,R?t.defaultValue:d,R,t),o.emit("missingKey",e,s,n,d)};if(this.options.saveMissing){var I=void 0!==t.count&&"string"!=typeof t.count;this.options.saveMissingPlurals&&I?E.forEach((function(e){o.pluralResolver.getPluralFormsOfKey(e,i).forEach((function(t){return j([e],t)}))})):j(E,i)}}d=this.extendTranslation(d,e,t,h),N&&d===i&&this.options.appendNamespaceToMissingKey&&(d="".concat(s,":").concat(i)),N&&this.options.parseMissingKeyHandler&&(d=this.options.parseMissingKeyHandler(d))}return d}},{key:"extendTranslation",value:function(e,t,o,n){var r=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,o,n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!o.skipInterpolation){o.interpolation&&this.interpolator.init(f({},o,{interpolation:f({},this.options.interpolation,o.interpolation)}));var i=o.replace&&"string"!=typeof o.replace?o.replace:o;this.options.interpolation.defaultVariables&&(i=f({},this.options.interpolation.defaultVariables,i)),e=this.interpolator.interpolate(e,i,o.lng||this.language,o),!1!==o.nest&&(e=this.interpolator.nest(e,(function(){return r.translate.apply(r,arguments)}),o)),o.interpolation&&this.interpolator.reset()}var a=o.postProcess||this.options.postProcess,s="string"==typeof a?[a]:a;return null!=e&&s&&s.length&&!1!==o.applyPostProcessor&&(e=U.handle(s,e,t,this.options&&this.options.postProcessPassResolved?f({i18nResolved:n},o):o,this)),e}},{key:"resolve",value:function(e){var t,o,n,r,i,a=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach((function(e){if(!a.isValidLookup(t)){var l=a.extractFromKey(e,s),u=l.key;o=u;var c=l.namespaces;a.options.fallbackNS&&(c=c.concat(a.options.fallbackNS));var p=void 0!==s.count&&"string"!=typeof s.count,h=void 0!==s.context&&"string"==typeof s.context&&""!==s.context,d=s.lngs?s.lngs:a.languageUtils.toResolveHierarchy(s.lng||a.language,s.fallbackLng);c.forEach((function(e){a.isValidLookup(t)||(i=e,a.utils&&a.utils.hasLoadedNamespace&&!a.utils.hasLoadedNamespace(i)&&a.logger.warn('key "'.concat(o,'" for namespace "').concat(i,"\" won't get resolved as namespace was not yet loaded"),"This means something IS WRONG in your application setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!"),d.forEach((function(o){if(!a.isValidLookup(t)){r=o;var i,l,c=u,d=[c];for(a.i18nFormat&&a.i18nFormat.addLookupKeys?a.i18nFormat.addLookupKeys(d,u,o,e,s):(p&&(i=a.pluralResolver.getSuffix(o,s.count)),p&&h&&d.push(c+i),h&&d.push(c+="".concat(a.options.contextSeparator).concat(s.context)),p&&d.push(c+=i));l=d.pop();)a.isValidLookup(t)||(n=l,t=a.getResource(o,e,l,s))}})))}))}})),{res:t,usedKey:o,exactUsedKey:n,usedLng:r,usedNS:i}}},{key:"isValidLookup",value:function(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}},{key:"getResource",value:function(e,t,o){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,o,n):this.resourceStore.getResource(e,t,o,n)}}]),t}(R);function _(e){return e.charAt(0).toUpperCase()+e.slice(1)}var G=function(){function e(t){g(this,e),this.options=t,this.whitelist=this.options.whitelist||!1,this.logger=C.create("languageUtils")}return m(e,[{key:"getScriptPartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return null;var t=e.split("-");return 2===t.length?null:(t.pop(),this.formatLanguageCode(t.join("-")))}},{key:"getLanguagePartFromCode",value:function(e){if(!e||e.indexOf("-")<0)return e;var t=e.split("-");return this.formatLanguageCode(t[0])}},{key:"formatLanguageCode",value:function(e){if("string"==typeof e&&e.indexOf("-")>-1){var t=["hans","hant","latn","cyrl","cans","mong","arab"],o=e.split("-");return this.options.lowerCaseLng?o=o.map((function(e){return e.toLowerCase()})):2===o.length?(o[0]=o[0].toLowerCase(),o[1]=o[1].toUpperCase(),t.indexOf(o[1].toLowerCase())>-1&&(o[1]=_(o[1].toLowerCase()))):3===o.length&&(o[0]=o[0].toLowerCase(),2===o[1].length&&(o[1]=o[1].toUpperCase()),"sgn"!==o[0]&&2===o[2].length&&(o[2]=o[2].toUpperCase()),t.indexOf(o[1].toLowerCase())>-1&&(o[1]=_(o[1].toLowerCase())),t.indexOf(o[2].toLowerCase())>-1&&(o[2]=_(o[2].toLowerCase()))),o.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}},{key:"isWhitelisted",value:function(e){return("languageOnly"===this.options.load||this.options.nonExplicitWhitelist)&&(e=this.getLanguagePartFromCode(e)),!this.whitelist||!this.whitelist.length||this.whitelist.indexOf(e)>-1}},{key:"getFallbackCodes",value:function(e,t){if(!e)return[];if("string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];var o=e[t];return o||(o=e[this.getScriptPartFromCode(t)]),o||(o=e[this.formatLanguageCode(t)]),o||(o=e.default),o||[]}},{key:"toResolveHierarchy",value:function(e,t){var o=this,n=this.getFallbackCodes(t||this.options.fallbackLng||[],e),r=[],i=function(e){e&&(o.isWhitelisted(e)?r.push(e):o.logger.warn("rejecting non-whitelisted language code: ".concat(e)))};return"string"==typeof e&&e.indexOf("-")>-1?("languageOnly"!==this.options.load&&i(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&i(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&i(this.getLanguagePartFromCode(e))):"string"==typeof e&&i(this.formatLanguageCode(e)),n.forEach((function(e){r.indexOf(e)<0&&i(o.formatLanguageCode(e))})),r}}]),e}(),K=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","id","ja","jbo","ka","kk","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he"],nr:[1,2,20,21],fc:22}],W={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0===e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0===e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0===e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)},22:function(e){return Number(1===e?0:2===e?1:(e<0||e>10)&&e%10==0?2:3)}},z=function(){function e(t){var o,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};g(this,e),this.languageUtils=t,this.options=n,this.logger=C.create("pluralResolver"),this.rules=(o={},K.forEach((function(e){e.lngs.forEach((function(t){o[t]={numbers:e.nr,plurals:W[e.fc]}}))})),o)}return m(e,[{key:"addRule",value:function(e,t){this.rules[e]=t}},{key:"getRule",value:function(e){return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}},{key:"needsPlural",value:function(e){var t=this.getRule(e);return t&&t.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(e,t){var o=this,n=[],r=this.getRule(e);return r?(r.numbers.forEach((function(r){var i=o.getSuffix(e,r);n.push("".concat(t).concat(i))})),n):n}},{key:"getSuffix",value:function(e,t){var o=this,n=this.getRule(e);if(n){var r=n.noAbs?n.plurals(t):n.plurals(Math.abs(t)),i=n.numbers[r];this.options.simplifyPluralSuffix&&2===n.numbers.length&&1===n.numbers[0]&&(2===i?i="plural":1===i&&(i=""));var a=function(){return o.options.prepend&&i.toString()?o.options.prepend+i.toString():i.toString()};return"v1"===this.options.compatibilityJSON?1===i?"":"number"==typeof i?"_plural_".concat(i.toString()):a():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===n.numbers.length&&1===n.numbers[0]?a():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}return this.logger.warn("no plural rule found for: ".concat(e)),""}}]),e}(),q=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};g(this,e),this.logger=C.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(e){return e},this.init(t)}return m(e,[{key:"init",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});var t=e.interpolation;this.escape=void 0!==t.escape?t.escape:F,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?M(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?M(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?M(t.nestingPrefix):t.nestingPrefixEscaped||M("$t("),this.nestingSuffix=t.nestingSuffix?M(t.nestingSuffix):t.nestingSuffixEscaped||M(")"),this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var e="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(e,"g");var t="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(t,"g");var o="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(o,"g")}},{key:"interpolate",value:function(e,t,o,n){var r,i,a,s=this,l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(e){return e.replace(/\$/g,"$$$$")}var c=function(e){if(e.indexOf(s.formatSeparator)<0)return B(t,l,e);var n=e.split(s.formatSeparator),r=n.shift().trim(),i=n.join(s.formatSeparator).trim();return s.format(B(t,l,r),i,o)};this.resetRegExp();var p=n&&n.missingInterpolationHandler||this.options.missingInterpolationHandler;for(a=0;r=this.regexpUnescape.exec(e);){if(void 0===(i=c(r[1].trim())))if("function"==typeof p){var h=p(e,r,n);i="string"==typeof h?h:""}else this.logger.warn("missed to pass in variable ".concat(r[1]," for interpolating ").concat(e)),i="";else"string"==typeof i||this.useRawValueToEscape||(i=L(i));if(e=e.replace(r[0],u(i)),this.regexpUnescape.lastIndex=0,++a>=this.maxReplaces)break}for(a=0;r=this.regexp.exec(e);){if(void 0===(i=c(r[1].trim())))if("function"==typeof p){var d=p(e,r,n);i="string"==typeof d?d:""}else this.logger.warn("missed to pass in variable ".concat(r[1]," for interpolating ").concat(e)),i="";else"string"==typeof i||this.useRawValueToEscape||(i=L(i));if(i=this.escapeValue?u(this.escape(i)):u(i),e=e.replace(r[0],i),this.regexp.lastIndex=0,++a>=this.maxReplaces)break}return e}},{key:"nest",value:function(e,t){var o,n,r=f({},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{});function i(e,t){if(e.indexOf(",")<0)return e;var o=e.split(",");e=o.shift();var n=o.join(",");n=(n=this.interpolate(n,r)).replace(/'/g,'"');try{r=JSON.parse(n),t&&(r=f({},t,r))}catch(t){this.logger.error("failed parsing options string in nesting for key ".concat(e),t)}return delete r.defaultValue,e}for(r.applyPostProcessor=!1,delete r.defaultValue;o=this.nestingRegexp.exec(e);){if((n=t(i.call(this,o[1].trim(),r),r))&&o[0]===e&&"string"!=typeof n)return n;"string"!=typeof n&&(n=L(n)),n||(this.logger.warn("missed to resolve ".concat(o[1]," for nesting ").concat(e)),n=""),e=e.replace(o[0],n),this.regexp.lastIndex=0}return e}}]),e}(),$=function(e){function t(e,o,n){var r,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return g(this,t),r=b(this,S(t).call(this)),R.call(y(r)),r.backend=e,r.store=o,r.services=n,r.languageUtils=n.languageUtils,r.options=i,r.logger=C.create("backendConnector"),r.state={},r.queue=[],r.backend&&r.backend.init&&r.backend.init(n,i.backend,i),r}return x(t,e),m(t,[{key:"queueLoad",value:function(e,t,o,n){var r=this,i=[],a=[],s=[],l=[];return e.forEach((function(e){var n=!0;t.forEach((function(t){var s="".concat(e,"|").concat(t);!o.reload&&r.store.hasResourceBundle(e,t)?r.state[s]=2:r.state[s]<0||(1===r.state[s]?a.indexOf(s)<0&&a.push(s):(r.state[s]=1,n=!1,a.indexOf(s)<0&&a.push(s),i.indexOf(s)<0&&i.push(s),l.indexOf(t)<0&&l.push(t)))})),n||s.push(e)})),(i.length||a.length)&&this.queue.push({pending:a,loaded:{},errors:[],callback:n}),{toLoad:i,pending:a,toLoadLanguages:s,toLoadNamespaces:l}}},{key:"loaded",value:function(e,t,o){var n=O(e.split("|"),2),r=n[0],i=n[1];t&&this.emit("failedLoading",r,i,t),o&&this.store.addResourceBundle(r,i,o),this.state[e]=t?-1:2;var a={};this.queue.forEach((function(o){var n,s,l,u,c;n=o.loaded,s=i,(u=(l=P(n,[r],Object)).obj)[c=l.k]=u[c]||[],u[c].push(s),function(e,t){for(var o=e.indexOf(t);-1!==o;)e.splice(o,1),o=e.indexOf(t)}(o.pending,e),t&&o.errors.push(t),0!==o.pending.length||o.done||(Object.keys(o.loaded).forEach((function(e){a[e]||(a[e]=[]),o.loaded[e].length&&o.loaded[e].forEach((function(t){a[e].indexOf(t)<0&&a[e].push(t)}))})),o.done=!0,o.errors.length?o.callback(o.errors):o.callback())})),this.emit("loaded",a),this.queue=this.queue.filter((function(e){return!e.done}))}},{key:"read",value:function(e,t,o){var n=this,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:250,a=arguments.length>5?arguments[5]:void 0;return e.length?this.backend[o](e,t,(function(s,l){s&&l&&r<5?setTimeout((function(){n.read.call(n,e,t,o,r+1,2*i,a)}),i):a(s,l)})):a(null,{})}},{key:"prepareLoading",value:function(e,t){var o=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);var i=this.queueLoad(e,t,n,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.toLoad.forEach((function(e){o.loadOne(e)}))}},{key:"load",value:function(e,t,o){this.prepareLoading(e,t,{},o)}},{key:"reload",value:function(e,t,o){this.prepareLoading(e,t,{reload:!0},o)}},{key:"loadOne",value:function(e){var t=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=O(e.split("|"),2),r=n[0],i=n[1];this.read(r,i,"read",null,null,(function(n,a){n&&t.logger.warn("".concat(o,"loading namespace ").concat(i," for language ").concat(r," failed"),n),!n&&a&&t.logger.log("".concat(o,"loaded namespace ").concat(i," for language ").concat(r),a),t.loaded(e,n,a)}))}},{key:"saveMissing",value:function(e,t,o,n,r){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t)?this.logger.warn('did not save key "'.concat(o,'" for namespace "').concat(t,'" as the namespace was not yet loaded'),"This means something IS WRONG in your application setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!"):(this.backend&&this.backend.create&&this.backend.create(e,t,o,n,null,f({},i,{isUpdate:r})),e&&e[0]&&this.store.addResource(e[0],t,o,n))}}]),t}(R);function J(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.whitelist&&e.whitelist.indexOf("cimode")<0&&(e.whitelist=e.whitelist.concat(["cimode"])),e}function Z(){}const Y=new(function(e){function t(){var e,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(g(this,t),e=b(this,S(t).call(this)),R.call(y(e)),e.options=J(o),e.services={},e.logger=C,e.modules={external:[]},n&&!e.isInitialized&&!o.isClone){if(!e.options.initImmediate)return e.init(o,n),b(e,y(e));setTimeout((function(){e.init(o,n)}),0)}return e}return x(t,e),m(t,[{key:"init",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;function n(e){return e?"function"==typeof e?new e:e:null}if("function"==typeof t&&(o=t,t={}),this.options=f({},{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,whitelist:!1,nonExplicitWhitelist:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){var t={};if("object"===p(e[1])&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"===p(e[2])||"object"===p(e[3])){var o=e[3]||e[2];Object.keys(o).forEach((function(e){t[e]=o[e]}))}return t},interpolation:{escapeValue:!0,format:function(e,t,o){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",maxReplaces:1e3}},this.options,J(t)),this.format=this.options.interpolation.format,o||(o=Z),!this.options.isClone){this.modules.logger?C.init(n(this.modules.logger),this.options):C.init(null,this.options);var r=new G(this.options);this.store=new V(this.options.resources,this.options);var i=this.services;i.logger=C,i.resourceStore=this.store,i.languageUtils=r,i.pluralResolver=new z(r,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),i.interpolator=new q(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new $(n(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on("*",(function(t){for(var o=arguments.length,n=new Array(o>1?o-1:0),r=1;r<o;r++)n[r-1]=arguments[r];e.emit.apply(e,[t].concat(n))})),this.modules.languageDetector&&(i.languageDetector=n(this.modules.languageDetector),i.languageDetector.init(i,this.options.detection,this.options)),this.modules.i18nFormat&&(i.i18nFormat=n(this.modules.i18nFormat),i.i18nFormat.init&&i.i18nFormat.init(this)),this.translator=new H(this.services,this.options),this.translator.on("*",(function(t){for(var o=arguments.length,n=new Array(o>1?o-1:0),r=1;r<o;r++)n[r-1]=arguments[r];e.emit.apply(e,[t].concat(n))})),this.modules.external.forEach((function(t){t.init&&t.init(e)}))}["getResource","addResource","addResources","addResourceBundle","removeResourceBundle","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((function(t){e[t]=function(){var o;return(o=e.store)[t].apply(o,arguments)}}));var a=E(),s=function(){e.changeLanguage(e.options.lng,(function(t,n){e.isInitialized=!0,e.logger.log("initialized",e.options),e.emit("initialized",e.options),a.resolve(n),o(t,n)}))};return this.options.resources||!this.options.initImmediate?s():setTimeout(s,0),a}},{key:"loadResources",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Z;if(!this.options.resources||this.options.partialBundledLanguages){if(this.language&&"cimode"===this.language.toLowerCase())return t();var o=[],n=function(t){t&&e.services.languageUtils.toResolveHierarchy(t).forEach((function(e){o.indexOf(e)<0&&o.push(e)}))};this.language?n(this.language):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((function(e){return n(e)})),this.options.preload&&this.options.preload.forEach((function(e){return n(e)})),this.services.backendConnector.load(o,this.options.ns,t)}else t(null)}},{key:"reloadResources",value:function(e,t,o){var n=E();return e||(e=this.languages),t||(t=this.options.ns),o||(o=Z),this.services.backendConnector.reload(e,t,(function(e){n.resolve(),o(e)})),n}},{key:"use",value:function(e){return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&U.addPostProcessor(e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"changeLanguage",value:function(e,t){var o=this,n=E();this.emit("languageChanging",e);var r=function(e){e&&(o.language=e,o.languages=o.services.languageUtils.toResolveHierarchy(e),o.translator.language||o.translator.changeLanguage(e),o.services.languageDetector&&o.services.languageDetector.cacheUserLanguage(e)),o.loadResources((function(r){!function(e,r){o.translator.changeLanguage(r),r&&(o.emit("languageChanged",r),o.logger.log("languageChanged",r)),n.resolve((function(){return o.t.apply(o,arguments)})),t&&t(e,(function(){return o.t.apply(o,arguments)}))}(r,e)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect(r):r(e):r(this.services.languageDetector.detect()),n}},{key:"getFixedT",value:function(e,t){var o=this,n=function e(t,n){var r;if("object"!==p(n)){for(var i=arguments.length,a=new Array(i>2?i-2:0),s=2;s<i;s++)a[s-2]=arguments[s];r=o.options.overloadTranslationOptionHandler([t,n].concat(a))}else r=f({},n);return r.lng=r.lng||e.lng,r.lngs=r.lngs||e.lngs,r.ns=r.ns||e.ns,o.t(t,r)};return"string"==typeof e?n.lng=e:n.lngs=e,n.ns=t,n}},{key:"t",value:function(){var e;return this.translator&&(e=this.translator).translate.apply(e,arguments)}},{key:"exists",value:function(){var e;return this.translator&&(e=this.translator).exists.apply(e,arguments)}},{key:"setDefaultNamespace",value:function(e){this.options.defaultNS=e}},{key:"hasLoadedNamespace",value:function(e){var t=this;if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var o=this.languages[0],n=!!this.options&&this.options.fallbackLng,r=this.languages[this.languages.length-1];if("cimode"===o.toLowerCase())return!0;var i=function(e,o){var n=t.services.backendConnector.state["".concat(e,"|").concat(o)];return-1===n||2===n};return!!this.hasResourceBundle(o,e)||!this.services.backendConnector.backend||!(!i(o,e)||n&&!i(r,e))}},{key:"loadNamespaces",value:function(e,t){var o=this,n=E();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach((function(e){o.options.ns.indexOf(e)<0&&o.options.ns.push(e)})),this.loadResources((function(e){n.resolve(),t&&t(e)})),n):(t&&t(),Promise.resolve())}},{key:"loadLanguages",value:function(e,t){var o=E();"string"==typeof e&&(e=[e]);var n=this.options.preload||[],r=e.filter((function(e){return n.indexOf(e)<0}));return r.length?(this.options.preload=n.concat(r),this.loadResources((function(e){o.resolve(),t&&t(e)})),o):(t&&t(),Promise.resolve())}},{key:"dir",value:function(e){return e||(e=this.languages&&this.languages.length>0?this.languages[0]:this.language),e?["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam"].indexOf(this.services.languageUtils.getLanguagePartFromCode(e))>=0?"rtl":"ltr":"rtl"}},{key:"createInstance",value:function(){return new t(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}},{key:"cloneInstance",value:function(){var e=this,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Z,r=f({},this.options,o,{isClone:!0}),i=new t(r);return["store","services","language"].forEach((function(t){i[t]=e[t]})),i.translator=new H(i.services,i.options),i.translator.on("*",(function(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),n=1;n<t;n++)o[n-1]=arguments[n];i.emit.apply(i,[e].concat(o))})),i.init(r,n),i.translator.options=i.options,i}}]),t}(R)),{MetadataProvider:Q}=e.classes,X="@ohif/extension-default.sopClassHandlerModule.stack",ee={"@ohif/extension-default":"^3.0.0","@ohif/extension-cornerstone":"^3.0.0","@ohif/extension-cornerstone-dicom-seg":"^3.0.0","@ohif/extension-tmtv":"^3.0.0"};let te=[];const oe={id:c,modeFactory:function({modeConfiguration:n}){return{id:c,routeName:"tmtv",displayName:Y.t("Modes:Total Metabolic Tumor Volume"),onModeEnter:({servicesManager:e,extensionManager:n,commandsManager:r})=>{const{toolbarService:l,toolGroupService:c,customizationService:p,hangingProtocolService:h,displaySetService:d,viewportGridService:f}=e.services,g=n.getModuleEntry("@ohif/extension-cornerstone.utilityModule.tools"),{toolNames:v,Enums:m}=g.exports;!function(e,n,r,l,u){!function(e,n,r,l,u){const c={active:[{toolName:e.WindowLevel,bindings:[{mouseButton:n.MouseBindings.Primary}]},{toolName:e.Pan,bindings:[{mouseButton:n.MouseBindings.Auxiliary}]},{toolName:e.Zoom,bindings:[{mouseButton:n.MouseBindings.Secondary}]},{toolName:e.StackScrollMouseWheel,bindings:[]}],passive:[{toolName:e.Length},{toolName:e.ArrowAnnotate,configuration:{getTextCallback:(e,t)=>{u?e(" "):l.runCommand("arrowTextCallback",{callback:e,eventDetails:t})},changeTextCallback:(e,t,o)=>{void 0===u&&l.runCommand("arrowTextCallback",{callback:o,data:e,eventDetails:t})}}},{toolName:e.Bidirectional},{toolName:e.DragProbe},{toolName:e.Probe},{toolName:e.EllipticalROI},{toolName:e.RectangleROI},{toolName:e.StackScroll},{toolName:e.Angle},{toolName:e.CobbAngle},{toolName:e.Magnify},{toolName:"CircularBrush",parentTool:"Brush",configuration:{activeStrategy:"FILL_INSIDE_CIRCLE"}},{toolName:"CircularEraser",parentTool:"Brush",configuration:{activeStrategy:"ERASE_INSIDE_CIRCLE"}},{toolName:"SphereBrush",parentTool:"Brush",configuration:{activeStrategy:"FILL_INSIDE_SPHERE"}},{toolName:"SphereEraser",parentTool:"Brush",configuration:{activeStrategy:"ERASE_INSIDE_SPHERE"}},{toolName:"ThresholdCircularBrush",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_CIRCLE"}},{toolName:"ThresholdSphereBrush",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_SPHERE"}},{toolName:"ThresholdCircularBrushDynamic",parentTool:"Brush",configuration:{activeStrategy:"THRESHOLD_INSIDE_CIRCLE",strategySpecificConfiguration:{THRESHOLD:{isDynamic:!0,dynamicRadius:3}}}}],enabled:[{toolName:e.SegmentationDisplay}],disabled:[{toolName:e.Crosshairs,configuration:{viewportIndicators:!1,disableOnPassive:!0,autoPan:{enabled:!1,panSize:10}}}]};r.createToolGroupAndAddTools(t,c),r.createToolGroupAndAddTools(o,{active:c.active,passive:[...c.passive,{toolName:"RectangleROIStartEndThreshold"}],enabled:c.enabled,disabled:c.disabled}),r.createToolGroupAndAddTools(i,c),r.createToolGroupAndAddTools(s,c);const p={active:[{toolName:e.VolumeRotateMouseWheel,configuration:{rotateIncrementDegrees:5}},{toolName:e.MipJumpToClick,configuration:{toolGroupId:o},bindings:[{mouseButton:n.MouseBindings.Primary}]}],enabled:[{toolName:e.SegmentationDisplay},{toolName:e.OrientationMarker,configuration:{orientationWidget:{viewportCorner:"BOTTOM_LEFT"}}}]};r.createToolGroupAndAddTools(a,p)}(e,n,r,l,u)}(v,m,c,r);const{unsubscribe:y}=c.subscribe(c.EVENTS.VIEWPORT_ADDED,(()=>{const{displaySetMatchDetails:e}=h.getMatchDetails();!function(e,t,o,n){const r=e.get("ctDisplaySet");if(!r)return;const{SeriesInstanceUID:a}=r,s=n.getDisplaySetsForSeries(a),l={...o.getToolConfiguration(i,t.Crosshairs),filterActorUIDsToSetSlabThickness:[s[0].displaySetInstanceUID]};o.setToolConfiguration(i,t.Crosshairs,l)}(e,v,c,d),function(e,t,o,n){const r=e.get("ptDisplaySet");if(!r)return;const{SeriesInstanceUID:a}=r,s=n.getDisplaySetsForSeries(a);if(!s||0===s.length)return;const l=o.getToolConfiguration(i,t.WindowLevel),u=o.getToolConfiguration(i,t.EllipticalROI),c=`cornerstoneStreamingImageVolume:${s[0].displaySetInstanceUID}`,p={...l,volumeId:c},h={...u,volumeId:c};o.setToolConfiguration(i,t.WindowLevel,p),o.setToolConfiguration(i,t.EllipticalROI,h)}(e,v,c,d)}));te.push(y),l.addButtons(u),l.createButtonSection("primary",["MeasurementTools","Zoom","WindowLevel","Crosshairs","Pan","SyncToggle"]),l.createButtonSection("ROIThresholdToolbox",["RectangleROIStartEndThreshold","BrushTools"]),p.addModeCustomizations([{id:"segmentation.panel",segmentationPanelMode:"expanded",addSegment:!1,onSegmentationAdd:()=>{r.run("createNewLabelmapFromPT")}}]),h.addCustomAttribute("getPTVOIRange","get PT VOI based on corrected or not",(e=>{const t=e.find((e=>"PT"===e.Modality));if(!t)return;const{imageId:o}=t.images[0],n=Q.get("scalingModule",o);return n&&n.suvbw?{windowWidth:5,windowCenter:2.5}:void 0}))},onModeExit:({servicesManager:e})=>{const{toolGroupService:t,syncGroupService:o,segmentationService:n,cornerstoneViewportService:r,uiDialogService:i,uiModalService:a}=e.services;te.forEach((e=>e())),i.dismissAll(),a.hide(),t.destroy(),o.destroy(),n.destroy(),r.destroy()},validationTags:{study:[],series:[]},isValidMode:({modalities:e,study:t})=>{const o=e.split("\\");return{valid:o.includes("CT")&&"M1"!==t.mrn&&o.includes("PT")&&!["SM"].some((e=>o.includes(e)))&&"1.3.6.1.4.1.12842.1.1.14.3.20220915.105557.468.2963630849"!==t.studyInstanceUid,description:"The mode requires both PT and CT series in the study"}},routes:[{path:"tmtv",layoutTemplate:()=>({id:"@ohif/extension-default.layoutTemplateModule.viewerLayout",props:{leftPanels:["@ohif/extension-default.panelModule.seriesList"],leftPanelClosed:!0,rightPanels:[["@ohif/extension-tmtv.panelModule.tmtvBox","@ohif/extension-cornerstone-dicom-seg.panelModule.panelSegmentation","@ohif/extension-tmtv.panelModule.tmtvExport"],"@ohif/extension-tmtv.panelModule.petSUV"],viewports:[{namespace:"@ohif/extension-cornerstone.viewportModule.cornerstone",displaySetsToDisplay:[X]}]}})}],extensions:ee,hangingProtocol:"@ohif/extension-tmtv.han