@ohif/extension-tmtv 3.14.0-beta.38 → 3.14.0-beta.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@ohif/core"),require("@cornerstonejs/adapters"),require("@ohif/extension-cornerstone"),require("@ohif/core/src/utils"),require("@ohif/ui-next"),require("@cornerstonejs/core"),require("dcmjs"),require("@ohif/i18n"),require("@cornerstonejs/tools"),require("@ohif/core/src"),require("@ohif/extension-default")):"function"==typeof define&&define.amd?define(["@ohif/core","@cornerstonejs/adapters","@ohif/extension-cornerstone","@ohif/core/src/utils","@ohif/ui-next","@cornerstonejs/core","dcmjs","@ohif/i18n","@cornerstonejs/tools","@ohif/core/src","@ohif/extension-default"],t):"object"==typeof exports?exports["ohif-extension-tmtv"]=t(require("@ohif/core"),require("@cornerstonejs/adapters"),require("@ohif/extension-cornerstone"),require("@ohif/core/src/utils"),require("@ohif/ui-next"),require("@cornerstonejs/core"),require("dcmjs"),require("@ohif/i18n"),require("@cornerstonejs/tools"),require("@ohif/core/src"),require("@ohif/extension-default")):e["ohif-extension-tmtv"]=t(e["@ohif/core"],e["@cornerstonejs/adapters"],e["@ohif/extension-cornerstone"],e["@ohif/core/src/utils"],e["@ohif/ui-next"],e["@cornerstonejs/core"],e.dcmjs,e["@ohif/i18n"],e["@cornerstonejs/tools"],e["@ohif/core/src"],e["@ohif/extension-default"])}(globalThis,(e,t,n,o,a,r,i,s,l,u,c)=>(()=>{var p={76(e,t,n){"use strict";var o=n(326).__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;t.c=function(e){return o.H.useMemoCache(e)}},60(e,t){"use strict";var n=Symbol.for("react.transitional.element");function o(e,t,o){var a=null;if(void 0!==o&&(a=""+o),void 0!==t.key&&(a=""+t.key),"key"in t)for(var r in o={},t)"key"!==r&&(o[r]=t[r]);else o=t;return{$$typeof:n,type:e,key:a,ref:void 0!==(t=o.ref)?t:null,props:o}}t.Fragment=Symbol.for("react.fragment"),t.jsx=o,t.jsxs=o},391(e,t){"use strict";var n=Symbol.for("react.transitional.element"),o=Symbol.for("react.portal"),a=(Symbol.for("react.fragment"),Symbol.for("react.strict_mode"),Symbol.for("react.profiler"),Symbol.for("react.consumer")),r=Symbol.for("react.context"),i=(Symbol.for("react.forward_ref"),Symbol.for("react.suspense"),Symbol.for("react.memo"),Symbol.for("react.lazy")),s=(Symbol.for("react.activity"),Symbol.iterator),l={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},u=Object.assign,c={};function p(e,t,n){this.props=e,this.context=t,this.refs=c,this.updater=n||l}function d(){}function h(e,t,n){this.props=e,this.context=t,this.refs=c,this.updater=n||l}p.prototype.isReactComponent={},p.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},p.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},d.prototype=p.prototype;var f=h.prototype=new d;f.constructor=h,u(f,p.prototype),f.isPureReactComponent=!0;var g={H:null,A:null,T:null,S:null};Object.prototype.hasOwnProperty;"function"==typeof reportError&&reportError,t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=g,t.createContext=function(e){return(e={$$typeof:r,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:a,_context:e},e},t.useContext=function(e){return g.H.useContext(e)},t.useEffect=function(e,t){return g.H.useEffect(e,t)},t.useReducer=function(e,t,n){return g.H.useReducer(e,t,n)},t.useRef=function(e){return g.H.useRef(e)},t.useState=function(e){return g.H.useState(e)}},184(e,t,n){"use strict";e.exports=n(76)},326(e,t,n){"use strict";e.exports=n(391)},870(e,t,n){"use strict";e.exports=n(60)},741(e){e.exports={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}},142(e){"use strict";e.exports=t},557(e){"use strict";e.exports=r},713(e){"use strict";e.exports=l},2(t){"use strict";t.exports=e},459(e){"use strict";e.exports=u},141(e){"use strict";e.exports=o},669(e){"use strict";e.exports=n},438(e){"use strict";e.exports=c},545(e){"use strict";e.exports=s},55(e){"use strict";e.exports=a},111(e){"use strict";e.exports=i}},d={};function h(e){var t=d[e];if(void 0!==t)return t.exports;var n=d[e]={exports:{}};return p[e](n,n.exports,h),n.exports}h.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return h.d(t,{a:t}),t},h.d=(e,t)=>{for(var n in t)h.o(t,n)&&!h.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},h.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),h.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var f={};return(()=>{"use strict";h.r(f),h.d(f,{default:()=>tl,toolGroupIds:()=>ta});let e=JSON.parse('{"UU":"@ohif/extension-tmtv"}').UU;var t,n=h(669);let o=e=>({type:"cameraPosition",id:e,source:!0,target:!0}),a={type:"hydrateseg",id:"sameFORId",source:!0,target:!0,options:{matchingRules:["sameFOR"]}},r={viewportOptions:{viewportId:"ctAXIAL",viewportType:"volume",orientation:"axial",toolGroupId:"ctToolGroup",initialImageOptions:{preset:"first"},syncGroups:[o("axialSync"),{type:"voi",id:"ctWLSync",source:!0,target:!0,options:{syncColormap:!0}},a]},displaySets:[{id:"ctDisplaySet"}]},i={viewportOptions:{viewportId:"ctSAGITTAL",viewportType:"volume",orientation:"sagittal",toolGroupId:"ctToolGroup",syncGroups:[o("sagittalSync"),{type:"voi",id:"ctWLSync",source:!0,target:!0,options:{syncColormap:!0}},a]},displaySets:[{id:"ctDisplaySet"}]},s={viewportOptions:{viewportId:"ctCORONAL",viewportType:"volume",orientation:"coronal",toolGroupId:"ctToolGroup",syncGroups:[o("coronalSync"),{type:"voi",id:"ctWLSync",source:!0,target:!0,options:{syncColormap:!0}},a]},displaySets:[{id:"ctDisplaySet"}]},l={viewportOptions:{viewportId:"ptAXIAL",viewportType:"volume",background:[1,1,1],orientation:"axial",toolGroupId:"ptToolGroup",initialImageOptions:{preset:"first"},syncGroups:[o("axialSync"),{type:"voi",id:"ptWLSync",source:!0,target:!0,options:{syncColormap:!0}},{type:"voi",id:"ptFusionWLSync",source:!0,target:!1,options:{syncColormap:!1,syncInvertState:!1}},a]},displaySets:[{options:{voi:{custom:"getPTVOIRange"},voiInverted:!0},id:"ptDisplaySet"}]},u={viewportOptions:{viewportId:"ptSAGITTAL",viewportType:"volume",orientation:"sagittal",background:[1,1,1],toolGroupId:"ptToolGroup",syncGroups:[o("sagittalSync"),{type:"voi",id:"ptWLSync",source:!0,target:!0,options:{syncColormap:!0}},{type:"voi",id:"ptFusionWLSync",source:!0,target:!1,options:{syncColormap:!1,syncInvertState:!1}},a]},displaySets:[{options:{voi:{custom:"getPTVOIRange"},voiInverted:!0},id:"ptDisplaySet"}]},c={viewportOptions:{viewportId:"ptCORONAL",viewportType:"volume",orientation:"coronal",background:[1,1,1],toolGroupId:"ptToolGroup",syncGroups:[o("coronalSync"),{type:"voi",id:"ptWLSync",source:!0,target:!0,options:{syncColormap:!0}},{type:"voi",id:"ptFusionWLSync",source:!0,target:!1,options:{syncColormap:!1,syncInvertState:!1}},a]},displaySets:[{options:{voi:{custom:"getPTVOIRange"},voiInverted:!0},id:"ptDisplaySet"}]},p={viewportOptions:{viewportId:"fusionAXIAL",viewportType:"volume",orientation:"axial",toolGroupId:"fusionToolGroup",initialImageOptions:{preset:"first"},syncGroups:[o("axialSync"),{type:"voi",id:"ctWLSync",source:!1,target:!0},{type:"voi",id:"fusionWLSync",source:!0,target:!0,options:{syncColormap:!0}},{type:"voi",id:"ptFusionWLSync",source:!1,target:!0,options:{syncColormap:!1,syncInvertState:!1}},a]},displaySets:[{id:"ctDisplaySet"},{id:"ptDisplaySet",options:{colormap:{name:"hsv",opacity:[{value:0,opacity:0},{value:.1,opacity:.8},{value:1,opacity:.9}]},voi:{custom:"getPTVOIRange"}}}]},d={viewportOptions:{viewportId:"fusionSAGITTAL",viewportType:"volume",orientation:"sagittal",toolGroupId:"fusionToolGroup",syncGroups:[o("sagittalSync"),{type:"voi",id:"ctWLSync",source:!1,target:!0},{type:"voi",id:"fusionWLSync",source:!0,target:!0,options:{syncColormap:!0}},{type:"voi",id:"ptFusionWLSync",source:!1,target:!0,options:{syncColormap:!1,syncInvertState:!1}},a]},displaySets:[{id:"ctDisplaySet"},{id:"ptDisplaySet",options:{colormap:{name:"hsv",opacity:[{value:0,opacity:0},{value:.1,opacity:.8},{value:1,opacity:.9}]},voi:{custom:"getPTVOIRange"}}}]},g={viewportOptions:{viewportId:"fusionCoronal",viewportType:"volume",orientation:"coronal",toolGroupId:"fusionToolGroup",syncGroups:[o("coronalSync"),{type:"voi",id:"ctWLSync",source:!1,target:!0},{type:"voi",id:"fusionWLSync",source:!0,target:!0,options:{syncColormap:!0}},{type:"voi",id:"ptFusionWLSync",source:!1,target:!0,options:{syncColormap:!1,syncInvertState:!1}},a]},displaySets:[{id:"ctDisplaySet"},{id:"ptDisplaySet",options:{colormap:{name:"hsv",opacity:[{value:0,opacity:0},{value:.1,opacity:.8},{value:1,opacity:.9}]},voi:{custom:"getPTVOIRange"}}}]},m={viewportOptions:{viewportId:"mipSagittal",viewportType:"volume",orientation:"sagittal",background:[1,1,1],toolGroupId:"mipToolGroup",syncGroups:[{type:"voi",id:"ptWLSync",source:!0,target:!0,options:{syncColormap:!0}},{type:"voi",id:"ptFusionWLSync",source:!0,target:!1,options:{syncColormap:!1,syncInvertState:!1}},a],customViewportProps:{hideOverlays:!0}},displaySets:[{options:{blendMode:"MIP",slabThickness:"fullVolume",voi:{custom:"getPTVOIRange"},voiInverted:!0},id:"ptDisplaySet"}]},y={name:"default",id:"default",viewportStructure:{layoutType:"grid",properties:{rows:3,columns:4,layoutOptions:[{x:0,y:0,width:1/4,height:1/3},{x:1/4,y:0,width:1/4,height:1/3},{x:.5,y:0,width:1/4,height:1/3},{x:0,y:1/3,width:1/4,height:1/3},{x:1/4,y:1/3,width:1/4,height:1/3},{x:.5,y:1/3,width:1/4,height:1/3},{x:0,y:2/3,width:1/4,height:1/3},{x:1/4,y:2/3,width:1/4,height:1/3},{x:.5,y:2/3,width:1/4,height:1/3},{x:3/4,y:0,width:1/4,height:1}]}},viewports:[r,i,s,l,u,c,p,d,g,m],createdDate:"2021-02-23T18:32:42.850Z"},v={name:"2x4-layout",id:"2x4-layout",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:4,layoutOptions:[{x:0,y:0,width:1/4,height:.5},{x:1/4,y:0,width:1/4,height:.5},{x:.5,y:0,width:1/4,height:.5},{x:3/4,y:0,width:1/4,height:1},{x:0,y:.5,width:1/4,height:.5},{x:1/4,y:.5,width:1/4,height:.5},{x:.5,y:.5,width:1/4,height:.5}]}},viewports:[c,u,l,m,g,d,p]},b={id:"@ohif/extension-tmtv.hangingProtocolModule.ptCT",locked:!0,name:"Default",createdDate:"2021-02-23T19:22:08.894Z",modifiedDate:"2022-10-04T19:22:08.894Z",availableTo:{},editableBy:{},imageLoadStrategy:"interleaveTopToBottom",protocolMatchingRules:[{attribute:"ModalitiesInStudy",constraint:{contains:["CT","PT"]}},{attribute:"StudyDescription",constraint:{contains:"PETCT"}},{attribute:"StudyDescription",constraint:{contains:"PET/CT"}}],displaySetSelectors:{ctDisplaySet:{seriesMatchingRules:[{attribute:"Modality",constraint:{equals:{value:"CT"}},required:!0},{attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0},{attribute:"SeriesDescription",constraint:{contains:"CT"}},{attribute:"SeriesDescription",constraint:{contains:"CT WB"}}]},ptDisplaySet:{seriesMatchingRules:[{attribute:"Modality",constraint:{equals:"PT"},required:!0},{attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0},{attribute:"SeriesDescription",constraint:{contains:"Corrected"}},{weight:2,attribute:"SeriesDescription",constraint:{doesNotContain:{value:"Uncorrected"}}}]}},stages:[y,{name:"Fusion 2x2",id:"Fusion-2x2",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:2}},viewports:[r,p,l,m]},{name:"2x3-layout",id:"2x3-layout",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:3}},viewports:[r,i,s,l,u,c]},v],numberOfPriorsReferenced:-1};var S=h(326),x=h(184),T=h(2),w=h.n(T);function R(e){return(R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function I(e){var t=function(e,t){if("object"!=R(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=R(o))return o;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==R(t)?t:t+""}function O(){if(console&&console.warn){for(var e,t=arguments.length,n=Array(t),o=0;o<t;o++)n[o]=arguments[o];"string"==typeof n[0]&&(n[0]="react-i18next:: ".concat(n[0])),(e=console).warn.apply(e,n)}}h(741),Object.create(null);var C={};function j(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];"string"==typeof t[0]&&C[t[0]]||("string"==typeof t[0]&&(C[t[0]]=new Date),O.apply(void 0,t))}var k=function(e,t){return function(){e.isInitialized?t():e.on("initialized",function n(){setTimeout(function(){e.off("initialized",n)},0),t()})}};function N(e,t,n){e.loadNamespaces(t,k(e,n))}function L(e,t,n,o){"string"==typeof n&&(n=[n]),n.forEach(function(t){0>e.options.ns.indexOf(t)&&e.options.ns.push(t)}),e.loadLanguages(t,k(e,o))}var P=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,E={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},D=function(e){return E[e]},B={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:function(e){return e.replace(P,D)}},M=(0,S.createContext)(),A=function(){var e;function t(){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.usedNamespaces={}}return e=[{key:"addUsedNamespaces",value:function(e){var t=this;e.forEach(function(e){t.usedNamespaces[e]||(t.usedNamespaces[e]=!0)})}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}],function(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,I(o.key),o)}}(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}();function F(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function U(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function V(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?U(Object(n),!0).forEach(function(t){var o,a;o=t,a=n[t],(o=I(o))in e?Object.defineProperty(e,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[o]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):U(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var _=function(e,t){var n=(0,S.useRef)();return(0,S.useEffect)(function(){n.current=t?n.current:e},[e,t]),n.current};function q(e){var n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=o.i18n,r=(0,S.useContext)(M)||{},i=r.i18n,s=r.defaultNS,l=a||i||t;if(l&&!l.reportNamespaces&&(l.reportNamespaces=new A),!l){j("You will need to pass in an i18next instance by using initReactI18next");var u=function(e,t){return"string"==typeof t?t:t&&"object"===R(t)&&"string"==typeof t.defaultValue?t.defaultValue:Array.isArray(e)?e[e.length-1]:e},c=[u,{},!1];return c.t=u,c.i18n={},c.ready=!1,c}l.options.react&&void 0!==l.options.react.wait&&j("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var p=V(V(V({},B),l.options.react),o),d=p.useSuspense,h=p.keyPrefix,f=e||s||l.options&&l.options.defaultNS;f="string"==typeof f?[f]:f||["translation"],l.reportNamespaces.addUsedNamespaces&&l.reportNamespaces.addUsedNamespaces(f);var g=(l.isInitialized||l.initializedStoreOnce)&&f.every(function(e){return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.languages&&t.languages.length?void 0===t.options.ignoreJSONStructure?function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=t.languages[0],a=!!t.options&&t.options.fallbackLng,r=t.languages[t.languages.length-1];if("cimode"===o.toLowerCase())return!0;var i=function(e,n){var o=t.services.backendConnector.state["".concat(e,"|").concat(n)];return -1===o||2===o};return(!(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1)||!t.services.backendConnector.backend||!t.isLanguageChangingTo||!!i(t.isLanguageChangingTo,e))&&!!(t.hasResourceBundle(o,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||i(o,e)&&(!a||i(r,e)))}(e,t,n):t.hasLoadedNamespace(e,{lng:n.lng,precheck:function(t,o){if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!o(t.isLanguageChangingTo,e))return!1}}):(j("i18n.languages were undefined or empty",t.languages),!0)}(e,l,p)});function m(){return l.getFixedT(o.lng||null,"fallback"===p.nsMode?f:f[0],h)}var y=function(e){if(Array.isArray(e))return e}(n=(0,S.useState)(m))||function(e){var t=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,o,a,r,i=[],s=!0,l=!1;try{a=(t=t.call(e)).next,!1;for(;!(s=(n=a.call(t)).done)&&(i.push(n.value),2!==i.length);s=!0);}catch(e){l=!0,o=e}finally{try{if(!s&&null!=t.return&&(r=t.return(),Object(r)!==r))return}finally{if(l)throw o}}return i}}(n)||function(e){if(e){if("string"==typeof e)return F(e,2);var t=({}).toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?F(e,2):void 0}}(n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),v=y[0],b=y[1],x=f.join();o.lng&&(x="".concat(o.lng).concat(x));var T=_(x),w=(0,S.useRef)(!0);(0,S.useEffect)(function(){var e=p.bindI18n,t=p.bindI18nStore;function n(){w.current&&b(m)}return w.current=!0,g||d||(o.lng?L(l,o.lng,f,function(){w.current&&b(m)}):N(l,f,function(){w.current&&b(m)})),g&&T&&T!==x&&w.current&&b(m),e&&l&&l.on(e,n),t&&l&&l.store.on(t,n),function(){w.current=!1,e&&l&&e.split(" ").forEach(function(e){return l.off(e,n)}),t&&l&&t.split(" ").forEach(function(e){return l.store.off(e,n)})}},[l,x]);var I=(0,S.useRef)(!0);(0,S.useEffect)(function(){w.current&&!I.current&&b(m),I.current=!1},[l,h]);var O=[v,l,g];if(O.t=v,O.i18n=l,O.ready=g,g||!g&&!d)return O;throw new Promise(function(e){o.lng?L(l,o.lng,f,function(){return e()}):N(l,f,function(){return e()})})}var W=h(55),G=h(459),H=h(870);let z={PatientWeight:null,PatientSex:null,SeriesTime:null,RadiopharmaceuticalInformationSequence:{RadionuclideTotalDose:null,RadionuclideHalfLife:null,RadiopharmaceuticalStartTime:null}},$=e=>{let t,n,o,a,r=(0,x.c)(8);r[0]!==e?({children:t,className:n,...o}=e,r[0]=e,r[1]=t,r[2]=n,r[3]=o):(t=r[1],n=r[2],o=r[3]);let i=`flex flex-row items-center space-x-4 ${n||""}`;return r[4]!==t||r[5]!==o||r[6]!==i?(a=(0,H.jsx)("div",{className:i,...o,children:t}),r[4]=t,r[5]=o,r[6]=i,r[7]=a):a=r[7],a};function K(){let e,t,n,o,a,r,i,s,l,u,c,p,d,h,f,g,m,y,v,b,w,R,I,O,C,j,k,N,L,P,E,D,B,M,A,F,U,V,_,K,Y,Z,X=(0,x.c)(96),{commandsManager:Q,servicesManager:ee}=(0,G.useSystem)(),{t:et}=q("PanelSUV"),{displaySetService:en,hangingProtocolService:eo}=ee.services,[ea,er]=(0,S.useState)(z),[ei,es]=(0,S.useState)(null);X[0]===Symbol.for("react.memo_cache_sentinel")?(e=e=>{er(t=>{let n={...t};return Object.keys(e).forEach(o=>{"object"==typeof e[o]?n[o]={...t[o],...e[o]}:n[o]=e[o]}),n})},X[0]=e):e=X[0];let el=e;X[1]!==Q?(t=e=>{let t=Q.runCommand("getMatchingPTDisplaySet",{viewportMatchDetails:e});if(!t)return;let n=Q.runCommand("getPTMetadata",{ptDisplaySet:t});return{ptDisplaySet:t,metadata:n}},X[1]=Q,X[2]=t):t=X[2];let eu=t;X[3]!==en||X[4]!==eu||X[5]!==eo?(n=()=>{let e=en.getActiveDisplaySets(),{viewportMatchDetails:t}=eo.getMatchDetails();if(!e.length)return;let n=eu(t);if(!n)return;let{ptDisplaySet:o,metadata:a}=n;es(o),er(a)},X[3]=en,X[4]=eu,X[5]=eo,X[6]=n):n=X[6],X[7]===Symbol.for("react.memo_cache_sentinel")?(o=[],X[7]=o):o=X[7],(0,S.useEffect)(n,o),X[8]!==eu||X[9]!==eo?(a=()=>{let{unsubscribe:e}=eo.subscribe(eo.EVENTS.PROTOCOL_CHANGED,e=>{let{viewportMatchDetails:t}=e,n=eu(t);if(!n)return;let{ptDisplaySet:o,metadata:a}=n;es(o),er(a)});return()=>{e()}},X[8]=eu,X[9]=eo,X[10]=a):a=X[10],X[11]===Symbol.for("react.memo_cache_sentinel")?(r=[],X[11]=r):r=X[11],(0,S.useEffect)(a,r),X[12]!==Q||X[13]!==en||X[14]!==ea||X[15]!==ei?(i=function(){if(!ei)throw Error("No ptDisplaySet found");T.DicomMetadataStore.updateMetadataForSeries(ei.StudyInstanceUID,ei.SeriesInstanceUID,ea),en.setDisplaySetMetadataInvalidated(ei.displaySetInstanceUID),setTimeout(()=>{Q.runCommand("resetCrosshairs")},0)},X[12]=Q,X[13]=en,X[14]=ea,X[15]=ei,X[16]=i):i=X[16];let ec=i;X[17]!==et?(s=et("Patient Information"),X[17]=et,X[18]=s):s=X[18],X[19]!==s?(l=(0,H.jsx)(W.PanelSection.Header,{children:s}),X[19]=s,X[20]=l):l=X[20],X[21]!==et?(u=et("Patient Sex"),X[21]=et,X[22]=u):u=X[22],X[23]!==u?(c=(0,H.jsx)($.Label,{children:u}),X[23]=u,X[24]=c):c=X[24];let ep=ea.PatientSex||"";X[25]===Symbol.for("react.memo_cache_sentinel")?(p=e=>{el({PatientSex:e.target.value})},X[25]=p):p=X[25],X[26]!==ep?(d=(0,H.jsx)($.Input,{value:ep,onChange:p}),X[26]=ep,X[27]=d):d=X[27],X[28]!==c||X[29]!==d?(h=(0,H.jsxs)($,{children:[c,d]}),X[28]=c,X[29]=d,X[30]=h):h=X[30],X[31]!==et?(f=et("Weight"),X[31]=et,X[32]=f):f=X[32],X[33]!==f?(g=(0,H.jsx)($.Label,{unit:"kg",children:f}),X[33]=f,X[34]=g):g=X[34];let ed=ea.PatientWeight||"";X[35]===Symbol.for("react.memo_cache_sentinel")?(m=e=>{el({PatientWeight:e.target.value})},X[35]=m):m=X[35],X[36]!==ed?(y=(0,H.jsx)($.Input,{value:ed,onChange:m,id:"weight-input"}),X[36]=ed,X[37]=y):y=X[37],X[38]!==g||X[39]!==y?(v=(0,H.jsxs)($,{children:[g,y]}),X[38]=g,X[39]=y,X[40]=v):v=X[40],X[41]!==et?(b=et("Total Dose"),X[41]=et,X[42]=b):b=X[42],X[43]!==b?(w=(0,H.jsx)($.Label,{unit:"bq",children:b}),X[43]=b,X[44]=w):w=X[44];let eh=ea.RadiopharmaceuticalInformationSequence.RadionuclideTotalDose||"";X[45]===Symbol.for("react.memo_cache_sentinel")?(R=e=>{el({RadiopharmaceuticalInformationSequence:{RadionuclideTotalDose:e.target.value}})},X[45]=R):R=X[45],X[46]!==eh?(I=(0,H.jsx)($.Input,{value:eh,onChange:R}),X[46]=eh,X[47]=I):I=X[47],X[48]!==w||X[49]!==I?(O=(0,H.jsxs)($,{children:[w,I]}),X[48]=w,X[49]=I,X[50]=O):O=X[50],X[51]!==et?(C=et("Half Life"),X[51]=et,X[52]=C):C=X[52],X[53]!==C?(j=(0,H.jsx)($.Label,{unit:"s",children:C}),X[53]=C,X[54]=j):j=X[54];let ef=ea.RadiopharmaceuticalInformationSequence.RadionuclideHalfLife||"";X[55]===Symbol.for("react.memo_cache_sentinel")?(k=e=>{el({RadiopharmaceuticalInformationSequence:{RadionuclideHalfLife:e.target.value}})},X[55]=k):k=X[55],X[56]!==ef?(N=(0,H.jsx)($.Input,{value:ef,onChange:k}),X[56]=ef,X[57]=N):N=X[57],X[58]!==j||X[59]!==N?(L=(0,H.jsxs)($,{children:[j,N]}),X[58]=j,X[59]=N,X[60]=L):L=X[60],X[61]!==et?(P=et("Injection Time"),X[61]=et,X[62]=P):P=X[62],X[63]!==P?(E=(0,H.jsx)($.Label,{unit:"s",children:P}),X[63]=P,X[64]=E):E=X[64];let eg=ea.RadiopharmaceuticalInformationSequence.RadiopharmaceuticalStartTime||"";X[65]===Symbol.for("react.memo_cache_sentinel")?(D=e=>{el({RadiopharmaceuticalInformationSequence:{RadiopharmaceuticalStartTime:e.target.value}})},X[65]=D):D=X[65],X[66]!==eg?(B=(0,H.jsx)($.Input,{value:eg,onChange:D}),X[66]=eg,X[67]=B):B=X[67],X[68]!==E||X[69]!==B?(M=(0,H.jsxs)($,{children:[E,B]}),X[68]=E,X[69]=B,X[70]=M):M=X[70],X[71]!==et?(A=et("Acquisition Time"),X[71]=et,X[72]=A):A=X[72],X[73]!==A?(F=(0,H.jsx)($.Label,{unit:"s",children:A}),X[73]=A,X[74]=F):F=X[74];let em=ea.SeriesTime||"";return X[75]!==em?(U=(0,H.jsx)($.Input,{value:em,onChange:J}),X[75]=em,X[76]=U):U=X[76],X[77]!==F||X[78]!==U?(V=(0,H.jsxs)($,{children:[F,U]}),X[77]=F,X[78]=U,X[79]=V):V=X[79],X[80]!==et?(_=et("Reload Data"),X[80]=et,X[81]=_):_=X[81],X[82]!==_||X[83]!==ec?(K=(0,H.jsx)(W.Button,{variant:"default",size:"sm",className:"self-end px-4",onClick:ec,children:_}),X[82]=_,X[83]=ec,X[84]=K):K=X[84],X[85]!==h||X[86]!==v||X[87]!==O||X[88]!==L||X[89]!==M||X[90]!==V||X[91]!==K?(Y=(0,H.jsx)(W.PanelSection.Content,{children:(0,H.jsxs)("div",{className:"bg-muted flex flex-col gap-3 p-2",children:[h,v,O,L,M,V,K]})}),X[85]=h,X[86]=v,X[87]=O,X[88]=L,X[89]=M,X[90]=V,X[91]=K,X[92]=Y):Y=X[92],X[93]!==Y||X[94]!==l?(Z=(0,H.jsx)(H.Fragment,{children:(0,H.jsx)("div",{className:"ohif-scrollbar flex min-h-0 flex-auto select-none flex-col justify-between overflow-auto",children:(0,H.jsx)("div",{className:"flex min-h-0 flex-1 flex-col bg-background text-base",children:(0,H.jsxs)(W.PanelSection,{defaultOpen:!0,children:[l,Y]})})})}),X[93]=Y,X[94]=l,X[95]=Z):Z=X[95],Z}function J(){}$.Label=({children:e,unit:t,className:n,...o})=>(0,H.jsxs)(W.Label,{className:`min-w-32 flex-shrink-0 ${n||""}`,...o,children:[e,t&&(0,H.jsxs)("span",{className:"text-muted-foreground",children:[" ",t]})]}),$.Input=({className:e,...t})=>(0,H.jsx)(W.Input,{className:`h-7 flex-1 ${e||""}`,...t}),$.Label.displayName="InputRow.Label",$.Input.displayName="InputRow.Input";let Y=async({commandsManager:e,segmentationService:t})=>{let n=t.getSegmentations(),o=await e.run("calculateTMTV",{segmentations:n});n.forEach(e=>{e.cachedStats={...e.cachedStats,tmtv:o},t.addOrUpdateSegmentation(e)})};var Z=h(141);function X(){let e,t,o,a,r,i,s,l,u,c,p,d=(0,x.c)(23),{commandsManager:h,servicesManager:f}=(0,G.useSystem)(),{segmentationService:g}=f.services,{segmentationsWithRepresentations:m}=(0,n.useActiveViewportSegmentationRepresentations)();d[0]!==m?(e=m?.map(ee)||[],d[0]=m,d[1]=e):e=d[1];let y=e,v=m?.map(Q)||[];d[2]!==h||d[3]!==y||d[4]!==g?(t=()=>{(async()=>{for(let e of y)await Y({segmentationId:e,commandsManager:h,segmentationService:g})})()},d[2]=h,d[3]=y,d[4]=g,d[5]=t):t=d[5],d[6]===Symbol.for("react.memo_cache_sentinel")?(o=[],d[6]=o):o=d[6],(0,S.useEffect)(t,o),d[7]!==h||d[8]!==g?(a=()=>{let e=(0,Z.debounce)(async e=>{let{segmentationId:t}=e;await Y({segmentationId:t,commandsManager:h,segmentationService:g})},100),t=g.subscribe(g.EVENTS.SEGMENTATION_DATA_MODIFIED,t=>{e(t)});return()=>{t.unsubscribe()}},r=[h,g],d[7]=h,d[8]=g,d[9]=a,d[10]=r):(a=d[9],r=d[10]),(0,S.useEffect)(a,r);let b=g.getSegmentationGroupStats(y),T=b?.tmtv,w=()=>{v.length&&h.runCommand("exportTMTVReportCSV",{segmentations:v,tmtv:T,config:{}})};d[11]===Symbol.for("react.memo_cache_sentinel")?(i=(0,H.jsx)("span",{className:"text-muted-foreground text-base font-bold uppercase",children:"TMTV: "}),d[11]=i):i=d[11];let R=T?`${T.toFixed(3)} mL`:"";return d[12]!==R?(s=(0,H.jsx)("span",{className:"text-foreground",children:R}),d[12]=R,d[13]=s):s=d[13],d[14]!==s||d[15]!==i?(l=(0,H.jsxs)("div",{className:"py-1",children:[i,s]}),d[14]=s,d[15]=i,d[16]=l):l=d[16],d[17]===Symbol.for("react.memo_cache_sentinel")?(u=(0,H.jsx)("span",{className:"pl-1",children:"CSV"}),d[17]=u):u=d[17],d[18]!==w?(c=(0,H.jsx)("div",{className:"flex items-center",children:(0,H.jsx)(W.Button,{dataCY:"exportTmtvCsvReport",size:"sm",variant:"ghost",onClick:w,children:u})}),d[18]=w,d[19]=c):c=d[19],d[20]!==l||d[21]!==c?(p=(0,H.jsx)("div",{className:"mb-1 flex flex-col",children:(0,H.jsx)("div",{className:"invisible-scrollbar overflow-y-auto overflow-x-hidden",children:(0,H.jsxs)("div",{className:"bg-popover flex items-baseline justify-between px-2 py-1",children:[l,c]})})}),d[20]=l,d[21]=c,d[22]=p):p=d[22],p}function Q(e){return e.segmentation}function ee(e){return e.segmentation.segmentationId}var et=h(438);function en(e){let t,o,a=(0,x.c)(3),{configuration:r}=e;return a[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,H.jsx)(X,{}),a[0]=t):t=a[0],a[1]!==r?(o=(0,H.jsx)(H.Fragment,{children:(0,H.jsx)(n.PanelSegmentation,{configuration:r,children:t})}),a[1]=r,a[2]=o):o=a[2],o}var eo=h(545),ea=h.n(eo),er=h(713);let ei=["RectangleROIStartEndThreshold","CircleROIStartEndThreshold"],es=(e,t)=>{},el=(e,t)=>{},{CORNERSTONE_3D_TOOLS_SOURCE_NAME:eu,CORNERSTONE_3D_TOOLS_SOURCE_VERSION:ec}=n.Enums;var ep=h(557);let ed=function(e,t,n){if("range"===n.strategy)return{ptLower:Number(n.ptLower),ptUpper:Number(n.ptUpper),ctLower:Number(n.ctLower),ctUpper:Number(n.ctUpper)};let{weight:o}=n;return{ctLower:-1/0,ctUpper:Infinity,ptLower:o*function(e,t){let{imageIds:n}=e,o=ep.cache.getVolumeContainingImageId(n[0]);if(!o)throw Error("No volume found for display set");let{volume:a}=o,{voxelManager:r}=a,{fn:i,baseValue:s}={fn:(e,t)=>(e>t&&(t=e),t),baseValue:-1/0},l=s,u=er.utilities.rectangleROITool.getBoundsIJKFromRectangleAnnotations(t,a);return r.forEach(({value:e})=>{l=i(e,l)},{boundsIJK:u}),l}(t,e.map(e=>er.annotation.state.getAnnotation(e))),ptUpper:Infinity}},{downloadCsv:eh}=T.utils;var ef=h(111),eg=h.n(ef),em=h(142);let{datasetToBlob:ey}=eg().data,ev=T.classes.MetadataProvider,eb=function(e){let t=ey(em.adaptersRT.Cornerstone3D.RTSS.generateRTSSFromAnnotations(e,ev,T.DicomMetadataStore));var n=URL.createObjectURL(t);window.location.assign(n)},{SegmentationRepresentations:eS}=er.Enums,{formatPN:ex}=T.utils,eT=T.classes.MetadataProvider,ew=["RectangleROIStartEndThreshold","RectangleROIThreshold","CircleROIStartEndThreshold"],eR="roi_stat";function eI(e){return(0,H.jsx)(W.SelectItem,{value:e.value,children:e.label},e.value)}let eO=function(e){let t,n,o,a,r,i,s,l,u,c,p,d,h,f,g,m,y,v,b,S,T,w,R,I=(0,x.c)(67),{config:O,dispatch:C,runCommand:j}=e,{t:k}=q("ROIThresholdConfiguration");I[0]!==k?(t=k("Max"),I[0]=k,I[1]=t):t=I[1],I[2]!==k?(n=k("Max"),I[2]=k,I[3]=n):n=I[3],I[4]!==t||I[5]!==n?(o={value:eR,label:t,placeHolder:n},I[4]=t,I[5]=n,I[6]=o):o=I[6],I[7]!==k?(a=k("Range"),I[7]=k,I[8]=a):a=I[8],I[9]!==k?(r=k("Range"),I[9]=k,I[10]=r):r=I[10],I[11]!==a||I[12]!==r?(i={value:"range",label:a,placeHolder:r},I[11]=a,I[12]=r,I[13]=i):i=I[13],I[14]!==o||I[15]!==i?(s=[o,i],I[14]=o,I[15]=i,I[16]=s):s=I[16];let N=s;I[17]!==C?(l=e=>{let t=e.target.value;"."===t&&(t="0."),isNaN(Number(t))||0>Number(t)||Number(t)>1||C({type:"setWeight",payload:{weight:t}})},I[17]=C,I[18]=l):l=I[18];let L=l;I[19]!==C?(u=e=>{C({type:"setStrategy",payload:{strategy:e}})},I[19]=C,I[20]=u):u=I[20];let P=N.find(e=>e.value===O.strategy)?.placeHolder;return I[21]!==P?(c=(0,H.jsx)(W.SelectTrigger,{className:"w-full",children:(0,H.jsx)(W.SelectValue,{placeholder:P})}),I[21]=P,I[22]=c):c=I[22],I[23]!==N?(p=(0,H.jsx)(W.SelectContent,{className:"",children:N.map(eI)}),I[23]=N,I[24]=p):p=I[24],I[25]!==O.strategy||I[26]!==c||I[27]!==p||I[28]!==u?(d=(0,H.jsx)("div",{className:"flex min-w-0 flex-1 flex-col",children:(0,H.jsxs)(W.Select,{value:O.strategy,onValueChange:u,children:[c,p]})}),I[25]=O.strategy,I[26]=c,I[27]=p,I[28]=u,I[29]=d):d=I[29],I[30]!==j?(h=()=>j("setStartSliceForROIThresholdTool"),I[30]=j,I[31]=h):h=I[31],I[32]!==k?(f=k("Start"),I[32]=k,I[33]=f):f=I[33],I[34]!==h||I[35]!==f?(g=(0,H.jsx)(W.Button,{variant:"secondary",onClick:h,children:f}),I[34]=h,I[35]=f,I[36]=g):g=I[36],I[37]!==j?(m=()=>j("setEndSliceForROIThresholdTool"),I[37]=j,I[38]=m):m=I[38],I[39]!==k?(y=k("End"),I[39]=k,I[40]=y):y=I[40],I[41]!==m||I[42]!==y?(v=(0,H.jsx)(W.Button,{variant:"secondary",onClick:m,children:y}),I[41]=m,I[42]=y,I[43]=v):v=I[43],I[44]!==g||I[45]!==v?(b=(0,H.jsx)("div",{className:"flex-shrink-0",children:(0,H.jsxs)("div",{className:"flex justify-end space-x-2",children:[g,v]})}),I[44]=g,I[45]=v,I[46]=b):b=I[46],I[47]!==d||I[48]!==b?(S=(0,H.jsxs)("div",{className:"flex items-end space-x-3",children:[d,b]}),I[47]=d,I[48]=b,I[49]=S):S=I[49],I[50]!==O.strategy||I[51]!==O.weight||I[52]!==L||I[53]!==k?(T=O.strategy===eR&&(0,H.jsxs)("div",{className:"mr-0",children:[(0,H.jsx)("div",{className:"mb-2",children:(0,H.jsx)(W.Label,{children:k("Percentage of Max SUV")})}),(0,H.jsx)(W.Input,{"data-cy":"percentage-of-max-suv-input",className:"w-full",type:"text",value:O.weight,onChange:L})]}),I[50]=O.strategy,I[51]=O.weight,I[52]=L,I[53]=k,I[54]=T):T=I[54],I[55]!==O.ctLower||I[56]!==O.ctUpper||I[57]!==O.ptLower||I[58]!==O.ptUpper||I[59]!==O.strategy||I[60]!==C||I[61]!==k?(w=O.strategy!==eR&&(0,H.jsx)("div",{className:"mr-2 text-sm",children:(0,H.jsxs)("div",{className:"flex flex-col space-y-2",children:[(0,H.jsx)(W.Label,{children:k("Lower & Upper Ranges")}),(0,H.jsxs)("div",{className:"flex items-center",children:[(0,H.jsx)("div",{className:"w-10 text-left",children:(0,H.jsx)(W.Label,{children:"CT"})}),(0,H.jsxs)("div",{className:"flex flex-1 space-x-2",children:[(0,H.jsx)("div",{className:"flex-1",children:(0,H.jsx)(W.Input,{className:"w-full",type:"text",value:O.ctLower,onChange:e=>{C({type:"setThreshold",payload:{ctLower:e.target.value}})}})}),(0,H.jsx)("div",{className:"flex-1",children:(0,H.jsx)(W.Input,{className:"w-full",type:"text",value:O.ctUpper,onChange:e=>{C({type:"setThreshold",payload:{ctUpper:e.target.value}})}})})]})]}),(0,H.jsxs)("div",{className:"flex items-center",children:[(0,H.jsx)("div",{className:"w-10 text-left",children:(0,H.jsx)(W.Label,{children:"PT"})}),(0,H.jsxs)("div",{className:"flex flex-1 space-x-2",children:[(0,H.jsx)("div",{className:"flex-1",children:(0,H.jsx)(W.Input,{className:"w-full",type:"text",value:O.ptLower,onChange:e=>{C({type:"setThreshold",payload:{ptLower:e.target.value}})}})}),(0,H.jsx)("div",{className:"flex-1",children:(0,H.jsx)(W.Input,{className:"w-full",type:"text",value:O.ptUpper,onChange:e=>{C({type:"setThreshold",payload:{ptUpper:e.target.value}})}})})]})]})]})}),I[55]=O.ctLower,I[56]=O.ctUpper,I[57]=O.ptLower,I[58]=O.ptUpper,I[59]=O.strategy,I[60]=C,I[61]=k,I[62]=w):w=I[62],I[63]!==S||I[64]!==T||I[65]!==w?(R=(0,H.jsxs)("div",{className:"bg-muted flex flex-col space-y-4 p-px",children:[S,T,w]}),I[63]=S,I[64]=T,I[65]=w,I[66]=R):R=I[66],R};function eC(e,t){let{payload:n}=t,{strategy:o,ctLower:a,ctUpper:r,ptLower:i,ptUpper:s,weight:l}=n;switch(t.type){case"setStrategy":return{...e,strategy:o};case"setThreshold":return{...e,ctLower:a||e.ctLower,ctUpper:r||e.ctUpper,ptLower:i||e.ptLower,ptUpper:s||e.ptUpper};case"setWeight":return{...e,weight:l};default:return e}}let ej=function(){let e,t,o,a,r,i,s=(0,x.c)(17),{commandsManager:l}=(0,T.useSystem)(),u=(0,n.useSegmentations)()[0],{t:c}=q("ROIThresholdConfiguration");s[0]!==l?(e=(e,t)=>l.runCommand(e,void 0===t?{}:t),s[0]=l,s[1]=e):e=s[1];let p=e;s[2]===Symbol.for("react.memo_cache_sentinel")?(t={strategy:eR,ctLower:-1024,ctUpper:1024,ptLower:2.5,ptUpper:100,weight:.41},s[2]=t):t=s[2];let[d,h]=(0,S.useReducer)(eC,t);s[3]!==u||s[4]!==d||s[5]!==p?(o=()=>{if(!u)return;let e=u.segmentationId,t=er.segmentation.segmentIndex.getActiveSegmentIndex(e);p("thresholdSegmentationByRectangleROITool",{segmentationId:e,config:d,segmentIndex:t})},s[3]=u,s[4]=d,s[5]=p,s[6]=o):o=s[6];let f=o;return s[7]!==d||s[8]!==p?(a=(0,H.jsx)(eO,{config:d,dispatch:h,runCommand:p}),s[7]=d,s[8]=p,s[9]=a):a=s[9],s[10]!==u||s[11]!==f||s[12]!==c?(r=u&&(0,H.jsx)(W.Button,{variant:"default",className:"my-3 mr-auto w-20",onClick:f,children:c("Run")}),s[10]=u,s[11]=f,s[12]=c,s[13]=r):r=s[13],s[14]!==a||s[15]!==r?(i=(0,H.jsxs)("div",{className:"invisible-scrollbar mb-1 flex flex-col overflow-y-auto overflow-x-hidden",children:[a,r]}),s[14]=a,s[15]=r,s[16]=i):i=s[16],i};function ek(e){return(ek="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function eN(e){var t=function(e,t){if("object"!=ek(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=ek(o))return o;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==ek(t)?t:t+""}function eL(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?Object(arguments[t]):{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&o.push.apply(o,Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})),o.forEach(function(t){var o,a;o=t,a=n[t],(o=eN(o))in e?Object.defineProperty(e,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[o]=a})}return e}function eP(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function eE(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,eN(o.key),o)}}function eD(e,t,n){return t&&eE(e.prototype,t),n&&eE(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function eB(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function eM(e,t){if(t&&("object"==ek(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return eB(e)}function eA(e){return(eA=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eF(e,t){return(eF=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function eU(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&eF(e,t)}function eV(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function e_(e,t){if(e){if("string"==typeof e)return eV(e,t);var n=({}).toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?eV(e,t):void 0}}function eq(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,a,r,i,s=[],l=!0,u=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(o=r.call(n)).done)&&(s.push(o.value),s.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(u)throw a}}return s}}(e,t)||e_(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var eW={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 n;console&&console[e]&&(n=console)[e].apply(n,function(e){if(Array.isArray(e))return eV(e)}(t)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||e_(t)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())}},eG=new(function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};eP(this,e),this.init(t,n)}return eD(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||eW,this.options=t,this.debug=t.debug}},{key:"setDebug",value:function(e){this.debug=e}},{key:"log",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"log","",!0)}},{key:"warn",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","",!0)}},{key:"error",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"error","")}},{key:"deprecate",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(e,t,n,o){return o&&!this.debug?null:("string"==typeof e[0]&&(e[0]="".concat(n).concat(this.prefix," ").concat(e[0])),this.logger[t](e))}},{key:"create",value:function(t){return new e(this.logger,eL({},{prefix:"".concat(this.prefix,":").concat(t,":")},this.options))}}]),e}()),eH=function(){function e(){eP(this,e),this.observers={}}return eD(e,[{key:"on",value:function(e,t){var n=this;return e.split(" ").forEach(function(e){n.observers[e]=n.observers[e]||[],n.observers[e].push(t)}),this}},{key:"off",value:function(e,t){if(this.observers[e]){if(!t)return void delete this.observers[e];this.observers[e]=this.observers[e].filter(function(e){return e!==t})}}},{key:"emit",value:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];this.observers[e]&&[].concat(this.observers[e]).forEach(function(e){e.apply(void 0,n)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(function(t){t.apply(t,[e].concat(n))})}}]),e}();function ez(){var e,t,n=new Promise(function(n,o){e=n,t=o});return n.resolve=e,n.reject=t,n}function e$(e){return null==e?"":""+e}function eK(e,t,n){function o(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function a(){return!e||"string"==typeof e}for(var r="string"!=typeof t?[].concat(t):t.split(".");r.length>1;){if(a())return{};var i=o(r.shift());!e[i]&&n&&(e[i]=new n),e=e[i]}return a()?{}:{obj:e,k:o(r.shift())}}function eJ(e,t,n){var o=eK(e,t,Object);o.obj[o.k]=n}function eY(e,t){var n=eK(e,t),o=n.obj,a=n.k;if(o)return o[a]}function eZ(e,t,n){var o=eY(e,n);return void 0!==o?o:eY(t,n)}function eX(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var eQ={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function e0(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,function(e){return eQ[e]}):e}var e1=function(e){function t(e){var n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return eP(this,t),n=eM(this,eA(t).call(this)),eH.call(eB(n)),n.data=e||{},n.options=o,void 0===n.options.keySeparator&&(n.options.keySeparator="."),n}return eU(t,e),eD(t,[{key:"addNamespaces",value:function(e){0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}},{key:"removeNamespaces",value:function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}},{key:"getResource",value:function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,r=[e,t];return n&&"string"!=typeof n&&(r=r.concat(n)),n&&"string"==typeof n&&(r=r.concat(a?n.split(a):n)),e.indexOf(".")>-1&&(r=e.split(".")),eY(this.data,r)}},{key:"addResource",value:function(e,t,n,o){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},r=this.options.keySeparator;void 0===r&&(r=".");var i=[e,t];n&&(i=i.concat(r?n.split(r):n)),e.indexOf(".")>-1&&(i=e.split("."),o=t,t=i[1]),this.addNamespaces(t),eJ(this.data,i,o),a.silent||this.emit("added",e,t,n,o)}},{key:"addResources",value:function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var a in n)("string"==typeof n[a]||"[object Array]"===Object.prototype.toString.apply(n[a]))&&this.addResource(e,t,a,n[a],{silent:!0});o.silent||this.emit("added",e,t,n)}},{key:"addResourceBundle",value:function(e,t,n,o,a){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},i=[e,t];e.indexOf(".")>-1&&(i=e.split("."),o=n,n=t,t=i[1]),this.addNamespaces(t);var s=eY(this.data,i)||{};o?function e(t,n,o){for(var a in n)a in t?"string"==typeof t[a]||t[a]instanceof String||"string"==typeof n[a]||n[a]instanceof String?o&&(t[a]=n[a]):e(t[a],n[a],o):t[a]=n[a];return t}(s,n,a):s=eL({},s,n),eJ(this.data,i,s),r.silent||this.emit("added",e,t,n)}},{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)?eL({},{},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}(eH),e2={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,n,o,a){var r=this;return e.forEach(function(e){r.processors[e]&&(t=r.processors[e].process(t,n,o,a))}),t}},e3=function(e){function t(e){var n,o,a,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return eP(this,t),a=eM(this,eA(t).call(this)),eH.call(eB(a)),n=["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],o=eB(a),n.forEach(function(t){e[t]&&(o[t]=e[t])}),a.options=r,void 0===a.options.keySeparator&&(a.options.keySeparator="."),a.logger=eG.create("translator"),a}return eU(t,e),eD(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:{}},n=this.resolve(e,t);return n&&void 0!==n.res}},{key:"extractFromKey",value:function(e,t){var n=t.nsSeparator||this.options.nsSeparator;void 0===n&&(n=":");var o=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,a=t.ns||this.options.defaultNS;if(n&&e.indexOf(n)>-1){var r=e.split(n);(n!==o||n===o&&this.options.ns.indexOf(r[0])>-1)&&(a=r.shift()),e=r.join(o)}return"string"==typeof a&&(a=[a]),{key:e,namespaces:a}}},{key:"translate",value:function(e,t){var n=this;if("object"!==ek(t)&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);var o=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,a=this.extractFromKey(e[e.length-1],t),r=a.key,i=a.namespaces,s=i[i.length-1],l=t.lng||this.language,u=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase())return u?s+(t.nsSeparator||this.options.nsSeparator)+r:r;var c=this.resolve(e,t),p=c&&c.res,d=c&&c.usedKey||r,h=c&&c.exactUsedKey||r,f=Object.prototype.toString.apply(p),g=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,m=!this.i18nFormat||this.i18nFormat.handleAsObject,y="string"!=typeof p&&"boolean"!=typeof p&&"number"!=typeof p;if(m&&p&&y&&0>["[object Number]","[object Function]","[object RegExp]"].indexOf(f)&&("string"!=typeof g||"[object Array]"!==f)){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(d,p,t):"key '".concat(r," (").concat(this.language,")' returned an object instead of string.");if(o){var v="[object Array]"===f,b=v?[]:{},S=v?h:d;for(var x in p)if(Object.prototype.hasOwnProperty.call(p,x)){var T="".concat(S).concat(o).concat(x);b[x]=this.translate(T,eL({},t,{joinArrays:!1,ns:i})),b[x]===T&&(b[x]=p[x])}p=b}}else if(m&&"string"==typeof g&&"[object Array]"===f)(p=p.join(g))&&(p=this.extendTranslation(p,e,t));else{var w=!1,R=!1;if(!this.isValidLookup(p)&&void 0!==t.defaultValue){if(w=!0,void 0!==t.count){var I=this.pluralResolver.getSuffix(l,t.count);p=t["defaultValue".concat(I)]}p||(p=t.defaultValue)}this.isValidLookup(p)||(R=!0,p=r);var O=t.defaultValue&&t.defaultValue!==p&&this.options.updateMissing;if(R||w||O){this.logger.log(O?"updateKey":"missingKey",l,s,r,O?t.defaultValue:p);var C=[],j=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&j&&j[0])for(var k=0;k<j.length;k++)C.push(j[k]);else"all"===this.options.saveMissingTo?C=this.languageUtils.toResolveHierarchy(t.lng||this.language):C.push(t.lng||this.language);var N=function(e,o){n.options.missingKeyHandler?n.options.missingKeyHandler(e,s,o,O?t.defaultValue:p,O,t):n.backendConnector&&n.backendConnector.saveMissing&&n.backendConnector.saveMissing(e,s,o,O?t.defaultValue:p,O,t),n.emit("missingKey",e,s,o,p)};if(this.options.saveMissing){var L=void 0!==t.count&&"string"!=typeof t.count;this.options.saveMissingPlurals&&L?C.forEach(function(e){n.pluralResolver.getPluralFormsOfKey(e,r).forEach(function(t){return N([e],t)})}):N(C,r)}}p=this.extendTranslation(p,e,t,c),R&&p===r&&this.options.appendNamespaceToMissingKey&&(p="".concat(s,":").concat(r)),R&&this.options.parseMissingKeyHandler&&(p=this.options.parseMissingKeyHandler(p))}return p}},{key:"extendTranslation",value:function(e,t,n,o){var a=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,n,o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init(eL({},n,{interpolation:eL({},this.options.interpolation,n.interpolation)}));var r=n.replace&&"string"!=typeof n.replace?n.replace:n;this.options.interpolation.defaultVariables&&(r=eL({},this.options.interpolation.defaultVariables,r)),e=this.interpolator.interpolate(e,r,n.lng||this.language,n),!1!==n.nest&&(e=this.interpolator.nest(e,function(){return a.translate.apply(a,arguments)},n)),n.interpolation&&this.interpolator.reset()}var i=n.postProcess||this.options.postProcess,s="string"==typeof i?[i]:i;return null!=e&&s&&s.length&&!1!==n.applyPostProcessor&&(e=e2.handle(s,e,t,this.options&&this.options.postProcessPassResolved?eL({i18nResolved:o},n):n,this)),e}},{key:"resolve",value:function(e){var t,n,o,a,r,i=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach(function(e){if(!i.isValidLookup(t)){var l=i.extractFromKey(e,s),u=l.key;n=u;var c=l.namespaces;i.options.fallbackNS&&(c=c.concat(i.options.fallbackNS));var p=void 0!==s.count&&"string"!=typeof s.count,d=void 0!==s.context&&"string"==typeof s.context&&""!==s.context,h=s.lngs?s.lngs:i.languageUtils.toResolveHierarchy(s.lng||i.language,s.fallbackLng);c.forEach(function(e){i.isValidLookup(t)||(r=e,i.utils&&i.utils.hasLoadedNamespace&&!i.utils.hasLoadedNamespace(r)&&i.logger.warn('key "'.concat(n,'" for namespace "').concat(r,"\" 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!!!"),h.forEach(function(n){if(!i.isValidLookup(t)){a=n;var r,l,c=u,h=[c];for(i.i18nFormat&&i.i18nFormat.addLookupKeys?i.i18nFormat.addLookupKeys(h,u,n,e,s):(p&&(r=i.pluralResolver.getSuffix(n,s.count)),p&&d&&h.push(c+r),d&&h.push(c+="".concat(i.options.contextSeparator).concat(s.context)),p&&h.push(c+=r));l=h.pop();)i.isValidLookup(t)||(o=l,t=i.getResource(n,e,l,s))}}))})}}),{res:t,usedKey:n,exactUsedKey:o,usedLng:a,usedNS:r}}},{key:"isValidLookup",value:function(e){return void 0!==e&&!(!this.options.returnNull&&null===e)&&!(!this.options.returnEmptyString&&""===e)}},{key:"getResource",value:function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,o):this.resourceStore.getResource(e,t,n,o)}}]),t}(eH);function e4(e){return e.charAt(0).toUpperCase()+e.slice(1)}var e5=function(){function e(t){eP(this,e),this.options=t,this.whitelist=this.options.whitelist||!1,this.logger=eG.create("languageUtils")}return eD(e,[{key:"getScriptPartFromCode",value:function(e){if(!e||0>e.indexOf("-"))return null;var t=e.split("-");return 2===t.length?null:(t.pop(),this.formatLanguageCode(t.join("-")))}},{key:"getLanguagePartFromCode",value:function(e){if(!e||0>e.indexOf("-"))return e;var t=e.split("-");return this.formatLanguageCode(t[0])}},{key:"formatLanguageCode",value:function(e){if("string"==typeof e&&e.indexOf("-")>-1){var t=["hans","hant","latn","cyrl","cans","mong","arab"],n=e.split("-");return this.options.lowerCaseLng?n=n.map(function(e){return e.toLowerCase()}):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=e4(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=e4(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=e4(n[2].toLowerCase()))),n.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 n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e.default),n||[]}},{key:"toResolveHierarchy",value:function(e,t){var n=this,o=this.getFallbackCodes(t||this.options.fallbackLng||[],e),a=[],r=function(e){e&&(n.isWhitelisted(e)?a.push(e):n.logger.warn("rejecting non-whitelisted language code: ".concat(e)))};return"string"==typeof e&&e.indexOf("-")>-1?("languageOnly"!==this.options.load&&r(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&r(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&r(this.getLanguagePartFromCode(e))):"string"==typeof e&&r(this.formatLanguageCode(e)),o.forEach(function(e){0>a.indexOf(e)&&r(n.formatLanguageCode(e))}),a}}]),e}(),e8=[{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}],e6={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))},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0===e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0===e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:3*(e%100==3||e%100==4))},22:function(e){return Number(1===e?0:2===e?1:(e<0||e>10)&&e%10==0?2:3)}},e7=function(){function e(t){var n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};eP(this,e),this.languageUtils=t,this.options=o,this.logger=eG.create("pluralResolver"),this.rules=(n={},e8.forEach(function(e){e.lngs.forEach(function(t){n[t]={numbers:e.nr,plurals:e6[e.fc]}})}),n)}return eD(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 n=this,o=[],a=this.getRule(e);return a&&a.numbers.forEach(function(a){var r=n.getSuffix(e,a);o.push("".concat(t).concat(r))}),o}},{key:"getSuffix",value:function(e,t){var n=this,o=this.getRule(e);if(o){var a=o.noAbs?o.plurals(t):o.plurals(Math.abs(t)),r=o.numbers[a];this.options.simplifyPluralSuffix&&2===o.numbers.length&&1===o.numbers[0]&&(2===r?r="plural":1===r&&(r=""));var i=function(){return n.options.prepend&&r.toString()?n.options.prepend+r.toString():r.toString()};return"v1"===this.options.compatibilityJSON?1===r?"":"number"==typeof r?"_plural_".concat(r.toString()):i():"v2"===this.options.compatibilityJSON?i():this.options.simplifyPluralSuffix&&2===o.numbers.length&&1===o.numbers[0]?i():this.options.prepend&&a.toString()?this.options.prepend+a.toString():a.toString()}return this.logger.warn("no plural rule found for: ".concat(e)),""}}]),e}(),e9=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};eP(this,e),this.logger=eG.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(e){return e},this.init(t)}return eD(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:e0,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?eX(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?eX(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?eX(t.nestingPrefix):t.nestingPrefixEscaped||eX("$t("),this.nestingSuffix=t.nestingSuffix?eX(t.nestingSuffix):t.nestingSuffixEscaped||eX(")"),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=RegExp(e,"g");var t="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=RegExp(t,"g");var n="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=RegExp(n,"g")}},{key:"interpolate",value:function(e,t,n,o){var a,r,i,s=this,l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(e){return e.replace(/\$/g,"$$$$")}var c=function(e){if(0>e.indexOf(s.formatSeparator))return eZ(t,l,e);var o=e.split(s.formatSeparator),a=o.shift().trim(),r=o.join(s.formatSeparator).trim();return s.format(eZ(t,l,a),r,n)};this.resetRegExp();var p=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler;for(i=0;a=this.regexpUnescape.exec(e);){if(void 0===(r=c(a[1].trim())))if("function"==typeof p){var d=p(e,a,o);r="string"==typeof d?d:""}else this.logger.warn("missed to pass in variable ".concat(a[1]," for interpolating ").concat(e)),r="";else"string"==typeof r||this.useRawValueToEscape||(r=e$(r));if(e=e.replace(a[0],u(r)),this.regexpUnescape.lastIndex=0,++i>=this.maxReplaces)break}for(i=0;a=this.regexp.exec(e);){if(void 0===(r=c(a[1].trim())))if("function"==typeof p){var h=p(e,a,o);r="string"==typeof h?h:""}else this.logger.warn("missed to pass in variable ".concat(a[1]," for interpolating ").concat(e)),r="";else"string"==typeof r||this.useRawValueToEscape||(r=e$(r));if(r=u(this.escapeValue?this.escape(r):r),e=e.replace(a[0],r),this.regexp.lastIndex=0,++i>=this.maxReplaces)break}return e}},{key:"nest",value:function(e,t){var n,o,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=eL({},a);function i(e,t){if(0>e.indexOf(","))return e;var n=e.split(",");e=n.shift();var o=n.join(",");o=(o=this.interpolate(o,r)).replace(/'/g,'"');try{r=JSON.parse(o),t&&(r=eL({},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;n=this.nestingRegexp.exec(e);){if((o=t(i.call(this,n[1].trim(),r),r))&&n[0]===e&&"string"!=typeof o)return o;"string"!=typeof o&&(o=e$(o)),o||(this.logger.warn("missed to resolve ".concat(n[1]," for nesting ").concat(e)),o=""),e=e.replace(n[0],o),this.regexp.lastIndex=0}return e}}]),e}(),te=function(e){function t(e,n,o){var a,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return eP(this,t),a=eM(this,eA(t).call(this)),eH.call(eB(a)),a.backend=e,a.store=n,a.services=o,a.languageUtils=o.languageUtils,a.options=r,a.logger=eG.create("backendConnector"),a.state={},a.queue=[],a.backend&&a.backend.init&&a.backend.init(o,r.backend,r),a}return eU(t,e),eD(t,[{key:"queueLoad",value:function(e,t,n,o){var a=this,r=[],i=[],s=[],l=[];return e.forEach(function(e){var o=!0;t.forEach(function(t){var s="".concat(e,"|").concat(t);!n.reload&&a.store.hasResourceBundle(e,t)?a.state[s]=2:a.state[s]<0||(1===a.state[s]?0>i.indexOf(s)&&i.push(s):(a.state[s]=1,o=!1,0>i.indexOf(s)&&i.push(s),0>r.indexOf(s)&&r.push(s),0>l.indexOf(t)&&l.push(t)))}),o||s.push(e)}),(r.length||i.length)&&this.queue.push({pending:i,loaded:{},errors:[],callback:o}),{toLoad:r,pending:i,toLoadLanguages:s,toLoadNamespaces:l}}},{key:"loaded",value:function(e,t,n){var o=eq(e.split("|"),2),a=o[0],r=o[1];t&&this.emit("failedLoading",a,r,t),n&&this.store.addResourceBundle(a,r,n),this.state[e]=t?-1:2;var i={};this.queue.forEach(function(n){o=n.loaded,(l=(s=eK(o,[a],Object)).obj)[u=s.k]=l[u]||[],l[u].push(r);for(var o,s,l,u,c=n.pending,p=c.indexOf(e);-1!==p;)c.splice(p,1),p=c.indexOf(e);t&&n.errors.push(t),0!==n.pending.length||n.done||(Object.keys(n.loaded).forEach(function(e){i[e]||(i[e]=[]),n.loaded[e].length&&n.loaded[e].forEach(function(t){0>i[e].indexOf(t)&&i[e].push(t)})}),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())}),this.emit("loaded",i),this.queue=this.queue.filter(function(e){return!e.done})}},{key:"read",value:function(e,t,n){var o=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:250,i=arguments.length>5?arguments[5]:void 0;return e.length?this.backend[n](e,t,function(s,l){s&&l&&a<5?setTimeout(function(){o.read.call(o,e,t,n,a+1,2*r,i)},r):i(s,l)}):i(null,{})}},{key:"prepareLoading",value:function(e,t){var n=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=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."),a&&a();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);var r=this.queueLoad(e,t,o,a);if(!r.toLoad.length)return r.pending.length||a(),null;r.toLoad.forEach(function(e){n.loadOne(e)})}},{key:"load",value:function(e,t,n){this.prepareLoading(e,t,{},n)}},{key:"reload",value:function(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}},{key:"loadOne",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=eq(e.split("|"),2),a=o[0],r=o[1];this.read(a,r,"read",null,null,function(o,i){o&&t.logger.warn("".concat(n,"loading namespace ").concat(r," for language ").concat(a," failed"),o),!o&&i&&t.logger.log("".concat(n,"loaded namespace ").concat(r," for language ").concat(a),i),t.loaded(e,o,i)})}},{key:"saveMissing",value:function(e,t,n,o,a){var r=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(n,'" 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,n,o,null,eL({},r,{isUpdate:a})),e&&e[0]&&this.store.addResource(e[0],t,n,o))}}]),t}(eH);function tt(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&&0>e.whitelist.indexOf("cimode")&&(e.whitelist=e.whitelist.concat(["cimode"])),e}function tn(){}var to=new(function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;if(eP(this,t),e=eM(this,eA(t).call(this)),eH.call(eB(e)),e.options=tt(n),e.services={},e.logger=eG,e.modules={external:[]},o&&!e.isInitialized&&!n.isClone){if(!e.options.initImmediate)return e.init(n,o),eM(e,eB(e));setTimeout(function(){e.init(n,o)},0)}return e}return eU(t,e),eD(t,[{key:"init",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;function o(e){return e?"function"==typeof e?new e:e:null}if("function"==typeof t&&(n=t,t={}),this.options=eL({},{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"===ek(e[1])&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"===ek(e[2])||"object"===ek(e[3])){var n=e[3]||e[2];Object.keys(n).forEach(function(e){t[e]=n[e]})}return t},interpolation:{escapeValue:!0,format:function(e,t,n){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",maxReplaces:1e3}},this.options,tt(t)),this.format=this.options.interpolation.format,n||(n=tn),!this.options.isClone){this.modules.logger?eG.init(o(this.modules.logger),this.options):eG.init(null,this.options);var a=new e5(this.options);this.store=new e1(this.options.resources,this.options);var r=this.services;r.logger=eG,r.resourceStore=this.store,r.languageUtils=a,r.pluralResolver=new e7(a,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),r.interpolator=new e9(this.options),r.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},r.backendConnector=new te(o(this.modules.backend),r.resourceStore,r,this.options),r.backendConnector.on("*",function(t){for(var n=arguments.length,o=Array(n>1?n-1:0),a=1;a<n;a++)o[a-1]=arguments[a];e.emit.apply(e,[t].concat(o))}),this.modules.languageDetector&&(r.languageDetector=o(this.modules.languageDetector),r.languageDetector.init(r,this.options.detection,this.options)),this.modules.i18nFormat&&(r.i18nFormat=o(this.modules.i18nFormat),r.i18nFormat.init&&r.i18nFormat.init(this)),this.translator=new e3(this.services,this.options),this.translator.on("*",function(t){for(var n=arguments.length,o=Array(n>1?n-1:0),a=1;a<n;a++)o[a-1]=arguments[a];e.emit.apply(e,[t].concat(o))}),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 n;return(n=e.store)[t].apply(n,arguments)}});var i=ez(),s=function(){e.changeLanguage(e.options.lng,function(t,o){e.isInitialized=!0,e.logger.log("initialized",e.options),e.emit("initialized",e.options),i.resolve(o),n(t,o)})};return this.options.resources||!this.options.initImmediate?s():setTimeout(s,0),i}},{key:"loadResources",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:tn;if(!this.options.resources||this.options.partialBundledLanguages){if(this.language&&"cimode"===this.language.toLowerCase())return t();var n=[],o=function(t){t&&e.services.languageUtils.toResolveHierarchy(t).forEach(function(e){0>n.indexOf(e)&&n.push(e)})};this.language?o(this.language):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(function(e){return o(e)}),this.options.preload&&this.options.preload.forEach(function(e){return o(e)}),this.services.backendConnector.load(n,this.options.ns,t)}else t(null)}},{key:"reloadResources",value:function(e,t,n){var o=ez();return e||(e=this.languages),t||(t=this.options.ns),n||(n=tn),this.services.backendConnector.reload(e,t,function(e){o.resolve(),n(e)}),o}},{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&&e2.addPostProcessor(e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"changeLanguage",value:function(e,t){var n=this,o=ez();this.emit("languageChanging",e);var a=function(e,a){n.translator.changeLanguage(a),a&&(n.emit("languageChanged",a),n.logger.log("languageChanged",a)),o.resolve(function(){return n.t.apply(n,arguments)}),t&&t(e,function(){return n.t.apply(n,arguments)})},r=function(e){e&&(n.language=e,n.languages=n.services.languageUtils.toResolveHierarchy(e),n.translator.language||n.translator.changeLanguage(e),n.services.languageDetector&&n.services.languageDetector.cacheUserLanguage(e)),n.loadResources(function(t){a(t,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()),o}},{key:"getFixedT",value:function(e,t){var n=this,o=function e(t,o){var a;if("object"!==ek(o)){for(var r=arguments.length,i=Array(r>2?r-2:0),s=2;s<r;s++)i[s-2]=arguments[s];a=n.options.overloadTranslationOptionHandler([t,o].concat(i))}else a=eL({},o);return a.lng=a.lng||e.lng,a.lngs=a.lngs||e.lngs,a.ns=a.ns||e.ns,n.t(t,a)};return"string"==typeof e?o.lng=e:o.lngs=e,o.ns=t,o}},{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 n=this.languages[0],o=!!this.options&&this.options.fallbackLng,a=this.languages[this.languages.length-1];if("cimode"===n.toLowerCase())return!0;var r=function(e,n){var o=t.services.backendConnector.state["".concat(e,"|").concat(n)];return -1===o||2===o};return!!(this.hasResourceBundle(n,e)||!this.services.backendConnector.backend||r(n,e)&&(!o||r(a,e)))}},{key:"loadNamespaces",value:function(e,t){var n=this,o=ez();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach(function(e){0>n.options.ns.indexOf(e)&&n.options.ns.push(e)}),this.loadResources(function(e){o.resolve(),t&&t(e)}),o):(t&&t(),Promise.resolve())}},{key:"loadLanguages",value:function(e,t){var n=ez();"string"==typeof e&&(e=[e]);var o=this.options.preload||[],a=e.filter(function(e){return 0>o.indexOf(e)});return a.length?(this.options.preload=o.concat(a),this.loadResources(function(e){n.resolve(),t&&t(e)}),n):(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(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new t(e,n)}},{key:"cloneInstance",value:function(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:tn,a=eL({},this.options,n,{isClone:!0}),r=new t(a);return["store","services","language"].forEach(function(t){r[t]=e[t]}),r.translator=new e3(r.services,r.options),r.translator.on("*",function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];r.emit.apply(r,[e].concat(n))}),r.init(a,o),r.translator.options=r.options,r}}]),t}(eH));let ta={CT:"ctToolGroup",PT:"ptToolGroup",Fusion:"fusionToolGroup",MIP:"mipToolGroup",default:"default"},{TOOLBAR_SECTIONS:tr}=T.ToolbarService,ti={commandName:"setToolActiveToolbar",commandOptions:{toolGroupIds:[ta.CT,ta.PT,ta.Fusion]}},ts={"tmtv.toolbarButtons":[{id:"MeasurementTools",uiType:"ohif.toolButtonList",props:{buttonSection:!0}},{id:"SegmentationTools",uiType:"ohif.toolBoxButton",props:{buttonSection:!0}},{id:"BrushTools",uiType:"ohif.toolBoxButtonGroup",props:{buttonSection:!0}},{id:"AdvancedRenderingControls",uiType:"ohif.advancedRenderingControls",props:{buttonSection:!0}},{id:"modalityLoadBadge",uiType:"ohif.modalityLoadBadge",props:{icon:"Status",label:to.t("Buttons:Status"),tooltip:to.t("Buttons:Status"),evaluate:{name:"evaluate.modalityLoadBadge",hideWhenDisabled:!0}}},{id:"Colorbar",uiType:"ohif.colorbar",props:{type:"tool",label:to.t("Buttons:Colorbar")}},{id:"navigationComponent",uiType:"ohif.navigationComponent",props:{icon:"Navigation",label:to.t("Buttons:Navigation"),tooltip:to.t("Buttons:Navigate between segments/measurements and manage their visibility"),evaluate:{name:"evaluate.navigationComponent",hideWhenDisabled:!0}}},{id:"windowLevelMenuEmbedded",uiType:"ohif.windowLevelMenuEmbedded",props:{icon:"WindowLevel",label:to.t("Buttons:Window Level"),tooltip:to.t("Buttons:Adjust window/level presets and customize image contrast settings"),evaluate:{name:"evaluate.windowLevelMenuEmbedded",hideWhenDisabled:!0}}},{id:"trackingStatus",uiType:"ohif.trackingStatus",props:{icon:"TrackingStatus",label:to.t("Buttons:Tracking Status"),tooltip:to.t("Buttons:View and manage tracking status of measurements and annotations"),evaluate:{name:"evaluate.trackingStatus",hideWhenDisabled:!0}}},{id:"Length",uiType:"ohif.toolButton",props:{icon:"tool-length",label:to.t("Buttons:Length"),tooltip:to.t("Buttons:Length Tool"),commands:ti,evaluate:"evaluate.cornerstoneTool"}},{id:"Bidirectional",uiType:"ohif.toolButton",props:{icon:"tool-bidirectional",label:to.t("Buttons:Bidirectional"),tooltip:to.t("Buttons:Bidirectional Tool"),commands:ti,evaluate:"evaluate.cornerstoneTool"}},{id:"ArrowAnnotate",uiType:"ohif.toolButton",props:{icon:"tool-annotate",label:to.t("Buttons:Arrow Annotate"),tooltip:to.t("Buttons:Arrow Annotate Tool"),commands:ti,evaluate:"evaluate.cornerstoneTool"}},{id:"EllipticalROI",uiType:"ohif.toolButton",props:{icon:"tool-ellipse",label:to.t("Buttons:Ellipse"),tooltip:to.t("Buttons:Ellipse Tool"),commands:ti,evaluate:"evaluate.cornerstoneTool"}},{id:"Zoom",uiType:"ohif.toolButton",props:{icon:"tool-zoom",label:to.t("Buttons:Zoom"),commands:ti,evaluate:"evaluate.cornerstoneTool"}},{id:"WindowLevel",uiType:"ohif.toolButton",props:{icon:"tool-window-level",label:to.t("Buttons:Window Level"),commands:ti,evaluate:"evaluate.cornerstoneTool"}},{id:"Crosshairs",uiType:"ohif.toolButton",props:{icon:"tool-crosshair",label:to.t("Buttons:Crosshairs"),commands:ti,evaluate:"evaluate.cornerstoneTool"}},{id:"Pan",uiType:"ohif.toolButton",props:{icon:"tool-move",label:to.t("Buttons:Pan"),commands:ti,evaluate:"evaluate.cornerstoneTool"}},{id:"RectangleROIStartEndThreshold",uiType:"ohif.toolBoxButton",props:{icon:"tool-create-threshold",label:to.t("Buttons:Rectangle ROI Threshold"),commands:ti,evaluate:["evaluate.cornerstone.segmentation",{name:"evaluate.cornerstoneTool",disabledText:to.t("Buttons:Select the PT Axial to enable this tool")}],options:"tmtv.RectangleROIThresholdOptions"}},{id:"Brush",uiType:"ohif.toolButton",props:{icon:"icon-tool-brush",label:to.t("Buttons:Brush"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["CircularBrush","SphereBrush"],disabledText:to.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.segmentation.synchronizeDrawingRadius",radiusOptionId:"brush-radius"}],options:[{name:to.t("Buttons:Radius (mm)"),id:"brush-radius",type:"range",explicitRunOnly:!0,min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["CircularBrush","SphereBrush"]}}},{name:to.t("Buttons:Shape"),type:"radio",id:"brush-mode",value:"CircularBrush",values:[{value:"CircularBrush",label:to.t("Buttons:Circle")},{value:"SphereBrush",label:to.t("Buttons:Sphere")}],commands:"setToolActiveToolbar"}]}},{id:"Eraser",uiType:"ohif.toolButton",props:{icon:"icon-tool-eraser",label:to.t("Buttons:Eraser"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["CircularEraser","SphereEraser"]},{name:"evaluate.cornerstone.segmentation.synchronizeDrawingRadius",radiusOptionId:"eraser-radius"}],options:[{name:to.t("Buttons:Radius (mm)"),id:"eraser-radius",type:"range",explicitRunOnly:!0,min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["CircularEraser","SphereEraser"]}}},{name:to.t("Buttons:Shape"),type:"radio",id:"eraser-mode",value:"CircularEraser",values:[{value:"CircularEraser",label:to.t("Buttons:Circle")},{value:"SphereEraser",label:to.t("Buttons:Sphere")}],commands:"setToolActiveToolbar"}]}},{id:"Threshold",uiType:"ohif.toolButton",props:{icon:"icon-tool-threshold",label:to.t("Buttons:Threshold Tool"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["ThresholdCircularBrush","ThresholdSphereBrush","ThresholdCircularBrushDynamic"]},{name:"evaluate.cornerstone.segmentation.synchronizeDrawingRadius",radiusOptionId:"threshold-radius"}],options:[{name:to.t("Buttons:Radius (mm)"),id:"threshold-radius",type:"range",explicitRunOnly:!0,min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush","ThresholdCircularBrushDynamic"]}}},{name:to.t("Buttons:Threshold"),type:"radio",id:"dynamic-mode",value:"ThresholdRange",values:[{value:"ThresholdDynamic",label:to.t("Buttons:Dynamic")},{value:"ThresholdRange",label:to.t("Buttons:Range")}],commands:({value:e,commandsManager:t})=>{"ThresholdDynamic"===e?t.run("setToolActive",{toolName:"ThresholdCircularBrushDynamic"}):t.run("setToolActive",{toolName:"ThresholdCircularBrush"})}},{name:to.t("Buttons:Shape"),type:"radio",id:"eraser-mode",value:"ThresholdCircularBrush",values:[{value:"ThresholdCircularBrush",label:to.t("Buttons:Circle")},{value:"ThresholdSphereBrush",label:to.t("Buttons:Sphere")}],condition:({options:e})=>"ThresholdRange"===e.find(e=>"dynamic-mode"===e.id).value,commands:"setToolActiveToolbar"},{name:to.t("ROIThresholdConfiguration:ThresholdRange"),type:"double-range",id:"threshold-range",min:0,max:50,step:.5,value:[2.5,50],condition:({options:e})=>"ThresholdRange"===e.find(e=>"dynamic-mode"===e.id).value,commands:{commandName:"setThresholdRange",commandOptions:{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush"]}}}]}},{id:"dataOverlayMenu",uiType:"ohif.dataOverlayMenu",props:{icon:"ViewportViews",label:to.t("Buttons:Data Overlay"),tooltip:to.t("Buttons:Configure data overlay options and manage foreground/background display sets"),evaluate:"evaluate.dataOverlayMenu"}},{id:"orientationMenu",uiType:"ohif.orientationMenu",props:{icon:"OrientationSwitch",label:to.t("Buttons:Orientation"),tooltip:to.t("Buttons:Change viewport orientation between axial, sagittal, coronal and reformat planes"),evaluate:{name:"evaluate.orientationMenu"}}},{id:"windowLevelMenu",uiType:"ohif.windowLevelMenu",props:{icon:"WindowLevel",label:to.t("Buttons:Window Level"),tooltip:to.t("Buttons:Adjust window/level presets and customize image contrast settings"),evaluate:"evaluate.windowLevelMenu"}},{id:"voiManualControlMenu",uiType:"ohif.voiManualControlMenu",props:{icon:"WindowLevelAdvanced",label:to.t("Buttons:Advanced Window Level"),tooltip:to.t("Buttons:Advanced window/level settings with manual controls and presets"),evaluate:"evaluate.voiManualControlMenu"}},{id:"thresholdMenu",uiType:"ohif.thresholdMenu",props:{icon:"Threshold",label:to.t("Buttons:Threshold"),tooltip:to.t("Buttons:Image threshold settings"),evaluate:{name:"evaluate.thresholdMenu",hideWhenDisabled:!0}}},{id:"opacityMenu",uiType:"ohif.opacityMenu",props:{icon:"Opacity",label:to.t("Buttons:Opacity"),tooltip:to.t("Buttons:Image opacity settings"),evaluate:{name:"evaluate.opacityMenu",hideWhenDisabled:!0}}}],"tmtv.toolbarSections":{[tr.primary]:["MeasurementTools","Zoom","Pan","WindowLevel","Crosshairs"],[tr.viewportActionMenu.topLeft]:["orientationMenu","dataOverlayMenu"],[tr.viewportActionMenu.bottomMiddle]:["AdvancedRenderingControls"],AdvancedRenderingControls:["windowLevelMenuEmbedded","voiManualControlMenu","Colorbar","opacityMenu","thresholdMenu"],[tr.viewportActionMenu.topRight]:["modalityLoadBadge","trackingStatus","navigationComponent"],[tr.viewportActionMenu.bottomLeft]:["windowLevelMenu"],MeasurementTools:["Length","Bidirectional","ArrowAnnotate","EllipticalROI"],ROIThresholdToolbox:["SegmentationTools"],SegmentationTools:["RectangleROIStartEndThreshold","BrushTools"],BrushTools:["Brush","Eraser","Threshold"]}},tl={id:e,preRegistration({servicesManager:e,commandsManager:t,extensionManager:o,configuration:a={}}){!function({servicesManager:e}){let{measurementService:t,displaySetService:o,cornerstoneViewportService:a}=e.services;(0,er.addTool)(er.RectangleROIStartEndThresholdTool),(0,er.addTool)(er.CircleROIStartEndThresholdTool);let{RectangleROIStartEndThreshold:r,CircleROIStartEndThreshold:i}={RectangleROIStartEndThreshold:{toAnnotation:es,toMeasurement:e=>((e,t,o)=>{let a,{annotation:r,viewportId:i}=e,{metadata:s,data:l,annotationUID:u}=r;if(!s||!l)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:c,referencedImageId:p,FrameOfReferenceUID:d}=s;if(!ei.includes(c))throw Error("Tool not supported");let{SOPInstanceUID:h,SeriesInstanceUID:f,StudyInstanceUID:g}=(0,n.getSOPInstanceAttributes)(p,o,i);return a=h?t.getDisplaySetForSOPInstanceUID(h,f):t.getDisplaySetsForSeries(f),{uid:u,SOPInstanceUID:h,FrameOfReferenceUID:d,metadata:s,referenceSeriesUID:f,referenceStudyUID:g,toolName:s.toolName,displaySetInstanceUID:a.displaySetInstanceUID,label:s.label,data:l.cachedStats,type:"RectangleROIStartEndThreshold"}})(e,o,a),matchingCriteria:[{valueType:t.VALUE_TYPES.ROI_THRESHOLD_MANUAL}]},CircleROIStartEndThreshold:{toAnnotation:el,toMeasurement:e=>((e,t,o)=>{let a,{annotation:r,viewportId:i}=e,{metadata:s,data:l,annotationUID:u}=r;if(!s||!l)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:c,referencedImageId:p,FrameOfReferenceUID:d}=s;if(!ei.includes(c))throw Error("Tool not supported");let{SOPInstanceUID:h,SeriesInstanceUID:f,StudyInstanceUID:g}=(0,n.getSOPInstanceAttributes)(p,o,i);a=h?t.getDisplaySetForSOPInstanceUID(h,f):t.getDisplaySetsForSeries(f);let{cachedStats:m}=l;return{uid:u,SOPInstanceUID:h,FrameOfReferenceUID:d,metadata:s,referenceSeriesUID:f,referenceStudyUID:g,toolName:s.toolName,displaySetInstanceUID:a.displaySetInstanceUID,label:s.label,data:l.cachedStats,type:"CircleROIStartEndThreshold"}})(e,o,a),matchingCriteria:[{valueType:t.VALUE_TYPES.ROI_THRESHOLD_MANUAL}]}},s=t.getSource(eu,ec);t.addMapping(s,"RectangleROIStartEndThreshold",r.matchingCriteria,r.toAnnotation,r.toMeasurement),t.addMapping(s,"CircleROIStartEndThreshold",i.matchingCriteria,i.toAnnotation,i.toMeasurement)}({servicesManager:e,commandsManager:t,extensionManager:o,configuration:a})},getToolbarModule:function(){return[{name:"tmtv.RectangleROIThresholdOptions",defaultComponent:ej}]},getPanelModule:function({commandsManager:e,extensionManager:t,servicesManager:n}){let{toolbarService:o}=n.services;return[{name:"petSUV",iconName:"tab-patient-info",iconLabel:"Patient Info",label:"Patient Info",component:()=>(0,H.jsx)(K,{})},{name:"tmtv",iconName:"tab-segmentation",iconLabel:"Segmentation",component:()=>(0,H.jsxs)(H.Fragment,{children:[(0,H.jsx)(et.Toolbox,{buttonSectionId:o.sections.roiThresholdToolbox,title:ea().t("ROIThresholdConfiguration:Threshold Tools")}),(0,H.jsx)(en,{commandsManager:e,servicesManager:n})]})},{name:"tmtvBox",iconName:"tab-segmentation",iconLabel:"Segmentation",label:"Segmentation Toolbox",component:()=>(0,H.jsx)(et.Toolbox,{buttonSectionId:o.sections.roiThresholdToolbox,title:ea().t("ROIThresholdConfiguration:Threshold Tools")})},{name:"tmtvExport",iconName:"tab-segmentation",iconLabel:"Segmentation",label:"Segmentation Export",component:()=>(0,H.jsx)(X,{})}]},getHangingProtocolModule:function(){return(0,n.isNextViewportsEnabled)()&&[p,d,g].forEach(e=>{let t=e.displaySets?.find(e=>"ptDisplaySet"===e.id),o=t?.options?.colormap;o&&(o.opacity=n.NEXT_FUSION_PT_OPACITY)}),[{name:b.id,protocol:b}]},getCustomizationModule:function(){return[{name:"default",value:{...ts}}]},getCommandsModule:({servicesManager:e,commandsManager:t,extensionManager:o})=>(({servicesManager:e,commandsManager:t,extensionManager:o})=>{let{viewportGridService:a,uiNotificationService:r,displaySetService:i,hangingProtocolService:s,toolGroupService:l,cornerstoneViewportService:u,segmentationService:c}=e.services,{getEnabledElement:p}=o.getModuleEntry("@ohif/extension-cornerstone.utilityModule.common").exports;function d(){let{activeViewportId:e}=a.getState(),{element:t}=p(e)||{};return ep.getEnabledElement(t)}function h(e){return e.reduce((e,t)=>{let n=er.annotation.selection.getAnnotationsSelectedByToolName(t);return e.concat(n)},[])}let f={getMatchingPTDisplaySet:({viewportMatchDetails:e})=>{let t=null;for(let[,n]of e){let{displaySetsInfo:e}=n,o=e.map(({displaySetInstanceUID:e})=>i.getDisplaySetByUID(e));if(o&&0!==o.length&&(t=o.find(e=>"PT"===e.Modality)))break}return t},getPTMetadata:({ptDisplaySet:e})=>{let t=o.getDataSources()[0].getImageIdsForDisplaySet(e)[0],n=eT.get("instance",t);if("PT"===n.Modality)return{SeriesTime:n.SeriesTime,Modality:n.Modality,PatientSex:n.PatientSex,PatientWeight:n.PatientWeight,RadiopharmaceuticalInformationSequence:{RadionuclideTotalDose:n.RadiopharmaceuticalInformationSequence[0].RadionuclideTotalDose,RadionuclideHalfLife:n.RadiopharmaceuticalInformationSequence[0].RadionuclideHalfLife,RadiopharmaceuticalStartTime:n.RadiopharmaceuticalInformationSequence[0].RadiopharmaceuticalStartTime,RadiopharmaceuticalStartDateTime:n.RadiopharmaceuticalInformationSequence[0].RadiopharmaceuticalStartDateTime}}},createNewLabelmapFromPT:async({label:e})=>{let{viewportMatchDetails:t}=s.getMatchDetails(),n=f.getMatchingPTDisplaySet({viewportMatchDetails:t}),o=null;for(let[e,{displaySetsInfo:a}]of t.entries())if(a.some(({displaySetInstanceUID:e})=>e===n.displaySetInstanceUID)){o=e;break}if(!n)return void r.error("No matching PT display set found");let a=c.getSegmentationRepresentations(o),l=i.getDisplaySetByUID(n.displaySetInstanceUID),u=await c.createLabelmapForDisplaySet(l,{label:`Segmentation ${a.length+1}`,labelIsGenerated:!0,segments:{1:{label:`${ea().t("Segment")} 1`,active:!0}}});return c.addSegmentationRepresentation(o,{segmentationId:u}),u},thresholdSegmentationByRectangleROITool:({segmentationId:e,config:t,segmentIndex:n})=>{let{representationData:o}=er.segmentation.state.getSegmentation(e),{displaySetMatchDetails:a}=s.getMatchDetails(),l=a.get("ctDisplaySet"),u=a.get("ptDisplaySet"),c=i.getDisplaySetByUID(l.displaySetInstanceUID),p=i.getDisplaySetByUID(u.displaySetInstanceUID),{volumeId:d}=o[eS.Labelmap],f=ep.cache.getVolume(d),g=h(ew);if(0===g.length)return void r.show({title:"Commands Module",message:"No ROIThreshold Tool is Selected",type:"error"});let{ptLower:m,ptUpper:y,ctLower:v,ctUpper:b}=ed(g,p,t),{imageIds:S}=p,x=ep.cache.getVolumeContainingImageId(S[0]);if(!x)return void r.error("No PT volume found");let{imageIds:T}=c,w=ep.cache.getVolumeContainingImageId(T[0]);if(!w)return void r.error("No CT volume found");let R=x.volume,I=w.volume;return er.utilities.segmentation.rectangleROIThresholdVolumeByRange(g,f,[{volume:R,lower:m,upper:y},{volume:I,lower:v,upper:b}],{overwrite:!0,segmentIndex:n,segmentationId:e})},calculateTMTV:async({segmentations:e})=>{let t=e.map(e=>e.segmentationId),n=await er.utilities.segmentation.computeMetabolicStats({segmentationIds:t,segmentIndex:1});return c.setSegmentationGroupStats(t,n),n},exportTMTVReportCSV:async({segmentations:e,tmtv:n,config:o,options:a})=>{let r=t.runCommand("getSegmentationCSVReport",{segmentations:e}),i=0;for(let e in r)i+=r[e].namedStats_lesionGlycolysis.value;let s=[{key:"Total Lesion Glycolysis",value:{tlg:i.toFixed(4)}},{key:"Threshold Configuration",value:{...o}}];void 0!==n&&s.unshift({key:"Total Metabolic Tumor Volume",value:{tmtv:n}}),function(e,t,n={}){let o=e[Object.keys(e)[0]],a=Object.keys(o),r=[a.map(e=>e.toLowerCase().startsWith("namedstats_")?e.substring(11):e).join(",")];Object.values(e).forEach(e=>{let t=[];a.forEach(n=>{t.push(e[n]&&"object"==typeof e[n]?Array.isArray(e[n])?e[n].join(" "):e[n].value&&Array.isArray(e[n].value)?e[n].value.join(" "):e[n].value??e[n]:e[n])}),r.push(t.join(","))}),r.push(""),r.push(""),r.push(""),r.push(`Patient ID,${o.PatientID}`),r.push(`Study Date,${o.StudyDate}`),r.push(""),t.forEach(({key:e,value:t})=>{let n=[];n.push(`${e}`),Object.keys(t).forEach(e=>{n.push(`${e}`),n.push(`${t[e]}`)}),r.push(n.join(","))}),eh(r.join("\n"),{filename:n.filename??`${o.PatientID}_tmtv.csv`})}(r,s,a)},setStartSliceForROIThresholdTool:()=>{let{viewport:e}=d(),t=(0,n.getViewportFocalPoint)(e);if(!t)return;let o=h(ew)[0],a=er.annotation.state.getAnnotation(o);a.data.startCoordinate=t,a.invalidated=!0,e.render()},setEndSliceForROIThresholdTool:()=>{let{viewport:e}=d(),t=h(ew)[0],o=er.annotation.state.getAnnotation(t),a=(0,n.getViewportFocalPoint)(e);a&&(o.data.endCoordinate=a,o.invalidated=!0,e.render())},createTMTVRTReport:()=>{let e=er.annotation.state.getAnnotationManager(),n=[];Object.keys(e.annotations).forEach(t=>{let o=e.annotations[t],a=ew.reduce((e,t)=>[...e,...o[t]??[]],[]);n.push(...a)}),t.runCommand("exportRTReportForAnnotations",{annotations:n})},getSegmentationCSVReport:({segmentations:e})=>{e&&e.length||(e=c.getSegmentations());let t={};for(let n of e){let{label:e,segmentationId:o,representationData:a}=n,r={id:o,label:e};if(!a){t[o]=r;continue}let{cachedStats:i}=n.segments[1]||{};if(i&&Object.entries(i).forEach(([e,t])=>{"object"!=typeof t?r[e]=t:Object.entries(t).forEach(([t,n])=>{r[`${e}_${t}`]=n})}),!n.representationData[eS.Labelmap]){t[o]=r;continue}let s=er.utilities.segmentation.getReferenceVolumeForSegmentation(o);if(!s||!s.imageIds||!s.imageIds.length){t[o]=r;continue}let l=s.imageIds[0],u=w().classes.MetadataProvider.get("instance",l);if(!u){t[o]=r;continue}t[o]={...r,PatientID:u.PatientID??"000000",PatientName:ex(u.PatientName),StudyInstanceUID:u.StudyInstanceUID,SeriesInstanceUID:u.SeriesInstanceUID,StudyDate:u.StudyDate}}return t},exportRTReportForAnnotations:({annotations:e})=>{eb(e)},setFusionPTColormap:({toolGroupId:e,colormap:n})=>{let o=l.getToolGroup(e);if(!o)return;let{viewportMatchDetails:a}=s.getMatchDetails(),r=f.getMatchingPTDisplaySet({viewportMatchDetails:a});if(!r)return;let i=o.getViewportIds(),c=[];i.forEach(e=>{t.runCommand("setViewportColormap",{viewportId:e,displaySetInstanceUID:r.displaySetInstanceUID,colormap:{name:n}}),c.push(u.getCornerstoneViewport(e))}),c.forEach(e=>{e.render()})}},g={setEndSliceForROIThresholdTool:{commandFn:f.setEndSliceForROIThresholdTool},setStartSliceForROIThresholdTool:{commandFn:f.setStartSliceForROIThresholdTool},getMatchingPTDisplaySet:{commandFn:f.getMatchingPTDisplaySet},getPTMetadata:{commandFn:f.getPTMetadata},createNewLabelmapFromPT:{commandFn:f.createNewLabelmapFromPT},thresholdSegmentationByRectangleROITool:{commandFn:f.thresholdSegmentationByRectangleROITool},calculateTMTV:{commandFn:f.calculateTMTV},exportTMTVReportCSV:{commandFn:f.exportTMTVReportCSV},createTMTVRTReport:{commandFn:f.createTMTVRTReport},getSegmentationCSVReport:{commandFn:f.getSegmentationCSVReport},exportRTReportForAnnotations:{commandFn:f.exportRTReportForAnnotations},setFusionPTColormap:{commandFn:f.setFusionPTColormap}};return{actions:f,definitions:g,defaultContext:"TMTV:CORNERSTONE"}})({servicesManager:e,commandsManager:t,extensionManager:o})}})(),f})());
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@ohif/core"),require("@cornerstonejs/adapters"),require("@ohif/extension-cornerstone"),require("@ohif/ui-next"),require("@ohif/core/src/utils"),require("@cornerstonejs/core"),require("dcmjs"),require("@ohif/i18n"),require("@cornerstonejs/tools"),require("@ohif/core/src"),require("@ohif/extension-default")):"function"==typeof define&&define.amd?define(["@ohif/core","@cornerstonejs/adapters","@ohif/extension-cornerstone","@ohif/ui-next","@ohif/core/src/utils","@cornerstonejs/core","dcmjs","@ohif/i18n","@cornerstonejs/tools","@ohif/core/src","@ohif/extension-default"],t):"object"==typeof exports?exports["ohif-extension-tmtv"]=t(require("@ohif/core"),require("@cornerstonejs/adapters"),require("@ohif/extension-cornerstone"),require("@ohif/ui-next"),require("@ohif/core/src/utils"),require("@cornerstonejs/core"),require("dcmjs"),require("@ohif/i18n"),require("@cornerstonejs/tools"),require("@ohif/core/src"),require("@ohif/extension-default")):e["ohif-extension-tmtv"]=t(e["@ohif/core"],e["@cornerstonejs/adapters"],e["@ohif/extension-cornerstone"],e["@ohif/ui-next"],e["@ohif/core/src/utils"],e["@cornerstonejs/core"],e.dcmjs,e["@ohif/i18n"],e["@cornerstonejs/tools"],e["@ohif/core/src"],e["@ohif/extension-default"])}(globalThis,(e,t,n,o,a,r,i,s,l,u,c)=>(()=>{var p={76(e,t,n){"use strict";var o=n(326).__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;t.c=function(e){return o.H.useMemoCache(e)}},60(e,t){"use strict";var n=Symbol.for("react.transitional.element");function o(e,t,o){var a=null;if(void 0!==o&&(a=""+o),void 0!==t.key&&(a=""+t.key),"key"in t)for(var r in o={},t)"key"!==r&&(o[r]=t[r]);else o=t;return{$$typeof:n,type:e,key:a,ref:void 0!==(t=o.ref)?t:null,props:o}}t.Fragment=Symbol.for("react.fragment"),t.jsx=o,t.jsxs=o},391(e,t){"use strict";var n=Symbol.for("react.transitional.element"),o=Symbol.for("react.portal"),a=(Symbol.for("react.fragment"),Symbol.for("react.strict_mode"),Symbol.for("react.profiler"),Symbol.for("react.consumer")),r=Symbol.for("react.context"),i=(Symbol.for("react.forward_ref"),Symbol.for("react.suspense"),Symbol.for("react.memo"),Symbol.for("react.lazy")),s=(Symbol.for("react.activity"),Symbol.iterator),l={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},u=Object.assign,c={};function p(e,t,n){this.props=e,this.context=t,this.refs=c,this.updater=n||l}function d(){}function h(e,t,n){this.props=e,this.context=t,this.refs=c,this.updater=n||l}p.prototype.isReactComponent={},p.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},p.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},d.prototype=p.prototype;var g=h.prototype=new d;g.constructor=h,u(g,p.prototype),g.isPureReactComponent=!0;var f={H:null,A:null,T:null,S:null};Object.prototype.hasOwnProperty;"function"==typeof reportError&&reportError,t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=f,t.createContext=function(e){return(e={$$typeof:r,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:a,_context:e},e},t.useContext=function(e){return f.H.useContext(e)},t.useEffect=function(e,t){return f.H.useEffect(e,t)},t.useReducer=function(e,t,n){return f.H.useReducer(e,t,n)},t.useRef=function(e){return f.H.useRef(e)},t.useState=function(e){return f.H.useState(e)}},184(e,t,n){"use strict";e.exports=n(76)},326(e,t,n){"use strict";e.exports=n(391)},870(e,t,n){"use strict";e.exports=n(60)},741(e){e.exports={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}},142(e){"use strict";e.exports=t},557(e){"use strict";e.exports=r},713(e){"use strict";e.exports=l},2(t){"use strict";t.exports=e},459(e){"use strict";e.exports=u},141(e){"use strict";e.exports=a},669(e){"use strict";e.exports=n},438(e){"use strict";e.exports=c},545(e){"use strict";e.exports=s},55(e){"use strict";e.exports=o},111(e){"use strict";e.exports=i}},d={};function h(e){var t=d[e];if(void 0!==t)return t.exports;var n=d[e]={exports:{}};return p[e](n,n.exports,h),n.exports}h.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return h.d(t,{a:t}),t},h.d=(e,t)=>{for(var n in t)h.o(t,n)&&!h.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},h.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),h.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var g={};return(()=>{"use strict";h.r(g),h.d(g,{default:()=>ti,toolGroupIds:()=>tn});let e=JSON.parse('{"UU":"@ohif/extension-tmtv"}').UU;var t,n=h(669);let o=e=>({type:"cameraPosition",id:e,source:!0,target:!0}),a={type:"hydrateseg",id:"sameFORId",source:!0,target:!0,options:{matchingRules:["sameFOR"]}},r={viewportOptions:{viewportId:"ctAXIAL",viewportType:"volume",orientation:"axial",toolGroupId:"ctToolGroup",initialImageOptions:{preset:"first"},syncGroups:[o("axialSync"),{type:"voi",id:"ctWLSync",source:!0,target:!0,options:{syncColormap:!0}},a]},displaySets:[{id:"ctDisplaySet"}]},i={viewportOptions:{viewportId:"ctSAGITTAL",viewportType:"volume",orientation:"sagittal",toolGroupId:"ctToolGroup",syncGroups:[o("sagittalSync"),{type:"voi",id:"ctWLSync",source:!0,target:!0,options:{syncColormap:!0}},a]},displaySets:[{id:"ctDisplaySet"}]},s={viewportOptions:{viewportId:"ctCORONAL",viewportType:"volume",orientation:"coronal",toolGroupId:"ctToolGroup",syncGroups:[o("coronalSync"),{type:"voi",id:"ctWLSync",source:!0,target:!0,options:{syncColormap:!0}},a]},displaySets:[{id:"ctDisplaySet"}]},l={viewportOptions:{viewportId:"ptAXIAL",viewportType:"volume",background:[1,1,1],orientation:"axial",toolGroupId:"ptToolGroup",initialImageOptions:{preset:"first"},syncGroups:[o("axialSync"),{type:"voi",id:"ptWLSync",source:!0,target:!0,options:{syncColormap:!0}},{type:"voi",id:"ptFusionWLSync",source:!0,target:!1,options:{syncColormap:!1,syncInvertState:!1}},a]},displaySets:[{options:{voi:{custom:"getPTVOIRange"},voiInverted:!0},id:"ptDisplaySet"}]},u={viewportOptions:{viewportId:"ptSAGITTAL",viewportType:"volume",orientation:"sagittal",background:[1,1,1],toolGroupId:"ptToolGroup",syncGroups:[o("sagittalSync"),{type:"voi",id:"ptWLSync",source:!0,target:!0,options:{syncColormap:!0}},{type:"voi",id:"ptFusionWLSync",source:!0,target:!1,options:{syncColormap:!1,syncInvertState:!1}},a]},displaySets:[{options:{voi:{custom:"getPTVOIRange"},voiInverted:!0},id:"ptDisplaySet"}]},c={viewportOptions:{viewportId:"ptCORONAL",viewportType:"volume",orientation:"coronal",background:[1,1,1],toolGroupId:"ptToolGroup",syncGroups:[o("coronalSync"),{type:"voi",id:"ptWLSync",source:!0,target:!0,options:{syncColormap:!0}},{type:"voi",id:"ptFusionWLSync",source:!0,target:!1,options:{syncColormap:!1,syncInvertState:!1}},a]},displaySets:[{options:{voi:{custom:"getPTVOIRange"},voiInverted:!0},id:"ptDisplaySet"}]},p={viewportOptions:{viewportId:"fusionAXIAL",viewportType:"volume",orientation:"axial",toolGroupId:"fusionToolGroup",initialImageOptions:{preset:"first"},syncGroups:[o("axialSync"),{type:"voi",id:"ctWLSync",source:!1,target:!0},{type:"voi",id:"fusionWLSync",source:!0,target:!0,options:{syncColormap:!0}},{type:"voi",id:"ptFusionWLSync",source:!1,target:!0,options:{syncColormap:!1,syncInvertState:!1}},a]},displaySets:[{id:"ctDisplaySet"},{id:"ptDisplaySet",options:{colormap:{name:"hsv",opacity:[{value:0,opacity:0},{value:.1,opacity:.8},{value:1,opacity:.9}]},voi:{custom:"getPTVOIRange"}}}]},d={viewportOptions:{viewportId:"fusionSAGITTAL",viewportType:"volume",orientation:"sagittal",toolGroupId:"fusionToolGroup",syncGroups:[o("sagittalSync"),{type:"voi",id:"ctWLSync",source:!1,target:!0},{type:"voi",id:"fusionWLSync",source:!0,target:!0,options:{syncColormap:!0}},{type:"voi",id:"ptFusionWLSync",source:!1,target:!0,options:{syncColormap:!1,syncInvertState:!1}},a]},displaySets:[{id:"ctDisplaySet"},{id:"ptDisplaySet",options:{colormap:{name:"hsv",opacity:[{value:0,opacity:0},{value:.1,opacity:.8},{value:1,opacity:.9}]},voi:{custom:"getPTVOIRange"}}}]},f={viewportOptions:{viewportId:"fusionCoronal",viewportType:"volume",orientation:"coronal",toolGroupId:"fusionToolGroup",syncGroups:[o("coronalSync"),{type:"voi",id:"ctWLSync",source:!1,target:!0},{type:"voi",id:"fusionWLSync",source:!0,target:!0,options:{syncColormap:!0}},{type:"voi",id:"ptFusionWLSync",source:!1,target:!0,options:{syncColormap:!1,syncInvertState:!1}},a]},displaySets:[{id:"ctDisplaySet"},{id:"ptDisplaySet",options:{colormap:{name:"hsv",opacity:[{value:0,opacity:0},{value:.1,opacity:.8},{value:1,opacity:.9}]},voi:{custom:"getPTVOIRange"}}}]},m={viewportOptions:{viewportId:"mipSagittal",viewportType:"volume",orientation:"sagittal",background:[1,1,1],toolGroupId:"mipToolGroup",syncGroups:[{type:"voi",id:"ptWLSync",source:!0,target:!0,options:{syncColormap:!0}},{type:"voi",id:"ptFusionWLSync",source:!0,target:!1,options:{syncColormap:!1,syncInvertState:!1}},a],customViewportProps:{hideOverlays:!0}},displaySets:[{options:{blendMode:"MIP",slabThickness:"fullVolume",voi:{custom:"getPTVOIRange"},voiInverted:!0},id:"ptDisplaySet"}]},v={name:"default",id:"default",viewportStructure:{layoutType:"grid",properties:{rows:3,columns:4,layoutOptions:[{x:0,y:0,width:1/4,height:1/3},{x:1/4,y:0,width:1/4,height:1/3},{x:.5,y:0,width:1/4,height:1/3},{x:0,y:1/3,width:1/4,height:1/3},{x:1/4,y:1/3,width:1/4,height:1/3},{x:.5,y:1/3,width:1/4,height:1/3},{x:0,y:2/3,width:1/4,height:1/3},{x:1/4,y:2/3,width:1/4,height:1/3},{x:.5,y:2/3,width:1/4,height:1/3},{x:3/4,y:0,width:1/4,height:1}]}},viewports:[r,i,s,l,u,c,p,d,f,m],createdDate:"2021-02-23T18:32:42.850Z"},y={name:"2x4-layout",id:"2x4-layout",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:4,layoutOptions:[{x:0,y:0,width:1/4,height:.5},{x:1/4,y:0,width:1/4,height:.5},{x:.5,y:0,width:1/4,height:.5},{x:3/4,y:0,width:1/4,height:1},{x:0,y:.5,width:1/4,height:.5},{x:1/4,y:.5,width:1/4,height:.5},{x:.5,y:.5,width:1/4,height:.5}]}},viewports:[c,u,l,m,f,d,p]},b={id:"@ohif/extension-tmtv.hangingProtocolModule.ptCT",locked:!0,name:"Default",createdDate:"2021-02-23T19:22:08.894Z",modifiedDate:"2022-10-04T19:22:08.894Z",availableTo:{},editableBy:{},imageLoadStrategy:"interleaveTopToBottom",protocolMatchingRules:[{attribute:"ModalitiesInStudy",constraint:{contains:["CT","PT"]}},{attribute:"StudyDescription",constraint:{contains:"PETCT"}},{attribute:"StudyDescription",constraint:{contains:"PET/CT"}}],displaySetSelectors:{ctDisplaySet:{seriesMatchingRules:[{attribute:"Modality",constraint:{equals:{value:"CT"}},required:!0},{attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0},{attribute:"SeriesDescription",constraint:{contains:"CT"}},{attribute:"SeriesDescription",constraint:{contains:"CT WB"}}]},ptDisplaySet:{seriesMatchingRules:[{attribute:"Modality",constraint:{equals:"PT"},required:!0},{attribute:"isReconstructable",constraint:{equals:{value:!0}},required:!0},{attribute:"SeriesDescription",constraint:{contains:"Corrected"}},{weight:2,attribute:"SeriesDescription",constraint:{doesNotContain:{value:"Uncorrected"}}}]}},stages:[v,{name:"Fusion 2x2",id:"Fusion-2x2",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:2}},viewports:[r,p,l,m]},{name:"2x3-layout",id:"2x3-layout",viewportStructure:{layoutType:"grid",properties:{rows:2,columns:3}},viewports:[r,i,s,l,u,c]},y],numberOfPriorsReferenced:-1};var S=h(326),x=h(184),T=h(2),w=h.n(T);function R(e){return(R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function O(e){var t=function(e,t){if("object"!=R(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=R(o))return o;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==R(t)?t:t+""}function I(e,t,n){return(t=O(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function k(){if(console&&console.warn){for(var e,t=arguments.length,n=Array(t),o=0;o<t;o++)n[o]=arguments[o];"string"==typeof n[0]&&(n[0]="react-i18next:: ".concat(n[0])),(e=console).warn.apply(e,n)}}h(741),Object.create(null);var C={};function L(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];"string"==typeof t[0]&&C[t[0]]||("string"==typeof t[0]&&(C[t[0]]=new Date),k.apply(void 0,t))}var j=function(e,t){return function(){e.isInitialized?t():e.on("initialized",function n(){setTimeout(function(){e.off("initialized",n)},0),t()})}};function N(e,t,n){e.loadNamespaces(t,j(e,n))}function E(e,t,n,o){"string"==typeof n&&(n=[n]),n.forEach(function(t){0>e.options.ns.indexOf(t)&&e.options.ns.push(t)}),e.loadLanguages(t,j(e,o))}var P=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,D={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},B=function(e){return D[e]},M={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:function(e){return e.replace(P,B)}};function A(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function F(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,O(o.key),o)}}function U(e,t,n){return t&&F(e.prototype,t),n&&F(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}var V=(0,S.createContext)(),_=function(){function e(){A(this,e),this.usedNamespaces={}}return U(e,[{key:"addUsedNamespaces",value:function(e){var t=this;e.forEach(function(e){t.usedNamespaces[e]||(t.usedNamespaces[e]=!0)})}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}]),e}();function q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function W(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function G(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?W(Object(n),!0).forEach(function(t){I(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):W(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var H=function(e,t){var n=(0,S.useRef)();return(0,S.useEffect)(function(){n.current=t?n.current:e},[e,t]),n.current};function z(e){var n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=o.i18n,r=(0,S.useContext)(V)||{},i=r.i18n,s=r.defaultNS,l=a||i||t;if(l&&!l.reportNamespaces&&(l.reportNamespaces=new _),!l){L("You will need to pass in an i18next instance by using initReactI18next");var u=function(e,t){return"string"==typeof t?t:t&&"object"===R(t)&&"string"==typeof t.defaultValue?t.defaultValue:Array.isArray(e)?e[e.length-1]:e},c=[u,{},!1];return c.t=u,c.i18n={},c.ready=!1,c}l.options.react&&void 0!==l.options.react.wait&&L("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var p=G(G(G({},M),l.options.react),o),d=p.useSuspense,h=p.keyPrefix,g=e||s||l.options&&l.options.defaultNS;g="string"==typeof g?[g]:g||["translation"],l.reportNamespaces.addUsedNamespaces&&l.reportNamespaces.addUsedNamespaces(g);var f=(l.isInitialized||l.initializedStoreOnce)&&g.every(function(e){return function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.languages&&t.languages.length?void 0===t.options.ignoreJSONStructure?function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=t.languages[0],a=!!t.options&&t.options.fallbackLng,r=t.languages[t.languages.length-1];if("cimode"===o.toLowerCase())return!0;var i=function(e,n){var o=t.services.backendConnector.state["".concat(e,"|").concat(n)];return -1===o||2===o};return(!(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1)||!t.services.backendConnector.backend||!t.isLanguageChangingTo||!!i(t.isLanguageChangingTo,e))&&!!(t.hasResourceBundle(o,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||i(o,e)&&(!a||i(r,e)))}(e,t,n):t.hasLoadedNamespace(e,{lng:n.lng,precheck:function(t,o){if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!o(t.isLanguageChangingTo,e))return!1}}):(L("i18n.languages were undefined or empty",t.languages),!0)}(e,l,p)});function m(){return l.getFixedT(o.lng||null,"fallback"===p.nsMode?g:g[0],h)}var v=function(e){if(Array.isArray(e))return e}(n=(0,S.useState)(m))||function(e){var t=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,o,a,r,i=[],s=!0,l=!1;try{a=(t=t.call(e)).next,!1;for(;!(s=(n=a.call(t)).done)&&(i.push(n.value),2!==i.length);s=!0);}catch(e){l=!0,o=e}finally{try{if(!s&&null!=t.return&&(r=t.return(),Object(r)!==r))return}finally{if(l)throw o}}return i}}(n)||function(e){if(e){if("string"==typeof e)return q(e,2);var t=({}).toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?q(e,2):void 0}}(n)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),y=v[0],b=v[1],x=g.join();o.lng&&(x="".concat(o.lng).concat(x));var T=H(x),w=(0,S.useRef)(!0);(0,S.useEffect)(function(){var e=p.bindI18n,t=p.bindI18nStore;function n(){w.current&&b(m)}return w.current=!0,f||d||(o.lng?E(l,o.lng,g,function(){w.current&&b(m)}):N(l,g,function(){w.current&&b(m)})),f&&T&&T!==x&&w.current&&b(m),e&&l&&l.on(e,n),t&&l&&l.store.on(t,n),function(){w.current=!1,e&&l&&e.split(" ").forEach(function(e){return l.off(e,n)}),t&&l&&t.split(" ").forEach(function(e){return l.store.off(e,n)})}},[l,x]);var O=(0,S.useRef)(!0);(0,S.useEffect)(function(){w.current&&!O.current&&b(m),O.current=!1},[l,h]);var I=[y,l,f];if(I.t=y,I.i18n=l,I.ready=f,f||!f&&!d)return I;throw new Promise(function(e){o.lng?E(l,o.lng,g,function(){return e()}):N(l,g,function(){return e()})})}var $=h(55),K=h(459),Y=h(870);let J={PatientWeight:null,PatientSex:null,SeriesTime:null,RadiopharmaceuticalInformationSequence:{RadionuclideTotalDose:null,RadionuclideHalfLife:null,RadiopharmaceuticalStartTime:null}},Z=e=>{let t,n,o,a,r=(0,x.c)(8);r[0]!==e?({children:t,className:n,...o}=e,r[0]=e,r[1]=t,r[2]=n,r[3]=o):(t=r[1],n=r[2],o=r[3]);let i=`flex flex-row items-center space-x-4 ${n||""}`;return r[4]!==t||r[5]!==o||r[6]!==i?(a=(0,Y.jsx)("div",{className:i,...o,children:t}),r[4]=t,r[5]=o,r[6]=i,r[7]=a):a=r[7],a};function X(){let e,t,n,o,a,r,i,s,l,u,c,p,d,h,g,f,m,v,y,b,w,R,O,I,k,C,L,j,N,E,P,D,B,M,A,F,U,V,_,q,W,G,H=(0,x.c)(96),{commandsManager:X,servicesManager:ee}=(0,K.useSystem)(),{t:et}=z("PanelSUV"),{displaySetService:en,hangingProtocolService:eo}=ee.services,[ea,er]=(0,S.useState)(J),[ei,es]=(0,S.useState)(null);H[0]===Symbol.for("react.memo_cache_sentinel")?(e=e=>{er(t=>{let n={...t};return Object.keys(e).forEach(o=>{"object"==typeof e[o]?n[o]={...t[o],...e[o]}:n[o]=e[o]}),n})},H[0]=e):e=H[0];let el=e;H[1]!==X?(t=e=>{let t=X.runCommand("getMatchingPTDisplaySet",{viewportMatchDetails:e});if(!t)return;let n=X.runCommand("getPTMetadata",{ptDisplaySet:t});return{ptDisplaySet:t,metadata:n}},H[1]=X,H[2]=t):t=H[2];let eu=t;H[3]!==en||H[4]!==eu||H[5]!==eo?(n=()=>{let e=en.getActiveDisplaySets(),{viewportMatchDetails:t}=eo.getMatchDetails();if(!e.length)return;let n=eu(t);if(!n)return;let{ptDisplaySet:o,metadata:a}=n;es(o),er(a)},H[3]=en,H[4]=eu,H[5]=eo,H[6]=n):n=H[6],H[7]===Symbol.for("react.memo_cache_sentinel")?(o=[],H[7]=o):o=H[7],(0,S.useEffect)(n,o),H[8]!==eu||H[9]!==eo?(a=()=>{let{unsubscribe:e}=eo.subscribe(eo.EVENTS.PROTOCOL_CHANGED,e=>{let{viewportMatchDetails:t}=e,n=eu(t);if(!n)return;let{ptDisplaySet:o,metadata:a}=n;es(o),er(a)});return()=>{e()}},H[8]=eu,H[9]=eo,H[10]=a):a=H[10],H[11]===Symbol.for("react.memo_cache_sentinel")?(r=[],H[11]=r):r=H[11],(0,S.useEffect)(a,r),H[12]!==X||H[13]!==en||H[14]!==ea||H[15]!==ei?(i=function(){if(!ei)throw Error("No ptDisplaySet found");T.DicomMetadataStore.updateMetadataForSeries(ei.StudyInstanceUID,ei.SeriesInstanceUID,ea),en.setDisplaySetMetadataInvalidated(ei.displaySetInstanceUID),setTimeout(()=>{X.runCommand("resetCrosshairs")},0)},H[12]=X,H[13]=en,H[14]=ea,H[15]=ei,H[16]=i):i=H[16];let ec=i;H[17]!==et?(s=et("Patient Information"),H[17]=et,H[18]=s):s=H[18],H[19]!==s?(l=(0,Y.jsx)($.PanelSection.Header,{children:s}),H[19]=s,H[20]=l):l=H[20],H[21]!==et?(u=et("Patient Sex"),H[21]=et,H[22]=u):u=H[22],H[23]!==u?(c=(0,Y.jsx)(Z.Label,{children:u}),H[23]=u,H[24]=c):c=H[24];let ep=ea.PatientSex||"";H[25]===Symbol.for("react.memo_cache_sentinel")?(p=e=>{el({PatientSex:e.target.value})},H[25]=p):p=H[25],H[26]!==ep?(d=(0,Y.jsx)(Z.Input,{value:ep,onChange:p}),H[26]=ep,H[27]=d):d=H[27],H[28]!==c||H[29]!==d?(h=(0,Y.jsxs)(Z,{children:[c,d]}),H[28]=c,H[29]=d,H[30]=h):h=H[30],H[31]!==et?(g=et("Weight"),H[31]=et,H[32]=g):g=H[32],H[33]!==g?(f=(0,Y.jsx)(Z.Label,{unit:"kg",children:g}),H[33]=g,H[34]=f):f=H[34];let ed=ea.PatientWeight||"";H[35]===Symbol.for("react.memo_cache_sentinel")?(m=e=>{el({PatientWeight:e.target.value})},H[35]=m):m=H[35],H[36]!==ed?(v=(0,Y.jsx)(Z.Input,{value:ed,onChange:m,id:"weight-input"}),H[36]=ed,H[37]=v):v=H[37],H[38]!==f||H[39]!==v?(y=(0,Y.jsxs)(Z,{children:[f,v]}),H[38]=f,H[39]=v,H[40]=y):y=H[40],H[41]!==et?(b=et("Total Dose"),H[41]=et,H[42]=b):b=H[42],H[43]!==b?(w=(0,Y.jsx)(Z.Label,{unit:"bq",children:b}),H[43]=b,H[44]=w):w=H[44];let eh=ea.RadiopharmaceuticalInformationSequence.RadionuclideTotalDose||"";H[45]===Symbol.for("react.memo_cache_sentinel")?(R=e=>{el({RadiopharmaceuticalInformationSequence:{RadionuclideTotalDose:e.target.value}})},H[45]=R):R=H[45],H[46]!==eh?(O=(0,Y.jsx)(Z.Input,{value:eh,onChange:R}),H[46]=eh,H[47]=O):O=H[47],H[48]!==w||H[49]!==O?(I=(0,Y.jsxs)(Z,{children:[w,O]}),H[48]=w,H[49]=O,H[50]=I):I=H[50],H[51]!==et?(k=et("Half Life"),H[51]=et,H[52]=k):k=H[52],H[53]!==k?(C=(0,Y.jsx)(Z.Label,{unit:"s",children:k}),H[53]=k,H[54]=C):C=H[54];let eg=ea.RadiopharmaceuticalInformationSequence.RadionuclideHalfLife||"";H[55]===Symbol.for("react.memo_cache_sentinel")?(L=e=>{el({RadiopharmaceuticalInformationSequence:{RadionuclideHalfLife:e.target.value}})},H[55]=L):L=H[55],H[56]!==eg?(j=(0,Y.jsx)(Z.Input,{value:eg,onChange:L}),H[56]=eg,H[57]=j):j=H[57],H[58]!==C||H[59]!==j?(N=(0,Y.jsxs)(Z,{children:[C,j]}),H[58]=C,H[59]=j,H[60]=N):N=H[60],H[61]!==et?(E=et("Injection Time"),H[61]=et,H[62]=E):E=H[62],H[63]!==E?(P=(0,Y.jsx)(Z.Label,{unit:"s",children:E}),H[63]=E,H[64]=P):P=H[64];let ef=ea.RadiopharmaceuticalInformationSequence.RadiopharmaceuticalStartTime||"";H[65]===Symbol.for("react.memo_cache_sentinel")?(D=e=>{el({RadiopharmaceuticalInformationSequence:{RadiopharmaceuticalStartTime:e.target.value}})},H[65]=D):D=H[65],H[66]!==ef?(B=(0,Y.jsx)(Z.Input,{value:ef,onChange:D}),H[66]=ef,H[67]=B):B=H[67],H[68]!==P||H[69]!==B?(M=(0,Y.jsxs)(Z,{children:[P,B]}),H[68]=P,H[69]=B,H[70]=M):M=H[70],H[71]!==et?(A=et("Acquisition Time"),H[71]=et,H[72]=A):A=H[72],H[73]!==A?(F=(0,Y.jsx)(Z.Label,{unit:"s",children:A}),H[73]=A,H[74]=F):F=H[74];let em=ea.SeriesTime||"";return H[75]!==em?(U=(0,Y.jsx)(Z.Input,{value:em,onChange:Q}),H[75]=em,H[76]=U):U=H[76],H[77]!==F||H[78]!==U?(V=(0,Y.jsxs)(Z,{children:[F,U]}),H[77]=F,H[78]=U,H[79]=V):V=H[79],H[80]!==et?(_=et("Reload Data"),H[80]=et,H[81]=_):_=H[81],H[82]!==_||H[83]!==ec?(q=(0,Y.jsx)($.Button,{variant:"default",size:"sm",className:"self-end px-4",onClick:ec,children:_}),H[82]=_,H[83]=ec,H[84]=q):q=H[84],H[85]!==h||H[86]!==y||H[87]!==I||H[88]!==N||H[89]!==M||H[90]!==V||H[91]!==q?(W=(0,Y.jsx)($.PanelSection.Content,{children:(0,Y.jsxs)("div",{className:"bg-muted flex flex-col gap-3 p-2",children:[h,y,I,N,M,V,q]})}),H[85]=h,H[86]=y,H[87]=I,H[88]=N,H[89]=M,H[90]=V,H[91]=q,H[92]=W):W=H[92],H[93]!==W||H[94]!==l?(G=(0,Y.jsx)(Y.Fragment,{children:(0,Y.jsx)("div",{className:"ohif-scrollbar flex min-h-0 flex-auto select-none flex-col justify-between overflow-auto",children:(0,Y.jsx)("div",{className:"flex min-h-0 flex-1 flex-col bg-background text-base",children:(0,Y.jsxs)($.PanelSection,{defaultOpen:!0,children:[l,W]})})})}),H[93]=W,H[94]=l,H[95]=G):G=H[95],G}function Q(){}Z.Label=({children:e,unit:t,className:n,...o})=>(0,Y.jsxs)($.Label,{className:`min-w-32 flex-shrink-0 ${n||""}`,...o,children:[e,t&&(0,Y.jsxs)("span",{className:"text-muted-foreground",children:[" ",t]})]}),Z.Input=({className:e,...t})=>(0,Y.jsx)($.Input,{className:`h-7 flex-1 ${e||""}`,...t}),Z.Label.displayName="InputRow.Label",Z.Input.displayName="InputRow.Input";let ee=async({commandsManager:e,segmentationService:t})=>{let n=t.getSegmentations(),o=await e.run("calculateTMTV",{segmentations:n});n.forEach(e=>{e.cachedStats={...e.cachedStats,tmtv:o},t.addOrUpdateSegmentation(e)})};var et=h(141);function en(){let e,t,o,a,r,i,s,l,u,c,p,d=(0,x.c)(23),{commandsManager:h,servicesManager:g}=(0,K.useSystem)(),{segmentationService:f}=g.services,{segmentationsWithRepresentations:m}=(0,n.useActiveViewportSegmentationRepresentations)();d[0]!==m?(e=m?.map(ea)||[],d[0]=m,d[1]=e):e=d[1];let v=e,y=m?.map(eo)||[];d[2]!==h||d[3]!==v||d[4]!==f?(t=()=>{(async()=>{for(let e of v)await ee({segmentationId:e,commandsManager:h,segmentationService:f})})()},d[2]=h,d[3]=v,d[4]=f,d[5]=t):t=d[5],d[6]===Symbol.for("react.memo_cache_sentinel")?(o=[],d[6]=o):o=d[6],(0,S.useEffect)(t,o),d[7]!==h||d[8]!==f?(a=()=>{let e=(0,et.debounce)(async e=>{let{segmentationId:t}=e;await ee({segmentationId:t,commandsManager:h,segmentationService:f})},100),t=f.subscribe(f.EVENTS.SEGMENTATION_DATA_MODIFIED,t=>{e(t)});return()=>{t.unsubscribe()}},r=[h,f],d[7]=h,d[8]=f,d[9]=a,d[10]=r):(a=d[9],r=d[10]),(0,S.useEffect)(a,r);let b=f.getSegmentationGroupStats(v),T=b?.tmtv,w=()=>{y.length&&h.runCommand("exportTMTVReportCSV",{segmentations:y,tmtv:T,config:{}})};d[11]===Symbol.for("react.memo_cache_sentinel")?(i=(0,Y.jsx)("span",{className:"text-muted-foreground text-base font-bold uppercase",children:"TMTV: "}),d[11]=i):i=d[11];let R=T?`${T.toFixed(3)} mL`:"";return d[12]!==R?(s=(0,Y.jsx)("span",{className:"text-foreground",children:R}),d[12]=R,d[13]=s):s=d[13],d[14]!==s||d[15]!==i?(l=(0,Y.jsxs)("div",{className:"py-1",children:[i,s]}),d[14]=s,d[15]=i,d[16]=l):l=d[16],d[17]===Symbol.for("react.memo_cache_sentinel")?(u=(0,Y.jsx)("span",{className:"pl-1",children:"CSV"}),d[17]=u):u=d[17],d[18]!==w?(c=(0,Y.jsx)("div",{className:"flex items-center",children:(0,Y.jsx)($.Button,{dataCY:"exportTmtvCsvReport",size:"sm",variant:"ghost",onClick:w,children:u})}),d[18]=w,d[19]=c):c=d[19],d[20]!==l||d[21]!==c?(p=(0,Y.jsx)("div",{className:"mb-1 flex flex-col",children:(0,Y.jsx)("div",{className:"invisible-scrollbar overflow-y-auto overflow-x-hidden",children:(0,Y.jsxs)("div",{className:"bg-popover flex items-baseline justify-between px-2 py-1",children:[l,c]})})}),d[20]=l,d[21]=c,d[22]=p):p=d[22],p}function eo(e){return e.segmentation}function ea(e){return e.segmentation.segmentationId}var er=h(438);function ei(e){let t,o,a=(0,x.c)(3),{configuration:r}=e;return a[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,Y.jsx)(en,{}),a[0]=t):t=a[0],a[1]!==r?(o=(0,Y.jsx)(Y.Fragment,{children:(0,Y.jsx)(n.PanelSegmentation,{configuration:r,children:t})}),a[1]=r,a[2]=o):o=a[2],o}var es=h(545),el=h.n(es),eu=h(713);let ec=["RectangleROIStartEndThreshold","CircleROIStartEndThreshold"],ep=(e,t)=>{},ed=(e,t)=>{},{CORNERSTONE_3D_TOOLS_SOURCE_NAME:eh,CORNERSTONE_3D_TOOLS_SOURCE_VERSION:eg}=n.Enums;var ef=h(557);let em=function(e,t,n){if("range"===n.strategy)return{ptLower:Number(n.ptLower),ptUpper:Number(n.ptUpper),ctLower:Number(n.ctLower),ctUpper:Number(n.ctUpper)};let{weight:o}=n;return{ctLower:-1/0,ctUpper:Infinity,ptLower:o*function(e,t){let{imageIds:n}=e,o=ef.cache.getVolumeContainingImageId(n[0]);if(!o)throw Error("No volume found for display set");let{volume:a}=o,{voxelManager:r}=a,{fn:i,baseValue:s}={fn:(e,t)=>(e>t&&(t=e),t),baseValue:-1/0},l=s,u=eu.utilities.rectangleROITool.getBoundsIJKFromRectangleAnnotations(t,a);return r.forEach(({value:e})=>{l=i(e,l)},{boundsIJK:u}),l}(t,e.map(e=>eu.annotation.state.getAnnotation(e))),ptUpper:Infinity}},{downloadCsv:ev}=T.utils;var ey=h(111),eb=h.n(ey),eS=h(142);let{datasetToBlob:ex}=eb().data,eT=T.classes.MetadataProvider,ew=function(e){let t=ex(eS.adaptersRT.Cornerstone3D.RTSS.generateRTSSFromAnnotations(e,eT,T.DicomMetadataStore));var n=URL.createObjectURL(t);window.location.assign(n)},{SegmentationRepresentations:eR}=eu.Enums,{formatPN:eO}=T.utils,eI=T.classes.MetadataProvider,ek=["RectangleROIStartEndThreshold","RectangleROIThreshold","CircleROIStartEndThreshold"],eC="roi_stat";function eL(e){return(0,Y.jsx)($.SelectItem,{value:e.value,children:e.label},e.value)}let ej=function(e){let t,n,o,a,r,i,s,l,u,c,p,d,h,g,f,m,v,y,b,S,T,w,R,O=(0,x.c)(67),{config:I,dispatch:k,runCommand:C}=e,{t:L}=z("ROIThresholdConfiguration");O[0]!==L?(t=L("Max"),O[0]=L,O[1]=t):t=O[1],O[2]!==L?(n=L("Max"),O[2]=L,O[3]=n):n=O[3],O[4]!==t||O[5]!==n?(o={value:eC,label:t,placeHolder:n},O[4]=t,O[5]=n,O[6]=o):o=O[6],O[7]!==L?(a=L("Range"),O[7]=L,O[8]=a):a=O[8],O[9]!==L?(r=L("Range"),O[9]=L,O[10]=r):r=O[10],O[11]!==a||O[12]!==r?(i={value:"range",label:a,placeHolder:r},O[11]=a,O[12]=r,O[13]=i):i=O[13],O[14]!==o||O[15]!==i?(s=[o,i],O[14]=o,O[15]=i,O[16]=s):s=O[16];let j=s;O[17]!==k?(l=e=>{let t=e.target.value;"."===t&&(t="0."),isNaN(Number(t))||0>Number(t)||Number(t)>1||k({type:"setWeight",payload:{weight:t}})},O[17]=k,O[18]=l):l=O[18];let N=l;O[19]!==k?(u=e=>{k({type:"setStrategy",payload:{strategy:e}})},O[19]=k,O[20]=u):u=O[20];let E=j.find(e=>e.value===I.strategy)?.placeHolder;return O[21]!==E?(c=(0,Y.jsx)($.SelectTrigger,{className:"w-full",children:(0,Y.jsx)($.SelectValue,{placeholder:E})}),O[21]=E,O[22]=c):c=O[22],O[23]!==j?(p=(0,Y.jsx)($.SelectContent,{className:"",children:j.map(eL)}),O[23]=j,O[24]=p):p=O[24],O[25]!==I.strategy||O[26]!==c||O[27]!==p||O[28]!==u?(d=(0,Y.jsx)("div",{className:"flex min-w-0 flex-1 flex-col",children:(0,Y.jsxs)($.Select,{value:I.strategy,onValueChange:u,children:[c,p]})}),O[25]=I.strategy,O[26]=c,O[27]=p,O[28]=u,O[29]=d):d=O[29],O[30]!==C?(h=()=>C("setStartSliceForROIThresholdTool"),O[30]=C,O[31]=h):h=O[31],O[32]!==L?(g=L("Start"),O[32]=L,O[33]=g):g=O[33],O[34]!==h||O[35]!==g?(f=(0,Y.jsx)($.Button,{variant:"secondary",onClick:h,children:g}),O[34]=h,O[35]=g,O[36]=f):f=O[36],O[37]!==C?(m=()=>C("setEndSliceForROIThresholdTool"),O[37]=C,O[38]=m):m=O[38],O[39]!==L?(v=L("End"),O[39]=L,O[40]=v):v=O[40],O[41]!==m||O[42]!==v?(y=(0,Y.jsx)($.Button,{variant:"secondary",onClick:m,children:v}),O[41]=m,O[42]=v,O[43]=y):y=O[43],O[44]!==f||O[45]!==y?(b=(0,Y.jsx)("div",{className:"flex-shrink-0",children:(0,Y.jsxs)("div",{className:"flex justify-end space-x-2",children:[f,y]})}),O[44]=f,O[45]=y,O[46]=b):b=O[46],O[47]!==d||O[48]!==b?(S=(0,Y.jsxs)("div",{className:"flex items-end space-x-3",children:[d,b]}),O[47]=d,O[48]=b,O[49]=S):S=O[49],O[50]!==I.strategy||O[51]!==I.weight||O[52]!==N||O[53]!==L?(T=I.strategy===eC&&(0,Y.jsxs)("div",{className:"mr-0",children:[(0,Y.jsx)("div",{className:"mb-2",children:(0,Y.jsx)($.Label,{children:L("Percentage of Max SUV")})}),(0,Y.jsx)($.Input,{"data-cy":"percentage-of-max-suv-input",className:"w-full",type:"text",value:I.weight,onChange:N})]}),O[50]=I.strategy,O[51]=I.weight,O[52]=N,O[53]=L,O[54]=T):T=O[54],O[55]!==I.ctLower||O[56]!==I.ctUpper||O[57]!==I.ptLower||O[58]!==I.ptUpper||O[59]!==I.strategy||O[60]!==k||O[61]!==L?(w=I.strategy!==eC&&(0,Y.jsx)("div",{className:"mr-2 text-sm",children:(0,Y.jsxs)("div",{className:"flex flex-col space-y-2",children:[(0,Y.jsx)($.Label,{children:L("Lower & Upper Ranges")}),(0,Y.jsxs)("div",{className:"flex items-center",children:[(0,Y.jsx)("div",{className:"w-10 text-left",children:(0,Y.jsx)($.Label,{children:"CT"})}),(0,Y.jsxs)("div",{className:"flex flex-1 space-x-2",children:[(0,Y.jsx)("div",{className:"flex-1",children:(0,Y.jsx)($.Input,{className:"w-full",type:"text",value:I.ctLower,onChange:e=>{k({type:"setThreshold",payload:{ctLower:e.target.value}})}})}),(0,Y.jsx)("div",{className:"flex-1",children:(0,Y.jsx)($.Input,{className:"w-full",type:"text",value:I.ctUpper,onChange:e=>{k({type:"setThreshold",payload:{ctUpper:e.target.value}})}})})]})]}),(0,Y.jsxs)("div",{className:"flex items-center",children:[(0,Y.jsx)("div",{className:"w-10 text-left",children:(0,Y.jsx)($.Label,{children:"PT"})}),(0,Y.jsxs)("div",{className:"flex flex-1 space-x-2",children:[(0,Y.jsx)("div",{className:"flex-1",children:(0,Y.jsx)($.Input,{className:"w-full",type:"text",value:I.ptLower,onChange:e=>{k({type:"setThreshold",payload:{ptLower:e.target.value}})}})}),(0,Y.jsx)("div",{className:"flex-1",children:(0,Y.jsx)($.Input,{className:"w-full",type:"text",value:I.ptUpper,onChange:e=>{k({type:"setThreshold",payload:{ptUpper:e.target.value}})}})})]})]})]})}),O[55]=I.ctLower,O[56]=I.ctUpper,O[57]=I.ptLower,O[58]=I.ptUpper,O[59]=I.strategy,O[60]=k,O[61]=L,O[62]=w):w=O[62],O[63]!==S||O[64]!==T||O[65]!==w?(R=(0,Y.jsxs)("div",{className:"bg-muted flex flex-col space-y-4 p-px",children:[S,T,w]}),O[63]=S,O[64]=T,O[65]=w,O[66]=R):R=O[66],R};function eN(e,t){let{payload:n}=t,{strategy:o,ctLower:a,ctUpper:r,ptLower:i,ptUpper:s,weight:l}=n;switch(t.type){case"setStrategy":return{...e,strategy:o};case"setThreshold":return{...e,ctLower:a||e.ctLower,ctUpper:r||e.ctUpper,ptLower:i||e.ptLower,ptUpper:s||e.ptUpper};case"setWeight":return{...e,weight:l};default:return e}}let eE=function(){let e,t,o,a,r,i,s=(0,x.c)(17),{commandsManager:l}=(0,T.useSystem)(),u=(0,n.useSegmentations)()[0],{t:c}=z("ROIThresholdConfiguration");s[0]!==l?(e=(e,t)=>l.runCommand(e,void 0===t?{}:t),s[0]=l,s[1]=e):e=s[1];let p=e;s[2]===Symbol.for("react.memo_cache_sentinel")?(t={strategy:eC,ctLower:-1024,ctUpper:1024,ptLower:2.5,ptUpper:100,weight:.41},s[2]=t):t=s[2];let[d,h]=(0,S.useReducer)(eN,t);s[3]!==u||s[4]!==d||s[5]!==p?(o=()=>{if(!u)return;let e=u.segmentationId,t=eu.segmentation.segmentIndex.getActiveSegmentIndex(e);p("thresholdSegmentationByRectangleROITool",{segmentationId:e,config:d,segmentIndex:t})},s[3]=u,s[4]=d,s[5]=p,s[6]=o):o=s[6];let g=o;return s[7]!==d||s[8]!==p?(a=(0,Y.jsx)(ej,{config:d,dispatch:h,runCommand:p}),s[7]=d,s[8]=p,s[9]=a):a=s[9],s[10]!==u||s[11]!==g||s[12]!==c?(r=u&&(0,Y.jsx)($.Button,{variant:"default",className:"my-3 mr-auto w-20",onClick:g,children:c("Run")}),s[10]=u,s[11]=g,s[12]=c,s[13]=r):r=s[13],s[14]!==a||s[15]!==r?(i=(0,Y.jsxs)("div",{className:"invisible-scrollbar mb-1 flex flex-col overflow-y-auto overflow-x-hidden",children:[a,r]}),s[14]=a,s[15]=r,s[16]=i):i=s[16],i};function eP(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?Object(arguments[t]):{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&o.push.apply(o,Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})),o.forEach(function(t){I(e,t,n[t])})}return e}function eD(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function eB(e,t){if(t&&("object"==R(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return eD(e)}function eM(e){return(eM=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eA(e,t){return(eA=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function eF(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&eA(e,t)}var eU={type:"logger",log:function(e){this.output("log",e)},warn:function(e){this.output("warn",e)},error:function(e){this.output("error",e)},output:function(e,t){console&&console[e]&&console[e].apply(console,t)}},eV=new(function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};A(this,e),this.init(t,n)}return U(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||eU,this.options=t,this.debug=t.debug}},{key:"setDebug",value:function(e){this.debug=e}},{key:"log",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"log","",!0)}},{key:"warn",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","",!0)}},{key:"error",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"error","")}},{key:"deprecate",value:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(e,t,n,o){return o&&!this.debug?null:("string"==typeof e[0]&&(e[0]="".concat(n).concat(this.prefix," ").concat(e[0])),this.logger[t](e))}},{key:"create",value:function(t){return new e(this.logger,eP({},{prefix:"".concat(this.prefix,":").concat(t,":")},this.options))}}]),e}()),e_=function(){function e(){A(this,e),this.observers={}}return U(e,[{key:"on",value:function(e,t){var n=this;return e.split(" ").forEach(function(e){n.observers[e]=n.observers[e]||[],n.observers[e].push(t)}),this}},{key:"off",value:function(e,t){if(this.observers[e]){if(!t)return void delete this.observers[e];this.observers[e]=this.observers[e].filter(function(e){return e!==t})}}},{key:"emit",value:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];this.observers[e]&&[].concat(this.observers[e]).forEach(function(e){e.apply(void 0,n)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(function(t){t.apply(t,[e].concat(n))})}}]),e}();function eq(){var e,t,n=new Promise(function(n,o){e=n,t=o});return n.resolve=e,n.reject=t,n}function eW(e){return null==e?"":""+e}function eG(e,t,n){function o(e){return e&&e.indexOf("###")>-1?e.replace(/###/g,"."):e}function a(){return!e||"string"==typeof e}for(var r="string"!=typeof t?[].concat(t):t.split(".");r.length>1;){if(a())return{};var i=o(r.shift());!e[i]&&n&&(e[i]=new n),e=Object.prototype.hasOwnProperty.call(e,i)?e[i]:{}}return a()?{}:{obj:e,k:o(r.shift())}}function eH(e,t,n){var o=eG(e,t,Object);o.obj[o.k]=n}function ez(e,t){var n=eG(e,t),o=n.obj,a=n.k;if(o)return o[a]}function e$(e,t,n){var o=ez(e,n);return void 0!==o?o:ez(t,n)}function eK(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var eY={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function eJ(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,function(e){return eY[e]}):e}var eZ="u">typeof window&&window.navigator&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,eX=function(e){function t(e){var n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};return A(this,t),n=eB(this,eM(t).call(this)),eZ&&e_.call(eD(n)),n.data=e||{},n.options=o,void 0===n.options.keySeparator&&(n.options.keySeparator="."),n}return eF(t,e),U(t,[{key:"addNamespaces",value:function(e){0>this.options.ns.indexOf(e)&&this.options.ns.push(e)}},{key:"removeNamespaces",value:function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}},{key:"getResource",value:function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=void 0!==o.keySeparator?o.keySeparator:this.options.keySeparator,r=[e,t];return n&&"string"!=typeof n&&(r=r.concat(n)),n&&"string"==typeof n&&(r=r.concat(a?n.split(a):n)),e.indexOf(".")>-1&&(r=e.split(".")),ez(this.data,r)}},{key:"addResource",value:function(e,t,n,o){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},r=this.options.keySeparator;void 0===r&&(r=".");var i=[e,t];n&&(i=i.concat(r?n.split(r):n)),e.indexOf(".")>-1&&(i=e.split("."),o=t,t=i[1]),this.addNamespaces(t),eH(this.data,i,o),a.silent||this.emit("added",e,t,n,o)}},{key:"addResources",value:function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var a in n)("string"==typeof n[a]||"[object Array]"===Object.prototype.toString.apply(n[a]))&&this.addResource(e,t,a,n[a],{silent:!0});o.silent||this.emit("added",e,t,n)}},{key:"addResourceBundle",value:function(e,t,n,o,a){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},i=[e,t];e.indexOf(".")>-1&&(i=e.split("."),o=n,n=t,t=i[1]),this.addNamespaces(t);var s=ez(this.data,i)||{};o?function e(t,n,o){for(var a in n)"__proto__"!==a&&"constructor"!==a&&(a in t?"string"==typeof t[a]||t[a]instanceof String||"string"==typeof n[a]||n[a]instanceof String?o&&(t[a]=n[a]):e(t[a],n[a],o):t[a]=n[a]);return t}(s,n,a):s=eP({},s,n),eH(this.data,i,s),r.silent||this.emit("added",e,t,n)}},{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)?eP({},{},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}(e_),eQ={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,n,o,a){var r=this;return e.forEach(function(e){r.processors[e]&&(t=r.processors[e].process(t,n,o,a))}),t}},e0={},e1=function(e){function t(e){var n,o,a,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return A(this,t),a=eB(this,eM(t).call(this)),eZ&&e_.call(eD(a)),n=["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],o=eD(a),n.forEach(function(t){e[t]&&(o[t]=e[t])}),a.options=r,void 0===a.options.keySeparator&&(a.options.keySeparator="."),a.logger=eV.create("translator"),a}return eF(t,e),U(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:{}},n=this.resolve(e,t);return n&&void 0!==n.res}},{key:"extractFromKey",value:function(e,t){var n=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===n&&(n=":");var o=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,a=t.ns||this.options.defaultNS;if(n&&e.indexOf(n)>-1){var r=e.match(this.interpolator.nestingRegexp);if(r&&r.length>0)return{key:e,namespaces:a};var i=e.split(n);(n!==o||n===o&&this.options.ns.indexOf(i[0])>-1)&&(a=i.shift()),e=i.join(o)}return"string"==typeof a&&(a=[a]),{key:e,namespaces:a}}},{key:"translate",value:function(e,n,o){var a=this;if("object"!==R(n)&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),n||(n={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);var r=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,i=this.extractFromKey(e[e.length-1],n),s=i.key,l=i.namespaces,u=l[l.length-1],c=n.lng||this.language,p=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c&&"cimode"===c.toLowerCase())return p?u+(n.nsSeparator||this.options.nsSeparator)+s:s;var d=this.resolve(e,n),h=d&&d.res,g=d&&d.usedKey||s,f=d&&d.exactUsedKey||s,m=Object.prototype.toString.apply(h),v=void 0!==n.joinArrays?n.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject,b="string"!=typeof h&&"boolean"!=typeof h&&"number"!=typeof h;if(y&&h&&b&&0>["[object Number]","[object Function]","[object RegExp]"].indexOf(m)&&("string"!=typeof v||"[object Array]"!==m)){if(!n.returnObjects&&!this.options.returnObjects)return this.logger.warn("accessing an object - but returnObjects options is not enabled!"),this.options.returnedObjectHandler?this.options.returnedObjectHandler(g,h,n):"key '".concat(s," (").concat(this.language,")' returned an object instead of string.");if(r){var S="[object Array]"===m,x=S?[]:{},T=S?f:g;for(var w in h)if(Object.prototype.hasOwnProperty.call(h,w)){var O="".concat(T).concat(r).concat(w);x[w]=this.translate(O,eP({},n,{joinArrays:!1,ns:l})),x[w]===O&&(x[w]=h[w])}h=x}}else if(y&&"string"==typeof v&&"[object Array]"===m)(h=h.join(v))&&(h=this.extendTranslation(h,e,n,o));else{var I=!1,k=!1,C=void 0!==n.count&&"string"!=typeof n.count,L=t.hasDefaultValue(n),j=C?this.pluralResolver.getSuffix(c,n.count):"",N=n["defaultValue".concat(j)]||n.defaultValue;!this.isValidLookup(h)&&L&&(I=!0,h=N),this.isValidLookup(h)||(k=!0,h=s);var E=L&&N!==h&&this.options.updateMissing;if(k||I||E){if(this.logger.log(E?"updateKey":"missingKey",c,u,s,E?N:h),r){var P=this.resolve(s,eP({},n,{keySeparator:!1}));P&&P.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var D=[],B=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if("fallback"===this.options.saveMissingTo&&B&&B[0])for(var M=0;M<B.length;M++)D.push(B[M]);else"all"===this.options.saveMissingTo?D=this.languageUtils.toResolveHierarchy(n.lng||this.language):D.push(n.lng||this.language);var A=function(e,t,o){a.options.missingKeyHandler?a.options.missingKeyHandler(e,u,t,E?o:h,E,n):a.backendConnector&&a.backendConnector.saveMissing&&a.backendConnector.saveMissing(e,u,t,E?o:h,E,n),a.emit("missingKey",e,u,t,h)};this.options.saveMissing&&(this.options.saveMissingPlurals&&C?D.forEach(function(e){a.pluralResolver.getSuffixes(e).forEach(function(t){A([e],s+t,n["defaultValue".concat(t)]||N)})}):A(D,s,N))}h=this.extendTranslation(h,e,n,d,o),k&&h===s&&this.options.appendNamespaceToMissingKey&&(h="".concat(u,":").concat(s)),k&&this.options.parseMissingKeyHandler&&(h=this.options.parseMissingKeyHandler(h))}return h}},{key:"extendTranslation",value:function(e,t,n,o,a){var r=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,n,o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init(eP({},n,{interpolation:eP({},this.options.interpolation,n.interpolation)}));var i,s=n.interpolation&&n.interpolation.skipOnVariables||this.options.interpolation.skipOnVariables;if(s){var l=e.match(this.interpolator.nestingRegexp);i=l&&l.length}var u=n.replace&&"string"!=typeof n.replace?n.replace:n;if(this.options.interpolation.defaultVariables&&(u=eP({},this.options.interpolation.defaultVariables,u)),e=this.interpolator.interpolate(e,u,n.lng||this.language,n),s){var c=e.match(this.interpolator.nestingRegexp);i<(c&&c.length)&&(n.nest=!1)}!1!==n.nest&&(e=this.interpolator.nest(e,function(){for(var e=arguments.length,o=Array(e),i=0;i<e;i++)o[i]=arguments[i];return a&&a[0]===o[0]&&!n.context?(r.logger.warn("It seems you are nesting recursively key: ".concat(o[0]," in key: ").concat(t[0])),null):r.translate.apply(r,o.concat([t]))},n)),n.interpolation&&this.interpolator.reset()}var p=n.postProcess||this.options.postProcess,d="string"==typeof p?[p]:p;return null!=e&&d&&d.length&&!1!==n.applyPostProcessor&&(e=eQ.handle(d,e,t,this.options&&this.options.postProcessPassResolved?eP({i18nResolved:o},n):n,this)),e}},{key:"resolve",value:function(e){var t,n,o,a,r,i=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach(function(e){if(!i.isValidLookup(t)){var l=i.extractFromKey(e,s),u=l.key;n=u;var c=l.namespaces;i.options.fallbackNS&&(c=c.concat(i.options.fallbackNS));var p=void 0!==s.count&&"string"!=typeof s.count,d=void 0!==s.context&&"string"==typeof s.context&&""!==s.context,h=s.lngs?s.lngs:i.languageUtils.toResolveHierarchy(s.lng||i.language,s.fallbackLng);c.forEach(function(e){i.isValidLookup(t)||(r=e,!e0["".concat(h[0],"-").concat(e)]&&i.utils&&i.utils.hasLoadedNamespace&&!i.utils.hasLoadedNamespace(r)&&(e0["".concat(h[0],"-").concat(e)]=!0,i.logger.warn('key "'.concat(n,'" for languages "').concat(h.join(", "),'" won\'t get resolved as namespace "').concat(r,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),h.forEach(function(n){if(!i.isValidLookup(t)){a=n;var r,l,c=u,h=[c];for(i.i18nFormat&&i.i18nFormat.addLookupKeys?i.i18nFormat.addLookupKeys(h,u,n,e,s):(p&&(r=i.pluralResolver.getSuffix(n,s.count)),p&&d&&h.push(c+r),d&&h.push(c+="".concat(i.options.contextSeparator).concat(s.context)),p&&h.push(c+=r));l=h.pop();)i.isValidLookup(t)||(o=l,t=i.getResource(n,e,l,s))}}))})}}),{res:t,usedKey:n,exactUsedKey:o,usedLng:a,usedNS:r}}},{key:"isValidLookup",value:function(e){return void 0!==e&&!(!this.options.returnNull&&null===e)&&!(!this.options.returnEmptyString&&""===e)}},{key:"getResource",value:function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,o):this.resourceStore.getResource(e,t,n,o)}}],[{key:"hasDefaultValue",value:function(e){var t="defaultValue";for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t===n.substring(0,t.length)&&void 0!==e[n])return!0;return!1}}]),t}(e_);function e2(e){return e.charAt(0).toUpperCase()+e.slice(1)}var e3=function(){function e(t){A(this,e),this.options=t,this.whitelist=this.options.supportedLngs||!1,this.supportedLngs=this.options.supportedLngs||!1,this.logger=eV.create("languageUtils")}return U(e,[{key:"getScriptPartFromCode",value:function(e){if(!e||0>e.indexOf("-"))return null;var t=e.split("-");return 2===t.length||(t.pop(),"x"===t[t.length-1].toLowerCase())?null:this.formatLanguageCode(t.join("-"))}},{key:"getLanguagePartFromCode",value:function(e){if(!e||0>e.indexOf("-"))return e;var t=e.split("-");return this.formatLanguageCode(t[0])}},{key:"formatLanguageCode",value:function(e){if("string"==typeof e&&e.indexOf("-")>-1){var t=["hans","hant","latn","cyrl","cans","mong","arab"],n=e.split("-");return this.options.lowerCaseLng?n=n.map(function(e){return e.toLowerCase()}):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=e2(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),"sgn"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=e2(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=e2(n[2].toLowerCase()))),n.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}},{key:"isWhitelisted",value:function(e){return this.logger.deprecate("languageUtils.isWhitelisted",'function "isWhitelisted" will be renamed to "isSupportedCode" in the next major - please make sure to rename it\'s usage asap.'),this.isSupportedCode(e)}},{key:"isSupportedCode",value:function(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}},{key:"getBestMatchFromCodes",value:function(e){var t,n=this;return e?(e.forEach(function(e){if(!t){var o=n.formatLanguageCode(e);(!n.options.supportedLngs||n.isSupportedCode(o))&&(t=o)}}),!t&&this.options.supportedLngs&&e.forEach(function(e){if(!t){var o=n.getLanguagePartFromCode(e);if(n.isSupportedCode(o))return t=o;t=n.options.supportedLngs.find(function(e){if(0===e.indexOf(o))return e})}}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}},{key:"getFallbackCodes",value:function(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];var n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}},{key:"toResolveHierarchy",value:function(e,t){var n=this,o=this.getFallbackCodes(t||this.options.fallbackLng||[],e),a=[],r=function(e){e&&(n.isSupportedCode(e)?a.push(e):n.logger.warn("rejecting language code not found in supportedLngs: ".concat(e)))};return"string"==typeof e&&e.indexOf("-")>-1?("languageOnly"!==this.options.load&&r(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&r(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&r(this.getLanguagePartFromCode(e))):"string"==typeof e&&r(this.formatLanguageCode(e)),o.forEach(function(e){0>a.indexOf(e)&&r(n.formatLanguageCode(e))}),a}}]),e}(),e4=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","kk","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],e5={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(+(1!=e&&(e%10!=1||e%100==11)))},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:3*(e%100==3||e%100==4))},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}},e8=function(){function e(t){var n,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};A(this,e),this.languageUtils=t,this.options=o,this.logger=eV.create("pluralResolver"),this.rules=(n={},e4.forEach(function(e){e.lngs.forEach(function(t){n[t]={numbers:e.nr,plurals:e5[e.fc]}})}),n)}return U(e,[{key:"addRule",value:function(e,t){this.rules[e]=t}},{key:"getRule",value:function(e){return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}},{key:"needsPlural",value:function(e){var t=this.getRule(e);return t&&t.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(e,t){return this.getSuffixes(e).map(function(e){return t+e})}},{key:"getSuffixes",value:function(e){var t=this,n=this.getRule(e);return n?n.numbers.map(function(n){return t.getSuffix(e,n)}):[]}},{key:"getSuffix",value:function(e,t){var n=this,o=this.getRule(e);if(o){var a=o.noAbs?o.plurals(t):o.plurals(Math.abs(t)),r=o.numbers[a];this.options.simplifyPluralSuffix&&2===o.numbers.length&&1===o.numbers[0]&&(2===r?r="plural":1===r&&(r=""));var i=function(){return n.options.prepend&&r.toString()?n.options.prepend+r.toString():r.toString()};return"v1"===this.options.compatibilityJSON?1===r?"":"number"==typeof r?"_plural_".concat(r.toString()):i():"v2"===this.options.compatibilityJSON?i():this.options.simplifyPluralSuffix&&2===o.numbers.length&&1===o.numbers[0]?i():this.options.prepend&&a.toString()?this.options.prepend+a.toString():a.toString()}return this.logger.warn("no plural rule found for: ".concat(e)),""}}]),e}(),e6=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};A(this,e),this.logger=eV.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(e){return e},this.init(t)}return U(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:eJ,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?eK(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?eK(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?eK(t.nestingPrefix):t.nestingPrefixEscaped||eK("$t("),this.nestingSuffix=t.nestingSuffix?eK(t.nestingSuffix):t.nestingSuffixEscaped||eK(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var e="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=RegExp(e,"g");var t="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=RegExp(t,"g");var n="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=RegExp(n,"g")}},{key:"interpolate",value:function(e,t,n,o){var a,r,i,s=this,l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(e){return e.replace(/\$/g,"$$$$")}var c=function(e){if(0>e.indexOf(s.formatSeparator)){var a=e$(t,l,e);return s.alwaysFormat?s.format(a,void 0,n):a}var r=e.split(s.formatSeparator),i=r.shift().trim(),u=r.join(s.formatSeparator).trim();return s.format(e$(t,l,i),u,n,o)};this.resetRegExp();var p=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,d=o&&o.interpolation&&o.interpolation.skipOnVariables||this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:function(e){return u(e)}},{regex:this.regexp,safeValue:function(e){return s.escapeValue?u(s.escape(e)):u(e)}}].forEach(function(t){for(i=0;a=t.regex.exec(e);){if(void 0===(r=c(a[1].trim())))if("function"==typeof p){var n=p(e,a,o);r="string"==typeof n?n:""}else if(d){r=a[0];continue}else s.logger.warn("missed to pass in variable ".concat(a[1]," for interpolating ").concat(e)),r="";else"string"==typeof r||s.useRawValueToEscape||(r=eW(r));if(e=e.replace(a[0],t.safeValue(r)),t.regex.lastIndex=0,++i>=s.maxReplaces)break}}),e}},{key:"nest",value:function(e,t){var n,o,a=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=eP({},r);function s(e,t){var n=this.nestingOptionsSeparator;if(0>e.indexOf(n))return e;var o=e.split(new RegExp("".concat(n,"[ ]*{"))),a="{".concat(o[1]);e=o[0],a=(a=this.interpolate(a,i)).replace(/'/g,'"');try{i=JSON.parse(a),t&&(i=eP({},t,i))}catch(t){return this.logger.warn("failed parsing options string in nesting for key ".concat(e),t),"".concat(e).concat(n).concat(a)}return delete i.defaultValue,e}for(i.applyPostProcessor=!1,delete i.defaultValue;n=this.nestingRegexp.exec(e);){var l=[],u=!1;if(n[0].includes(this.formatSeparator)&&!/{.*}/.test(n[1])){var c=n[1].split(this.formatSeparator).map(function(e){return e.trim()});n[1]=c.shift(),l=c,u=!0}if((o=t(s.call(this,n[1].trim(),i),i))&&n[0]===e&&"string"!=typeof o)return o;"string"!=typeof o&&(o=eW(o)),o||(this.logger.warn("missed to resolve ".concat(n[1]," for nesting ").concat(e)),o=""),u&&(o=l.reduce(function(e,t){return a.format(e,t,r.lng,r)},o.trim())),e=e.replace(n[0],o),this.regexp.lastIndex=0}return e}}]),e}(),e7=function(e){function t(e,n,o){var a,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return A(this,t),a=eB(this,eM(t).call(this)),eZ&&e_.call(eD(a)),a.backend=e,a.store=n,a.services=o,a.languageUtils=o.languageUtils,a.options=r,a.logger=eV.create("backendConnector"),a.state={},a.queue=[],a.backend&&a.backend.init&&a.backend.init(o,r.backend,r),a}return eF(t,e),U(t,[{key:"queueLoad",value:function(e,t,n,o){var a=this,r=[],i=[],s=[],l=[];return e.forEach(function(e){var o=!0;t.forEach(function(t){var s="".concat(e,"|").concat(t);!n.reload&&a.store.hasResourceBundle(e,t)?a.state[s]=2:a.state[s]<0||(1===a.state[s]?0>i.indexOf(s)&&i.push(s):(a.state[s]=1,o=!1,0>i.indexOf(s)&&i.push(s),0>r.indexOf(s)&&r.push(s),0>l.indexOf(t)&&l.push(t)))}),o||s.push(e)}),(r.length||i.length)&&this.queue.push({pending:i,loaded:{},errors:[],callback:o}),{toLoad:r,pending:i,toLoadLanguages:s,toLoadNamespaces:l}}},{key:"loaded",value:function(e,t,n){var o=e.split("|"),a=o[0],r=o[1];t&&this.emit("failedLoading",a,r,t),n&&this.store.addResourceBundle(a,r,n),this.state[e]=t?-1:2;var i={};this.queue.forEach(function(n){o=n.loaded,(l=(s=eG(o,[a],Object)).obj)[u=s.k]=l[u]||[],l[u].push(r);for(var o,s,l,u,c=n.pending,p=c.indexOf(e);-1!==p;)c.splice(p,1),p=c.indexOf(e);t&&n.errors.push(t),0!==n.pending.length||n.done||(Object.keys(n.loaded).forEach(function(e){i[e]||(i[e]=[]),n.loaded[e].length&&n.loaded[e].forEach(function(t){0>i[e].indexOf(t)&&i[e].push(t)})}),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())}),this.emit("loaded",i),this.queue=this.queue.filter(function(e){return!e.done})}},{key:"read",value:function(e,t,n){var o=this,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:350,i=arguments.length>5?arguments[5]:void 0;return e.length?this.backend[n](e,t,function(s,l){s&&l&&a<5?setTimeout(function(){o.read.call(o,e,t,n,a+1,2*r,i)},r):i(s,l)}):i(null,{})}},{key:"prepareLoading",value:function(e,t){var n=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=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."),a&&a();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);var r=this.queueLoad(e,t,o,a);if(!r.toLoad.length)return r.pending.length||a(),null;r.toLoad.forEach(function(e){n.loadOne(e)})}},{key:"load",value:function(e,t,n){this.prepareLoading(e,t,{},n)}},{key:"reload",value:function(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}},{key:"loadOne",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",o=e.split("|"),a=o[0],r=o[1];this.read(a,r,"read",void 0,void 0,function(o,i){o&&t.logger.warn("".concat(n,"loading namespace ").concat(r," for language ").concat(a," failed"),o),!o&&i&&t.logger.log("".concat(n,"loaded namespace ").concat(r," for language ").concat(a),i),t.loaded(e,o,i)})}},{key:"saveMissing",value:function(e,t,n,o,a){var r=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(n,'" as the namespace "').concat(t,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!"):null==n||""===n||(this.backend&&this.backend.create&&this.backend.create(e,t,n,o,null,eP({},r,{isUpdate:a})),e&&e[0]&&this.store.addResource(e[0],t,n,o))}}]),t}(e_);function e9(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.whitelist&&(e.whitelist&&0>e.whitelist.indexOf("cimode")&&(e.whitelist=e.whitelist.concat(["cimode"])),e.supportedLngs=e.whitelist),e.nonExplicitWhitelist&&(e.nonExplicitSupportedLngs=e.nonExplicitWhitelist),e.supportedLngs&&0>e.supportedLngs.indexOf("cimode")&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function te(){}var tt=new(function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;if(A(this,t),e=eB(this,eM(t).call(this)),eZ&&e_.call(eD(e)),e.options=e9(n),e.services={},e.logger=eV,e.modules={external:[]},o&&!e.isInitialized&&!n.isClone){if(!e.options.initImmediate)return e.init(n,o),eB(e,eD(e));setTimeout(function(){e.init(n,o)},0)}return e}return eF(t,e),U(t,[{key:"init",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;function o(e){return e?"function"==typeof e?new e:e:null}if("function"==typeof t&&(n=t,t={}),t.whitelist&&!t.supportedLngs&&this.logger.deprecate("whitelist",'option "whitelist" will be renamed to "supportedLngs" in the next major - please make sure to rename this option asap.'),t.nonExplicitWhitelist&&!t.nonExplicitSupportedLngs&&this.logger.deprecate("whitelist",'options "nonExplicitWhitelist" will be renamed to "nonExplicitSupportedLngs" in the next major - please make sure to rename this option asap.'),this.options=eP({},{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,whitelist:!1,nonExplicitWhitelist:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){var t={};if("object"===R(e[1])&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"===R(e[2])||"object"===R(e[3])){var n=e[3]||e[2];Object.keys(n).forEach(function(e){t[e]=n[e]})}return t},interpolation:{escapeValue:!0,format:function(e,t,n,o){return e},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!1}},this.options,e9(t)),this.format=this.options.interpolation.format,n||(n=te),!this.options.isClone){this.modules.logger?eV.init(o(this.modules.logger),this.options):eV.init(null,this.options);var a=new e3(this.options);this.store=new eX(this.options.resources,this.options);var r=this.services;r.logger=eV,r.resourceStore=this.store,r.languageUtils=a,r.pluralResolver=new e8(a,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),r.interpolator=new e6(this.options),r.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},r.backendConnector=new e7(o(this.modules.backend),r.resourceStore,r,this.options),r.backendConnector.on("*",function(t){for(var n=arguments.length,o=Array(n>1?n-1:0),a=1;a<n;a++)o[a-1]=arguments[a];e.emit.apply(e,[t].concat(o))}),this.modules.languageDetector&&(r.languageDetector=o(this.modules.languageDetector),r.languageDetector.init(r,this.options.detection,this.options)),this.modules.i18nFormat&&(r.i18nFormat=o(this.modules.i18nFormat),r.i18nFormat.init&&r.i18nFormat.init(this)),this.translator=new e1(this.services,this.options),this.translator.on("*",function(t){for(var n=arguments.length,o=Array(n>1?n-1:0),a=1;a<n;a++)o[a-1]=arguments[a];e.emit.apply(e,[t].concat(o))}),this.modules.external.forEach(function(t){t.init&&t.init(e)})}if(this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){var i=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);i.length>0&&"dev"!==i[0]&&(this.options.lng=i[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(function(t){e[t]=function(){var n;return(n=e.store)[t].apply(n,arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(function(t){e[t]=function(){var n;return(n=e.store)[t].apply(n,arguments),e}});var s=eq(),l=function(){var t=function(t,o){e.isInitialized&&e.logger.warn("init: i18next is already initialized. You should call init just once!"),e.isInitialized=!0,e.options.isClone||e.logger.log("initialized",e.options),e.emit("initialized",e.options),s.resolve(o),n(t,o)};if(e.languages&&"v1"!==e.options.compatibilityAPI&&!e.isInitialized)return t(null,e.t.bind(e));e.changeLanguage(e.options.lng,t)};return this.options.resources||!this.options.initImmediate?l():setTimeout(l,0),s}},{key:"loadResources",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:te,o=n,a="string"==typeof e?e:this.language;if("function"==typeof e&&(o=e),!this.options.resources||this.options.partialBundledLanguages){if(a&&"cimode"===a.toLowerCase())return o();var r=[],i=function(e){e&&t.services.languageUtils.toResolveHierarchy(e).forEach(function(e){0>r.indexOf(e)&&r.push(e)})};a?i(a):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(function(e){return i(e)}),this.options.preload&&this.options.preload.forEach(function(e){return i(e)}),this.services.backendConnector.load(r,this.options.ns,o)}else o(null)}},{key:"reloadResources",value:function(e,t,n){var o=eq();return e||(e=this.languages),t||(t=this.options.ns),n||(n=te),this.services.backendConnector.reload(e,t,function(e){o.resolve(),n(e)}),o}},{key:"use",value:function(e){if(!e)throw Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&eQ.addPostProcessor(e),"3rdParty"===e.type&&this.modules.external.push(e),this}},{key:"changeLanguage",value:function(e,t){var n=this;this.isLanguageChangingTo=e;var o=eq();this.emit("languageChanging",e);var a=function(e,a){a?(n.language=a,n.languages=n.services.languageUtils.toResolveHierarchy(a),n.translator.changeLanguage(a),n.isLanguageChangingTo=void 0,n.emit("languageChanged",a),n.logger.log("languageChanged",a)):n.isLanguageChangingTo=void 0,o.resolve(function(){return n.t.apply(n,arguments)}),t&&t(e,function(){return n.t.apply(n,arguments)})},r=function(e){var t="string"==typeof e?e:n.services.languageUtils.getBestMatchFromCodes(e);t&&(n.language||(n.language=t,n.languages=n.services.languageUtils.toResolveHierarchy(t)),n.translator.language||n.translator.changeLanguage(t),n.services.languageDetector&&n.services.languageDetector.cacheUserLanguage(t)),n.loadResources(t,function(e){a(e,t)})};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()),o}},{key:"getFixedT",value:function(e,t){var n=this,o=function e(t,o){var a;if("object"!==R(o)){for(var r=arguments.length,i=Array(r>2?r-2:0),s=2;s<r;s++)i[s-2]=arguments[s];a=n.options.overloadTranslationOptionHandler([t,o].concat(i))}else a=eP({},o);return a.lng=a.lng||e.lng,a.lngs=a.lngs||e.lngs,a.ns=a.ns||e.ns,n.t(t,a)};return"string"==typeof e?o.lng=e:o.lngs=e,o.ns=t,o}},{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,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var o=this.languages[0],a=!!this.options&&this.options.fallbackLng,r=this.languages[this.languages.length-1];if("cimode"===o.toLowerCase())return!0;var i=function(e,n){var o=t.services.backendConnector.state["".concat(e,"|").concat(n)];return -1===o||2===o};if(n.precheck){var s=n.precheck(this,i);if(void 0!==s)return s}return!!(this.hasResourceBundle(o,e)||!this.services.backendConnector.backend||i(o,e)&&(!a||i(r,e)))}},{key:"loadNamespaces",value:function(e,t){var n=this,o=eq();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach(function(e){0>n.options.ns.indexOf(e)&&n.options.ns.push(e)}),this.loadResources(function(e){o.resolve(),t&&t(e)}),o):(t&&t(),Promise.resolve())}},{key:"loadLanguages",value:function(e,t){var n=eq();"string"==typeof e&&(e=[e]);var o=this.options.preload||[],a=e.filter(function(e){return 0>o.indexOf(e)});return a.length?(this.options.preload=o.concat(a),this.loadResources(function(e){n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}},{key:"dir",value:function(e){return(e||(e=this.languages&&this.languages.length>0?this.languages[0]:this.language),e)?["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam"].indexOf(this.services.languageUtils.getLanguagePartFromCode(e))>=0?"rtl":"ltr":"rtl"}},{key:"createInstance",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new t(e,n)}},{key:"cloneInstance",value:function(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:te,a=eP({},this.options,n,{isClone:!0}),r=new t(a);return["store","services","language"].forEach(function(t){r[t]=e[t]}),r.services=eP({},this.services),r.services.utils={hasLoadedNamespace:r.hasLoadedNamespace.bind(r)},r.translator=new e1(r.services,r.options),r.translator.on("*",function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];r.emit.apply(r,[e].concat(n))}),r.init(a,o),r.translator.options=r.options,r.translator.backendConnector.services.utils={hasLoadedNamespace:r.hasLoadedNamespace.bind(r)},r}}]),t}(e_));let tn={CT:"ctToolGroup",PT:"ptToolGroup",Fusion:"fusionToolGroup",MIP:"mipToolGroup",default:"default"},{TOOLBAR_SECTIONS:to}=T.ToolbarService,ta={commandName:"setToolActiveToolbar",commandOptions:{toolGroupIds:[tn.CT,tn.PT,tn.Fusion]}},tr={"tmtv.toolbarButtons":[{id:"MeasurementTools",uiType:"ohif.toolButtonList",props:{buttonSection:!0}},{id:"SegmentationTools",uiType:"ohif.toolBoxButton",props:{buttonSection:!0}},{id:"BrushTools",uiType:"ohif.toolBoxButtonGroup",props:{buttonSection:!0}},{id:"AdvancedRenderingControls",uiType:"ohif.advancedRenderingControls",props:{buttonSection:!0}},{id:"modalityLoadBadge",uiType:"ohif.modalityLoadBadge",props:{icon:"Status",label:tt.t("Buttons:Status"),tooltip:tt.t("Buttons:Status"),evaluate:{name:"evaluate.modalityLoadBadge",hideWhenDisabled:!0}}},{id:"Colorbar",uiType:"ohif.colorbar",props:{type:"tool",label:tt.t("Buttons:Colorbar")}},{id:"navigationComponent",uiType:"ohif.navigationComponent",props:{icon:"Navigation",label:tt.t("Buttons:Navigation"),tooltip:tt.t("Buttons:Navigate between segments/measurements and manage their visibility"),evaluate:{name:"evaluate.navigationComponent",hideWhenDisabled:!0}}},{id:"windowLevelMenuEmbedded",uiType:"ohif.windowLevelMenuEmbedded",props:{icon:"WindowLevel",label:tt.t("Buttons:Window Level"),tooltip:tt.t("Buttons:Adjust window/level presets and customize image contrast settings"),evaluate:{name:"evaluate.windowLevelMenuEmbedded",hideWhenDisabled:!0}}},{id:"trackingStatus",uiType:"ohif.trackingStatus",props:{icon:"TrackingStatus",label:tt.t("Buttons:Tracking Status"),tooltip:tt.t("Buttons:View and manage tracking status of measurements and annotations"),evaluate:{name:"evaluate.trackingStatus",hideWhenDisabled:!0}}},{id:"Length",uiType:"ohif.toolButton",props:{icon:"tool-length",label:tt.t("Buttons:Length"),tooltip:tt.t("Buttons:Length Tool"),commands:ta,evaluate:"evaluate.cornerstoneTool"}},{id:"Bidirectional",uiType:"ohif.toolButton",props:{icon:"tool-bidirectional",label:tt.t("Buttons:Bidirectional"),tooltip:tt.t("Buttons:Bidirectional Tool"),commands:ta,evaluate:"evaluate.cornerstoneTool"}},{id:"ArrowAnnotate",uiType:"ohif.toolButton",props:{icon:"tool-annotate",label:tt.t("Buttons:Arrow Annotate"),tooltip:tt.t("Buttons:Arrow Annotate Tool"),commands:ta,evaluate:"evaluate.cornerstoneTool"}},{id:"EllipticalROI",uiType:"ohif.toolButton",props:{icon:"tool-ellipse",label:tt.t("Buttons:Ellipse"),tooltip:tt.t("Buttons:Ellipse Tool"),commands:ta,evaluate:"evaluate.cornerstoneTool"}},{id:"Zoom",uiType:"ohif.toolButton",props:{icon:"tool-zoom",label:tt.t("Buttons:Zoom"),commands:ta,evaluate:"evaluate.cornerstoneTool"}},{id:"WindowLevel",uiType:"ohif.toolButton",props:{icon:"tool-window-level",label:tt.t("Buttons:Window Level"),commands:ta,evaluate:"evaluate.cornerstoneTool"}},{id:"Crosshairs",uiType:"ohif.toolButton",props:{icon:"tool-crosshair",label:tt.t("Buttons:Crosshairs"),commands:ta,evaluate:"evaluate.cornerstoneTool"}},{id:"Pan",uiType:"ohif.toolButton",props:{icon:"tool-move",label:tt.t("Buttons:Pan"),commands:ta,evaluate:"evaluate.cornerstoneTool"}},{id:"RectangleROIStartEndThreshold",uiType:"ohif.toolBoxButton",props:{icon:"tool-create-threshold",label:tt.t("Buttons:Rectangle ROI Threshold"),commands:ta,evaluate:["evaluate.cornerstone.segmentation",{name:"evaluate.cornerstoneTool",disabledText:tt.t("Buttons:Select the PT Axial to enable this tool")}],options:"tmtv.RectangleROIThresholdOptions"}},{id:"Brush",uiType:"ohif.toolButton",props:{icon:"icon-tool-brush",label:tt.t("Buttons:Brush"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["CircularBrush","SphereBrush"],disabledText:tt.t("Buttons:Create new segmentation to enable this tool.")},{name:"evaluate.cornerstone.segmentation.synchronizeDrawingRadius",radiusOptionId:"brush-radius"}],options:[{name:tt.t("Buttons:Radius (mm)"),id:"brush-radius",type:"range",explicitRunOnly:!0,min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["CircularBrush","SphereBrush"]}}},{name:tt.t("Buttons:Shape"),type:"radio",id:"brush-mode",value:"CircularBrush",values:[{value:"CircularBrush",label:tt.t("Buttons:Circle")},{value:"SphereBrush",label:tt.t("Buttons:Sphere")}],commands:"setToolActiveToolbar"}]}},{id:"Eraser",uiType:"ohif.toolButton",props:{icon:"icon-tool-eraser",label:tt.t("Buttons:Eraser"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["CircularEraser","SphereEraser"]},{name:"evaluate.cornerstone.segmentation.synchronizeDrawingRadius",radiusOptionId:"eraser-radius"}],options:[{name:tt.t("Buttons:Radius (mm)"),id:"eraser-radius",type:"range",explicitRunOnly:!0,min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["CircularEraser","SphereEraser"]}}},{name:tt.t("Buttons:Shape"),type:"radio",id:"eraser-mode",value:"CircularEraser",values:[{value:"CircularEraser",label:tt.t("Buttons:Circle")},{value:"SphereEraser",label:tt.t("Buttons:Sphere")}],commands:"setToolActiveToolbar"}]}},{id:"Threshold",uiType:"ohif.toolButton",props:{icon:"icon-tool-threshold",label:tt.t("Buttons:Threshold Tool"),evaluate:[{name:"evaluate.cornerstone.segmentation",toolNames:["ThresholdCircularBrush","ThresholdSphereBrush","ThresholdCircularBrushDynamic"]},{name:"evaluate.cornerstone.segmentation.synchronizeDrawingRadius",radiusOptionId:"threshold-radius"}],options:[{name:tt.t("Buttons:Radius (mm)"),id:"threshold-radius",type:"range",explicitRunOnly:!0,min:.5,max:99.5,step:.5,value:25,commands:{commandName:"setBrushSize",commandOptions:{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush","ThresholdCircularBrushDynamic"]}}},{name:tt.t("Buttons:Threshold"),type:"radio",id:"dynamic-mode",value:"ThresholdRange",values:[{value:"ThresholdDynamic",label:tt.t("Buttons:Dynamic")},{value:"ThresholdRange",label:tt.t("Buttons:Range")}],commands:({value:e,commandsManager:t})=>{"ThresholdDynamic"===e?t.run("setToolActive",{toolName:"ThresholdCircularBrushDynamic"}):t.run("setToolActive",{toolName:"ThresholdCircularBrush"})}},{name:tt.t("Buttons:Shape"),type:"radio",id:"eraser-mode",value:"ThresholdCircularBrush",values:[{value:"ThresholdCircularBrush",label:tt.t("Buttons:Circle")},{value:"ThresholdSphereBrush",label:tt.t("Buttons:Sphere")}],condition:({options:e})=>"ThresholdRange"===e.find(e=>"dynamic-mode"===e.id).value,commands:"setToolActiveToolbar"},{name:tt.t("ROIThresholdConfiguration:ThresholdRange"),type:"double-range",id:"threshold-range",min:0,max:50,step:.5,value:[2.5,50],condition:({options:e})=>"ThresholdRange"===e.find(e=>"dynamic-mode"===e.id).value,commands:{commandName:"setThresholdRange",commandOptions:{toolNames:["ThresholdCircularBrush","ThresholdSphereBrush"]}}}]}},{id:"dataOverlayMenu",uiType:"ohif.dataOverlayMenu",props:{icon:"ViewportViews",label:tt.t("Buttons:Data Overlay"),tooltip:tt.t("Buttons:Configure data overlay options and manage foreground/background display sets"),evaluate:"evaluate.dataOverlayMenu"}},{id:"orientationMenu",uiType:"ohif.orientationMenu",props:{icon:"OrientationSwitch",label:tt.t("Buttons:Orientation"),tooltip:tt.t("Buttons:Change viewport orientation between axial, sagittal, coronal and reformat planes"),evaluate:{name:"evaluate.orientationMenu"}}},{id:"windowLevelMenu",uiType:"ohif.windowLevelMenu",props:{icon:"WindowLevel",label:tt.t("Buttons:Window Level"),tooltip:tt.t("Buttons:Adjust window/level presets and customize image contrast settings"),evaluate:"evaluate.windowLevelMenu"}},{id:"voiManualControlMenu",uiType:"ohif.voiManualControlMenu",props:{icon:"WindowLevelAdvanced",label:tt.t("Buttons:Advanced Window Level"),tooltip:tt.t("Buttons:Advanced window/level settings with manual controls and presets"),evaluate:"evaluate.voiManualControlMenu"}},{id:"thresholdMenu",uiType:"ohif.thresholdMenu",props:{icon:"Threshold",label:tt.t("Buttons:Threshold"),tooltip:tt.t("Buttons:Image threshold settings"),evaluate:{name:"evaluate.thresholdMenu",hideWhenDisabled:!0}}},{id:"opacityMenu",uiType:"ohif.opacityMenu",props:{icon:"Opacity",label:tt.t("Buttons:Opacity"),tooltip:tt.t("Buttons:Image opacity settings"),evaluate:{name:"evaluate.opacityMenu",hideWhenDisabled:!0}}}],"tmtv.toolbarSections":{[to.primary]:["MeasurementTools","Zoom","Pan","WindowLevel","Crosshairs"],[to.viewportActionMenu.topLeft]:["orientationMenu","dataOverlayMenu"],[to.viewportActionMenu.bottomMiddle]:["AdvancedRenderingControls"],AdvancedRenderingControls:["windowLevelMenuEmbedded","voiManualControlMenu","Colorbar","opacityMenu","thresholdMenu"],[to.viewportActionMenu.topRight]:["modalityLoadBadge","trackingStatus","navigationComponent"],[to.viewportActionMenu.bottomLeft]:["windowLevelMenu"],MeasurementTools:["Length","Bidirectional","ArrowAnnotate","EllipticalROI"],ROIThresholdToolbox:["SegmentationTools"],SegmentationTools:["RectangleROIStartEndThreshold","BrushTools"],BrushTools:["Brush","Eraser","Threshold"]}},ti={id:e,preRegistration({servicesManager:e,commandsManager:t,extensionManager:o,configuration:a={}}){!function({servicesManager:e}){let{measurementService:t,displaySetService:o,cornerstoneViewportService:a}=e.services;(0,eu.addTool)(eu.RectangleROIStartEndThresholdTool),(0,eu.addTool)(eu.CircleROIStartEndThresholdTool);let{RectangleROIStartEndThreshold:r,CircleROIStartEndThreshold:i}={RectangleROIStartEndThreshold:{toAnnotation:ep,toMeasurement:e=>((e,t,o)=>{let a,{annotation:r,viewportId:i}=e,{metadata:s,data:l,annotationUID:u}=r;if(!s||!l)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:c,referencedImageId:p,FrameOfReferenceUID:d}=s;if(!ec.includes(c))throw Error("Tool not supported");let{SOPInstanceUID:h,SeriesInstanceUID:g,StudyInstanceUID:f}=(0,n.getSOPInstanceAttributes)(p,o,i);return a=h?t.getDisplaySetForSOPInstanceUID(h,g):t.getDisplaySetsForSeries(g),{uid:u,SOPInstanceUID:h,FrameOfReferenceUID:d,metadata:s,referenceSeriesUID:g,referenceStudyUID:f,toolName:s.toolName,displaySetInstanceUID:a.displaySetInstanceUID,label:s.label,data:l.cachedStats,type:"RectangleROIStartEndThreshold"}})(e,o,a),matchingCriteria:[{valueType:t.VALUE_TYPES.ROI_THRESHOLD_MANUAL}]},CircleROIStartEndThreshold:{toAnnotation:ed,toMeasurement:e=>((e,t,o)=>{let a,{annotation:r,viewportId:i}=e,{metadata:s,data:l,annotationUID:u}=r;if(!s||!l)return console.warn("Length tool: Missing metadata or data"),null;let{toolName:c,referencedImageId:p,FrameOfReferenceUID:d}=s;if(!ec.includes(c))throw Error("Tool not supported");let{SOPInstanceUID:h,SeriesInstanceUID:g,StudyInstanceUID:f}=(0,n.getSOPInstanceAttributes)(p,o,i);a=h?t.getDisplaySetForSOPInstanceUID(h,g):t.getDisplaySetsForSeries(g);let{cachedStats:m}=l;return{uid:u,SOPInstanceUID:h,FrameOfReferenceUID:d,metadata:s,referenceSeriesUID:g,referenceStudyUID:f,toolName:s.toolName,displaySetInstanceUID:a.displaySetInstanceUID,label:s.label,data:l.cachedStats,type:"CircleROIStartEndThreshold"}})(e,o,a),matchingCriteria:[{valueType:t.VALUE_TYPES.ROI_THRESHOLD_MANUAL}]}},s=t.getSource(eh,eg);t.addMapping(s,"RectangleROIStartEndThreshold",r.matchingCriteria,r.toAnnotation,r.toMeasurement),t.addMapping(s,"CircleROIStartEndThreshold",i.matchingCriteria,i.toAnnotation,i.toMeasurement)}({servicesManager:e,commandsManager:t,extensionManager:o,configuration:a})},getToolbarModule:function(){return[{name:"tmtv.RectangleROIThresholdOptions",defaultComponent:eE}]},getPanelModule:function({commandsManager:e,extensionManager:t,servicesManager:n}){let{toolbarService:o}=n.services;return[{name:"petSUV",iconName:"tab-patient-info",iconLabel:"Patient Info",label:"Patient Info",component:()=>(0,Y.jsx)(X,{})},{name:"tmtv",iconName:"tab-segmentation",iconLabel:"Segmentation",component:()=>(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(er.Toolbox,{buttonSectionId:o.sections.roiThresholdToolbox,title:el().t("ROIThresholdConfiguration:Threshold Tools")}),(0,Y.jsx)(ei,{commandsManager:e,servicesManager:n})]})},{name:"tmtvBox",iconName:"tab-segmentation",iconLabel:"Segmentation",label:"Segmentation Toolbox",component:()=>(0,Y.jsx)(er.Toolbox,{buttonSectionId:o.sections.roiThresholdToolbox,title:el().t("ROIThresholdConfiguration:Threshold Tools")})},{name:"tmtvExport",iconName:"tab-segmentation",iconLabel:"Segmentation",label:"Segmentation Export",component:()=>(0,Y.jsx)(en,{})}]},getHangingProtocolModule:function(){return(0,n.isNextViewportsEnabled)()&&[p,d,f].forEach(e=>{let t=e.displaySets?.find(e=>"ptDisplaySet"===e.id),o=t?.options?.colormap;o&&(o.opacity=n.NEXT_FUSION_PT_OPACITY)}),[{name:b.id,protocol:b}]},getCustomizationModule:function(){return[{name:"default",value:{...tr}}]},getCommandsModule:({servicesManager:e,commandsManager:t,extensionManager:o})=>(({servicesManager:e,commandsManager:t,extensionManager:o})=>{let{viewportGridService:a,uiNotificationService:r,displaySetService:i,hangingProtocolService:s,toolGroupService:l,cornerstoneViewportService:u,segmentationService:c}=e.services,{getEnabledElement:p}=o.getModuleEntry("@ohif/extension-cornerstone.utilityModule.common").exports;function d(){let{activeViewportId:e}=a.getState(),{element:t}=p(e)||{};return ef.getEnabledElement(t)}function h(e){return e.reduce((e,t)=>{let n=eu.annotation.selection.getAnnotationsSelectedByToolName(t);return e.concat(n)},[])}let g={getMatchingPTDisplaySet:({viewportMatchDetails:e})=>{let t=null;for(let[,n]of e){let{displaySetsInfo:e}=n,o=e.map(({displaySetInstanceUID:e})=>i.getDisplaySetByUID(e));if(o&&0!==o.length&&(t=o.find(e=>"PT"===e.Modality)))break}return t},getPTMetadata:({ptDisplaySet:e})=>{let t=o.getDataSources()[0].getImageIdsForDisplaySet(e)[0],n=eI.get("instance",t);if("PT"===n.Modality)return{SeriesTime:n.SeriesTime,Modality:n.Modality,PatientSex:n.PatientSex,PatientWeight:n.PatientWeight,RadiopharmaceuticalInformationSequence:{RadionuclideTotalDose:n.RadiopharmaceuticalInformationSequence[0].RadionuclideTotalDose,RadionuclideHalfLife:n.RadiopharmaceuticalInformationSequence[0].RadionuclideHalfLife,RadiopharmaceuticalStartTime:n.RadiopharmaceuticalInformationSequence[0].RadiopharmaceuticalStartTime,RadiopharmaceuticalStartDateTime:n.RadiopharmaceuticalInformationSequence[0].RadiopharmaceuticalStartDateTime}}},createNewLabelmapFromPT:async({label:e})=>{let{viewportMatchDetails:t}=s.getMatchDetails(),n=g.getMatchingPTDisplaySet({viewportMatchDetails:t}),o=null;for(let[e,{displaySetsInfo:a}]of t.entries())if(a.some(({displaySetInstanceUID:e})=>e===n.displaySetInstanceUID)){o=e;break}if(!n)return void r.error("No matching PT display set found");let a=c.getSegmentationRepresentations(o),l=i.getDisplaySetByUID(n.displaySetInstanceUID),u=await c.createLabelmapForDisplaySet(l,{label:`Segmentation ${a.length+1}`,labelIsGenerated:!0,segments:{1:{label:`${el().t("Segment")} 1`,active:!0}}});return c.addSegmentationRepresentation(o,{segmentationId:u}),u},thresholdSegmentationByRectangleROITool:({segmentationId:e,config:t,segmentIndex:n})=>{let{representationData:o}=eu.segmentation.state.getSegmentation(e),{displaySetMatchDetails:a}=s.getMatchDetails(),l=a.get("ctDisplaySet"),u=a.get("ptDisplaySet"),c=i.getDisplaySetByUID(l.displaySetInstanceUID),p=i.getDisplaySetByUID(u.displaySetInstanceUID),{volumeId:d}=o[eR.Labelmap],g=ef.cache.getVolume(d),f=h(ek);if(0===f.length)return void r.show({title:"Commands Module",message:"No ROIThreshold Tool is Selected",type:"error"});let{ptLower:m,ptUpper:v,ctLower:y,ctUpper:b}=em(f,p,t),{imageIds:S}=p,x=ef.cache.getVolumeContainingImageId(S[0]);if(!x)return void r.error("No PT volume found");let{imageIds:T}=c,w=ef.cache.getVolumeContainingImageId(T[0]);if(!w)return void r.error("No CT volume found");let R=x.volume,O=w.volume;return eu.utilities.segmentation.rectangleROIThresholdVolumeByRange(f,g,[{volume:R,lower:m,upper:v},{volume:O,lower:y,upper:b}],{overwrite:!0,segmentIndex:n,segmentationId:e})},calculateTMTV:async({segmentations:e})=>{let t=e.map(e=>e.segmentationId),n=await eu.utilities.segmentation.computeMetabolicStats({segmentationIds:t,segmentIndex:1});return c.setSegmentationGroupStats(t,n),n},exportTMTVReportCSV:async({segmentations:e,tmtv:n,config:o,options:a})=>{let r=t.runCommand("getSegmentationCSVReport",{segmentations:e}),i=0;for(let e in r)i+=r[e].namedStats_lesionGlycolysis.value;let s=[{key:"Total Lesion Glycolysis",value:{tlg:i.toFixed(4)}},{key:"Threshold Configuration",value:{...o}}];void 0!==n&&s.unshift({key:"Total Metabolic Tumor Volume",value:{tmtv:n}}),function(e,t,n={}){let o=e[Object.keys(e)[0]],a=Object.keys(o),r=[a.map(e=>e.toLowerCase().startsWith("namedstats_")?e.substring(11):e).join(",")];Object.values(e).forEach(e=>{let t=[];a.forEach(n=>{t.push(e[n]&&"object"==typeof e[n]?Array.isArray(e[n])?e[n].join(" "):e[n].value&&Array.isArray(e[n].value)?e[n].value.join(" "):e[n].value??e[n]:e[n])}),r.push(t.join(","))}),r.push(""),r.push(""),r.push(""),r.push(`Patient ID,${o.PatientID}`),r.push(`Study Date,${o.StudyDate}`),r.push(""),t.forEach(({key:e,value:t})=>{let n=[];n.push(`${e}`),Object.keys(t).forEach(e=>{n.push(`${e}`),n.push(`${t[e]}`)}),r.push(n.join(","))}),ev(r.join("\n"),{filename:n.filename??`${o.PatientID}_tmtv.csv`})}(r,s,a)},setStartSliceForROIThresholdTool:()=>{let{viewport:e}=d(),t=(0,n.getViewportFocalPoint)(e);if(!t)return;let o=h(ek)[0],a=eu.annotation.state.getAnnotation(o);a.data.startCoordinate=t,a.invalidated=!0,e.render()},setEndSliceForROIThresholdTool:()=>{let{viewport:e}=d(),t=h(ek)[0],o=eu.annotation.state.getAnnotation(t),a=(0,n.getViewportFocalPoint)(e);a&&(o.data.endCoordinate=a,o.invalidated=!0,e.render())},createTMTVRTReport:()=>{let e=eu.annotation.state.getAnnotationManager(),n=[];Object.keys(e.annotations).forEach(t=>{let o=e.annotations[t],a=ek.reduce((e,t)=>[...e,...o[t]??[]],[]);n.push(...a)}),t.runCommand("exportRTReportForAnnotations",{annotations:n})},getSegmentationCSVReport:({segmentations:e})=>{e&&e.length||(e=c.getSegmentations());let t={};for(let n of e){let{label:e,segmentationId:o,representationData:a}=n,r={id:o,label:e};if(!a){t[o]=r;continue}let{cachedStats:i}=n.segments[1]||{};if(i&&Object.entries(i).forEach(([e,t])=>{"object"!=typeof t?r[e]=t:Object.entries(t).forEach(([t,n])=>{r[`${e}_${t}`]=n})}),!n.representationData[eR.Labelmap]){t[o]=r;continue}let s=eu.utilities.segmentation.getReferenceVolumeForSegmentation(o);if(!s||!s.imageIds||!s.imageIds.length){t[o]=r;continue}let l=s.imageIds[0],u=w().classes.MetadataProvider.get("instance",l);if(!u){t[o]=r;continue}t[o]={...r,PatientID:u.PatientID??"000000",PatientName:eO(u.PatientName),StudyInstanceUID:u.StudyInstanceUID,SeriesInstanceUID:u.SeriesInstanceUID,StudyDate:u.StudyDate}}return t},exportRTReportForAnnotations:({annotations:e})=>{ew(e)},setFusionPTColormap:({toolGroupId:e,colormap:n})=>{let o=l.getToolGroup(e);if(!o)return;let{viewportMatchDetails:a}=s.getMatchDetails(),r=g.getMatchingPTDisplaySet({viewportMatchDetails:a});if(!r)return;let i=o.getViewportIds(),c=[];i.forEach(e=>{t.runCommand("setViewportColormap",{viewportId:e,displaySetInstanceUID:r.displaySetInstanceUID,colormap:{name:n}}),c.push(u.getCornerstoneViewport(e))}),c.forEach(e=>{e.render()})}},f={setEndSliceForROIThresholdTool:{commandFn:g.setEndSliceForROIThresholdTool},setStartSliceForROIThresholdTool:{commandFn:g.setStartSliceForROIThresholdTool},getMatchingPTDisplaySet:{commandFn:g.getMatchingPTDisplaySet},getPTMetadata:{commandFn:g.getPTMetadata},createNewLabelmapFromPT:{commandFn:g.createNewLabelmapFromPT},thresholdSegmentationByRectangleROITool:{commandFn:g.thresholdSegmentationByRectangleROITool},calculateTMTV:{commandFn:g.calculateTMTV},exportTMTVReportCSV:{commandFn:g.exportTMTVReportCSV},createTMTVRTReport:{commandFn:g.createTMTVRTReport},getSegmentationCSVReport:{commandFn:g.getSegmentationCSVReport},exportRTReportForAnnotations:{commandFn:g.exportRTReportForAnnotations},setFusionPTColormap:{commandFn:g.setFusionPTColormap}};return{actions:g,definitions:f,defaultContext:"TMTV:CORNERSTONE"}})({servicesManager:e,commandsManager:t,extensionManager:o})}})(),g})());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ohif/extension-tmtv",
3
- "version": "3.14.0-beta.38",
3
+ "version": "3.14.0-beta.39",
4
4
  "description": "OHIF extension for Total Metabolic Tumor Volume",
5
5
  "author": "OHIF",
6
6
  "license": "MIT",
@@ -21,11 +21,11 @@
21
21
  "access": "public"
22
22
  },
23
23
  "peerDependencies": {
24
+ "@ohif/core": "3.14.0-beta.39",
24
25
  "dcmjs": "0.52.0",
25
26
  "dicom-parser": "1.8.21",
26
27
  "hammerjs": "2.0.8",
27
- "react": "19.2.7",
28
- "@ohif/core": "3.14.0-beta.38"
28
+ "react": "19.2.7"
29
29
  },
30
30
  "dependencies": {
31
31
  "@babel/runtime": "7.29.7",