tofscope 0.1.2__tar.gz → 0.1.3__tar.gz

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.
Files changed (77) hide show
  1. {tofscope-0.1.2/src/tofscope.egg-info → tofscope-0.1.3}/PKG-INFO +1 -1
  2. {tofscope-0.1.2 → tofscope-0.1.3}/pyproject.toml +1 -1
  3. tofscope-0.1.3/src/tofscope/__init__.py +1 -0
  4. tofscope-0.1.2/src/tofscope/static/assets/VtkScene-BMAtiZcm.js → tofscope-0.1.3/src/tofscope/static/assets/VtkScene-C2tmrWm7.js +1 -1
  5. tofscope-0.1.2/src/tofscope/static/assets/index-Dx1YS1Fe.css → tofscope-0.1.3/src/tofscope/static/assets/index-CHHZWtjl.css +1 -1
  6. tofscope-0.1.2/src/tofscope/static/assets/index-D15XNFrC.js → tofscope-0.1.3/src/tofscope/static/assets/index-hhnrsqjk.js +13 -13
  7. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/static/index.html +2 -2
  8. tofscope-0.1.3/src/tofscope/static/manifest.json +13 -0
  9. {tofscope-0.1.2 → tofscope-0.1.3/src/tofscope.egg-info}/PKG-INFO +1 -1
  10. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope.egg-info/SOURCES.txt +3 -3
  11. tofscope-0.1.2/src/tofscope/__init__.py +0 -1
  12. tofscope-0.1.2/src/tofscope/static/manifest.json +0 -13
  13. {tofscope-0.1.2 → tofscope-0.1.3}/LICENSE +0 -0
  14. {tofscope-0.1.2 → tofscope-0.1.3}/MANIFEST.in +0 -0
  15. {tofscope-0.1.2 → tofscope-0.1.3}/README.md +0 -0
  16. {tofscope-0.1.2 → tofscope-0.1.3}/setup.cfg +0 -0
  17. {tofscope-0.1.2 → tofscope-0.1.3}/setup.py +0 -0
  18. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/api/__init__.py +0 -0
  19. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/api/app.py +0 -0
  20. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/api/auth.py +0 -0
  21. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/api/schemas.py +0 -0
  22. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/application/__init__.py +0 -0
  23. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/application/analyses.py +0 -0
  24. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/application/cache.py +0 -0
  25. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/application/commands.py +0 -0
  26. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/application/explore.py +0 -0
  27. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/application/identification.py +0 -0
  28. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/application/identification_models.py +0 -0
  29. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/application/jobs.py +0 -0
  30. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/application/lifecycle.py +0 -0
  31. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/application/models.py +0 -0
  32. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/application/preparations.py +0 -0
  33. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/application/resources.py +0 -0
  34. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/application/saves.py +0 -0
  35. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/application/signals.py +0 -0
  36. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/application/spatial.py +0 -0
  37. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/cli.py +0 -0
  38. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/config.py +0 -0
  39. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/presentation/__init__.py +0 -0
  40. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/presentation/coordinates.py +0 -0
  41. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/presentation/data.py +0 -0
  42. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/presentation/explore.py +0 -0
  43. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/presentation/exports.py +0 -0
  44. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/presentation/isotopes.py +0 -0
  45. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/presentation/volumes.py +0 -0
  46. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/resources/__init__.py +0 -0
  47. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/resources/reference/README.md +0 -0
  48. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/resources/reference/isotopes.json +0 -0
  49. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/science/__init__.py +0 -0
  50. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/science/abundance.py +0 -0
  51. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/science/depth_calibration.py +0 -0
  52. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/science/integration.py +0 -0
  53. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/science/isotopes.py +0 -0
  54. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/science/raw_peaks.py +0 -0
  55. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/science/signals.py +0 -0
  56. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/science/volume_layers.py +0 -0
  57. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/static/assets/datasophos-wordmark.png +0 -0
  58. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/static/assets/favicon.svg +0 -0
  59. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/static/licenses/matplotlib.txt +0 -0
  60. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/storage/__init__.py +0 -0
  61. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/storage/acquisitions.py +0 -0
  62. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/storage/analysis_document.py +0 -0
  63. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/storage/bounded_events.py +0 -0
  64. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/storage/compact_copy.py +0 -0
  65. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/storage/dataset_io.py +0 -0
  66. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/storage/explorer.py +0 -0
  67. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/storage/file_browser.py +0 -0
  68. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/storage/identification_document.py +0 -0
  69. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/storage/integration_store.py +0 -0
  70. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/storage/native_saved_copy.py +0 -0
  71. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/storage/raw_preparation.py +0 -0
  72. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/storage/saved_files.py +0 -0
  73. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope/storage/vendor_export.py +0 -0
  74. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope.egg-info/dependency_links.txt +0 -0
  75. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope.egg-info/entry_points.txt +0 -0
  76. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope.egg-info/requires.txt +0 -0
  77. {tofscope-0.1.2 → tofscope-0.1.3}/src/tofscope.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tofscope
3
- Version: 0.1.2
3
+ Version: 0.1.3
4
4
  Summary: Multi-analysis ToF-SIMS exploration and calibrated 3D visualization
5
5
  License-Expression: MIT
6
6
  Requires-Python: >=3.11
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "tofscope"
7
- version = "0.1.2"
7
+ version = "0.1.3"
8
8
  description = "Multi-analysis ToF-SIMS exploration and calibrated 3D visualization"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
@@ -0,0 +1 @@
1
+ __version__ = "0.1.3"
@@ -1,4 +1,4 @@
1
- import{v as Un,c as mv,r as Pr,a as Ov,e as Sl,j as Lt,b as wv,d as Rv,t as Mv,f as Ev}from"./index-D15XNFrC.js";function Yo(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Dv(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var e=t.default;if(typeof e=="function"){var r=function n(){var a=!1;try{a=this instanceof n}catch{}return a?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var a=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,a.get?a:{enumerable:!0,get:function(){return t[n]}})}),r}var su=Object.defineProperty,Vv=(t,e)=>{let r={};for(var n in t)su(r,n,{get:t[n],enumerable:!0});return su(r,Symbol.toStringTag,{value:"Module"}),r},xl={vtkObject:()=>null};function $t(t){if(t==null||t.isA)return t;if(!t.vtkClass)return globalThis.console&&globalThis.console.error&&globalThis.console.error("Invalid VTK object"),null;const e=xl[t.vtkClass];if(!e)return globalThis.console&&globalThis.console.error&&globalThis.console.error(`No vtk class found for Object of type ${t.vtkClass}`),null;const r={...t};Object.keys(r).forEach(a=>{r[a]&&typeof r[a]=="object"&&r[a].vtkClass&&(r[a]=$t(r[a]))});const n=e(r);return n&&n.modified&&n.modified(),n}function Bv(t,e){xl[t]=e}$t.register=Bv;var Vs=class extends Array{push(){for(let t=0;t<arguments.length;t++)this.includes(arguments[t])||super.push(arguments[t]);return this.length}},Bs,ou;function Lv(){return ou||(ou=1,Bs=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,a,i;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(a=n;a--!==0;)if(!t(e[a],r[a]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(r).length)return!1;for(a=n;a--!==0;)if(!Object.prototype.hasOwnProperty.call(r,i[a]))return!1;for(a=n;a--!==0;){var s=i[a];if(!t(e[s],r[s]))return!1}return!0}return e!==e&&r!==r}),Bs}var Uv=Lv();const Zo=Yo(Uv);var at=Vv({EVENT_ABORT:()=>nc,TYPED_ARRAYS:()=>qe,VOID:()=>Cl,_capitalize:()=>be,algo:()=>rc,capitalize:()=>us,chain:()=>dr,debounce:()=>Fl,default:()=>R,event:()=>ac,formatBytesToProperUnit:()=>Dl,formatNumbersWithThousandSeparator:()=>Vl,get:()=>Ye,getArray:()=>Hn,isVtkObject:()=>ic,keystore:()=>sc,measurePromiseExecution:()=>Ll,moveToProtected:()=>Da,newInstance:()=>ge,newTypedArray:()=>cs,newTypedArrayFrom:()=>Qo,normalizeWheel:()=>Gl,obj:()=>Se,proxy:()=>Nl,proxyPropertyMapping:()=>_l,proxyPropertyState:()=>kl,requiredParam:()=>yl,set:()=>fs,setArray:()=>ec,setGet:()=>Me,setGetArray:()=>tc,setImmediateVTK:()=>Jo,setLoggerFunction:()=>Ol,throttle:()=>bl,traverseInstanceTree:()=>Ui,uncapitalize:()=>El,vtkDebugMacro:()=>Li,vtkErrorMacro:()=>ue,vtkInfoMacro:()=>Rl,vtkLogMacro:()=>wl,vtkOnceErrorMacro:()=>Ml,vtkWarningMacro:()=>os}),xo=0,yl=t=>{throw new Error(`Named parameter '${t}' is missing`)},Cl=Symbol("void");function Fv(){return xo}var ml={};function tn(){}["log","debug","info","warn","error","time","timeEnd","group","groupEnd"].forEach(t=>{ml[t]=tn});var Na=globalThis.console&&globalThis.console.hasOwnProperty("log")?globalThis.console:ml,br={debug:tn,error:Na.error||tn,info:Na.info||tn,log:Na.log||tn,warn:Na.warn||tn};function Ol(t,e){br[t]&&(br[t]=e||tn)}function wl(...t){br.log(...t)}function Rl(...t){br.info(...t)}function Li(...t){br.debug(...t)}function ue(...t){br.error(...t)}function os(...t){br.warn(...t)}var cu={};function Ml(t){cu[t]||(br.error(t),cu[t]=!0)}var qe=Object.create(null);qe.Float32Array=Float32Array;qe.Float64Array=Float64Array;qe.Uint8Array=Uint8Array;qe.Int8Array=Int8Array;qe.Uint16Array=Uint16Array;qe.Int16Array=Int16Array;qe.Uint32Array=Uint32Array;qe.Int32Array=Int32Array;qe.Uint8ClampedArray=Uint8ClampedArray;try{qe.BigInt64Array=BigInt64Array,qe.BigUint64Array=BigUint64Array}catch{}function cs(t,...e){return new(qe[t]||Float64Array)(...e)}function Qo(t,...e){return(qe[t]||Float64Array).from(...e)}function us(t){return t.charAt(0).toUpperCase()+t.slice(1)}function be(t){return us(t[0]==="_"?t.slice(1):t)}function El(t){return t.charAt(0).toLowerCase()+t.slice(1)}function Dl(t,e=2,r=1e3){const n=["TB","GB","MB","KB"];let a=Number(t),i="B";for(;a>r;)a/=r,i=n.pop();return`${a.toFixed(e)} ${i}`}function Vl(t,e=" "){const r=[];let n=t;for(;n>1e3;)r.push(`000${n%1e3}`.slice(-3)),n=Math.floor(n/1e3);return n>0&&r.push(n),r.reverse(),r.join(e)}function Bl(t){Object.keys(t).forEach(e=>{Array.isArray(t[e])&&(t[e]=[].concat(t[e]))})}function bv(t){return Object.values(qe).some(e=>t instanceof e)}function Nv(t,e){if(t===e)return!0;if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}return!1}function _v(t,e){return Object.keys(t).find(r=>t[r]===e)}function Jo(t){setTimeout(t,0)}function Ll(t,e){const r=performance.now();t.finally(()=>{e(performance.now()-r)})}function Se(t={},e={}){Bl(e);const r=[];if(Number.isInteger(e.mtime)||(e.mtime=++xo),!("classHierarchy"in e))e.classHierarchy=new Vs("vtkObject");else if(!(e.classHierarchy instanceof Vs)){const i=new Vs;for(let s=0;s<e.classHierarchy.length;s++)i.push(e.classHierarchy[s]);e.classHierarchy=i}function n(i){r[i]=null}function a(i){function s(){n(i)}return Object.freeze({unsubscribe:s})}return t.isDeleted=()=>!!e.deleted,t.modified=i=>{if(e.deleted){ue("instance deleted - cannot call any method");return}i&&i<t.getMTime()||(e.mtime=++xo,r.forEach(s=>s&&s(t)))},t.onModified=i=>{if(e.deleted)return ue("instance deleted - cannot call any method"),null;const s=r.length;return r.push(i),a(s)},t.getMTime=()=>e.mtime,t.isA=i=>{let s=e.classHierarchy.length;for(;s--;)if(e.classHierarchy[s]===i)return!0;return!1},t.getClassName=(i=0)=>e.classHierarchy[e.classHierarchy.length-1-i],t.set=(i={},s=!1,o=!1)=>{let c=!1;return Object.keys(i).forEach(u=>{const l=o?null:t[`set${us(u)}`];l&&Array.isArray(i[u])&&l.length>1?c=l(...i[u])||c:l?c=l(i[u])||c:(["mtime"].indexOf(u)===-1&&!s&&os(`Warning: Set value to model directly ${u}, ${i[u]}`),c=e[u]!==i[u]||c,e[u]=i[u])}),c},t.get=(...i)=>{if(!i.length)return e;const s={};return i.forEach(o=>{s[o]=e[o]}),s},t.getReferenceByName=i=>e[i],t.delete=()=>{Object.keys(e).forEach(i=>delete e[i]),r.forEach((i,s)=>n(s)),e.deleted=!0},t.getState=({preserveTypedArrays:i=!1}={})=>{if(e.deleted)return null;const s={preserveTypedArrays:i},o={...e,vtkClass:t.getClassName()};Object.keys(o).forEach(u=>{o[u]===null||o[u]===void 0||u[0]==="_"?delete o[u]:o[u].isA?o[u]=o[u].getState(s):Array.isArray(o[u])?o[u]=o[u].map(l=>l&&l.isA?l.getState(s):l):bv(o[u])&&(i||(o[u]=Array.from(o[u])))});const c={};return Object.keys(o).sort().forEach(u=>{c[u]=o[u]}),c.mtime&&delete c.mtime,c},t.shallowCopy=(i,s=!1)=>{if(i.getClassName()!==t.getClassName())throw new Error(`Cannot ShallowCopy ${i.getClassName()} into ${t.getClassName()}`);const o=i.get(),c=Object.keys(e).sort();Object.keys(o).sort().forEach(u=>{const l=c.indexOf(u);l===-1?s&&Li(`add ${u} in shallowCopy`):c.splice(l,1),e[u]=o[u]}),c.length&&s&&Li(`Untouched keys: ${c.join(", ")}`),t.modified()},t.toJSON=function(){return t.getState()},t}var kv={object(t,e,r){return function(){return{...e[r.name]}}}};function Ye(t,e,r){r.forEach(n=>{if(typeof n=="object"){const a=kv[n.type];a?t[`get${be(n.name)}`]=a(t,e,n):t[`get${be(n.name)}`]=()=>e[n.name]}else t[`get${be(n)}`]=()=>e[n]})}var Ul={enum(t,e,r){const n=`_on${be(r.name)}Changed`;return a=>{if(typeof a=="string"){if(r.enum[a]!==void 0)return e[r.name]!==r.enum[a]?(e[r.name]=r.enum[a],t.modified(),!0):!1;throw ue(`Set Enum with invalid argument ${r}, ${a}`),new RangeError("Set Enum with invalid string argument")}if(typeof a=="number"){if(e[r.name]!==a){if(Object.keys(r.enum).map(i=>r.enum[i]).indexOf(a)!==-1){const i=e[r.name];return e[r.name]=a,e[n]?.(t,e,a,i),t.modified(),!0}throw ue(`Set Enum outside numeric range ${r}, ${a}`),new RangeError("Set Enum outside numeric range")}return!1}throw ue(`Set Enum with invalid argument (String/Number) ${r}, ${a}`),new TypeError("Set Enum with invalid argument (String/Number)")}},object(t,e,r){r.params?.length===1&&os('Setter of type "object" with a single "param" field is not supported');const n=`_on${be(r.name)}Changed`;return(...a)=>{let i;if(a.length>1&&r.params?.length?i=r.params.reduce((s,o,c)=>Object.assign(s,{[o]:a[c]}),{}):i=a[0],!Zo(e[r.name],i)){const s=e[r.name];return e[r.name]=i,e[n]?.(t,e,i,s),t.modified(),!0}return!1}}};function uu(t){if(typeof t=="object"){const e=Ul[t.type];if(e)return(r,n)=>e(r,n,t);throw ue(`No setter for field ${t}`),new TypeError("No setter for field")}return function(r,n){const a=`_on${be(t)}Changed`;return function(s){if(n.deleted)return ue("instance deleted - cannot call any method"),!1;if(n[t]!==s){const o=n[t.name];return n[t]=s,n[a]?.(r,n,s,o),r.modified(),!0}return!1}}}function fs(t,e,r){r.forEach(n=>{typeof n=="object"?t[`set${be(n.name)}`]=uu(n)(t,e):t[`set${be(n)}`]=uu(n)(t,e)})}function Me(t,e,r){Ye(t,e,r),fs(t,e,r)}function Hn(t,e,r){r.forEach(n=>{t[`get${be(n)}`]=()=>e[n]?Array.from(e[n]):e[n],t[`get${be(n)}ByReference`]=()=>e[n]})}function ec(t,e,r,n,a=void 0){r.forEach(i=>{if(e[i]&&n&&e[i].length!==n)throw new RangeError(`Invalid initial number of values for array (${i})`);const s=`_on${be(i)}Changed`;t[`set${be(i)}`]=(...o)=>{if(e.deleted)return ue("instance deleted - cannot call any method"),!1;let c=o,u,l=!1;if(c.length===1&&(c[0]==null||c[0].length>=0)&&(c=c[0],l=!0),c==null)u=e[i]!==c;else{if(n&&c.length!==n)if(c.length<n&&a!==void 0)for(c=Array.from(c),l=!1;c.length<n;)c.push(a);else throw new RangeError(`Invalid number of values for array setter (${i})`);u=e[i]==null||e[i].length!==c.length;for(let g=0;!u&&g<c.length;++g)u=e[i][g]!==c[g];u&&l&&(c=Array.from(c))}if(u){const g=e[i.name];e[i]=c,e[s]?.(t,e,c,g),t.modified()}return u},t[`set${be(i)}From`]=o=>{const c=e[i];o.forEach((u,l)=>{c[l]=u})}})}function tc(t,e,r,n,a=void 0){Hn(t,e,r),ec(t,e,r,n,a)}function Da(t,e,r){for(let n=0;n<r.length;n++){const a=r[n];e[a]!==void 0&&(e[`_${a}`]=e[a],delete e[a])}}function rc(t,e,r,n){e.inputData?e.inputData=e.inputData.map($t):e.inputData=[],e.inputConnection?e.inputConnection=e.inputConnection.map($t):e.inputConnection=[],e.output?e.output=e.output.map($t):e.output=[],e.inputArrayToProcess?e.inputArrayToProcess=e.inputArrayToProcess.map($t):e.inputArrayToProcess=[],e.numberOfInputs=r;function a(p,d=0){if(e.deleted){ue("instance deleted - cannot call any method");return}if(d>=e.numberOfInputs){ue(`algorithm ${t.getClassName()} only has ${e.numberOfInputs} input ports. To add more input ports, use addInputData()`);return}(e.inputData[d]!==p||e.inputConnection[d])&&(e.inputData[d]=p,e.inputConnection[d]=null,t.modified&&t.modified())}function i(p=0){return e.inputConnection[p]&&(e.inputData[p]=e.inputConnection[p]()),e.inputData[p]}function s(p,d=0){if(e.deleted){ue("instance deleted - cannot call any method");return}if(d>=e.numberOfInputs){let h=`algorithm ${t.getClassName()} only has `;h+=`${e.numberOfInputs}`,h+=" input ports. To add more input ports, use addInputConnection()",ue(h);return}e.inputData[d]=null,e.inputConnection[d]=p}function o(p=0){return e.inputConnection[p]}function c(){let p=e.numberOfInputs;for(;p&&!e.inputData[p-1]&&!e.inputConnection[p-1];)p--;return p===e.numberOfInputs&&e.numberOfInputs++,p}function u(p){if(e.deleted){ue("instance deleted - cannot call any method");return}s(p,c())}function l(p){if(e.deleted){ue("instance deleted - cannot call any method");return}a(p,c())}function g(p=0){return e.deleted?(ue("instance deleted - cannot call any method"),null):(t.shouldUpdate()&&t.update(),e.output[p])}t.shouldUpdate=()=>{const p=t.getMTime();let d=1/0,h=n;for(;h--;){if(!e.output[h]||e.output[h].isDeleted())return!0;const v=e.output[h].getMTime();if(v<p)return!0;v<d&&(d=v)}for(h=e.numberOfInputs;h--;)if(e.inputConnection[h]?.filter.shouldUpdate()||t.getInputData(h)?.getMTime()>d)return!0;return!1};function f(p=0){const d=()=>g(p);return d.filter=t,d}if(e.numberOfInputs){let p=e.numberOfInputs;for(;p--;)e.inputData.push(null),e.inputConnection.push(null);t.setInputData=a,t.setInputConnection=s,t.addInputData=l,t.addInputConnection=u,t.getInputData=i,t.getInputConnection=o}n&&(t.getOutputData=g,t.getOutputPort=f),t.update=()=>{const p=[];if(e.numberOfInputs){let d=0;for(;d<e.numberOfInputs;)p[d]=t.getInputData(d),d++}t.requestData&&!t.isDeleted()&&t.shouldUpdate()&&t.requestData(p,e.output)},t.getNumberOfInputPorts=()=>e.numberOfInputs,t.getNumberOfOutputPorts=()=>n||e.output.length,t.getInputArrayToProcess=p=>{const d=e.inputArrayToProcess[p],h=e.inputData[p];return d&&h?h[`get${d.fieldAssociation}`]().getArray(d.arrayName):null},t.setInputArrayToProcess=(p,d,h,v="Scalars")=>{for(;e.inputArrayToProcess.length<p;)e.inputArrayToProcess.push(null);e.inputArrayToProcess[p]={arrayName:d,fieldAssociation:h,attributeType:v}}}var nc=Symbol("Event abort");function ac(t,e,r){const n=[],a=t.delete;let i=1;function s(u){for(let l=0;l<n.length;++l){const[g]=n[l];if(g===u){n.splice(l,1);return}}}function o(u){function l(){s(u)}return Object.freeze({unsubscribe:l})}function c(){if(e.deleted){ue("instance deleted - cannot call any method");return}const u=n.slice();for(let l=0;l<u.length;++l){const[,g,f]=u[l];if(g){if(f<0)setTimeout(()=>g.apply(t,arguments),1-f);else if(g.apply(t,arguments)===nc)break}}}t[`invoke${be(r)}`]=c,t[`on${be(r)}`]=(u,l=0)=>{if(!u.apply)return console.error(`Invalid callback for event ${r}`),null;if(e.deleted)return ue("instance deleted - cannot call any method"),null;const g=i++;return n.push([g,u,l]),n.sort((f,p)=>p[2]-f[2]),o(g)},t.delete=()=>{a(),n.forEach(([u])=>s(u))}}function ge(t,e){const r=(n={})=>{const a={},i={};return t(i,a,n),Object.freeze(i)};return e&&$t.register(e,r),r}function dr(...t){return(...e)=>t.filter(r=>!!r).map(r=>r(...e))}function ic(t){return t&&t.isA&&t.isA("vtkObject")}function Ui(t,e,r=[],n=[]){if(ic(t)){if(n.indexOf(t)>=0)return r;n.push(t);const a=e(t);a!==void 0&&r.push(a);const i=t.get();Object.keys(i).forEach(s=>{const o=i[s];Array.isArray(o)?o.forEach(c=>{Ui(c,e,r,n)}):Ui(o,e,r,n)})}return r}function Fl(t,e,r){let n;const a=(...i)=>{const s=this,o=()=>{n=null,r||t.apply(s,i)},c=r&&!n;clearTimeout(n),n=setTimeout(o,e),c&&t.apply(s,i)};return a.cancel=()=>clearTimeout(n),a}function bl(t,e){let r=!1,n=null;function a(){r=!1,n!==null&&(i(...n),n=null)}function i(...s){if(r){n=s;return}r=!0,t(...s),setTimeout(a,e)}return i}function sc(t,e,r={}){e.keystore=Object.assign(e.keystore||{},r),t.setKey=(n,a)=>{e.keystore[n]=a},t.getKey=n=>e.keystore[n],t.getAllKeys=()=>Object.keys(e.keystore),t.deleteKey=n=>delete e.keystore[n],t.clearKeystore=()=>t.getAllKeys().forEach(n=>delete e.keystore[n])}var Gv=1,_a="__root__";function Nl(t,e){sc(t,e);const r=t.delete;e.proxyId=`${Gv++}`,e.ui=JSON.parse(JSON.stringify(e.ui||[])),Ye(t,e,["proxyId","proxyGroup","proxyName"]),Me(t,e,["proxyManager"]);const n={},a={};function i(u,l){a[l]||(a[l]=[]);const g=a[l];for(let f=0;f<u.length;f++)g.push(u[f].name),n[u[f].name]=u[f],u[f].children&&u[f].children.length&&i(u[f].children,u[f].name)}i(e.ui,_a),t.updateUI=u=>{e.ui=JSON.parse(JSON.stringify(u||[])),Object.keys(n).forEach(l=>delete n[l]),Object.keys(a).forEach(l=>delete a[l]),i(e.ui,_a),t.modified()};function s(u=_a){return a[u]}t.updateProxyProperty=(u,l)=>{const g=n[u];g?Object.assign(g,l):n[u]={...l}},t.activate=()=>{if(e.proxyManager){const u=`setActive${be(t.getProxyGroup().slice(0,-1))}`;e.proxyManager[u]&&e.proxyManager[u](t)}},e.propertyLinkSubscribers={},t.registerPropertyLinkForGC=(u,l)=>{l in e.propertyLinkSubscribers||(e.propertyLinkSubscribers[l]=[]),e.propertyLinkSubscribers[l].push(u)},t.gcPropertyLinks=u=>{const l=e.propertyLinkSubscribers[u]||[];for(;l.length;)l.pop().unbind(t)},e.propertyLinkMap={},t.getPropertyLink=(u,l=!1)=>{if(e.propertyLinkMap[u])return e.propertyLinkMap[u];let g=null;const f=[];let p=0,d=!1;function h(S,m=!1){if(d)return null;const O=[];let V=null;for(p=f.length;p--;){const M=f[p];M.instance===S?V=M:O.push(M)}if(!V)return null;const C=V.instance[`get${be(V.propertyName)}`]();if(!Nv(C,g)||m){for(g=C,d=!0;O.length;){const M=O.pop();M.instance.set({[M.propertyName]:g})}d=!1}return e.propertyLinkMap[u].persistent&&(e.propertyLinkMap[u].value=C),C}function v(S,m){const O=[];for(p=f.length;p--;){const V=f[p];V.instance===S&&(V.propertyName===m||m===void 0)&&(V.subscription.unsubscribe(),O.push(p))}for(;O.length;)f.splice(O.pop(),1)}function x(S,m,O=!1){const V=S.onModified(h),C=f[0];return f.push({instance:S,propertyName:m,subscription:V}),O&&(e.propertyLinkMap[u].persistent&&e.propertyLinkMap[u].value!==void 0?S.set({[m]:e.propertyLinkMap[u].value}):C&&h(C.instance,!0)),{unsubscribe:()=>v(S,m)}}function y(){for(;f.length;)f.pop().subscription.unsubscribe()}const T={bind:x,unbind:v,unsubscribe:y,persistent:l};return e.propertyLinkMap[u]=T,T};function o(u=_a){const l=[],g=e.proxyId,f=s(u)||[];for(let p=0;p<f.length;p++){const d=f[p],h=t[`get${be(d)}`],v={id:g,name:d,value:h?h():void 0},x=o(d);x.length&&(v.children=x),l.push(v)}return l}t.listPropertyNames=()=>o().map(u=>u.name),t.getPropertyByName=u=>o().find(l=>l.name===u),t.getPropertyDomainByName=u=>(n[u]||{}).domain,t.getProxySection=()=>({id:e.proxyId,name:e.proxyGroup,ui:e.ui,properties:o()}),t.delete=()=>{const u=Object.keys(e.propertyLinkMap);let l=u.length;for(;l--;)e.propertyLinkMap[u[l]].unsubscribe();Object.keys(e.propertyLinkSubscribers).forEach(t.gcPropertyLinks),r()},t.getState=()=>null;function c(){if(e.links)for(let u=0;u<e.links.length;u++){const{link:l,property:g,persistent:f,updateOnBind:p,type:d}=e.links[u];if(d==="application"){const h=e.proxyManager.getPropertyLink(l,f);t.registerPropertyLinkForGC(h,"application"),h.bind(t,g,p)}}}Jo(c)}function _l(t,e,r){const n=t.delete,a=[],i=Object.keys(r);let s=i.length;for(;s--;){const o=i[s],{modelKey:c,property:u,modified:l=!0}=r[o],g=be(u),f=be(o);t[`get${f}`]=e[c][`get${g}`],t[`set${f}`]=e[c][`set${g}`],l&&a.push(e[c].onModified(t.modified))}t.delete=()=>{for(;a.length;)a.pop().unsubscribe();n()}}function kl(t,e,r={},n={}){e.this=t;function a(o){const c=Object.keys(o);let u=c.length;for(;u--;){const l=c[u];e[l].set(o[l])}}const i=Object.keys(n);let s=i.length;for(;s--;){const o=i[s];e[o]=n[o];const c=r[o];t[`set${be(o)}`]=u=>{if(u!==e[o]){e[o]=u;const l=c[u];a(l),t.modified()}}}i.length&&Ye(t,e,i)}var fu=10,lu=40,gu=800;function Gl(t){let e=0,r=0,n=0,a=0;return"detail"in t&&(r=t.detail),"wheelDelta"in t&&(r=-t.wheelDelta/120),"wheelDeltaY"in t&&(r=-t.wheelDeltaY/120),"wheelDeltaX"in t&&(e=-t.wheelDeltaX/120),"axis"in t&&t.axis===t.HORIZONTAL_AXIS&&(e=r,r=0),n=e*fu,a=r*fu,"deltaY"in t&&(a=t.deltaY),"deltaX"in t&&(n=t.deltaX),(n||a)&&t.deltaMode&&(t.deltaMode===1?(n*=lu,a*=lu):(n*=gu,a*=gu)),n&&!e&&(e=n<1?-1:1),a&&!r&&(r=a<1?-1:1),{spinX:e,spinY:r||e,pixelX:n,pixelY:a||n}}var R={algo:rc,capitalize:us,chain:dr,debounce:Fl,enumToString:_v,event:ac,EVENT_ABORT:nc,formatBytesToProperUnit:Dl,formatNumbersWithThousandSeparator:Vl,get:Ye,getArray:Hn,getCurrentGlobalMTime:Fv,isVtkObject:ic,keystore:sc,measurePromiseExecution:Ll,moveToProtected:Da,newInstance:ge,newTypedArray:cs,newTypedArrayFrom:Qo,normalizeWheel:Gl,obj:Se,proxy:Nl,proxyPropertyMapping:_l,proxyPropertyState:kl,safeArrays:Bl,set:fs,setArray:ec,setGet:Me,setGetArray:tc,setImmediate:Jo,setLoggerFunction:Ol,throttle:bl,traverseInstanceTree:Ui,TYPED_ARRAYS:qe,uncapitalize:El,VOID:Cl,vtkDebugMacro:Li,vtkErrorMacro:ue,vtkInfoMacro:Rl,vtkLogMacro:wl,vtkOnceErrorMacro:Ml,vtkWarningMacro:os,objectSetterMap:Ul,requiredParam:yl},{vtkErrorMacro:$v}=R,Wv=["Build","Render"];function zv(t,e){e.classHierarchy.push("vtkViewNode");function r(a,i){const{children:s}=e;if(a.end===void 0){a.start=s.lastIndexOf(i),a.end=a.start+1;return}if(s[a.end]===i){a.end++;return}let o=s.indexOf(i,a.end+1);if(o<0&&(o=s.indexOf(i)),!(o>=a.start&&o<a.end)){if(a.end>=s.length){s.splice(o,1),s.push(i),a.start--;return}s[o]=s[a.end],s[a.end]=i,a.end++}}t.build=a=>{},t.render=a=>{},t.traverse=a=>{const i=t[a.getTraverseOperation()];if(i){i(a);return}t.apply(a,!0);for(let s=0;s<e.children.length;s++)e.children[s].traverse(a);t.apply(a,!1)},t.apply=(a,i)=>{const s=t[a.getOperation()];s&&s(i,a)},t.getViewNodeFor=(a,i=null)=>{if(i&&i.renderable===a)return i;if(e.renderable===a)return t;const s=e._renderableChildMap.get(a);if(s)return s;for(let o=0;o<e.children.length;++o){const c=e.children[o].getViewNodeFor(a);if(c)return c}},t.getFirstAncestorOfType=a=>e._parent?e._parent.isA(a)?e._parent:e._parent.getFirstAncestorOfType(a):null,t.getLastAncestorOfType=a=>{if(!e._parent)return null;const i=e._parent.getLastAncestorOfType(a);return i||(e._parent.isA(a)?e._parent:null)},t.addMissingNode=a=>{if(!a)return;const i=e._renderableChildMap.get(a);if(i!==void 0)return i.setVisited(!0),i;const s=t.createViewNode(a);if(s)return s.setParent(t),s.setVisited(!0),e._renderableChildMap.set(a,s),e.children.push(s),s},t.addMissingNodes=(a,i=!1)=>{if(!a||!a.length)return;const s={};for(let o=0;o<a.length;++o){const c=a[o],u=t.addMissingNode(c);i&&u!==void 0&&r(s,u)}},t.addMissingChildren=a=>{if(!(!a||!a.length))for(let i=0;i<a.length;++i){const s=a[i];if(e.children.indexOf(s)===-1){s.setParent(t),e.children.push(s);const o=s.getRenderable();o&&e._renderableChildMap.set(o,s)}s.setVisited(!0)}},t.removeNode=a=>{const i=e.children.findIndex(o=>o===a);if(i<0)return!1;const s=a.getRenderable();return s&&e._renderableChildMap.delete(s),a.delete(),e.children.splice(i,1),!0},t.prepareNodes=()=>{for(let a=0;a<e.children.length;++a)e.children[a].setVisited(!1)},t.setVisited=a=>{e.visited=a},t.removeUnusedNodes=()=>{let a=0;for(let i=0;i<e.children.length;++i){const s=e.children[i];if(s.getVisited())e.children[a++]=s,s.setVisited(!1);else{const o=s.getRenderable();o&&e._renderableChildMap.delete(o),s.delete()}}e.children.length=a},t.createViewNode=a=>{if(!e.myFactory)return $v("Cannot create view nodes without my own factory"),null;const i=e.myFactory.createNode(a);return i&&i.setRenderable(a),i};const n=t.delete;t.delete=()=>{for(let a=0;a<e.children.length;a++)e.children[a].delete();n()}}var Iv={renderable:null,myFactory:null,children:[],visited:!1};function pu(t,e,r={}){Object.assign(e,Iv,r),R.obj(t,e),R.event(t,e,"event"),e._renderableChildMap=new Map,R.get(t,e,["visited"]),R.setGet(t,e,["_parent","renderable","myFactory"]),R.getArray(t,e,["children"]),R.moveToProtected(t,e,["parent"]),zv(t,e)}var ve={newInstance:R.newInstance(pu,"vtkViewNode"),extend:pu,PASS_TYPES:Wv},{vtkWarningMacro:Pv}=R;function Hv(t){const e=[];let r=0,n=t.getClassName(r++);for(;n;)e.push(n),n=t.getClassName(r++);return e}function Av(t,e){const r=e.join(" → ");return[`No ${t} implementation found for ${e[0]}.`,`Class hierarchy: ${r}.`,`A rendering Profile is likely missing for ${e[0]}.`,"Try importing '@kitware/vtk.js/Rendering/Profiles/All' or 'vtk.js/Sources/Rendering/Profiles/All',","or import the specific rendering profile needed by this renderable if known.","See https://kitware.github.io/vtk-js/docs/concepts_profile.html for details."].join(`
1
+ import{v as Un,c as mv,r as Pr,a as Ov,e as Sl,j as Lt,b as wv,d as Rv,t as Mv,f as Ev}from"./index-hhnrsqjk.js";function Yo(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Dv(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var e=t.default;if(typeof e=="function"){var r=function n(){var a=!1;try{a=this instanceof n}catch{}return a?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var a=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,a.get?a:{enumerable:!0,get:function(){return t[n]}})}),r}var su=Object.defineProperty,Vv=(t,e)=>{let r={};for(var n in t)su(r,n,{get:t[n],enumerable:!0});return su(r,Symbol.toStringTag,{value:"Module"}),r},xl={vtkObject:()=>null};function $t(t){if(t==null||t.isA)return t;if(!t.vtkClass)return globalThis.console&&globalThis.console.error&&globalThis.console.error("Invalid VTK object"),null;const e=xl[t.vtkClass];if(!e)return globalThis.console&&globalThis.console.error&&globalThis.console.error(`No vtk class found for Object of type ${t.vtkClass}`),null;const r={...t};Object.keys(r).forEach(a=>{r[a]&&typeof r[a]=="object"&&r[a].vtkClass&&(r[a]=$t(r[a]))});const n=e(r);return n&&n.modified&&n.modified(),n}function Bv(t,e){xl[t]=e}$t.register=Bv;var Vs=class extends Array{push(){for(let t=0;t<arguments.length;t++)this.includes(arguments[t])||super.push(arguments[t]);return this.length}},Bs,ou;function Lv(){return ou||(ou=1,Bs=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,a,i;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(a=n;a--!==0;)if(!t(e[a],r[a]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(r).length)return!1;for(a=n;a--!==0;)if(!Object.prototype.hasOwnProperty.call(r,i[a]))return!1;for(a=n;a--!==0;){var s=i[a];if(!t(e[s],r[s]))return!1}return!0}return e!==e&&r!==r}),Bs}var Uv=Lv();const Zo=Yo(Uv);var at=Vv({EVENT_ABORT:()=>nc,TYPED_ARRAYS:()=>qe,VOID:()=>Cl,_capitalize:()=>be,algo:()=>rc,capitalize:()=>us,chain:()=>dr,debounce:()=>Fl,default:()=>R,event:()=>ac,formatBytesToProperUnit:()=>Dl,formatNumbersWithThousandSeparator:()=>Vl,get:()=>Ye,getArray:()=>Hn,isVtkObject:()=>ic,keystore:()=>sc,measurePromiseExecution:()=>Ll,moveToProtected:()=>Da,newInstance:()=>ge,newTypedArray:()=>cs,newTypedArrayFrom:()=>Qo,normalizeWheel:()=>Gl,obj:()=>Se,proxy:()=>Nl,proxyPropertyMapping:()=>_l,proxyPropertyState:()=>kl,requiredParam:()=>yl,set:()=>fs,setArray:()=>ec,setGet:()=>Me,setGetArray:()=>tc,setImmediateVTK:()=>Jo,setLoggerFunction:()=>Ol,throttle:()=>bl,traverseInstanceTree:()=>Ui,uncapitalize:()=>El,vtkDebugMacro:()=>Li,vtkErrorMacro:()=>ue,vtkInfoMacro:()=>Rl,vtkLogMacro:()=>wl,vtkOnceErrorMacro:()=>Ml,vtkWarningMacro:()=>os}),xo=0,yl=t=>{throw new Error(`Named parameter '${t}' is missing`)},Cl=Symbol("void");function Fv(){return xo}var ml={};function tn(){}["log","debug","info","warn","error","time","timeEnd","group","groupEnd"].forEach(t=>{ml[t]=tn});var Na=globalThis.console&&globalThis.console.hasOwnProperty("log")?globalThis.console:ml,br={debug:tn,error:Na.error||tn,info:Na.info||tn,log:Na.log||tn,warn:Na.warn||tn};function Ol(t,e){br[t]&&(br[t]=e||tn)}function wl(...t){br.log(...t)}function Rl(...t){br.info(...t)}function Li(...t){br.debug(...t)}function ue(...t){br.error(...t)}function os(...t){br.warn(...t)}var cu={};function Ml(t){cu[t]||(br.error(t),cu[t]=!0)}var qe=Object.create(null);qe.Float32Array=Float32Array;qe.Float64Array=Float64Array;qe.Uint8Array=Uint8Array;qe.Int8Array=Int8Array;qe.Uint16Array=Uint16Array;qe.Int16Array=Int16Array;qe.Uint32Array=Uint32Array;qe.Int32Array=Int32Array;qe.Uint8ClampedArray=Uint8ClampedArray;try{qe.BigInt64Array=BigInt64Array,qe.BigUint64Array=BigUint64Array}catch{}function cs(t,...e){return new(qe[t]||Float64Array)(...e)}function Qo(t,...e){return(qe[t]||Float64Array).from(...e)}function us(t){return t.charAt(0).toUpperCase()+t.slice(1)}function be(t){return us(t[0]==="_"?t.slice(1):t)}function El(t){return t.charAt(0).toLowerCase()+t.slice(1)}function Dl(t,e=2,r=1e3){const n=["TB","GB","MB","KB"];let a=Number(t),i="B";for(;a>r;)a/=r,i=n.pop();return`${a.toFixed(e)} ${i}`}function Vl(t,e=" "){const r=[];let n=t;for(;n>1e3;)r.push(`000${n%1e3}`.slice(-3)),n=Math.floor(n/1e3);return n>0&&r.push(n),r.reverse(),r.join(e)}function Bl(t){Object.keys(t).forEach(e=>{Array.isArray(t[e])&&(t[e]=[].concat(t[e]))})}function bv(t){return Object.values(qe).some(e=>t instanceof e)}function Nv(t,e){if(t===e)return!0;if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}return!1}function _v(t,e){return Object.keys(t).find(r=>t[r]===e)}function Jo(t){setTimeout(t,0)}function Ll(t,e){const r=performance.now();t.finally(()=>{e(performance.now()-r)})}function Se(t={},e={}){Bl(e);const r=[];if(Number.isInteger(e.mtime)||(e.mtime=++xo),!("classHierarchy"in e))e.classHierarchy=new Vs("vtkObject");else if(!(e.classHierarchy instanceof Vs)){const i=new Vs;for(let s=0;s<e.classHierarchy.length;s++)i.push(e.classHierarchy[s]);e.classHierarchy=i}function n(i){r[i]=null}function a(i){function s(){n(i)}return Object.freeze({unsubscribe:s})}return t.isDeleted=()=>!!e.deleted,t.modified=i=>{if(e.deleted){ue("instance deleted - cannot call any method");return}i&&i<t.getMTime()||(e.mtime=++xo,r.forEach(s=>s&&s(t)))},t.onModified=i=>{if(e.deleted)return ue("instance deleted - cannot call any method"),null;const s=r.length;return r.push(i),a(s)},t.getMTime=()=>e.mtime,t.isA=i=>{let s=e.classHierarchy.length;for(;s--;)if(e.classHierarchy[s]===i)return!0;return!1},t.getClassName=(i=0)=>e.classHierarchy[e.classHierarchy.length-1-i],t.set=(i={},s=!1,o=!1)=>{let c=!1;return Object.keys(i).forEach(u=>{const l=o?null:t[`set${us(u)}`];l&&Array.isArray(i[u])&&l.length>1?c=l(...i[u])||c:l?c=l(i[u])||c:(["mtime"].indexOf(u)===-1&&!s&&os(`Warning: Set value to model directly ${u}, ${i[u]}`),c=e[u]!==i[u]||c,e[u]=i[u])}),c},t.get=(...i)=>{if(!i.length)return e;const s={};return i.forEach(o=>{s[o]=e[o]}),s},t.getReferenceByName=i=>e[i],t.delete=()=>{Object.keys(e).forEach(i=>delete e[i]),r.forEach((i,s)=>n(s)),e.deleted=!0},t.getState=({preserveTypedArrays:i=!1}={})=>{if(e.deleted)return null;const s={preserveTypedArrays:i},o={...e,vtkClass:t.getClassName()};Object.keys(o).forEach(u=>{o[u]===null||o[u]===void 0||u[0]==="_"?delete o[u]:o[u].isA?o[u]=o[u].getState(s):Array.isArray(o[u])?o[u]=o[u].map(l=>l&&l.isA?l.getState(s):l):bv(o[u])&&(i||(o[u]=Array.from(o[u])))});const c={};return Object.keys(o).sort().forEach(u=>{c[u]=o[u]}),c.mtime&&delete c.mtime,c},t.shallowCopy=(i,s=!1)=>{if(i.getClassName()!==t.getClassName())throw new Error(`Cannot ShallowCopy ${i.getClassName()} into ${t.getClassName()}`);const o=i.get(),c=Object.keys(e).sort();Object.keys(o).sort().forEach(u=>{const l=c.indexOf(u);l===-1?s&&Li(`add ${u} in shallowCopy`):c.splice(l,1),e[u]=o[u]}),c.length&&s&&Li(`Untouched keys: ${c.join(", ")}`),t.modified()},t.toJSON=function(){return t.getState()},t}var kv={object(t,e,r){return function(){return{...e[r.name]}}}};function Ye(t,e,r){r.forEach(n=>{if(typeof n=="object"){const a=kv[n.type];a?t[`get${be(n.name)}`]=a(t,e,n):t[`get${be(n.name)}`]=()=>e[n.name]}else t[`get${be(n)}`]=()=>e[n]})}var Ul={enum(t,e,r){const n=`_on${be(r.name)}Changed`;return a=>{if(typeof a=="string"){if(r.enum[a]!==void 0)return e[r.name]!==r.enum[a]?(e[r.name]=r.enum[a],t.modified(),!0):!1;throw ue(`Set Enum with invalid argument ${r}, ${a}`),new RangeError("Set Enum with invalid string argument")}if(typeof a=="number"){if(e[r.name]!==a){if(Object.keys(r.enum).map(i=>r.enum[i]).indexOf(a)!==-1){const i=e[r.name];return e[r.name]=a,e[n]?.(t,e,a,i),t.modified(),!0}throw ue(`Set Enum outside numeric range ${r}, ${a}`),new RangeError("Set Enum outside numeric range")}return!1}throw ue(`Set Enum with invalid argument (String/Number) ${r}, ${a}`),new TypeError("Set Enum with invalid argument (String/Number)")}},object(t,e,r){r.params?.length===1&&os('Setter of type "object" with a single "param" field is not supported');const n=`_on${be(r.name)}Changed`;return(...a)=>{let i;if(a.length>1&&r.params?.length?i=r.params.reduce((s,o,c)=>Object.assign(s,{[o]:a[c]}),{}):i=a[0],!Zo(e[r.name],i)){const s=e[r.name];return e[r.name]=i,e[n]?.(t,e,i,s),t.modified(),!0}return!1}}};function uu(t){if(typeof t=="object"){const e=Ul[t.type];if(e)return(r,n)=>e(r,n,t);throw ue(`No setter for field ${t}`),new TypeError("No setter for field")}return function(r,n){const a=`_on${be(t)}Changed`;return function(s){if(n.deleted)return ue("instance deleted - cannot call any method"),!1;if(n[t]!==s){const o=n[t.name];return n[t]=s,n[a]?.(r,n,s,o),r.modified(),!0}return!1}}}function fs(t,e,r){r.forEach(n=>{typeof n=="object"?t[`set${be(n.name)}`]=uu(n)(t,e):t[`set${be(n)}`]=uu(n)(t,e)})}function Me(t,e,r){Ye(t,e,r),fs(t,e,r)}function Hn(t,e,r){r.forEach(n=>{t[`get${be(n)}`]=()=>e[n]?Array.from(e[n]):e[n],t[`get${be(n)}ByReference`]=()=>e[n]})}function ec(t,e,r,n,a=void 0){r.forEach(i=>{if(e[i]&&n&&e[i].length!==n)throw new RangeError(`Invalid initial number of values for array (${i})`);const s=`_on${be(i)}Changed`;t[`set${be(i)}`]=(...o)=>{if(e.deleted)return ue("instance deleted - cannot call any method"),!1;let c=o,u,l=!1;if(c.length===1&&(c[0]==null||c[0].length>=0)&&(c=c[0],l=!0),c==null)u=e[i]!==c;else{if(n&&c.length!==n)if(c.length<n&&a!==void 0)for(c=Array.from(c),l=!1;c.length<n;)c.push(a);else throw new RangeError(`Invalid number of values for array setter (${i})`);u=e[i]==null||e[i].length!==c.length;for(let g=0;!u&&g<c.length;++g)u=e[i][g]!==c[g];u&&l&&(c=Array.from(c))}if(u){const g=e[i.name];e[i]=c,e[s]?.(t,e,c,g),t.modified()}return u},t[`set${be(i)}From`]=o=>{const c=e[i];o.forEach((u,l)=>{c[l]=u})}})}function tc(t,e,r,n,a=void 0){Hn(t,e,r),ec(t,e,r,n,a)}function Da(t,e,r){for(let n=0;n<r.length;n++){const a=r[n];e[a]!==void 0&&(e[`_${a}`]=e[a],delete e[a])}}function rc(t,e,r,n){e.inputData?e.inputData=e.inputData.map($t):e.inputData=[],e.inputConnection?e.inputConnection=e.inputConnection.map($t):e.inputConnection=[],e.output?e.output=e.output.map($t):e.output=[],e.inputArrayToProcess?e.inputArrayToProcess=e.inputArrayToProcess.map($t):e.inputArrayToProcess=[],e.numberOfInputs=r;function a(p,d=0){if(e.deleted){ue("instance deleted - cannot call any method");return}if(d>=e.numberOfInputs){ue(`algorithm ${t.getClassName()} only has ${e.numberOfInputs} input ports. To add more input ports, use addInputData()`);return}(e.inputData[d]!==p||e.inputConnection[d])&&(e.inputData[d]=p,e.inputConnection[d]=null,t.modified&&t.modified())}function i(p=0){return e.inputConnection[p]&&(e.inputData[p]=e.inputConnection[p]()),e.inputData[p]}function s(p,d=0){if(e.deleted){ue("instance deleted - cannot call any method");return}if(d>=e.numberOfInputs){let h=`algorithm ${t.getClassName()} only has `;h+=`${e.numberOfInputs}`,h+=" input ports. To add more input ports, use addInputConnection()",ue(h);return}e.inputData[d]=null,e.inputConnection[d]=p}function o(p=0){return e.inputConnection[p]}function c(){let p=e.numberOfInputs;for(;p&&!e.inputData[p-1]&&!e.inputConnection[p-1];)p--;return p===e.numberOfInputs&&e.numberOfInputs++,p}function u(p){if(e.deleted){ue("instance deleted - cannot call any method");return}s(p,c())}function l(p){if(e.deleted){ue("instance deleted - cannot call any method");return}a(p,c())}function g(p=0){return e.deleted?(ue("instance deleted - cannot call any method"),null):(t.shouldUpdate()&&t.update(),e.output[p])}t.shouldUpdate=()=>{const p=t.getMTime();let d=1/0,h=n;for(;h--;){if(!e.output[h]||e.output[h].isDeleted())return!0;const v=e.output[h].getMTime();if(v<p)return!0;v<d&&(d=v)}for(h=e.numberOfInputs;h--;)if(e.inputConnection[h]?.filter.shouldUpdate()||t.getInputData(h)?.getMTime()>d)return!0;return!1};function f(p=0){const d=()=>g(p);return d.filter=t,d}if(e.numberOfInputs){let p=e.numberOfInputs;for(;p--;)e.inputData.push(null),e.inputConnection.push(null);t.setInputData=a,t.setInputConnection=s,t.addInputData=l,t.addInputConnection=u,t.getInputData=i,t.getInputConnection=o}n&&(t.getOutputData=g,t.getOutputPort=f),t.update=()=>{const p=[];if(e.numberOfInputs){let d=0;for(;d<e.numberOfInputs;)p[d]=t.getInputData(d),d++}t.requestData&&!t.isDeleted()&&t.shouldUpdate()&&t.requestData(p,e.output)},t.getNumberOfInputPorts=()=>e.numberOfInputs,t.getNumberOfOutputPorts=()=>n||e.output.length,t.getInputArrayToProcess=p=>{const d=e.inputArrayToProcess[p],h=e.inputData[p];return d&&h?h[`get${d.fieldAssociation}`]().getArray(d.arrayName):null},t.setInputArrayToProcess=(p,d,h,v="Scalars")=>{for(;e.inputArrayToProcess.length<p;)e.inputArrayToProcess.push(null);e.inputArrayToProcess[p]={arrayName:d,fieldAssociation:h,attributeType:v}}}var nc=Symbol("Event abort");function ac(t,e,r){const n=[],a=t.delete;let i=1;function s(u){for(let l=0;l<n.length;++l){const[g]=n[l];if(g===u){n.splice(l,1);return}}}function o(u){function l(){s(u)}return Object.freeze({unsubscribe:l})}function c(){if(e.deleted){ue("instance deleted - cannot call any method");return}const u=n.slice();for(let l=0;l<u.length;++l){const[,g,f]=u[l];if(g){if(f<0)setTimeout(()=>g.apply(t,arguments),1-f);else if(g.apply(t,arguments)===nc)break}}}t[`invoke${be(r)}`]=c,t[`on${be(r)}`]=(u,l=0)=>{if(!u.apply)return console.error(`Invalid callback for event ${r}`),null;if(e.deleted)return ue("instance deleted - cannot call any method"),null;const g=i++;return n.push([g,u,l]),n.sort((f,p)=>p[2]-f[2]),o(g)},t.delete=()=>{a(),n.forEach(([u])=>s(u))}}function ge(t,e){const r=(n={})=>{const a={},i={};return t(i,a,n),Object.freeze(i)};return e&&$t.register(e,r),r}function dr(...t){return(...e)=>t.filter(r=>!!r).map(r=>r(...e))}function ic(t){return t&&t.isA&&t.isA("vtkObject")}function Ui(t,e,r=[],n=[]){if(ic(t)){if(n.indexOf(t)>=0)return r;n.push(t);const a=e(t);a!==void 0&&r.push(a);const i=t.get();Object.keys(i).forEach(s=>{const o=i[s];Array.isArray(o)?o.forEach(c=>{Ui(c,e,r,n)}):Ui(o,e,r,n)})}return r}function Fl(t,e,r){let n;const a=(...i)=>{const s=this,o=()=>{n=null,r||t.apply(s,i)},c=r&&!n;clearTimeout(n),n=setTimeout(o,e),c&&t.apply(s,i)};return a.cancel=()=>clearTimeout(n),a}function bl(t,e){let r=!1,n=null;function a(){r=!1,n!==null&&(i(...n),n=null)}function i(...s){if(r){n=s;return}r=!0,t(...s),setTimeout(a,e)}return i}function sc(t,e,r={}){e.keystore=Object.assign(e.keystore||{},r),t.setKey=(n,a)=>{e.keystore[n]=a},t.getKey=n=>e.keystore[n],t.getAllKeys=()=>Object.keys(e.keystore),t.deleteKey=n=>delete e.keystore[n],t.clearKeystore=()=>t.getAllKeys().forEach(n=>delete e.keystore[n])}var Gv=1,_a="__root__";function Nl(t,e){sc(t,e);const r=t.delete;e.proxyId=`${Gv++}`,e.ui=JSON.parse(JSON.stringify(e.ui||[])),Ye(t,e,["proxyId","proxyGroup","proxyName"]),Me(t,e,["proxyManager"]);const n={},a={};function i(u,l){a[l]||(a[l]=[]);const g=a[l];for(let f=0;f<u.length;f++)g.push(u[f].name),n[u[f].name]=u[f],u[f].children&&u[f].children.length&&i(u[f].children,u[f].name)}i(e.ui,_a),t.updateUI=u=>{e.ui=JSON.parse(JSON.stringify(u||[])),Object.keys(n).forEach(l=>delete n[l]),Object.keys(a).forEach(l=>delete a[l]),i(e.ui,_a),t.modified()};function s(u=_a){return a[u]}t.updateProxyProperty=(u,l)=>{const g=n[u];g?Object.assign(g,l):n[u]={...l}},t.activate=()=>{if(e.proxyManager){const u=`setActive${be(t.getProxyGroup().slice(0,-1))}`;e.proxyManager[u]&&e.proxyManager[u](t)}},e.propertyLinkSubscribers={},t.registerPropertyLinkForGC=(u,l)=>{l in e.propertyLinkSubscribers||(e.propertyLinkSubscribers[l]=[]),e.propertyLinkSubscribers[l].push(u)},t.gcPropertyLinks=u=>{const l=e.propertyLinkSubscribers[u]||[];for(;l.length;)l.pop().unbind(t)},e.propertyLinkMap={},t.getPropertyLink=(u,l=!1)=>{if(e.propertyLinkMap[u])return e.propertyLinkMap[u];let g=null;const f=[];let p=0,d=!1;function h(S,m=!1){if(d)return null;const O=[];let V=null;for(p=f.length;p--;){const M=f[p];M.instance===S?V=M:O.push(M)}if(!V)return null;const C=V.instance[`get${be(V.propertyName)}`]();if(!Nv(C,g)||m){for(g=C,d=!0;O.length;){const M=O.pop();M.instance.set({[M.propertyName]:g})}d=!1}return e.propertyLinkMap[u].persistent&&(e.propertyLinkMap[u].value=C),C}function v(S,m){const O=[];for(p=f.length;p--;){const V=f[p];V.instance===S&&(V.propertyName===m||m===void 0)&&(V.subscription.unsubscribe(),O.push(p))}for(;O.length;)f.splice(O.pop(),1)}function x(S,m,O=!1){const V=S.onModified(h),C=f[0];return f.push({instance:S,propertyName:m,subscription:V}),O&&(e.propertyLinkMap[u].persistent&&e.propertyLinkMap[u].value!==void 0?S.set({[m]:e.propertyLinkMap[u].value}):C&&h(C.instance,!0)),{unsubscribe:()=>v(S,m)}}function y(){for(;f.length;)f.pop().subscription.unsubscribe()}const T={bind:x,unbind:v,unsubscribe:y,persistent:l};return e.propertyLinkMap[u]=T,T};function o(u=_a){const l=[],g=e.proxyId,f=s(u)||[];for(let p=0;p<f.length;p++){const d=f[p],h=t[`get${be(d)}`],v={id:g,name:d,value:h?h():void 0},x=o(d);x.length&&(v.children=x),l.push(v)}return l}t.listPropertyNames=()=>o().map(u=>u.name),t.getPropertyByName=u=>o().find(l=>l.name===u),t.getPropertyDomainByName=u=>(n[u]||{}).domain,t.getProxySection=()=>({id:e.proxyId,name:e.proxyGroup,ui:e.ui,properties:o()}),t.delete=()=>{const u=Object.keys(e.propertyLinkMap);let l=u.length;for(;l--;)e.propertyLinkMap[u[l]].unsubscribe();Object.keys(e.propertyLinkSubscribers).forEach(t.gcPropertyLinks),r()},t.getState=()=>null;function c(){if(e.links)for(let u=0;u<e.links.length;u++){const{link:l,property:g,persistent:f,updateOnBind:p,type:d}=e.links[u];if(d==="application"){const h=e.proxyManager.getPropertyLink(l,f);t.registerPropertyLinkForGC(h,"application"),h.bind(t,g,p)}}}Jo(c)}function _l(t,e,r){const n=t.delete,a=[],i=Object.keys(r);let s=i.length;for(;s--;){const o=i[s],{modelKey:c,property:u,modified:l=!0}=r[o],g=be(u),f=be(o);t[`get${f}`]=e[c][`get${g}`],t[`set${f}`]=e[c][`set${g}`],l&&a.push(e[c].onModified(t.modified))}t.delete=()=>{for(;a.length;)a.pop().unsubscribe();n()}}function kl(t,e,r={},n={}){e.this=t;function a(o){const c=Object.keys(o);let u=c.length;for(;u--;){const l=c[u];e[l].set(o[l])}}const i=Object.keys(n);let s=i.length;for(;s--;){const o=i[s];e[o]=n[o];const c=r[o];t[`set${be(o)}`]=u=>{if(u!==e[o]){e[o]=u;const l=c[u];a(l),t.modified()}}}i.length&&Ye(t,e,i)}var fu=10,lu=40,gu=800;function Gl(t){let e=0,r=0,n=0,a=0;return"detail"in t&&(r=t.detail),"wheelDelta"in t&&(r=-t.wheelDelta/120),"wheelDeltaY"in t&&(r=-t.wheelDeltaY/120),"wheelDeltaX"in t&&(e=-t.wheelDeltaX/120),"axis"in t&&t.axis===t.HORIZONTAL_AXIS&&(e=r,r=0),n=e*fu,a=r*fu,"deltaY"in t&&(a=t.deltaY),"deltaX"in t&&(n=t.deltaX),(n||a)&&t.deltaMode&&(t.deltaMode===1?(n*=lu,a*=lu):(n*=gu,a*=gu)),n&&!e&&(e=n<1?-1:1),a&&!r&&(r=a<1?-1:1),{spinX:e,spinY:r||e,pixelX:n,pixelY:a||n}}var R={algo:rc,capitalize:us,chain:dr,debounce:Fl,enumToString:_v,event:ac,EVENT_ABORT:nc,formatBytesToProperUnit:Dl,formatNumbersWithThousandSeparator:Vl,get:Ye,getArray:Hn,getCurrentGlobalMTime:Fv,isVtkObject:ic,keystore:sc,measurePromiseExecution:Ll,moveToProtected:Da,newInstance:ge,newTypedArray:cs,newTypedArrayFrom:Qo,normalizeWheel:Gl,obj:Se,proxy:Nl,proxyPropertyMapping:_l,proxyPropertyState:kl,safeArrays:Bl,set:fs,setArray:ec,setGet:Me,setGetArray:tc,setImmediate:Jo,setLoggerFunction:Ol,throttle:bl,traverseInstanceTree:Ui,TYPED_ARRAYS:qe,uncapitalize:El,VOID:Cl,vtkDebugMacro:Li,vtkErrorMacro:ue,vtkInfoMacro:Rl,vtkLogMacro:wl,vtkOnceErrorMacro:Ml,vtkWarningMacro:os,objectSetterMap:Ul,requiredParam:yl},{vtkErrorMacro:$v}=R,Wv=["Build","Render"];function zv(t,e){e.classHierarchy.push("vtkViewNode");function r(a,i){const{children:s}=e;if(a.end===void 0){a.start=s.lastIndexOf(i),a.end=a.start+1;return}if(s[a.end]===i){a.end++;return}let o=s.indexOf(i,a.end+1);if(o<0&&(o=s.indexOf(i)),!(o>=a.start&&o<a.end)){if(a.end>=s.length){s.splice(o,1),s.push(i),a.start--;return}s[o]=s[a.end],s[a.end]=i,a.end++}}t.build=a=>{},t.render=a=>{},t.traverse=a=>{const i=t[a.getTraverseOperation()];if(i){i(a);return}t.apply(a,!0);for(let s=0;s<e.children.length;s++)e.children[s].traverse(a);t.apply(a,!1)},t.apply=(a,i)=>{const s=t[a.getOperation()];s&&s(i,a)},t.getViewNodeFor=(a,i=null)=>{if(i&&i.renderable===a)return i;if(e.renderable===a)return t;const s=e._renderableChildMap.get(a);if(s)return s;for(let o=0;o<e.children.length;++o){const c=e.children[o].getViewNodeFor(a);if(c)return c}},t.getFirstAncestorOfType=a=>e._parent?e._parent.isA(a)?e._parent:e._parent.getFirstAncestorOfType(a):null,t.getLastAncestorOfType=a=>{if(!e._parent)return null;const i=e._parent.getLastAncestorOfType(a);return i||(e._parent.isA(a)?e._parent:null)},t.addMissingNode=a=>{if(!a)return;const i=e._renderableChildMap.get(a);if(i!==void 0)return i.setVisited(!0),i;const s=t.createViewNode(a);if(s)return s.setParent(t),s.setVisited(!0),e._renderableChildMap.set(a,s),e.children.push(s),s},t.addMissingNodes=(a,i=!1)=>{if(!a||!a.length)return;const s={};for(let o=0;o<a.length;++o){const c=a[o],u=t.addMissingNode(c);i&&u!==void 0&&r(s,u)}},t.addMissingChildren=a=>{if(!(!a||!a.length))for(let i=0;i<a.length;++i){const s=a[i];if(e.children.indexOf(s)===-1){s.setParent(t),e.children.push(s);const o=s.getRenderable();o&&e._renderableChildMap.set(o,s)}s.setVisited(!0)}},t.removeNode=a=>{const i=e.children.findIndex(o=>o===a);if(i<0)return!1;const s=a.getRenderable();return s&&e._renderableChildMap.delete(s),a.delete(),e.children.splice(i,1),!0},t.prepareNodes=()=>{for(let a=0;a<e.children.length;++a)e.children[a].setVisited(!1)},t.setVisited=a=>{e.visited=a},t.removeUnusedNodes=()=>{let a=0;for(let i=0;i<e.children.length;++i){const s=e.children[i];if(s.getVisited())e.children[a++]=s,s.setVisited(!1);else{const o=s.getRenderable();o&&e._renderableChildMap.delete(o),s.delete()}}e.children.length=a},t.createViewNode=a=>{if(!e.myFactory)return $v("Cannot create view nodes without my own factory"),null;const i=e.myFactory.createNode(a);return i&&i.setRenderable(a),i};const n=t.delete;t.delete=()=>{for(let a=0;a<e.children.length;a++)e.children[a].delete();n()}}var Iv={renderable:null,myFactory:null,children:[],visited:!1};function pu(t,e,r={}){Object.assign(e,Iv,r),R.obj(t,e),R.event(t,e,"event"),e._renderableChildMap=new Map,R.get(t,e,["visited"]),R.setGet(t,e,["_parent","renderable","myFactory"]),R.getArray(t,e,["children"]),R.moveToProtected(t,e,["parent"]),zv(t,e)}var ve={newInstance:R.newInstance(pu,"vtkViewNode"),extend:pu,PASS_TYPES:Wv},{vtkWarningMacro:Pv}=R;function Hv(t){const e=[];let r=0,n=t.getClassName(r++);for(;n;)e.push(n),n=t.getClassName(r++);return e}function Av(t,e){const r=e.join(" → ");return[`No ${t} implementation found for ${e[0]}.`,`Class hierarchy: ${r}.`,`A rendering Profile is likely missing for ${e[0]}.`,"Try importing '@kitware/vtk.js/Rendering/Profiles/All' or 'vtk.js/Sources/Rendering/Profiles/All',","or import the specific rendering profile needed by this renderable if known.","See https://kitware.github.io/vtk-js/docs/concepts_profile.html for details."].join(`
2
2
  `)}function jv(t){return t.includes("vtkAbstractWidget")||t.includes("vtkWidgetRepresentation")}function Kv(t,e){e.overrides||(e.overrides={}),e.classHierarchy.push("vtkViewNodeFactory"),t.createNode=r=>{if(r.isDeleted())return null;const n=Hv(r);let a=0,i=n[a++],s=!1;const o=Object.keys(e.overrides);for(;i&&!s;)o.indexOf(i)!==-1?s=!0:i=r.getClassName(a++);if(!s)return jv(n)||Pv(Av(t.getClassName(),n)),null;const c=e.overrides[i]();return c.setMyFactory(t),c}}var Xv={};function $l(t,e,r={}){Object.assign(e,Xv,r),R.obj(t,e),Kv(t,e)}var qv=R.newInstance($l,"vtkViewNodeFactory"),Wl={newInstance:qv,extend:$l},zl=Object.create(null);function ze(t,e){zl[t]=e}function Yv(t,e){e.classHierarchy.push("vtkOpenGLViewNodeFactory")}var Zv={};function Il(t,e,r={}){Object.assign(e,Zv,r),e.overrides=zl,Wl.extend(t,e,r),Yv(t,e)}var Qv=R.newInstance(Il,"vtkOpenGLViewNodeFactory"),Jv={newInstance:Qv,extend:Il},le=1e-6,He=typeof Float32Array<"u"?Float32Array:Array,ed=Math.PI/180;function td(t){return t*ed}Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)});function wt(){var t=new He(9);return He!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function Jt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t}function rd(t){var e=new He(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function nd(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function ad(t,e,r,n,a,i,s,o,c){var u=new He(9);return u[0]=t,u[1]=e,u[2]=r,u[3]=n,u[4]=a,u[5]=i,u[6]=s,u[7]=o,u[8]=c,u}function oc(t,e,r,n,a,i,s,o,c,u){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=s,t[6]=o,t[7]=c,t[8]=u,t}function ht(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function Ta(t,e){if(t===e){var r=e[1],n=e[2],a=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=a}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t}function pr(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],s=e[4],o=e[5],c=e[6],u=e[7],l=e[8],g=l*s-o*u,f=-l*i+o*c,p=u*i-s*c,d=r*g+n*f+a*p;return d?(d=1/d,t[0]=g*d,t[1]=(-l*n+a*u)*d,t[2]=(o*n-a*s)*d,t[3]=f*d,t[4]=(l*r-a*c)*d,t[5]=(-o*r+a*i)*d,t[6]=p*d,t[7]=(-u*r+n*c)*d,t[8]=(s*r-n*i)*d,t):null}function id(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],s=e[4],o=e[5],c=e[6],u=e[7],l=e[8];return t[0]=s*l-o*u,t[1]=a*u-n*l,t[2]=n*o-a*s,t[3]=o*c-i*l,t[4]=r*l-a*c,t[5]=a*i-r*o,t[6]=i*u-s*c,t[7]=n*c-r*u,t[8]=r*s-n*i,t}function yo(t){var e=t[0],r=t[1],n=t[2],a=t[3],i=t[4],s=t[5],o=t[6],c=t[7],u=t[8];return e*(u*i-s*c)+r*(-u*a+s*o)+n*(c*a-i*o)}function rn(t,e,r){var n=e[0],a=e[1],i=e[2],s=e[3],o=e[4],c=e[5],u=e[6],l=e[7],g=e[8],f=r[0],p=r[1],d=r[2],h=r[3],v=r[4],x=r[5],y=r[6],T=r[7],S=r[8];return t[0]=f*n+p*s+d*u,t[1]=f*a+p*o+d*l,t[2]=f*i+p*c+d*g,t[3]=h*n+v*s+x*u,t[4]=h*a+v*o+x*l,t[5]=h*i+v*c+x*g,t[6]=y*n+T*s+S*u,t[7]=y*a+T*o+S*l,t[8]=y*i+T*c+S*g,t}function sd(t,e,r){var n=e[0],a=e[1],i=e[2],s=e[3],o=e[4],c=e[5],u=e[6],l=e[7],g=e[8],f=r[0],p=r[1];return t[0]=n,t[1]=a,t[2]=i,t[3]=s,t[4]=o,t[5]=c,t[6]=f*n+p*s+u,t[7]=f*a+p*o+l,t[8]=f*i+p*c+g,t}function od(t,e,r){var n=e[0],a=e[1],i=e[2],s=e[3],o=e[4],c=e[5],u=e[6],l=e[7],g=e[8],f=Math.sin(r),p=Math.cos(r);return t[0]=p*n+f*s,t[1]=p*a+f*o,t[2]=p*i+f*c,t[3]=p*s-f*n,t[4]=p*o-f*a,t[5]=p*c-f*i,t[6]=u,t[7]=l,t[8]=g,t}function cd(t,e,r){var n=r[0],a=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=a*e[3],t[4]=a*e[4],t[5]=a*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function ud(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t}function fd(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function ld(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function gd(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t}function pd(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],s=r+r,o=n+n,c=a+a,u=r*s,l=n*s,g=n*o,f=a*s,p=a*o,d=a*c,h=i*s,v=i*o,x=i*c;return t[0]=1-g-d,t[3]=l-x,t[6]=f+v,t[1]=l+x,t[4]=1-u-d,t[7]=p-h,t[2]=f-v,t[5]=p+h,t[8]=1-u-g,t}function hd(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],s=e[4],o=e[5],c=e[6],u=e[7],l=e[8],g=e[9],f=e[10],p=e[11],d=e[12],h=e[13],v=e[14],x=e[15],y=r*o-n*s,T=r*c-a*s,S=r*u-i*s,m=n*c-a*o,O=n*u-i*o,V=a*u-i*c,C=l*h-g*d,M=l*v-f*d,w=l*x-p*d,E=g*v-f*h,D=g*x-p*h,U=f*x-p*v,B=y*U-T*D+S*E+m*w-O*M+V*C;return B?(B=1/B,t[0]=(o*U-c*D+u*E)*B,t[1]=(c*w-s*U-u*M)*B,t[2]=(s*D-o*w+u*C)*B,t[3]=(a*D-n*U-i*E)*B,t[4]=(r*U-a*w+i*M)*B,t[5]=(n*w-r*D-i*C)*B,t[6]=(h*V-v*O+x*m)*B,t[7]=(v*S-d*V-x*T)*B,t[8]=(d*O-h*S+x*y)*B,t):null}function vd(t,e,r){return t[0]=2/e,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/r,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t}function dd(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"}function Td(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])}function Sd(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t}function Pl(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t}function xd(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t}function yd(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t}function Cd(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]}function md(t,e){var r=t[0],n=t[1],a=t[2],i=t[3],s=t[4],o=t[5],c=t[6],u=t[7],l=t[8],g=e[0],f=e[1],p=e[2],d=e[3],h=e[4],v=e[5],x=e[6],y=e[7],T=e[8];return Math.abs(r-g)<=le*Math.max(1,Math.abs(r),Math.abs(g))&&Math.abs(n-f)<=le*Math.max(1,Math.abs(n),Math.abs(f))&&Math.abs(a-p)<=le*Math.max(1,Math.abs(a),Math.abs(p))&&Math.abs(i-d)<=le*Math.max(1,Math.abs(i),Math.abs(d))&&Math.abs(s-h)<=le*Math.max(1,Math.abs(s),Math.abs(h))&&Math.abs(o-v)<=le*Math.max(1,Math.abs(o),Math.abs(v))&&Math.abs(c-x)<=le*Math.max(1,Math.abs(c),Math.abs(x))&&Math.abs(u-y)<=le*Math.max(1,Math.abs(u),Math.abs(y))&&Math.abs(l-T)<=le*Math.max(1,Math.abs(l),Math.abs(T))}var Od=rn,wd=Pl;const Rd=Object.freeze(Object.defineProperty({__proto__:null,add:Sd,adjoint:id,clone:rd,copy:nd,create:wt,determinant:yo,equals:md,exactEquals:Cd,frob:Td,fromMat2d:gd,fromMat4:Jt,fromQuat:pd,fromRotation:fd,fromScaling:ld,fromTranslation:ud,fromValues:ad,identity:ht,invert:pr,mul:Od,multiply:rn,multiplyScalar:xd,multiplyScalarAndAdd:yd,normalFromMat4:hd,projection:vd,rotate:od,scale:cd,set:oc,str:dd,sub:wd,subtract:Pl,translate:sd,transpose:Ta},Symbol.toStringTag,{value:"Module"}));function Ke(){var t=new He(16);return He!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function Md(t){var e=new He(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Ue(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Ed(t,e,r,n,a,i,s,o,c,u,l,g,f,p,d,h){var v=new He(16);return v[0]=t,v[1]=e,v[2]=r,v[3]=n,v[4]=a,v[5]=i,v[6]=s,v[7]=o,v[8]=c,v[9]=u,v[10]=l,v[11]=g,v[12]=f,v[13]=p,v[14]=d,v[15]=h,v}function Dd(t,e,r,n,a,i,s,o,c,u,l,g,f,p,d,h,v){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t[4]=i,t[5]=s,t[6]=o,t[7]=c,t[8]=u,t[9]=l,t[10]=g,t[11]=f,t[12]=p,t[13]=d,t[14]=h,t[15]=v,t}function j(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ne(t,e){if(t===e){var r=e[1],n=e[2],a=e[3],i=e[6],s=e[7],o=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=i,t[11]=e[14],t[12]=a,t[13]=s,t[14]=o}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function me(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],s=e[4],o=e[5],c=e[6],u=e[7],l=e[8],g=e[9],f=e[10],p=e[11],d=e[12],h=e[13],v=e[14],x=e[15],y=r*o-n*s,T=r*c-a*s,S=r*u-i*s,m=n*c-a*o,O=n*u-i*o,V=a*u-i*c,C=l*h-g*d,M=l*v-f*d,w=l*x-p*d,E=g*v-f*h,D=g*x-p*h,U=f*x-p*v,B=y*U-T*D+S*E+m*w-O*M+V*C;return B?(B=1/B,t[0]=(o*U-c*D+u*E)*B,t[1]=(a*D-n*U-i*E)*B,t[2]=(h*V-v*O+x*m)*B,t[3]=(f*O-g*V-p*m)*B,t[4]=(c*w-s*U-u*M)*B,t[5]=(r*U-a*w+i*M)*B,t[6]=(v*S-d*V-x*T)*B,t[7]=(l*V-f*S+p*T)*B,t[8]=(s*D-o*w+u*C)*B,t[9]=(n*w-r*D-i*C)*B,t[10]=(d*O-h*S+x*y)*B,t[11]=(g*S-l*O-p*y)*B,t[12]=(o*M-s*E-c*C)*B,t[13]=(r*E-n*M+a*C)*B,t[14]=(h*T-d*m-v*y)*B,t[15]=(l*m-g*T+f*y)*B,t):null}function Vd(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],s=e[4],o=e[5],c=e[6],u=e[7],l=e[8],g=e[9],f=e[10],p=e[11],d=e[12],h=e[13],v=e[14],x=e[15];return t[0]=o*(f*x-p*v)-g*(c*x-u*v)+h*(c*p-u*f),t[1]=-(n*(f*x-p*v)-g*(a*x-i*v)+h*(a*p-i*f)),t[2]=n*(c*x-u*v)-o*(a*x-i*v)+h*(a*u-i*c),t[3]=-(n*(c*p-u*f)-o*(a*p-i*f)+g*(a*u-i*c)),t[4]=-(s*(f*x-p*v)-l*(c*x-u*v)+d*(c*p-u*f)),t[5]=r*(f*x-p*v)-l*(a*x-i*v)+d*(a*p-i*f),t[6]=-(r*(c*x-u*v)-s*(a*x-i*v)+d*(a*u-i*c)),t[7]=r*(c*p-u*f)-s*(a*p-i*f)+l*(a*u-i*c),t[8]=s*(g*x-p*h)-l*(o*x-u*h)+d*(o*p-u*g),t[9]=-(r*(g*x-p*h)-l*(n*x-i*h)+d*(n*p-i*g)),t[10]=r*(o*x-u*h)-s*(n*x-i*h)+d*(n*u-i*o),t[11]=-(r*(o*p-u*g)-s*(n*p-i*g)+l*(n*u-i*o)),t[12]=-(s*(g*v-f*h)-l*(o*v-c*h)+d*(o*f-c*g)),t[13]=r*(g*v-f*h)-l*(n*v-a*h)+d*(n*f-a*g),t[14]=-(r*(o*v-c*h)-s*(n*v-a*h)+d*(n*c-a*o)),t[15]=r*(o*f-c*g)-s*(n*f-a*g)+l*(n*c-a*o),t}function Bd(t){var e=t[0],r=t[1],n=t[2],a=t[3],i=t[4],s=t[5],o=t[6],c=t[7],u=t[8],l=t[9],g=t[10],f=t[11],p=t[12],d=t[13],h=t[14],v=t[15],x=e*s-r*i,y=e*o-n*i,T=e*c-a*i,S=r*o-n*s,m=r*c-a*s,O=n*c-a*o,V=u*d-l*p,C=u*h-g*p,M=u*v-f*p,w=l*h-g*d,E=l*v-f*d,D=g*v-f*h;return x*D-y*E+T*w+S*M-m*C+O*V}function q(t,e,r){var n=e[0],a=e[1],i=e[2],s=e[3],o=e[4],c=e[5],u=e[6],l=e[7],g=e[8],f=e[9],p=e[10],d=e[11],h=e[12],v=e[13],x=e[14],y=e[15],T=r[0],S=r[1],m=r[2],O=r[3];return t[0]=T*n+S*o+m*g+O*h,t[1]=T*a+S*c+m*f+O*v,t[2]=T*i+S*u+m*p+O*x,t[3]=T*s+S*l+m*d+O*y,T=r[4],S=r[5],m=r[6],O=r[7],t[4]=T*n+S*o+m*g+O*h,t[5]=T*a+S*c+m*f+O*v,t[6]=T*i+S*u+m*p+O*x,t[7]=T*s+S*l+m*d+O*y,T=r[8],S=r[9],m=r[10],O=r[11],t[8]=T*n+S*o+m*g+O*h,t[9]=T*a+S*c+m*f+O*v,t[10]=T*i+S*u+m*p+O*x,t[11]=T*s+S*l+m*d+O*y,T=r[12],S=r[13],m=r[14],O=r[15],t[12]=T*n+S*o+m*g+O*h,t[13]=T*a+S*c+m*f+O*v,t[14]=T*i+S*u+m*p+O*x,t[15]=T*s+S*l+m*d+O*y,t}function Te(t,e,r){var n=r[0],a=r[1],i=r[2],s,o,c,u,l,g,f,p,d,h,v,x;return e===t?(t[12]=e[0]*n+e[4]*a+e[8]*i+e[12],t[13]=e[1]*n+e[5]*a+e[9]*i+e[13],t[14]=e[2]*n+e[6]*a+e[10]*i+e[14],t[15]=e[3]*n+e[7]*a+e[11]*i+e[15]):(s=e[0],o=e[1],c=e[2],u=e[3],l=e[4],g=e[5],f=e[6],p=e[7],d=e[8],h=e[9],v=e[10],x=e[11],t[0]=s,t[1]=o,t[2]=c,t[3]=u,t[4]=l,t[5]=g,t[6]=f,t[7]=p,t[8]=d,t[9]=h,t[10]=v,t[11]=x,t[12]=s*n+l*a+d*i+e[12],t[13]=o*n+g*a+h*i+e[13],t[14]=c*n+f*a+v*i+e[14],t[15]=u*n+p*a+x*i+e[15]),t}function Mt(t,e,r){var n=r[0],a=r[1],i=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*a,t[5]=e[5]*a,t[6]=e[6]*a,t[7]=e[7]*a,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=e[11]*i,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function Ut(t,e,r,n){var a=n[0],i=n[1],s=n[2],o=Math.hypot(a,i,s),c,u,l,g,f,p,d,h,v,x,y,T,S,m,O,V,C,M,w,E,D,U,B,L;return o<le?null:(o=1/o,a*=o,i*=o,s*=o,c=Math.sin(r),u=Math.cos(r),l=1-u,g=e[0],f=e[1],p=e[2],d=e[3],h=e[4],v=e[5],x=e[6],y=e[7],T=e[8],S=e[9],m=e[10],O=e[11],V=a*a*l+u,C=i*a*l+s*c,M=s*a*l-i*c,w=a*i*l-s*c,E=i*i*l+u,D=s*i*l+a*c,U=a*s*l+i*c,B=i*s*l-a*c,L=s*s*l+u,t[0]=g*V+h*C+T*M,t[1]=f*V+v*C+S*M,t[2]=p*V+x*C+m*M,t[3]=d*V+y*C+O*M,t[4]=g*w+h*E+T*D,t[5]=f*w+v*E+S*D,t[6]=p*w+x*E+m*D,t[7]=d*w+y*E+O*D,t[8]=g*U+h*B+T*L,t[9]=f*U+v*B+S*L,t[10]=p*U+x*B+m*L,t[11]=d*U+y*B+O*L,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}function cc(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[4],s=e[5],o=e[6],c=e[7],u=e[8],l=e[9],g=e[10],f=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=i*a+u*n,t[5]=s*a+l*n,t[6]=o*a+g*n,t[7]=c*a+f*n,t[8]=u*a-i*n,t[9]=l*a-s*n,t[10]=g*a-o*n,t[11]=f*a-c*n,t}function uc(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[0],s=e[1],o=e[2],c=e[3],u=e[8],l=e[9],g=e[10],f=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=i*a-u*n,t[1]=s*a-l*n,t[2]=o*a-g*n,t[3]=c*a-f*n,t[8]=i*n+u*a,t[9]=s*n+l*a,t[10]=o*n+g*a,t[11]=c*n+f*a,t}function fc(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[0],s=e[1],o=e[2],c=e[3],u=e[4],l=e[5],g=e[6],f=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=i*a+u*n,t[1]=s*a+l*n,t[2]=o*a+g*n,t[3]=c*a+f*n,t[4]=u*a-i*n,t[5]=l*a-s*n,t[6]=g*a-o*n,t[7]=f*a-c*n,t}function Nr(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}function ls(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Hl(t,e,r){var n=r[0],a=r[1],i=r[2],s=Math.hypot(n,a,i),o,c,u;return s<le?null:(s=1/s,n*=s,a*=s,i*=s,o=Math.sin(e),c=Math.cos(e),u=1-c,t[0]=n*n*u+c,t[1]=a*n*u+i*o,t[2]=i*n*u-a*o,t[3]=0,t[4]=n*a*u-i*o,t[5]=a*a*u+c,t[6]=i*a*u+n*o,t[7]=0,t[8]=n*i*u+a*o,t[9]=a*i*u-n*o,t[10]=i*i*u+c,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}function Ld(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Ud(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Fd(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Al(t,e,r){var n=e[0],a=e[1],i=e[2],s=e[3],o=n+n,c=a+a,u=i+i,l=n*o,g=n*c,f=n*u,p=a*c,d=a*u,h=i*u,v=s*o,x=s*c,y=s*u;return t[0]=1-(p+h),t[1]=g+y,t[2]=f-x,t[3]=0,t[4]=g-y,t[5]=1-(l+h),t[6]=d+v,t[7]=0,t[8]=f+x,t[9]=d-v,t[10]=1-(l+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function bd(t,e){var r=new He(3),n=-e[0],a=-e[1],i=-e[2],s=e[3],o=e[4],c=e[5],u=e[6],l=e[7],g=n*n+a*a+i*i+s*s;return g>0?(r[0]=(o*s+l*n+c*i-u*a)*2/g,r[1]=(c*s+l*a+u*n-o*i)*2/g,r[2]=(u*s+l*i+o*a-c*n)*2/g):(r[0]=(o*s+l*n+c*i-u*a)*2,r[1]=(c*s+l*a+u*n-o*i)*2,r[2]=(u*s+l*i+o*a-c*n)*2),Al(t,e,r),t}function Nd(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function jl(t,e){var r=e[0],n=e[1],a=e[2],i=e[4],s=e[5],o=e[6],c=e[8],u=e[9],l=e[10];return t[0]=Math.hypot(r,n,a),t[1]=Math.hypot(i,s,o),t[2]=Math.hypot(c,u,l),t}function Co(t,e){var r=new He(3);jl(r,e);var n=1/r[0],a=1/r[1],i=1/r[2],s=e[0]*n,o=e[1]*a,c=e[2]*i,u=e[4]*n,l=e[5]*a,g=e[6]*i,f=e[8]*n,p=e[9]*a,d=e[10]*i,h=s+l+d,v=0;return h>0?(v=Math.sqrt(h+1)*2,t[3]=.25*v,t[0]=(g-p)/v,t[1]=(f-c)/v,t[2]=(o-u)/v):s>l&&s>d?(v=Math.sqrt(1+s-l-d)*2,t[3]=(g-p)/v,t[0]=.25*v,t[1]=(o+u)/v,t[2]=(f+c)/v):l>d?(v=Math.sqrt(1+l-s-d)*2,t[3]=(f-c)/v,t[0]=(o+u)/v,t[1]=.25*v,t[2]=(g+p)/v):(v=Math.sqrt(1+d-s-l)*2,t[3]=(o-u)/v,t[0]=(f+c)/v,t[1]=(g+p)/v,t[2]=.25*v),t}function lc(t,e,r,n){var a=e[0],i=e[1],s=e[2],o=e[3],c=a+a,u=i+i,l=s+s,g=a*c,f=a*u,p=a*l,d=i*u,h=i*l,v=s*l,x=o*c,y=o*u,T=o*l,S=n[0],m=n[1],O=n[2];return t[0]=(1-(d+v))*S,t[1]=(f+T)*S,t[2]=(p-y)*S,t[3]=0,t[4]=(f-T)*m,t[5]=(1-(g+v))*m,t[6]=(h+x)*m,t[7]=0,t[8]=(p+y)*O,t[9]=(h-x)*O,t[10]=(1-(g+d))*O,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function _d(t,e,r,n,a){var i=e[0],s=e[1],o=e[2],c=e[3],u=i+i,l=s+s,g=o+o,f=i*u,p=i*l,d=i*g,h=s*l,v=s*g,x=o*g,y=c*u,T=c*l,S=c*g,m=n[0],O=n[1],V=n[2],C=a[0],M=a[1],w=a[2],E=(1-(h+x))*m,D=(p+S)*m,U=(d-T)*m,B=(p-S)*O,L=(1-(f+x))*O,F=(v+y)*O,_=(d+T)*V,b=(v-y)*V,N=(1-(f+h))*V;return t[0]=E,t[1]=D,t[2]=U,t[3]=0,t[4]=B,t[5]=L,t[6]=F,t[7]=0,t[8]=_,t[9]=b,t[10]=N,t[11]=0,t[12]=r[0]+C-(E*C+B*M+_*w),t[13]=r[1]+M-(D*C+L*M+b*w),t[14]=r[2]+w-(U*C+F*M+N*w),t[15]=1,t}function Fn(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],s=r+r,o=n+n,c=a+a,u=r*s,l=n*s,g=n*o,f=a*s,p=a*o,d=a*c,h=i*s,v=i*o,x=i*c;return t[0]=1-g-d,t[1]=l+x,t[2]=f-v,t[3]=0,t[4]=l-x,t[5]=1-u-d,t[6]=p+h,t[7]=0,t[8]=f+v,t[9]=p-h,t[10]=1-u-g,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function kd(t,e,r,n,a,i,s){var o=1/(r-e),c=1/(a-n),u=1/(i-s);return t[0]=i*2*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i*2*c,t[6]=0,t[7]=0,t[8]=(r+e)*o,t[9]=(a+n)*c,t[10]=(s+i)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=s*i*2*u,t[15]=0,t}function Kl(t,e,r,n,a){var i=1/Math.tan(e/2),s;return t[0]=i/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,a!=null&&a!==1/0?(s=1/(n-a),t[10]=(a+n)*s,t[14]=2*a*n*s):(t[10]=-1,t[14]=-2*n),t}var Gd=Kl;function $d(t,e,r,n,a){var i=1/Math.tan(e/2),s;return t[0]=i/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,a!=null&&a!==1/0?(s=1/(n-a),t[10]=a*s,t[14]=a*n*s):(t[10]=-1,t[14]=-n),t}function Wd(t,e,r,n){var a=Math.tan(e.upDegrees*Math.PI/180),i=Math.tan(e.downDegrees*Math.PI/180),s=Math.tan(e.leftDegrees*Math.PI/180),o=Math.tan(e.rightDegrees*Math.PI/180),c=2/(s+o),u=2/(a+i);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-((s-o)*c*.5),t[9]=(a-i)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}function Xl(t,e,r,n,a,i,s){var o=1/(e-r),c=1/(n-a),u=1/(i-s);return t[0]=-2*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*o,t[13]=(a+n)*c,t[14]=(s+i)*u,t[15]=1,t}var ql=Xl;function zd(t,e,r,n,a,i,s){var o=1/(e-r),c=1/(n-a),u=1/(i-s);return t[0]=-2*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=u,t[11]=0,t[12]=(e+r)*o,t[13]=(a+n)*c,t[14]=i*u,t[15]=1,t}function Yl(t,e,r,n){var a,i,s,o,c,u,l,g,f,p,d=e[0],h=e[1],v=e[2],x=n[0],y=n[1],T=n[2],S=r[0],m=r[1],O=r[2];return Math.abs(d-S)<le&&Math.abs(h-m)<le&&Math.abs(v-O)<le?j(t):(l=d-S,g=h-m,f=v-O,p=1/Math.hypot(l,g,f),l*=p,g*=p,f*=p,a=y*f-T*g,i=T*l-x*f,s=x*g-y*l,p=Math.hypot(a,i,s),p?(p=1/p,a*=p,i*=p,s*=p):(a=0,i=0,s=0),o=g*s-f*i,c=f*a-l*s,u=l*i-g*a,p=Math.hypot(o,c,u),p?(p=1/p,o*=p,c*=p,u*=p):(o=0,c=0,u=0),t[0]=a,t[1]=o,t[2]=l,t[3]=0,t[4]=i,t[5]=c,t[6]=g,t[7]=0,t[8]=s,t[9]=u,t[10]=f,t[11]=0,t[12]=-(a*d+i*h+s*v),t[13]=-(o*d+c*h+u*v),t[14]=-(l*d+g*h+f*v),t[15]=1,t)}function Id(t,e,r,n){var a=e[0],i=e[1],s=e[2],o=n[0],c=n[1],u=n[2],l=a-r[0],g=i-r[1],f=s-r[2],p=l*l+g*g+f*f;p>0&&(p=1/Math.sqrt(p),l*=p,g*=p,f*=p);var d=c*f-u*g,h=u*l-o*f,v=o*g-c*l;return p=d*d+h*h+v*v,p>0&&(p=1/Math.sqrt(p),d*=p,h*=p,v*=p),t[0]=d,t[1]=h,t[2]=v,t[3]=0,t[4]=g*v-f*h,t[5]=f*d-l*v,t[6]=l*h-g*d,t[7]=0,t[8]=l,t[9]=g,t[10]=f,t[11]=0,t[12]=a,t[13]=i,t[14]=s,t[15]=1,t}function Pd(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}function Hd(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])}function Ad(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t}function Zl(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t}function jd(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t}function Kd(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t}function Xd(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]}function qd(t,e){var r=t[0],n=t[1],a=t[2],i=t[3],s=t[4],o=t[5],c=t[6],u=t[7],l=t[8],g=t[9],f=t[10],p=t[11],d=t[12],h=t[13],v=t[14],x=t[15],y=e[0],T=e[1],S=e[2],m=e[3],O=e[4],V=e[5],C=e[6],M=e[7],w=e[8],E=e[9],D=e[10],U=e[11],B=e[12],L=e[13],F=e[14],_=e[15];return Math.abs(r-y)<=le*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(n-T)<=le*Math.max(1,Math.abs(n),Math.abs(T))&&Math.abs(a-S)<=le*Math.max(1,Math.abs(a),Math.abs(S))&&Math.abs(i-m)<=le*Math.max(1,Math.abs(i),Math.abs(m))&&Math.abs(s-O)<=le*Math.max(1,Math.abs(s),Math.abs(O))&&Math.abs(o-V)<=le*Math.max(1,Math.abs(o),Math.abs(V))&&Math.abs(c-C)<=le*Math.max(1,Math.abs(c),Math.abs(C))&&Math.abs(u-M)<=le*Math.max(1,Math.abs(u),Math.abs(M))&&Math.abs(l-w)<=le*Math.max(1,Math.abs(l),Math.abs(w))&&Math.abs(g-E)<=le*Math.max(1,Math.abs(g),Math.abs(E))&&Math.abs(f-D)<=le*Math.max(1,Math.abs(f),Math.abs(D))&&Math.abs(p-U)<=le*Math.max(1,Math.abs(p),Math.abs(U))&&Math.abs(d-B)<=le*Math.max(1,Math.abs(d),Math.abs(B))&&Math.abs(h-L)<=le*Math.max(1,Math.abs(h),Math.abs(L))&&Math.abs(v-F)<=le*Math.max(1,Math.abs(v),Math.abs(F))&&Math.abs(x-_)<=le*Math.max(1,Math.abs(x),Math.abs(_))}var Fi=q,Yd=Zl;const Sa=Object.freeze(Object.defineProperty({__proto__:null,add:Ad,adjoint:Vd,clone:Md,copy:Ue,create:Ke,determinant:Bd,equals:qd,exactEquals:Xd,frob:Hd,fromQuat:Fn,fromQuat2:bd,fromRotation:Hl,fromRotationTranslation:Al,fromRotationTranslationScale:lc,fromRotationTranslationScaleOrigin:_d,fromScaling:ls,fromTranslation:Nr,fromValues:Ed,fromXRotation:Ld,fromYRotation:Ud,fromZRotation:Fd,frustum:kd,getRotation:Co,getScaling:jl,getTranslation:Nd,identity:j,invert:me,lookAt:Yl,mul:Fi,multiply:q,multiplyScalar:jd,multiplyScalarAndAdd:Kd,ortho:ql,orthoNO:Xl,orthoZO:zd,perspective:Gd,perspectiveFromFieldOfView:Wd,perspectiveNO:Kl,perspectiveZO:$d,rotate:Ut,rotateX:cc,rotateY:uc,rotateZ:fc,scale:Mt,set:Dd,str:Pd,sub:Yd,subtract:Zl,targetTo:Id,translate:Te,transpose:ne},Symbol.toStringTag,{value:"Module"}));function gs(){var t=new He(3);return He!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function bi(t){var e=t[0],r=t[1],n=t[2];return Math.hypot(e,r,n)}function xa(t,e,r){var n=new He(3);return n[0]=t,n[1]=e,n[2]=r,n}function Zd(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function Zt(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}function ra(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function Ur(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}function Qd(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}function qt(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}function Ql(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return Math.hypot(r,n,a)}function Ni(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function gr(t,e){var r=e[0],n=e[1],a=e[2],i=r*r+n*n+a*a;return i>0&&(i=1/Math.sqrt(i)),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t}function ps(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function bn(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[0],o=r[1],c=r[2];return t[0]=a*c-i*o,t[1]=i*s-n*c,t[2]=n*o-a*s,t}function ie(t,e,r){var n=e[0],a=e[1],i=e[2],s=r[3]*n+r[7]*a+r[11]*i+r[15];return s=s||1,t[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/s,t[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/s,t[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/s,t}function Gn(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t}function Jd(t){return t[0]=0,t[1]=0,t[2]=0,t}function hu(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function vu(t,e){var r=t[0],n=t[1],a=t[2],i=e[0],s=e[1],o=e[2];return Math.abs(r-i)<=le*Math.max(1,Math.abs(r),Math.abs(i))&&Math.abs(n-s)<=le*Math.max(1,Math.abs(n),Math.abs(s))&&Math.abs(a-o)<=le*Math.max(1,Math.abs(a),Math.abs(o))}var mo=Ur,eT=Ql,Jl=bi;(function(){var t=gs();return function(e,r,n,a,i,s){var o,c;for(r||(r=3),n||(n=0),a?c=Math.min(a*r+n,e.length):c=e.length,o=n;o<c;o+=r)t[0]=e[o],t[1]=e[o+1],t[2]=e[o+2],i(t,t,s),e[o]=t[0],e[o+1]=t[1],e[o+2]=t[2];return e}})();function tT(){var t=new He(4);return He!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0),t}function rT(t,e,r,n){var a=new He(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=n,a}function du(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}function nT(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],s=r*r+n*n+a*a+i*i;return s>0&&(s=1/Math.sqrt(s)),t[0]=r*s,t[1]=n*s,t[2]=a*s,t[3]=i*s,t}function Qt(t,e,r){var n=e[0],a=e[1],i=e[2],s=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*s,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*s,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*s,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*s,t}(function(){var t=tT();return function(e,r,n,a,i,s){var o,c;for(r||(r=4),n||(n=0),a?c=Math.min(a*r+n,e.length):c=e.length,o=n;o<c;o+=r)t[0]=e[o],t[1]=e[o+1],t[2]=e[o+2],t[3]=e[o+3],i(t,t,s),e[o]=t[0],e[o+1]=t[1],e[o+2]=t[2],e[o+3]=t[3];return e}})();function _r(){var t=new He(4);return He!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t[3]=1,t}function hs(t,e,r){r=r*.5;var n=Math.sin(r);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(r),t}function aT(t,e){var r=Math.acos(e[3])*2,n=Math.sin(r/2);return n>le?(t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n):(t[0]=1,t[1]=0,t[2]=0),r}function Tu(t,e,r){var n=e[0],a=e[1],i=e[2],s=e[3],o=r[0],c=r[1],u=r[2],l=r[3];return t[0]=n*l+s*o+a*u-i*c,t[1]=a*l+s*c+i*o-n*u,t[2]=i*l+s*u+n*c-a*o,t[3]=s*l-n*o-a*c-i*u,t}function ga(t,e,r,n){var a=e[0],i=e[1],s=e[2],o=e[3],c=r[0],u=r[1],l=r[2],g=r[3],f,p,d,h,v;return p=a*c+i*u+s*l+o*g,p<0&&(p=-p,c=-c,u=-u,l=-l,g=-g),1-p>le?(f=Math.acos(p),d=Math.sin(f),h=Math.sin((1-n)*f)/d,v=Math.sin(n*f)/d):(h=1-n,v=n),t[0]=h*a+v*c,t[1]=h*i+v*u,t[2]=h*s+v*l,t[3]=h*o+v*g,t}function iT(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function sT(t,e){var r=e[0]+e[4]+e[8],n;if(r>0)n=Math.sqrt(r+1),t[3]=.5*n,n=.5/n,t[0]=(e[5]-e[7])*n,t[1]=(e[6]-e[2])*n,t[2]=(e[1]-e[3])*n;else{var a=0;e[4]>e[0]&&(a=1),e[8]>e[a*3+a]&&(a=2);var i=(a+1)%3,s=(a+2)%3;n=Math.sqrt(e[a*3+a]-e[i*3+i]-e[s*3+s]+1),t[a]=.5*n,n=.5/n,t[3]=(e[i*3+s]-e[s*3+i])*n,t[i]=(e[i*3+a]+e[a*3+i])*n,t[s]=(e[s*3+a]+e[a*3+s])*n}return t}var Oo=rT,gc=nT;(function(){var t=gs(),e=xa(1,0,0),r=xa(0,1,0);return function(n,a,i){var s=ps(a,i);return s<-.999999?(bn(t,e,a),Jl(t)<1e-6&&bn(t,r,a),gr(t,t),hs(n,t,Math.PI),n):s>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(bn(t,a,i),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+s,gc(n,n))}})();(function(){var t=_r(),e=_r();return function(r,n,a,i,s,o){return ga(t,n,s,o),ga(e,a,i,o),ga(r,t,e,2*o*(1-o)),r}})();(function(){var t=wt();return function(e,r,n,a){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=a[0],t[4]=a[1],t[7]=a[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],gc(e,sT(e,t))}})();function oT(t,e){e.classHierarchy.push("vtkOpenGLCamera"),t.buildPass=r=>{r&&(e._openGLRenderer=t.getFirstAncestorOfType("vtkOpenGLRenderer"),e._openGLRenderWindow=e._openGLRenderer.getParent(),e.context=e._openGLRenderWindow.getContext())},t.opaquePass=r=>{if(r){const n=e._openGLRenderer.getTiledSizeAndOrigin();e.context.viewport(n.lowerLeftU,n.lowerLeftV,n.usize,n.vsize),e.context.scissor(n.lowerLeftU,n.lowerLeftV,n.usize,n.vsize)}},t.translucentPass=t.opaquePass,t.zBufferPass=t.opaquePass,t.opaqueZBufferPass=t.opaquePass,t.volumePass=t.opaquePass,t.getKeyMatrices=r=>{if(r!==e.lastRenderer||e._openGLRenderWindow.getMTime()>e.keyMatrixTime.getMTime()||t.getMTime()>e.keyMatrixTime.getMTime()||r.getMTime()>e.keyMatrixTime.getMTime()||e.renderable.getMTime()>e.keyMatrixTime.getMTime()){e.renderable.getViewMatrix(e.keyMatrices.wcvc),Jt(e.keyMatrices.normalMatrix,e.keyMatrices.wcvc),pr(e.keyMatrices.normalMatrix,e.keyMatrices.normalMatrix),ne(e.keyMatrices.wcvc,e.keyMatrices.wcvc);const n=e._openGLRenderer.getAspectRatio();Ue(e.keyMatrices.vcpc,e.renderable.getProjectionMatrix(n,-1,1)),ne(e.keyMatrices.vcpc,e.keyMatrices.vcpc),q(e.keyMatrices.wcpc,e.keyMatrices.vcpc,e.keyMatrices.wcvc),e.keyMatrixTime.modified(),e.lastRenderer=r}return e.keyMatrices}}var cT={context:null,lastRenderer:null,keyMatrixTime:null,keyMatrices:null};function uT(t,e,r={}){Object.assign(e,cT,r),ve.extend(t,e,r),e.keyMatrixTime={},Se(e.keyMatrixTime),e.keyMatrices={normalMatrix:new Float64Array(9),vcpc:new Float64Array(16),wcvc:new Float64Array(16),wcpc:new Float64Array(16)},Me(t,e,["context","keyMatrixTime"]),oT(t,e)}var fT=ge(uT);ze("vtkCamera",fT);var lT={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},ae={VOID:"",CHAR:"Int8Array",SIGNED_CHAR:"Int8Array",UNSIGNED_CHAR:"Uint8Array",UNSIGNED_CHAR_CLAMPED:"Uint8ClampedArray",SHORT:"Int16Array",UNSIGNED_SHORT:"Uint16Array",INT:"Int32Array",UNSIGNED_INT:"Uint32Array",FLOAT:"Float32Array",DOUBLE:"Float64Array"},gT=ae.FLOAT,eg={DefaultDataType:gT,DataTypeByteSize:lT,VtkDataTypes:ae},vs=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],pT=[1,0,0,0,1,0,0,0,1],ds=1e-6,vi={exports:{}},hT=vi.exports,Su;function vT(){return Su||(Su=1,(function(t){(function(e,r,n){function a(c){var u=this,l=o();u.next=function(){var g=2091639*u.s0+u.c*23283064365386963e-26;return u.s0=u.s1,u.s1=u.s2,u.s2=g-(u.c=g|0)},u.c=1,u.s0=l(" "),u.s1=l(" "),u.s2=l(" "),u.s0-=l(c),u.s0<0&&(u.s0+=1),u.s1-=l(c),u.s1<0&&(u.s1+=1),u.s2-=l(c),u.s2<0&&(u.s2+=1),l=null}function i(c,u){return u.c=c.c,u.s0=c.s0,u.s1=c.s1,u.s2=c.s2,u}function s(c,u){var l=new a(c),g=u&&u.state,f=l.next;return f.int32=function(){return l.next()*4294967296|0},f.double=function(){return f()+(f()*2097152|0)*11102230246251565e-32},f.quick=f,g&&(typeof g=="object"&&i(g,l),f.state=function(){return i(l,{})}),f}function o(){var c=4022871197,u=function(l){l=String(l);for(var g=0;g<l.length;g++){c+=l.charCodeAt(g);var f=.02519603282416938*c;c=f>>>0,f-=c,f*=c,c=f>>>0,f-=c,c+=f*4294967296}return(c>>>0)*23283064365386963e-26};return u}r&&r.exports?r.exports=s:this.alea=s})(hT,t)})(vi)),vi.exports}var di={exports:{}},dT=di.exports,xu;function TT(){return xu||(xu=1,(function(t){(function(e,r,n){function a(o){var c=this,u="";c.x=0,c.y=0,c.z=0,c.w=0,c.next=function(){var g=c.x^c.x<<11;return c.x=c.y,c.y=c.z,c.z=c.w,c.w^=c.w>>>19^g^g>>>8},o===(o|0)?c.x=o:u+=o;for(var l=0;l<u.length+64;l++)c.x^=u.charCodeAt(l)|0,c.next()}function i(o,c){return c.x=o.x,c.y=o.y,c.z=o.z,c.w=o.w,c}function s(o,c){var u=new a(o),l=c&&c.state,g=function(){return(u.next()>>>0)/4294967296};return g.double=function(){do var f=u.next()>>>11,p=(u.next()>>>0)/4294967296,d=(f+p)/(1<<21);while(d===0);return d},g.int32=u.next,g.quick=g,l&&(typeof l=="object"&&i(l,u),g.state=function(){return i(u,{})}),g}r&&r.exports?r.exports=s:this.xor128=s})(dT,t)})(di)),di.exports}var Ti={exports:{}},ST=Ti.exports,yu;function xT(){return yu||(yu=1,(function(t){(function(e,r,n){function a(o){var c=this,u="";c.next=function(){var g=c.x^c.x>>>2;return c.x=c.y,c.y=c.z,c.z=c.w,c.w=c.v,(c.d=c.d+362437|0)+(c.v=c.v^c.v<<4^(g^g<<1))|0},c.x=0,c.y=0,c.z=0,c.w=0,c.v=0,o===(o|0)?c.x=o:u+=o;for(var l=0;l<u.length+64;l++)c.x^=u.charCodeAt(l)|0,l==u.length&&(c.d=c.x<<10^c.x>>>4),c.next()}function i(o,c){return c.x=o.x,c.y=o.y,c.z=o.z,c.w=o.w,c.v=o.v,c.d=o.d,c}function s(o,c){var u=new a(o),l=c&&c.state,g=function(){return(u.next()>>>0)/4294967296};return g.double=function(){do var f=u.next()>>>11,p=(u.next()>>>0)/4294967296,d=(f+p)/(1<<21);while(d===0);return d},g.int32=u.next,g.quick=g,l&&(typeof l=="object"&&i(l,u),g.state=function(){return i(u,{})}),g}r&&r.exports?r.exports=s:this.xorwow=s})(ST,t)})(Ti)),Ti.exports}var Si={exports:{}},yT=Si.exports,Cu;function CT(){return Cu||(Cu=1,(function(t){(function(e,r,n){function a(o){var c=this;c.next=function(){var l=c.x,g=c.i,f,p;return f=l[g],f^=f>>>7,p=f^f<<24,f=l[g+1&7],p^=f^f>>>10,f=l[g+3&7],p^=f^f>>>3,f=l[g+4&7],p^=f^f<<7,f=l[g+7&7],f=f^f<<13,p^=f^f<<9,l[g]=p,c.i=g+1&7,p};function u(l,g){var f,p=[];if(g===(g|0))p[0]=g;else for(g=""+g,f=0;f<g.length;++f)p[f&7]=p[f&7]<<15^g.charCodeAt(f)+p[f+1&7]<<13;for(;p.length<8;)p.push(0);for(f=0;f<8&&p[f]===0;++f);for(f==8?p[7]=-1:p[f],l.x=p,l.i=0,f=256;f>0;--f)l.next()}u(c,o)}function i(o,c){return c.x=o.x.slice(),c.i=o.i,c}function s(o,c){o==null&&(o=+new Date);var u=new a(o),l=c&&c.state,g=function(){return(u.next()>>>0)/4294967296};return g.double=function(){do var f=u.next()>>>11,p=(u.next()>>>0)/4294967296,d=(f+p)/(1<<21);while(d===0);return d},g.int32=u.next,g.quick=g,l&&(l.x&&i(l,u),g.state=function(){return i(u,{})}),g}r&&r.exports?r.exports=s:this.xorshift7=s})(yT,t)})(Si)),Si.exports}var xi={exports:{}},mT=xi.exports,mu;function OT(){return mu||(mu=1,(function(t){(function(e,r,n){function a(o){var c=this;c.next=function(){var l=c.w,g=c.X,f=c.i,p,d;return c.w=l=l+1640531527|0,d=g[f+34&127],p=g[f=f+1&127],d^=d<<13,p^=p<<17,d^=d>>>15,p^=p>>>12,d=g[f]=d^p,c.i=f,d+(l^l>>>16)|0};function u(l,g){var f,p,d,h,v,x=[],y=128;for(g===(g|0)?(p=g,g=null):(g=g+"\0",p=0,y=Math.max(y,g.length)),d=0,h=-32;h<y;++h)g&&(p^=g.charCodeAt((h+32)%g.length)),h===0&&(v=p),p^=p<<10,p^=p>>>15,p^=p<<4,p^=p>>>13,h>=0&&(v=v+1640531527|0,f=x[h&127]^=p+v,d=f==0?d+1:0);for(d>=128&&(x[(g&&g.length||0)&127]=-1),d=127,h=512;h>0;--h)p=x[d+34&127],f=x[d=d+1&127],p^=p<<13,f^=f<<17,p^=p>>>15,f^=f>>>12,x[d]=p^f;l.w=v,l.X=x,l.i=d}u(c,o)}function i(o,c){return c.i=o.i,c.w=o.w,c.X=o.X.slice(),c}function s(o,c){o==null&&(o=+new Date);var u=new a(o),l=c&&c.state,g=function(){return(u.next()>>>0)/4294967296};return g.double=function(){do var f=u.next()>>>11,p=(u.next()>>>0)/4294967296,d=(f+p)/(1<<21);while(d===0);return d},g.int32=u.next,g.quick=g,l&&(l.X&&i(l,u),g.state=function(){return i(u,{})}),g}r&&r.exports?r.exports=s:this.xor4096=s})(mT,t)})(xi)),xi.exports}var yi={exports:{}},wT=yi.exports,Ou;function RT(){return Ou||(Ou=1,(function(t){(function(e,r,n){function a(o){var c=this,u="";c.next=function(){var g=c.b,f=c.c,p=c.d,d=c.a;return g=g<<25^g>>>7^f,f=f-p|0,p=p<<24^p>>>8^d,d=d-g|0,c.b=g=g<<20^g>>>12^f,c.c=f=f-p|0,c.d=p<<16^f>>>16^d,c.a=d-g|0},c.a=0,c.b=0,c.c=-1640531527,c.d=1367130551,o===Math.floor(o)?(c.a=o/4294967296|0,c.b=o|0):u+=o;for(var l=0;l<u.length+20;l++)c.b^=u.charCodeAt(l)|0,c.next()}function i(o,c){return c.a=o.a,c.b=o.b,c.c=o.c,c.d=o.d,c}function s(o,c){var u=new a(o),l=c&&c.state,g=function(){return(u.next()>>>0)/4294967296};return g.double=function(){do var f=u.next()>>>11,p=(u.next()>>>0)/4294967296,d=(f+p)/(1<<21);while(d===0);return d},g.int32=u.next,g.quick=g,l&&(typeof l=="object"&&i(l,u),g.state=function(){return i(u,{})}),g}r&&r.exports?r.exports=s:this.tychei=s})(wT,t)})(yi)),yi.exports}var Ci={exports:{}};const MT={},ET=Object.freeze(Object.defineProperty({__proto__:null,default:MT},Symbol.toStringTag,{value:"Module"})),DT=Dv(ET);var VT=Ci.exports,wu;function BT(){return wu||(wu=1,(function(t){(function(e,r,n){var a=256,i=6,s=52,o="random",c=n.pow(a,i),u=n.pow(2,s),l=u*2,g=a-1,f;function p(S,m,O){var V=[];m=m==!0?{entropy:!0}:m||{};var C=x(v(m.entropy?[S,T(r)]:S??y(),3),V),M=new d(V),w=function(){for(var E=M.g(i),D=c,U=0;E<u;)E=(E+U)*a,D*=a,U=M.g(1);for(;E>=l;)E/=2,D/=2,U>>>=1;return(E+U)/D};return w.int32=function(){return M.g(4)|0},w.quick=function(){return M.g(4)/4294967296},w.double=w,x(T(M.S),r),(m.pass||O||function(E,D,U,B){return B&&(B.S&&h(B,M),E.state=function(){return h(M,{})}),U?(n[o]=E,D):E})(w,C,"global"in m?m.global:this==n,m.state)}function d(S){var m,O=S.length,V=this,C=0,M=V.i=V.j=0,w=V.S=[];for(O||(S=[O++]);C<a;)w[C]=C++;for(C=0;C<a;C++)w[C]=w[M=g&M+S[C%O]+(m=w[C])],w[M]=m;(V.g=function(E){for(var D,U=0,B=V.i,L=V.j,F=V.S;E--;)D=F[B=g&B+1],U=U*a+F[g&(F[B]=F[L=g&L+D])+(F[L]=D)];return V.i=B,V.j=L,U})(a)}function h(S,m){return m.i=S.i,m.j=S.j,m.S=S.S.slice(),m}function v(S,m){var O=[],V=typeof S,C;if(m&&V=="object")for(C in S)try{O.push(v(S[C],m-1))}catch{}return O.length?O:V=="string"?S:S+"\0"}function x(S,m){for(var O=S+"",V,C=0;C<O.length;)m[g&C]=g&(V^=m[g&C]*19)+O.charCodeAt(C++);return T(m)}function y(){try{var S;return f&&(S=f.randomBytes)?S=S(a):(S=new Uint8Array(a),(e.crypto||e.msCrypto).getRandomValues(S)),T(S)}catch{var m=e.navigator,O=m&&m.plugins;return[+new Date,e,O,e.screen,T(r)]}}function T(S){return String.fromCharCode.apply(0,S)}if(x(n.random(),r),t.exports){t.exports=p;try{f=DT}catch{}}else n["seed"+o]=p})(typeof self<"u"?self:VT,[],Math)})(Ci)),Ci.exports}var Ls,Ru;function LT(){if(Ru)return Ls;Ru=1;var t=vT(),e=TT(),r=xT(),n=CT(),a=OT(),i=RT(),s=BT();return s.alea=t,s.xor128=e,s.xorwow=r,s.xorshift7=n,s.xor4096=a,s.tychei=i,Ls=s,Ls}var UT=LT();const FT=Yo(UT);var{vtkErrorMacro:tg,vtkWarningMacro:fn}=R,rg=0,Mu=20;function Va(t){return()=>tg(`vtkMath::${t} - NOT IMPLEMENTED`)}function pa(t,e,r,n){let a;for(let i=0;i<e;i++)a=t[r*e+i],t[r*e+i]=t[n*e+i],t[n*e+i]=a}function na(t,e,r,n){let a;for(let i=0;i<e;i++)a=t[i*e+r],t[i*e+r]=t[i*e+n],t[i*e+n]=a}function ye(t=3){const e=Array(t);for(let r=0;r<t;++r)e[r]=0;return e}var bT=()=>Math.PI;function NT(t,e){return e>1023?t*2**1023*2**(e-1023):e<-1074?t*2**-1074*2**(e+1074):t*2**e}function Fe(t){return t/180*Math.PI}function $n(t){return t*180/Math.PI}var{round:aa,floor:pc,ceil:_T,min:kT,max:GT}=Math;function $T(t,e=0,r=1){let n=1/0;for(let a=e,i=t.length;a<i;a+=r)t[a]<n&&(n=t[a]);return n}function WT(t,e=0,r=1){let n=-1/0;for(let a=e,i=t.length;a<i;a+=r)n<t[a]&&(n=t[a]);return n}function zT(t,e=0,r=1){let n=1/0,a=-1/0;for(let i=e,s=t.length;i<s;i+=r)t[i]<n&&(n=t[i]),a<t[i]&&(a=t[i]);return[n,a]}var IT=Va("ceilLog2"),PT=Va("factorial");function kr(t){let e=1;for(;e<t;)e*=2;return e}function HT(t){return t===kr(t)}function AT(t,e){let r=1;for(let n=1;n<=e;++n)r*=(t-n+1)/n;return Math.floor(r)}function jT(t,e){if(t<e)return 0;const r=ye(e);for(let n=0;n<e;++n)r[n]=n;return r}function KT(t,e,r){let n=0;for(let a=e-1;a>=0;--a)if(r[a]<t-e+a){let i=r[a]+1;for(;a<e;)r[a++]=i++;n=1;break}return n}function XT(t){FT(`${t}`,{global:!0}),rg=t}function qT(){return rg}function YT(t=0,e=1){return t+(e-t)*Math.random()}var ZT=Va("gaussian");function Wn(t,e,r){return r[0]=t[0]+e[0],r[1]=t[1]+e[1],r[2]=t[2]+e[2],r}function We(t,e,r){return r[0]=t[0]-e[0],r[1]=t[1]-e[1],r[2]=t[2]-e[2],r}function ng(t,e){return t[0]*=e,t[1]*=e,t[2]*=e,t}function ag(t,e){return t[0]*=e,t[1]*=e,t}function wo(t,e,r,n){return n[0]=t[0]+e[0]*r,n[1]=t[1]+e[1]*r,n[2]=t[2]+e[2]*r,n}function QT(t,e,r,n){return n[0]=t[0]+e[0]*r,n[1]=t[1]+e[1]*r,n}function J(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function JT(t,e,r){r[0]=t[0]*e[0],r[1]=t[0]*e[1],r[2]=t[0]*e[2],r[3]=t[1]*e[0],r[4]=t[1]*e[1],r[5]=t[1]*e[2],r[6]=t[2]*e[0],r[7]=t[2]*e[1],r[8]=t[2]*e[2]}function rt(t,e,r){const n=t[1]*e[2]-t[2]*e[1],a=t[2]*e[0]-t[0]*e[2],i=t[0]*e[1]-t[1]*e[0];return r[0]=n,r[1]=a,r[2]=i,r}function Rt(t,e=3){switch(e){case 1:return Math.abs(t);case 2:return Math.sqrt(t[0]*t[0]+t[1]*t[1]);case 3:return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);default:{let r=0;for(let n=0;n<e;n++)r+=t[n]*t[n];return Math.sqrt(r)}}}function vt(t){const e=Rt(t);return e!==0&&(t[0]/=e,t[1]/=e,t[2]/=e),e}function eS(t){const e=Rt(t,3);return e!==0&&(t[0]/=e,t[1]/=e,t[2]/=e,t[3]/=e),e}function tS(t,e,r,n){const a=t[0]*t[0],i=t[1]*t[1],s=t[2]*t[2],o=Math.sqrt(a+i+s);let c,u,l;a>i&&a>s?(c=0,u=1,l=2):i>s?(c=1,u=2,l=0):(c=2,u=0,l=1);const g=t[c]/o,f=t[u]/o,p=t[l]/o,d=Math.sqrt(g*g+p*p);if(n!==0){const h=Math.sin(n),v=Math.cos(n);e&&(e[c]=(p*v-g*f*h)/d,e[u]=h*d,e[l]=(-(g*v)-f*p*h)/d),r&&(r[c]=(-(p*h)-g*f*v)/d,r[u]=v*d,r[l]=(g*h-f*p*v)/d)}else e&&(e[c]=p/d,e[u]=0,e[l]=-g/d),r&&(r[c]=-g*f/d,r[u]=d,r[l]=-f*p/d)}function rS(t,e,r){const n=J(e,e);if(n===0)return r[0]=0,r[1]=0,r[2]=0,!1;const a=J(t,e)/n;for(let i=0;i<3;i++)r[i]=e[i];return ng(r,a),!0}function Ro(t,e){return t[0]*e[0]+t[1]*e[1]}function nS(t,e,r){const n=Ro(e,e);if(n===0)return r[0]=0,r[1]=0,!1;const a=Ro(t,e)/n;for(let i=0;i<2;i++)r[i]=e[i];return ag(r,a),!0}function ct(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])+(t[2]-e[2])*(t[2]-e[2])}function aS(t,e){const r=[0,0,0];return rt(t,e,r),Math.atan2(Rt(r),J(t,e))}function iS(t,e,r){const n=Math.abs(t-r);return 1/Math.sqrt(2*Math.PI*e)*Math.exp(-(n**2)/(2*e))}function sS(t,e,r){const n=Math.abs(t-r);return Math.exp(-(n**2)/(2*e))}function oS(t,e,r){r[0]=t[0]*e[0],r[1]=t[0]*e[1],r[2]=t[1]*e[0],r[3]=t[1]*e[1]}function ig(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function sg(t){const e=ig(t);return e!==0&&(t[0]/=e,t[1]/=e),e}function Be(...t){return t.length===2?t[0][0]*t[1][1]-t[1][0]*t[0][1]:t.length===4?t[0]*t[3]-t[1]*t[2]:NaN}function cS(t,e){let r,n,a;const i=[0,0,0];for(let s=0;s<3;s++)a=Math.abs(t[s*3]),(n=Math.abs(t[s*3+1]))>a&&(a=n),(n=Math.abs(t[s*3+2]))>a&&(a=n),i[s]=1/a;a=i[0]*Math.abs(t[0]),r=0,(n=i[1]*Math.abs(t[3]))>=a&&(a=n,r=1),(n=i[2]*Math.abs(t[6]))>=a&&(r=2),r!==0&&(pa(t,3,r,0),i[r]=i[0]),e[0]=r,t[3]/=t[0],t[6]/=t[0],t[4]-=t[3]*t[1],t[7]-=t[6]*t[1],a=i[1]*Math.abs(t[4]),r=1,(n=i[2]*Math.abs(t[7]))>=a&&(r=2,pa(t,3,1,2),i[2]=i[1]),e[1]=r,t[7]/=t[4],t[5]-=t[3]*t[2],t[8]-=t[6]*t[2]+t[7]*t[5],e[2]=2}function uS(t,e,r){let n=r[e[0]];r[e[0]]=r[0],r[0]=n,n=r[e[1]],r[e[1]]=r[1],r[1]=n-t[3]*r[0],n=r[e[2]],r[e[2]]=r[2],r[2]=n-t[6]*r[0]-t[7]*r[1],r[2]/=t[8],r[1]=(r[1]-t[5]*r[2])/t[4],r[0]=(r[0]-t[1]*r[1]-t[2]*r[2])/t[0]}function fS(t,e,r){const n=t[0],a=t[1],i=t[2],s=t[3],o=t[4],c=t[5],u=t[6],l=t[7],g=t[8],f=+Be(o,l,c,g),p=-Be(s,u,c,g),d=+Be(s,u,o,l),h=-Be(a,l,i,g),v=+Be(n,u,i,g),x=-Be(n,u,a,l),y=+Be(a,o,i,c),T=-Be(n,s,i,c),S=+Be(n,s,a,o),m=n*f+a*p+i*d,O=f*e[0]+h*e[1]+y*e[2],V=p*e[0]+v*e[1]+T*e[2],C=d*e[0]+x*e[1]+S*e[2];r[0]=O/m,r[1]=V/m,r[2]=C/m}function lS(t,e,r){const n=t[0]*e[0]+t[1]*e[1]+t[2]*e[2],a=t[3]*e[0]+t[4]*e[1]+t[5]*e[2],i=t[6]*e[0]+t[7]*e[1]+t[8]*e[2];r[0]=n,r[1]=a,r[2]=i}function Mo(t,e,r){const n=[...t],a=[...e];for(let i=0;i<3;i++)r[i]=n[0]*a[i]+n[1]*a[i+3]+n[2]*a[i+6],r[i+3]=n[3]*a[i]+n[4]*a[i+3]+n[5]*a[i+6],r[i+6]=n[6]*a[i]+n[7]*a[i+3]+n[8]*a[i+6]}function gS(t,e,r,n,a,i,s){n!==a&&tg("Number of columns of A must match number of rows of B.");const o=[...t],c=[...e];for(let u=0;u<r;u++)for(let l=0;l<i;l++){s[u*i+l]=0;for(let g=0;g<n;g++)s[u*i+l]+=o[u*n+g]*c[l+i*g]}}function Nn(t,e){let r;r=t[3],e[3]=t[1],e[1]=r,r=t[6],e[6]=t[2],e[2]=r,r=t[7],e[7]=t[5],e[5]=r,e[0]=t[0],e[4]=t[4],e[8]=t[8]}function pS(t,e){const r=t[0],n=t[1],a=t[2],i=t[3],s=t[4],o=t[5],c=t[6],u=t[7],l=t[8],g=+Be(s,u,o,l),f=-Be(i,c,o,l),p=+Be(i,c,s,u),d=-Be(n,u,a,l),h=+Be(r,c,a,l),v=-Be(r,c,n,u),x=+Be(n,s,a,o),y=-Be(r,i,a,o),T=+Be(r,i,n,s),S=r*g+n*f+a*p;S===0&&fn("Matrix has 0 determinant"),e[0]=g/S,e[3]=f/S,e[6]=p/S,e[1]=d/S,e[4]=h/S,e[7]=v/S,e[2]=x/S,e[5]=y/S,e[8]=T/S}function Ts(t){return t[0]*t[4]*t[8]+t[3]*t[7]*t[2]+t[6]*t[1]*t[5]-t[0]*t[7]*t[5]-t[3]*t[1]*t[8]-t[6]*t[4]*t[2]}function hc(t,e,r=ds){if(t.length!==e.length)return!1;function n(a,i){return Math.abs(a-e[i])<=r}return t.every(n)}var zn=hc;function og(t){for(let e=0;e<3;e++)t[e*3]=t[e*3+1]=t[e*3+2]=0,t[e*3+e]=1}function cg(t,e){for(let r=0;r<t;r++){for(let n=0;n<t;n++)e[r*t+n]=0;e[r*t+r]=1}return e}function hS(t,e=ds){return zn(t,vs,e)}function vS(t,e=ds){return zn(t,pT,e)}function ug(t,e){const r=t[0]*t[0],n=t[0]*t[1],a=t[0]*t[2],i=t[0]*t[3],s=t[1]*t[1],o=t[2]*t[2],c=t[3]*t[3],u=t[1]*t[2],l=t[1]*t[3],g=t[2]*t[3],f=s+o+c;let p=1/(r+f);const d=(r-f)*p;p*=2,e[0]=s*p+d,e[3]=(u+i)*p,e[6]=(l-a)*p,e[1]=(u-i)*p,e[4]=o*p+d,e[7]=(g+n)*p,e[2]=(l+a)*p,e[5]=(g-n)*p,e[8]=c*p+d}function mi(t,e=0){if(!`${t}`.includes("e"))return+`${Math.round(`${t}e+${e}`)}e-${e}`;const r=`${t}`.split("e");let n="";return+r[1]+e>0&&(n="+"),+`${Math.round(`${+r[0]}e${n}${+r[1]+e}`)}e-${e}`}function Eo(t,e=[0,0,0],r=0){return e[0]=mi(t[0],r),e[1]=mi(t[1],r),e[2]=mi(t[2],r),e}function Ba(t,e,r,n){let a,i,s,o,c,u,l,g,f,p,d,h,v,x,y,T;const S=ye(e),m=ye(e),O=(C,M,w)=>{x=C[M],v=C[w],C[M]=x-h*(v+x*p),C[w]=v+h*(x-v*p)};for(cg(e,n),c=0;c<e;c++)S[c]=r[c]=t[c+c*e],m[c]=0;for(a=0;a<Mu;a++){for(d=0,c=0;c<e-1;c++)for(o=c+1;o<e;o++)d+=Math.abs(t[c*e+o]);if(d===0)break;for(a<3?l=.2*d/(e*e):l=0,c=0;c<e-1;c++)for(o=c+1;o<e;o++)if(x=100*Math.abs(t[c*e+o]),a>3&&Math.abs(r[c])+x===Math.abs(r[c])&&Math.abs(r[o])+x===Math.abs(r[o]))t[c*e+o]=0;else if(Math.abs(t[c*e+o])>l){for(v=r[o]-r[c],Math.abs(v)+x===Math.abs(v)?f=t[c*e+o]/v:(g=.5*v/t[c*e+o],f=1/(Math.abs(g)+Math.sqrt(1+g*g)),g<0&&(f=-f)),y=1/Math.sqrt(1+f*f),h=f*y,p=h/(1+y),v=f*t[c*e+o],m[c]-=v,m[o]+=v,r[c]-=v,r[o]+=v,t[c*e+o]=0,i=0;i<=c-1;i++)O(t,i*e+c,i*e+o);for(i=c+1;i<=o-1;i++)O(t,c*e+i,i*e+o);for(i=o+1;i<e;i++)O(t,c*e+i,o*e+i);for(i=0;i<e;i++)O(n,i*e+c,i*e+o)}for(c=0;c<e;c++)S[c]+=m[c],r[c]=S[c],m[c]=0}if(a>=Mu)return fn("vtkMath::Jacobi: Error extracting eigenfunctions"),0;for(i=0;i<e-1;i++){for(s=i,T=r[s],a=i+1;a<e;a++)(r[a]>=T||Math.abs(r[a]-T)<1e-12)&&(s=a,T=r[s]);s!==i&&(r[s]=r[i],r[i]=T,na(n,e,i,s))}const V=(e>>1)+(e&1);for(u=0,a=0;a<e*e;a++)n[a]>=0&&u++;if(u<V)for(a=0;a<e;a++)n[a*e+i]*=-1;return 1}function fg(t,e){const r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];r[0]=t[0]+t[4]+t[8],r[5]=t[0]-t[4]-t[8],r[10]=-t[0]+t[4]-t[8],r[15]=-t[0]-t[4]+t[8],r[1]=r[4]=t[7]-t[5],r[2]=r[8]=t[2]-t[6],r[3]=r[12]=t[3]-t[1],r[6]=r[9]=t[3]+t[1],r[7]=r[13]=t[2]+t[6],r[11]=r[14]=t[7]+t[5];const n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],a=[0,0,0,0];Ba([...r],4,a,n),e[0]=n[0],e[1]=n[4],e[2]=n[8],e[3]=n[12]}function dS(t,e,r){const n=t[0]*e[0],a=t[0]*e[1],i=t[0]*e[2],s=t[0]*e[3],o=t[1]*e[0],c=t[1]*e[1],u=t[1]*e[2],l=t[1]*e[3],g=t[2]*e[0],f=t[2]*e[1],p=t[2]*e[2],d=t[2]*e[3],h=t[3]*e[0],v=t[3]*e[1],x=t[3]*e[2],y=t[3]*e[3];r[0]=n-c-p-y,r[1]=a+o+d-x,r[2]=i-l+g+v,r[3]=s+u-f+h}function lg(t,e){for(let f=0;f<9;f++)e[f]=t[f];const r=ye(3),n=ye(3);let a;for(let f=0;f<3;f++){const p=Math.abs(e[f*3]),d=Math.abs(e[f*3+1]),h=Math.abs(e[f*3+2]);a=d>p?d:p,a=h>a?h:a,r[f]=1,a!==0&&(r[f]/=a)}const i=Math.abs(e[0])*r[0],s=Math.abs(e[3])*r[1],o=Math.abs(e[6])*r[2];n[0]=0,a=i,s>=a&&(a=s,n[0]=1),o>=a&&(n[0]=2),n[0]!==0&&(na(e,3,n[0],0),r[n[0]]=r[0]);const c=Math.abs(e[4])*r[1],u=Math.abs(e[7])*r[2];n[1]=1,a=c,u>=a&&(n[1]=2,na(e,3,1,2)),n[2]=2;let l=0;if(Ts(e)<0){l=1;for(let f=0;f<9;f++)e[f]=-e[f]}const g=ye(4);if(fg(e,g),ug(g,e),l)for(let f=0;f<9;f++)e[f]=-e[f];n[1]!==1&&na(e,3,n[1],1),n[0]!==0&&na(e,3,n[0],0)}function gg(t,e,r){let n,a,i,s,o,c;if(Ba([...t],3,e,r),e[0]===e[1]&&e[0]===e[2]){og(r);return}for(Nn(r,r),n=0;n<3;n++)if(e[(n+1)%3]===e[(n+2)%3]){for(c=Math.abs(r[n*3]),s=0,a=1;a<3;a++)c<(o=Math.abs(r[n*3+a]))&&(c=o,s=a);s!==n&&(o=e[s],e[s]=e[n],e[n]=o,pa(r,3,n,s)),r[s*3+s]<0&&(r[s*3]=-r[s*3],r[s*3+1]=-r[s*3+1],r[s*3+2]=-r[s*3+2]),a=(s+1)%3,i=(s+2)%3,r[a*3]=0,r[a*3+1]=0,r[a*3+2]=0,r[a*3+a]=1;const u=rt([r[s*3],r[s*3+1],r[s*3+2]],[r[a*3],r[a*3+1],r[a*3+2]],[]);vt(u);const l=rt(u,[r[s*3],r[s*3+1],r[s*3+2]],[]);for(let g=0;g<3;g++)r[i*3+g]=u[g],r[a*3+g]=l[g];Nn(r,r);return}for(c=Math.abs(r[0]),s=0,n=1;n<3;n++)c<(o=Math.abs(r[n*3]))&&(c=o,s=n);if(s!==0){const u=e[s];e[s]=e[0],e[0]=u,pa(r,3,s,0)}if(Math.abs(r[4])<Math.abs(r[7])){const u=e[2];e[2]=e[1],e[1]=u,pa(r,3,1,2)}for(n=0;n<2;n++)r[n*3+n]<0&&(r[n*3]=-r[n*3],r[n*3+1]=-r[n*3+1],r[n*3+2]=-r[n*3+2]);Ts(r)<0&&(r[6]=-r[6],r[7]=-r[7],r[8]=-r[8]),Nn(r,r)}function TS(t,e,r,n){let a;const i=[...t],s=Ts(i);if(s<0)for(a=0;a<9;a++)i[a]=-i[a];lg(i,e),Nn(i,i),Mo(i,e,n),gg(n,r,n),Mo(e,n,e),Nn(n,n),s<0&&(r[0]=-r[0],r[1]=-r[1],r[2]=-r[2])}function vc(t,e,r){let n,a,i,s,o=0,c,u,l;const g=ye(r);for(n=0;n<r;n++){for(s=0,a=0;a<r;a++)(l=Math.abs(t[n*r+a]))>s&&(s=l);if(s===0)return fn("Unable to factor linear system"),0;g[n]=1/s}for(a=0;a<r;a++){for(n=0;n<a;n++){for(c=t[n*r+a],i=0;i<n;i++)c-=t[n*r+i]*t[i*r+a];t[n*r+a]=c}for(s=0,n=a;n<r;n++){for(c=t[n*r+a],i=0;i<a;i++)c-=t[n*r+i]*t[i*r+a];t[n*r+a]=c,(u=g[n]*Math.abs(c))>=s&&(s=u,o=n)}if(a!==o){for(i=0;i<r;i++)u=t[o*r+i],t[o*r+i]=t[a*r+i],t[a*r+i]=u;g[o]=g[a]}if(e[a]=o,Math.abs(t[a*r+a])<=1e-12)return fn("Unable to factor linear system"),0;if(a!==r-1)for(u=1/t[a*r+a],n=a+1;n<r;n++)t[n*r+a]*=u}return 1}function dc(t,e,r,n){let a,i,s,o,c;for(s=-1,a=0;a<n;a++){if(o=e[a],c=r[o],r[o]=r[a],s>=0)for(i=s;i<=a-1;i++)c-=t[a*n+i]*r[i];else c!==0&&(s=a);r[a]=c}for(a=n-1;a>=0;a--){for(c=r[a],i=a+1;i<n;i++)c-=t[a*n+i]*r[i];r[a]=c/t[a*n+a]}}function pg(t,e,r){if(r===2){const a=ye(2),i=Be(t[0],t[1],t[2],t[3]);return i===0?0:(a[0]=(t[3]*e[0]-t[1]*e[1])/i,a[1]=(-(t[2]*e[0])+t[0]*e[1])/i,e[0]=a[0],e[1]=a[1],1)}if(r===1)return t[0]===0?0:(e[0]/=t[0],1);const n=ye(r);return vc(t,n,r)===0?0:(dc(t,n,e,r),1)}function Tc(t,e,r,n=null,a=null){const i=n||ye(r),s=a||ye(r);if(vc(t,i,r)===0)return null;for(let o=0;o<r;o++){for(let c=0;c<r;c++)s[c]=0;s[o]=1,dc(t,i,s,r);for(let c=0;c<r;c++)e[c*r+o]=s[c]}return e}function SS(t,e){let r=+Number.MAX_VALUE,n=-Number.MAX_VALUE;for(let a=0;a<e;a++)for(let i=a;i<e;i++)Math.abs(t[a*e+i])>n&&(n=Math.abs(t[a*e+i]));for(let a=0;a<e;a++)Math.abs(t[a*e+a])<r&&(r=Math.abs(t[a*e+a]));return r===0?Number.MAX_VALUE:n/r}function xS(t,e,r){return Ba(t,3,e,r)}function Do(t,e,r,n){if(t<r)return fn("Insufficient number of samples. Underdetermined."),0;let a,i,s;const o=ye(r*r),c=ye(r),u=ye(r*r);for(s=0;s<t;s++)for(a=0;a<r;a++)for(i=a;i<r;i++)o[a*r+i]+=e[s*r+a]*e[s*r+i];for(a=0;a<r;a++)for(i=0;i<a;i++)o[a*r+i]=o[i*r+a];for(Ba(o,r,c,u),a=0;a<r;a++)n[a]=u[a*r+r-1];return 1}function yS(t,e,r,n,a,i,s=!0){if(t<r||t<a)return fn("Insufficient number of samples. Underdetermined."),0;const o=ye(a);let c=1,u,l=0,g,f,p,d=0;if(s){for(f=0;f<a;f++)o[f]=1;for(g=0;g<t;g++)for(f=0;f<a;f++)Math.abs(n[g*a+f])>1e-12&&(c=0,o[f]=0);if(c&&a===1)return fn("Detected homogeneous system (Y=0), calling SolveHomogeneousLeastSquares()"),Do(t,e,r,i);if(c)d=1;else for(f=0;f<a;f++)o[f]&&(d=1)}d&&(u=ye(r),l=Do(t,e,r,u));const h=ye(r*r),v=ye(r*r),x=ye(r*a);for(p=0;p<t;p++)for(g=0;g<r;g++){for(f=g;f<r;f++)h[g*r+f]+=e[p*r+g]*e[p*r+f];for(f=0;f<a;f++)x[g*a+f]+=e[p*r+g]*n[p*a+f]}for(g=0;g<r;g++)for(f=0;f<g;f++)h[g*r+f]=h[f*r+g];const y=Tc(h,v,r);if(y)for(g=0;g<r;g++)for(f=0;f<a;f++)for(i[g*a+f]=0,p=0;p<r;p++)i[g*a+f]+=v[g*r+p]*x[p*a+f];if(d){for(f=0;f<a;f++)if(o[f])for(g=0;g<r;g++)i[g*a+f]=u[g*a]}return d?l&&y:y}function CS(t,e=[0,.5,1]){switch(t.length){case 3:return e[0]=parseInt(t[0],16)*17/255,e[1]=parseInt(t[1],16)*17/255,e[2]=parseInt(t[2],16)*17/255,e;case 4:return e[0]=parseInt(t[1],16)*17/255,e[1]=parseInt(t[2],16)*17/255,e[2]=parseInt(t[3],16)*17/255,e;case 6:return e[0]=parseInt(t.substr(0,2),16)/255,e[1]=parseInt(t.substr(2,2),16)/255,e[2]=parseInt(t.substr(4,2),16)/255,e;case 7:return e[0]=parseInt(t.substr(1,2),16)/255,e[1]=parseInt(t.substr(3,2),16)/255,e[2]=parseInt(t.substr(5,2),16)/255,e;case 9:return e[0]=parseInt(t.substr(1,2),16)/255,e[1]=parseInt(t.substr(3,2),16)/255,e[2]=parseInt(t.substr(5,2),16)/255,e[3]=parseInt(t.substr(7,2),16)/255,e;default:return e}}function ia(t,e){let r,n;const[a,i,s]=t,o=1/3,c=1/6,u=2/3;let l=a,g=a;i>l?l=i:i<g&&(g=i),s>l?l=s:s<g&&(g=s);const f=l;f>0?n=(l-g)/l:n=0,n>0?(a===l?r=c*(i-s)/(l-g):i===l?r=o+c*(s-a)/(l-g):r=u+c*(a-i)/(l-g),r<0&&(r+=1)):r=0,e[0]=r,e[1]=n,e[2]=f}function nn(t,e){const[r,n,a]=t,i=1/3,s=1/6,o=2/3,c=5/6;let u,l,g;r>s&&r<=i?(l=1,u=(i-r)/s,g=0):r>i&&r<=.5?(l=1,g=(r-i)/s,u=0):r>.5&&r<=o?(g=1,l=(o-r)/s,u=0):r>o&&r<=c?(g=1,u=(r-o)/s,l=0):r>c&&r<=1?(u=1,g=(1-r)/s,l=0):(u=1,l=r/s,g=0),u=n*u+(1-n),l=n*l+(1-n),g=n*g+(1-n),u*=a,l*=a,g*=a,e[0]=u,e[1]=l,e[2]=g}function hg(t,e){const[r,n,a]=t;let i=(r+16)/116,s=n/500+i,o=i-a/200;i**3>.008856?i**=3:i=(i-16/116)/7.787,s**3>.008856?s**=3:s=(s-16/116)/7.787,o**3>.008856?o**=3:o=(o-16/116)/7.787;const c=.9505,u=1,l=1.089;e[0]=c*s,e[1]=u*i,e[2]=l*o}function vg(t,e){const[r,n,a]=t,i=.9505,s=1,o=1.089;let c=r/i,u=n/s,l=a/o;c>.008856?c**=1/3:c=7.787*c+16/116,u>.008856?u**=1/3:u=7.787*u+16/116,l>.008856?l**=1/3:l=7.787*l+16/116,e[0]=116*u-16,e[1]=500*(c-u),e[2]=200*(u-l)}function dg(t,e){const[r,n,a]=t;let i=r*3.2406+n*-1.5372+a*-.4986,s=r*-.9689+n*1.8758+a*.0415,o=r*.0557+n*-.204+a*1.057;i>.0031308?i=1.055*i**(1/2.4)-.055:i*=12.92,s>.0031308?s=1.055*s**(1/2.4)-.055:s*=12.92,o>.0031308?o=1.055*o**(1/2.4)-.055:o*=12.92;let c=i;c<s&&(c=s),c<o&&(c=o),c>1&&(i/=c,s/=c,o/=c),i<0&&(i=0),s<0&&(s=0),o<0&&(o=0),e[0]=i,e[1]=s,e[2]=o}function Tg(t,e){let[r,n,a]=t;r>.04045?r=((r+.055)/1.055)**2.4:r/=12.92,n>.04045?n=((n+.055)/1.055)**2.4:n/=12.92,a>.04045?a=((a+.055)/1.055)**2.4:a/=12.92,e[0]=r*.4124+n*.3576+a*.1805,e[1]=r*.2126+n*.7152+a*.0722,e[2]=r*.0193+n*.1192+a*.9505}function on(t,e){const r=[0,0,0];Tg(t,r),vg(r,e)}function _i(t,e){const r=[0,0,0];hg(t,r),dg(r,e)}function Sc(t){return t[0]=1,t[1]=-1,t[2]=1,t[3]=-1,t[4]=1,t[5]=-1,t}function Oi(t){return!(t[1]-t[0]<0)}function mS(t,e,r){return r[0]=Math.min(t[0],e[0]),r[1]=Math.max(t[0],e[0]),r[2]=Math.min(t[1],e[1]),r[3]=Math.max(t[1],e[1]),r[4]=Math.min(t[2],e[2]),r[5]=Math.max(t[2],e[2]),r}function Fr(t,e,r){return t<e?e:t>r?r:t}function Vo(t,e,r,n=[0,0,0]){return n[0]=Fr(t[0],e[0],r[0]),n[1]=Fr(t[1],e[1],r[1]),n[2]=Fr(t[2],e[2],r[2]),n}function OS(t,e){let r=0;return e[0]!==e[1]&&(t<e[0]?r=e[0]:t>e[1]?r=e[1]:r=t,r=(r-e[0])/(e[1]-e[0])),r}var wS=Va("GetScalarTypeFittingRange"),RS=Va("GetAdjustedScalarRange");function MS(t,e){if(!t||!e)return 0;for(let r=0;r<6;r+=2)if(t[r]<e[r]||t[r]>e[r+1]||t[r+1]<e[r]||t[r+1]>e[r+1])return 0;return 1}function ES(t,e,r){if(!t||!e)return 0;for(let n=0;n<6;n+=2)if(t[n]+r[n/2]<e[n]||t[n]-r[n/2]>e[n+1]||t[n+1]+r[n/2]<e[n]||t[n+1]-r[n/2]>e[n+1])return 0;return 1}function DS(t,e,r){if(!t||!e||!r)return 0;for(let n=0;n<3;n++)if(t[n]+r[n]<e[2*n]||t[n]-r[n]>e[2*n+1])return 0;return 1}function VS(t,e,r,n){const a=ye(3),i=ye(3),s=ye(3),o=ye(3),c=ye(3),u=ye(3);for(let S=0;S<3;++S)a[S]=t[S]-e[S],i[S]=e[S]-r[S],s[S]=r[S]-t[S],o[S]=-a[S],c[S]=-i[S],u[S]=-s[S];const l=Rt(o),g=Rt(c),f=Rt(s),p=ye(3);rt(a,i,p);const d=Rt(p),h=l*g*f/(2*d),v=2*d*d,x=g*g*J(a,u)/v,y=f*f*J(o,i)/v,T=l*l*J(s,c)/v;for(let S=0;S<3;++S)n[S]=x*t[S]+y*e[S]+T*r[S];return h}var BS=1/0,LS=-1/0,Sg=t=>!Number.isFinite(t),{isFinite:US,isNaN:Bo}=Number,ki=Bo;function xg(){return[].concat([Number.MAX_VALUE,-Number.MAX_VALUE,Number.MAX_VALUE,-Number.MAX_VALUE,Number.MAX_VALUE,-Number.MAX_VALUE])}function FS(t){let e=-1,r=-1;for(let n=0;n<t.length;n++){const a=Math.abs(t[n]);a>e&&(r=n,e=a)}return r}function bS(t){let e=1/0,r=-1;for(let n=0;n<t.length;n++){const a=Math.abs(t[n]);a<e&&(r=n,e=a)}return r}function NS(t,e=3){const r=new Array(e),n=new Array(e);for(let i=0;i<e;++i)r[i]=i,n[i]=i;for(let i=e-1;i>0;i--){let s=-1/0,o=0,c=0;for(let u=0;u<=i;++u){const l=r[u];for(let g=0;g<=i;++g){const f=n[g],p=Math.abs(t[l+e*f]);p>s&&(s=p,o=u,c=g)}}[r[i],r[o]]=[r[o],r[i]],[n[i],n[c]]=[n[c],n[i]]}const a=new Array(e*e).fill(0);for(let i=0;i<e;++i){const s=r[i]+e*n[i];a[s]=t[s]<0?-1:1}return a}function yg(t){const e=Math.floor(t*255);return e>15?e.toString(16):`0${e.toString(16)}`}function _S(t,e="#"){return`${e}${t.map(yg).join("")}`}function ka(t){return Math.round(t*255)}function kS(t){return t.length===3?`rgb(${t.map(ka).join(", ")})`:`rgba(${ka(t[0]||0)}, ${ka(t[1]||0)}, ${ka(t[2]||0)}, ${t[3]||0})`}var xe={Pi:bT,ldexp:NT,radiansFromDegrees:Fe,degreesFromRadians:$n,round:aa,floor:pc,ceil:_T,ceilLog2:IT,min:kT,max:GT,arrayMin:$T,arrayMax:WT,arrayRange:zT,isPowerOfTwo:HT,nearestPowerOfTwo:kr,factorial:PT,binomial:AT,beginCombination:jT,nextCombination:KT,randomSeed:XT,getSeed:qT,random:YT,gaussian:ZT,add:Wn,subtract:We,multiplyScalar:ng,multiplyScalar2D:ag,multiplyAccumulate:wo,multiplyAccumulate2D:QT,dot:J,outer:JT,cross:rt,norm:Rt,normalize:vt,perpendiculars:tS,projectVector:rS,projectVector2D:nS,distance2BetweenPoints:ct,angleBetweenVectors:aS,gaussianAmplitude:iS,gaussianWeight:sS,dot2D:Ro,outer2D:oS,norm2D:ig,normalize2D:sg,determinant2x2:Be,LUFactor3x3:cS,LUSolve3x3:uS,linearSolve3x3:fS,multiply3x3_vect3:lS,multiply3x3_mat3:Mo,multiplyMatrix:gS,transpose3x3:Nn,invert3x3:pS,identity3x3:og,identity:cg,isIdentity:hS,isIdentity3x3:vS,determinant3x3:Ts,quaternionToMatrix3x3:ug,areEquals:hc,areMatricesEqual:zn,roundNumber:mi,roundVector:Eo,matrix3x3ToQuaternion:fg,multiplyQuaternion:dS,orthogonalize3x3:lg,diagonalize3x3:gg,singularValueDecomposition3x3:TS,solveLinearSystem:pg,invertMatrix:Tc,luFactorLinearSystem:vc,luSolveLinearSystem:dc,estimateMatrixCondition:SS,jacobi:xS,jacobiN:Ba,solveHomogeneousLeastSquares:Do,solveLeastSquares:yS,hex2float:CS,rgb2hsv:ia,hsv2rgb:nn,lab2xyz:hg,xyz2lab:vg,xyz2rgb:dg,rgb2xyz:Tg,rgb2lab:on,lab2rgb:_i,uninitializeBounds:Sc,areBoundsInitialized:Oi,computeBoundsFromPoints:mS,clampValue:Fr,clampVector:Vo,clampAndNormalizeValue:OS,getScalarTypeFittingRange:wS,getAdjustedScalarRange:RS,extentIsWithinOtherExtent:MS,boundsIsWithinOtherBounds:ES,pointIsWithinBounds:DS,solve3PointCircle:VS,inf:BS,negInf:LS,isInf:Sg,isNan:Bo,isNaN:Bo,isFinite:US,createUninitializedBounds:xg,getMajorAxisIndex:FS,getMinorAxisIndex:bS,getSparseOrthogonalMatrix:NS,floatToHex2:yg,floatRGB2HexCode:_S,float2CssRGBA:kS},{vtkWarningMacro:GS}=R,{DefaultDataType:$S}=eg;function Lo(t,e,r){const n=t.length;let a=Number.MAX_VALUE,i=-Number.MAX_VALUE,s,o;for(o=e;o<n;o+=r)if(!Number.isNaN(t[o])){a=t[o],i=a;break}for(;o<n;o+=r)s=t[o],s<a?a=s:s>i&&(i=s);return{min:a,max:i}}function WS(){let t=Number.MAX_VALUE,e=-Number.MAX_VALUE,r=0,n=0;return{add(a){t>a&&(t=a),e<a&&(e=a),r++,n+=a},get(){return{min:t,max:e,count:r,sum:n,mean:n/r}},getRange(){return{min:t,max:e}}}}function Cg(t,e=0,r=1){if(e<0&&r>1){const n=t.length/r,a=new Float64Array(n);for(let i=0,s=0;i<n;++i){for(let o=s+r;s<o;++s)a[i]+=t[s]*t[s];a[i]**=.5}return Lo(a,0,1)}return Lo(t,e<0?0:e,r)}function Eu(t,e=0){const r=t||[];for(;r.length<=e;)r.push(null);return r}function xc(t){return Object.prototype.toString.call(t).slice(8,-1)}function zS(t){const e=t.getNumberOfComponents();let r=0;const n=new Array(e);for(let a=0;a<t.getNumberOfTuples();++a){t.getTuple(a,n);const i=xe.norm(n,e);i>r&&(r=i)}return r}var IS={computeRange:Cg,createRangeHelper:WS,fastComputeRange:Lo,getDataType:xc,getMaxNorm:zS};function PS(t,e){e.classHierarchy.push("vtkDataArray");function r(n){const a=t.getNumberOfComponents(),i=e.values.length/(a>0?a:1);if(n!==i&&n>i){const s=e.values;e.values=R.newTypedArray(e.dataType,(n+i)*a),e.values.set(s)}}t.dataChange=()=>{e.ranges=null,t.modified()},t.allocate=n=>{!Number.isInteger(n)||n<0||r(t.getNumberOfTuples()+n)},t.resize=n=>{if(!Number.isInteger(n)||n<0)return!1;r(n);const a=n*t.getNumberOfComponents();return e.size!==a?(e.size=a,t.dataChange(),!0):!1},t.initialize=()=>(t.resize(0),t),t.getElementComponentSize=()=>e.values.BYTES_PER_ELEMENT,t.getComponent=(n,a=0)=>e.values[n*e.numberOfComponents+a],t.setComponent=(n,a,i)=>{const s=n*e.numberOfComponents+a;Object.is(i,e.values[s])||(e.values[s]=i,t.dataChange())},t.getValue=n=>e.values[n],t.setValue=(n,a)=>{Object.is(a,e.values[n])||(e.values[n]=a,t.dataChange())},t.getData=()=>e.size===e.values.length?e.values:e.values.subarray(0,e.size),t.getRange=(n=-1)=>{let a=n;a<0&&(a=e.numberOfComponents===1?0:e.numberOfComponents);let i=null;return e.ranges||(e.ranges=Eu(e.ranges,e.numberOfComponents)),i=e.ranges[a],i?(e.rangeTuple[0]=i.min,e.rangeTuple[1]=i.max,e.rangeTuple):(i=Cg(t.getData(),n,e.numberOfComponents),e.ranges[a]=i,e.rangeTuple[0]=i.min,e.rangeTuple[1]=i.max,e.rangeTuple)},t.setRange=(n,a)=>{e.ranges||(e.ranges=Eu(e.ranges,e.numberOfComponents));const i={min:n.min,max:n.max};return e.ranges[a]=i,e.rangeTuple[0]=i.min,e.rangeTuple[1]=i.max,e.rangeTuple},t.getRanges=(n=!0)=>{if(!n)return structuredClone(e.ranges);const a=[];for(let i=0;i<e.numberOfComponents;i++){const[s,o]=t.getRange(i),c={min:s,max:o};a.push(c)}if(e.numberOfComponents>1){const[i,s]=t.getRange(-1),o={min:i,max:s};a.push(o)}return a},t.setTuple=(n,a)=>{const i=n*e.numberOfComponents;let s=!1;for(let o=0;o<e.numberOfComponents;o++){const c=i+o,u=e.values[c];e.values[c]=a[o],Object.is(e.values[c],u)||(s=!0)}return s&&t.dataChange(),s},t.setTuples=(n,a)=>{let i=n*e.numberOfComponents;const s=Math.min(a.length,e.size-i);let o=!1;for(let c=0;c<s;){const u=e.values[i];e.values[i]=a[c],Object.is(e.values[i],u)||(o=!0),i++,c++}return o&&t.dataChange(),o},t.insertTuple=(n,a)=>{if(!Number.isInteger(n)||n<0)throw new RangeError("idx must be a nonnegative integer");const i=e.size<=n*e.numberOfComponents;i&&(r(n+1),e.size=(n+1)*e.numberOfComponents);const s=t.setTuple(n,a);return i&&!s&&t.dataChange(),n},t.insertTuples=(n,a)=>{if(!Number.isInteger(n)||n<0)throw new RangeError("idx must be a nonnegative integer");if(a.length%e.numberOfComponents!==0)throw new RangeError("tuples.length must be a multiple of numberOfComponents");const i=n+a.length/e.numberOfComponents,s=e.size<i*e.numberOfComponents;s&&(r(i),e.size=i*e.numberOfComponents);const o=t.setTuples(n,a);return s&&!o&&t.dataChange(),i},t.insertNextTuple=n=>{const a=e.size/e.numberOfComponents;return t.insertTuple(a,n)},t.insertNextTuples=n=>{const a=e.size/e.numberOfComponents;return t.insertTuples(a,n)},t.findTuple=(n,a=ds)=>{for(let i=0;i<e.size;i+=e.numberOfComponents)if(Math.abs(n[0]-e.values[i])<=a){let s=!0;for(let o=1;o<e.numberOfComponents;++o)if(Math.abs(n[o]-e.values[i+o])>a){s=!1;break}if(s)return i/e.numberOfComponents}return-1},t.getTuple=(n,a=[])=>{const i=e.numberOfComponents||1,s=n*i;switch(i){case 4:a[3]=e.values[s+3];case 3:a[2]=e.values[s+2];case 2:a[1]=e.values[s+1];case 1:a[0]=e.values[s];break;default:for(let o=i-1;o>=0;--o)a[o]=e.values[s+o]}return a},t.getTuples=(n,a)=>{const i=(n??0)*e.numberOfComponents,s=(a??t.getNumberOfTuples())*e.numberOfComponents,o=t.getData().subarray(i,s);return o.length>0?o:null},t.getTupleLocation=(n=1)=>n*e.numberOfComponents,t.getNumberOfComponents=()=>e.numberOfComponents,t.getNumberOfValues=()=>e.size,t.getNumberOfTuples=()=>e.size/e.numberOfComponents,t.getDataType=()=>e.dataType,t.setNumberOfComponents=n=>!Number.isInteger(n)||n<=0||e.size%n!==0?(GS("numberOfComponents must be a positive integer that divides the array size"),!1):e.numberOfComponents!==n?(e.numberOfComponents=n,t.dataChange(),!0):!1,t.newClone=()=>Og({empty:!0,name:e.name,dataType:e.dataType,numberOfComponents:e.numberOfComponents,ranges:structuredClone(e.ranges)}),t.getName=()=>(e.name||(t.modified(),e.name=`vtkDataArray${t.getMTime()}`),e.name),t.setData=(n,a)=>{if(!ArrayBuffer.isView(n)||n instanceof DataView)throw new TypeError("Array must be a TypedArray");const i=a??e.numberOfComponents;e.values=n,e.size=n.length,e.dataType=xc(n),e.numberOfComponents=1,Number.isInteger(i)&&i>0&&e.size%i===0&&(e.numberOfComponents=i),t.dataChange()},t.getState=({preserveTypedArrays:n=!1}={})=>{if(e.deleted)return null;const a={...e,vtkClass:t.getClassName()};n||(a.values=Array.from(a.values)),delete a.buffer,Object.keys(a).forEach(s=>{a[s]||delete a[s]});const i={};return Object.keys(a).sort().forEach(s=>{i[s]=a[s]}),i.mtime&&delete i.mtime,i},t.deepCopy=n=>{const a=t.getDataType(),i=e.values;t.shallowCopy(n);const s=structuredClone(n.getRanges(!1));i?.length>=n.getNumberOfValues()&&a===n.getDataType()?(i.set(n.getData()),e.values=i):e.values=n.getData().slice(),e.ranges=s,e.rangeTuple=[0,0],t.modified()},t.interpolateTuple=(n,a,i,s,o,c)=>{const u=e.numberOfComponents||1;if(u!==a.getNumberOfComponents()||u!==s.getNumberOfComponents())throw new RangeError("numberOfComponents must match");const l=a.getTuple(i),g=s.getTuple(o),f=[];switch(f.length=u,u){case 4:f[3]=l[3]+(g[3]-l[3])*c;case 3:f[2]=l[2]+(g[2]-l[2])*c;case 2:f[1]=l[1]+(g[1]-l[1])*c;case 1:f[0]=l[0]+(g[0]-l[0])*c;break;default:for(let p=0;p<u;p++)f[p]=l[p]+(g[p]-l[p])*c}return t.insertTuple(n,f)}}var HS={name:"",numberOfComponents:1,dataType:$S,rangeTuple:[0,0]};function mg(t,e,r={}){if(Object.assign(e,HS,r),Array.isArray(r.values)&&r.dataType===void 0&&console.warn("vtkDataArray.newInstance: no dataType provided, converting to Float32Array"),!e.empty&&!e.values&&!e.size)throw new TypeError("Cannot create vtkDataArray object without: size > 0, values");if(e.values?Array.isArray(e.values)&&(e.values=R.newTypedArrayFrom(e.dataType,e.values)):e.values=R.newTypedArray(e.dataType,e.size),e.values&&(e.size=e.size??e.values.length,e.dataType=xc(e.values)),R.obj(t,e),R.set(t,e,["name"]),!Number.isInteger(e.numberOfComponents)||e.numberOfComponents<=0||e.size%e.numberOfComponents!==0)throw new RangeError("numberOfComponents must be a positive integer that divides model.size");PS(t,e)}var Og=R.newInstance(mg,"vtkDataArray"),re={newInstance:Og,extend:mg,...IS,...eg},{isVtkObject:AS}=R;function wg(t){const e=[];for(let r=0;r<t.length;r+=t[r]+1)e.push(t[r]);return e}function Rg(t){let e=0;for(let r=0;r<t.length;)r+=t[r]+1,e++;return e}var jS={extractCellSizes:wg,getNumberOfCells:Rg};function KS(t,e){e.classHierarchy.push("vtkCellArray");const r={...t};t.getNumberOfCells=n=>(e.numberOfCells!==void 0&&!n||(e.cellSizes?e.numberOfCells=e.cellSizes.length:e.numberOfCells=Rg(t.getData())),e.numberOfCells),t.getCellSizes=n=>(e.cellSizes!==void 0&&!n||(e.cellSizes=wg(t.getData())),e.cellSizes),t.resize=n=>{const a=t.getNumberOfTuples();r.resize(n);const i=t.getNumberOfTuples();i<a&&(i===0?(e.numberOfCells=0,e.cellSizes=[]):(e.numberOfCells=void 0,e.cellSizes=void 0))},t.setData=n=>{r.setData(n,1),e.numberOfCells=void 0,e.cellSizes=void 0},t.getCell=n=>{let a=n;const i=e.values[a++];return e.values.subarray(a,a+i)},t.insertNextCell=n=>{let a;AS(n)?a=n.getPointsIds():a=n;const i=t.getNumberOfCells(),s=a.length,o=new Array(s+1);o[0]=s;for(let c=0;c<s;++c)o[c+1]=a[c];return t.insertNextTuples(o),++e.numberOfCells,e.cellSizes!=null&&e.cellSizes.push(a.length),i},t.getMaxCellSize=()=>t.getCellSizes().reduce((n,a)=>Math.max(n,a),0)}function XS(t){return{empty:!0,numberOfComponents:1,dataType:ae.UNSIGNED_INT,...t}}function Mg(t,e,r={}){re.extend(t,e,XS(r)),KS(t,e)}var qS=R.newInstance(Mg,"vtkCellArray"),Wt={newInstance:qS,extend:Mg,...jS},Eg={FLAT:0,GOURAUD:1,PHONG:2,PBR:3},Xe={POINTS:0,WIREFRAME:1,SURFACE:2},YS=Eg,Dg={Shading:Eg,Representation:Xe,Interpolation:YS},dt={Off:0,PolygonOffset:1},Uo=dt.PolygonOffset,Gi=dt.Off,ZS=["VTK_RESOLVE_OFF","VTK_RESOLVE_POLYGON_OFFSET"];function QS(){return Uo}function JS(t){const e=Uo===t;return Uo=t,e}function ex(){return Gi}function Ss(t=0){const e=Gi===t;return Gi=t,e}function tx(){return Ss(dt.Off)}function rx(){return Ss(dt.Off)}function nx(){return Ss(dt.PolygonOffset)}function ax(){return ZS[Gi]}var Fo={Resolve:dt,getResolveCoincidentTopologyAsString:ax,getResolveCoincidentTopologyPolygonOffsetFaces:QS,getResolveCoincidentTopology:ex,setResolveCoincidentTopology:Ss,setResolveCoincidentTopologyPolygonOffsetFaces:JS,setResolveCoincidentTopologyToDefault:tx,setResolveCoincidentTopologyToOff:rx,setResolveCoincidentTopologyToPolygonOffset:nx};function Vg(t,e,r){r.forEach(n=>{t[`get${n.method}`]=()=>e[n.key],t[`set${n.method}`]=R.objectSetterMap.object(t,e,{name:n.key,params:["factor","offset"]})})}var yc=["Polygon","Line","Point"],ix={Polygon:{factor:2,offset:0},Line:{factor:1,offset:-1},Point:{factor:0,offset:-2}},sx=()=>{},an={modified:sx};Vg(an,ix,yc.map(t=>({key:t,method:`ResolveCoincidentTopology${t}OffsetParameters`})));function ox(t,e){e.resolveCoincidentTopology===void 0&&(e.resolveCoincidentTopology=!1),R.setGet(t,e,["resolveCoincidentTopology"]),e.topologyOffset={Polygon:{factor:0,offset:0},Line:{factor:0,offset:0},Point:{factor:0,offset:0}},Object.keys(Fo).forEach(r=>{t[r]=Fo[r]}),Object.keys(an).filter(r=>r!=="modified").forEach(r=>{t[r]=an[r]}),Vg(t,e.topologyOffset,yc.map(r=>({key:r,method:`RelativeCoincidentTopology${r}OffsetParameters`}))),t.getCoincidentTopologyPolygonOffsetParameters=()=>{const r=an.getResolveCoincidentTopologyPolygonOffsetParameters(),n=t.getRelativeCoincidentTopologyPolygonOffsetParameters();return{factor:r.factor+n.factor,offset:r.offset+n.offset}},t.getCoincidentTopologyLineOffsetParameters=()=>{const r=an.getResolveCoincidentTopologyLineOffsetParameters(),n=t.getRelativeCoincidentTopologyLineOffsetParameters();return{factor:r.factor+n.factor,offset:r.offset+n.offset}},t.getCoincidentTopologyPointOffsetParameter=()=>{const r=an.getResolveCoincidentTopologyPointOffsetParameters(),n=t.getRelativeCoincidentTopologyPointOffsetParameters();return{factor:r.factor+n.factor,offset:r.offset+n.offset}}}var Cc={implementCoincidentTopologyMethods:ox,staticOffsetAPI:an,otherStaticMethods:Fo,CATEGORIES:yc,Resolve:dt},cx={NONE:-1,I:0,J:1,K:2,X:3,Y:4,Z:5},Bg={SlicingMode:cx},er={NEAREST:0},ya={CLAMP_TO_EDGE:0,REPEAT:1,MIRRORED_REPEAT:2},X={NEAREST:0,LINEAR:1,NEAREST_MIPMAP_NEAREST:2,NEAREST_MIPMAP_LINEAR:3,LINEAR_MIPMAP_NEAREST:4,LINEAR_MIPMAP_LINEAR:5},Lg={Wrap:ya,Filter:X},Ug=new Float32Array(1),ux=new Int32Array(Ug.buffer);function fx(t){Ug[0]=t;const e=ux[0];let r=e>>16&32768,n=e>>12&2047;const a=e>>23&255;return a<103?r:a>142?(r|=31744,r|=(a===255?0:1)&&e&8388607,r):a<113?(n|=2048,r|=(n>>114-a)+(n>>113-a&1),r):(r|=a-112<<10|n>>1,r+=n&1,r)}function lx(t){const e=(t&32768)>>15,r=(t&31744)>>10,n=t&1023;return r===0?(e?-1:1)*2**-14*(n/2**10):r===31?n?NaN:(e?-1:1)*(1/0):(e?-1:1)*2**(r-15)*(1+n/2**10)}var Vn={fromHalf:lx,toHalf:fx};function gx(){try{const n=new Int16Array([0,32767]),a=[1,1],i=document.createElement("canvas");i.width=4,i.height=4;const s=i.getContext("webgl2");if(!s)return!1;const o=s.getExtension("EXT_texture_norm16");if(!o)return!1;const c=`#version 300 es
3
3
  void main() {
4
4
  gl_PointSize = ${4 .toFixed(1)};
@@ -1 +1 @@
1
- *{box-sizing:border-box}body{margin:0;background:#eef2f4;color:#203744;font:14px system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #bccbd2;background:#fff;border-radius:5px;padding:6px 10px;color:#214858}button:hover{background:#e3f0f5}button:disabled{opacity:.5;cursor:default}.heading-help{display:flex;align-items:center;gap:7px;margin-bottom:9px;min-width:0}.heading-help h2,.plot-panel header .heading-help{margin:0}button.help-button,.plot-panel header button.help-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;padding:0;border-radius:50%;border-color:#c9d3d8;color:#8797a0;font:italic 11px Georgia,serif;vertical-align:middle}.help-button:focus-visible{outline:2px solid #167d9a;outline-offset:3px}.help-tooltip{position:fixed;z-index:1000;width:310px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow-y:auto;padding:11px 13px;background:#183348;color:#edf5f8;border-radius:6px;box-shadow:0 4px 16px #10253630;font-size:12px;line-height:1.5}.control-with-help{display:flex;align-items:center;gap:7px}.control-with-help .signal-picker{min-width:0}input,select{padding:5px;border:1px solid transparent;border-radius:4px;max-width:100%}input[type=number]{min-width:5em;border-color:#bccbd2;background:#fff;color:#203744;font-variant-numeric:tabular-nums}input[type=number]::-webkit-inner-spin-button{opacity:.65}.selection-overlay{position:absolute;inset:20px 20px 40px 60px;width:calc(100% - 80px);height:calc(100% - 60px);touch-action:none;cursor:crosshair}.selection-overlay.image{inset:40px;width:calc(100% - 80px);height:calc(100% - 80px)}.signal-picker{position:relative;width:100%}.signal-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:34px;text-align:left;color:#203744}.signal-picker-trigger span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signal-picker-popover{position:absolute;z-index:10;top:calc(100% + 4px);left:0;right:0;width:max(100%,250px);max-width:calc(100vw - 40px);padding:6px;background:#fff;border:1px solid transparent;border-radius:5px;box-shadow:0 5px 18px #20374425}.signal-picker-popover>input{width:100%;margin-bottom:6px}.signal-picker-list{max-height:200px;overflow-y:auto}.signal-picker-list button{display:block;width:100%;border:0;text-align:left;white-space:normal}.signal-picker-list button[aria-selected=true]{background:#e3f0f5}.signal-picker-empty{padding:9px;color:#78909b}output{display:block}.masthead{min-height:56px;background:#102536;color:#fff;padding:8px 16px;display:flex;align-items:center;gap:18px}.masthead strong{font-size:19px;font-weight:600;letter-spacing:-.6px}.brand{flex:none;display:flex;align-items:center;gap:10px}.brand-name small{display:block;color:#87b8bf;letter-spacing:1.4px;font-size:9px;margin-top:2px}.mark{width:32px;height:36px;flex:none;color:#fff}.file-bar{display:flex;flex:1;min-width:0;gap:12px;align-items:center}.file-bar>button{flex:none;white-space:nowrap}.tabs{align-items:center;min-height:34px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#6e939f transparent}.tabs,.tab{display:flex;gap:2px}.tab{height:34px;flex:none;max-width:360px;background:#254354;border-radius:5px}.tab button{height:34px;padding-top:0;padding-bottom:0;border:0;background:transparent;color:#dce8ee}.tab button[role=tab]{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab button[aria-label]{flex:none}.tab.active button{color:#203744}.tab.active{background:#fff;box-shadow:none}.analysis-heading{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;gap:12px}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:1.8px;color:#668392}h1{font-size:20px;letter-spacing:-.6px;margin:4px 0}h2{font-size:14px;margin:0 0 9px}.row{display:flex;gap:8px;align-items:center}.muted,.scope-note,small{color:#6d8390;font-size:12px}.exact-form{display:flex;flex-wrap:wrap;gap:7px;align-items:end;margin:8px 0}.exact-form label{flex:1;min-width:60px;font-size:11px;color:#617582}.exact-form input{width:100%;display:block}.exact-form button{font-size:12px}.mass-row{display:flex;gap:4px;margin-bottom:6px;align-items:center}.mass-row input{min-width:0;width:86px}.mass-row.selected{border-left:2px solid #c58b28;padding-left:4px}.primary{background:#166c84;color:#fff;width:100%;margin-top:10px}.primary:hover{background:#205e70}.job{padding:10px 0;font-size:12px}.job progress{width:100%}.depth-strip{background:#fff;border:1px solid transparent;border-radius:7px;padding:6px 10px;margin-bottom:8px;display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap}.depth-strip input[type=number]{width:70px}.depth-strip input[type=range]{width:130px}.plot-grid{display:grid;grid-template-columns:minmax(280px,min(38vh,480px)) minmax(0,1fr);gap:10px}.plot-panel{background:#fff;border:1px solid transparent;border-radius:7px;min-width:0;overflow:hidden;box-shadow:0 2px 5px #213d5010;min-height:300px;height:340px;display:flex;flex-direction:column}.plot-panel header{padding:12px 14px 0;display:flex;align-items:center;justify-content:space-between;gap:5px}.plot-panel header h2{margin:0}.plot-panel header button{padding:3px 6px;font-size:11px}.plot-panel header>.row>button{min-height:26px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.plot-panel header>.row .control-popover>button,.plot-panel header>.row .plot-csv-button{min-height:26px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.plot-panel header button.plot-icon-button{width:26px;height:26px;flex:0 0 auto;padding:0}.plot-panel footer{padding:0 15px 8px;font-size:11px;color:#78909b}.plot-body{position:relative;flex:1;min-height:120px;display:flex;align-items:center;justify-content:center}.plot-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#718895;font-size:13px;z-index:1;pointer-events:none}.plot-spinner{width:26px;height:26px;border:3px solid #d8e3e8;border-top-color:#34758b;border-radius:50%;animation:plot-spin .8s linear infinite}@keyframes plot-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.plot-spinner{animation:none;border-top-color:#34758b}}.plot-stage{position:relative;width:100%;height:100%;min-width:0;min-height:0}.plot-stage.image{flex:none}.plot-stage.image[data-stage-ready=false]{visibility:hidden}.chart{width:100%;height:100%;position:absolute}.plot-panel.maximized,.spectrum-workbench.maximized{position:fixed;inset:20px;z-index:20;height:auto;background:#fff;box-shadow:0 0 0 30px #20374499}.error{background:#fff1e9;color:#903a21;padding:12px 24px;display:flex;gap:14px;align-items:center}.scope-note{grid-column:2;margin:0;line-height:1.5}.welcome{max-width:700px;margin:12vh auto;padding:30px}.welcome h1{font-size:42px}.welcome p{font-size:16px;line-height:1.6}.welcome .muted{font-size:13px}.scrim{position:fixed;inset:0;background:#16334488;z-index:50;display:grid;place-items:center}.dialog{width:min(720px,95vw);max-height:90vh;overflow:auto;background:#fff;padding:24px;border-radius:10px;box-shadow:0 15px 60px #102c4466}.dialog header{display:flex;align-items:center;justify-content:space-between}.recent button{font-size:11px;padding:3px 6px}[hidden]{display:none!important}@media(max-width:1050px){.plot-grid{grid-template-columns:minmax(0,1fr)}.analysis-heading{flex-wrap:wrap;gap:12px}}@media(max-width:650px){.scope-note{grid-column:1}.masthead{padding:10px;flex-wrap:wrap;gap:10px}.analysis-heading{padding:15px}.file-bar{flex-basis:100%}.welcome{margin:40px auto}}.curve-marker{display:inline-block;flex:none;width:22px;border-top-width:3px;margin-top:8px}.profile-legend{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:8px 14px 0;padding:0;max-height:72px;overflow-y:auto;flex:none;font-size:12px}.profile-legend li{display:flex;align-items:center;gap:7px;min-width:0}.profile-legend li>span:last-child{overflow-wrap:anywhere}.profile-legend .curve-marker{margin-top:0}.signal-workspace{padding:0 12px 12px}.signal-tray{position:relative;margin-bottom:8px;border:1px solid transparent;border-radius:7px;background:#fff}.signal-strip{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:6px 10px}.signal-strip .curve-marker{margin-top:0}.signal-tray .heading-help{margin:0}.image-signal-choice{display:flex;align-items:center;gap:7px;min-width:0}.image-signal-choice select{width:170px;min-width:0;text-overflow:ellipsis}.signal-profiles{display:flex;align-items:center;gap:8px;flex:1;min-width:180px}.signal-chips{display:flex;gap:6px;min-width:0;overflow-x:auto;padding:2px 0}.signal-chip{display:flex;flex:0 0 auto;align-items:center;border:1px solid transparent;border-radius:5px;background:#f5f9fb}.signal-chip button{border:0;background:transparent;padding:5px 7px}.signal-chip-details{display:flex;align-items:center;gap:6px;min-width:0}.signal-chip-details>span:not(.curve-marker){max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signal-chip-details [role=status]{font-size:11px}.signal-strip-actions{flex:none;display:flex;align-items:center;gap:6px}.signal-strip-actions>button,.signal-strip-actions .signal-picker-trigger{line-height:1.4;min-height:34px;display:inline-flex;align-items:center}.signal-strip-actions .signal-picker{width:auto}.signal-strip-actions .signal-picker-trigger{width:max-content}.signal-strip-actions .signal-picker-popover{left:auto;right:0}.signal-picker-create{width:100%;margin-bottom:6px;text-align:left}.signal-columns,.signal-row{display:grid;grid-template-columns:minmax(0,1fr) 80px 80px 120px;gap:12px;align-items:center;padding:9px 14px}.signal-columns{background:#f3f7f9;font-size:11px;color:#617582;border-block:1px solid #e2e9ed}.signal-rows{max-height:264px;overflow-y:auto;scrollbar-gutter:stable}.signal-row{min-height:66px;border-bottom:1px solid #e8eef1}.signal-row:last-child{border-bottom:0}.signal-name{display:flex;align-items:flex-start;gap:9px;min-width:0}.signal-name>div{min-width:0}.signal-name small{display:block;overflow-wrap:anywhere}.signal-choice{display:flex;align-items:center;justify-content:center}.signal-choice span{display:none}.signal-choice input{width:17px;height:17px;accent-color:#167d9a}.text-button{border:0;background:transparent;padding:0;text-align:left;overflow-wrap:anywhere}.signal-name .text-button{font-weight:600;color:#203744}.signal-row progress{display:block;max-width:200px;height:5px}.tool-popover{position:fixed;z-index:40;width:400px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:auto;padding:16px;background:#fff;border:1px solid transparent;border-radius:7px;box-shadow:0 7px 28px #10253630}.tool-popover>.row:first-child{justify-content:space-between;margin-bottom:10px}.tool-popover h2{margin:0}.tool-popover label{display:block;min-width:0}.tool-popover .row{flex-wrap:wrap}.tool-popover input{max-width:100%}.signal-rename>label{margin-bottom:6px}.signal-rename .row{flex-wrap:nowrap}.signal-rename input{flex:1;min-width:0;width:100%;border-color:#879da8;background:#f7fafc;padding:8px 10px}.signal-rename button{flex:none}.plot-context{padding:5px 14px 0;font-size:11px}.plot-status{overflow-wrap:anywhere;color:#617582}.plot-controls{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:5px}.plot-controls button,.plot-controls select{font-size:11px;padding:3px 5px}.plot-controls label{display:flex;align-items:center;gap:3px}.spectrum-workbench{min-width:0;display:grid;min-height:340px}.spectrum-workbench.has-editor{grid-template-columns:minmax(220px,30%) minmax(0,1fr);gap:10px;min-height:420px}.spectrum-workbench>.plot-panel{height:auto;min-height:340px}.spectrum-workbench.maximized{border-radius:7px;overflow:hidden}.signal-editor{min-width:0;padding:14px;background:#fff;border:1px solid transparent;border-radius:7px;max-height:620px;overflow-y:auto}.spectrum-workbench.maximized .signal-editor{max-height:calc(100vh - 36px)}.signal-editor fieldset{border:0;margin:0;padding:0;min-width:0}.signal-editor label{display:block;font-size:12px;color:#617582;margin-bottom:8px}.signal-editor label>input{display:block;width:100%;margin-top:4px}.signal-editor .mass-row{gap:3px}.signal-editor .mass-row input{flex:1;width:0}.signal-editor .mass-row button{padding:4px}.signal-editor .frame-label{margin-top:14px;margin-bottom:0}.signal-editor .draft-status{font-size:12px;color:#9b6c14}.signal-editor .primary{margin:0}.signal-editor progress{width:100%}.signal-editor [role=status],.signal-editor [role=alert]{margin-top:10px;font-size:12px}.signal-workspace>.scope-note{grid-column:auto;margin:14px 0 0}.depth-strip{flex-wrap:wrap}.depth-strip .heading-help{margin:0}.depth-strip>.heading-help{flex:none;min-width:0}.depth-strip>.heading-help h2{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.depth-strip .exact-form{margin:0}.depth-strip input[aria-label=Frame]{width:70px}.plot-grid>.plot-panel{height:auto;min-height:340px}.profile-legend button{font-size:inherit}@media(max-width:1100px){.spectrum-workbench.has-editor{grid-template-columns:minmax(0,1fr)}.signal-editor{max-height:360px}.spectrum-workbench.maximized{overflow-y:auto}.spectrum-workbench.maximized>.plot-panel{min-height:400px}}@media(max-width:650px){.signal-workspace{padding:0 10px 14px}.signal-columns{display:none}.signal-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.signal-name{grid-column:1 / -1}.signal-choice{justify-content:flex-start;gap:8px}.signal-choice span{display:inline}.signal-actions{grid-column:1 / -1;justify-content:flex-end}.signal-rows{max-height:380px}.analysis-heading>.row,.plot-panel header>.row{flex-wrap:wrap}.plot-panel header{align-items:flex-start}}.save-copy form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.save-copy form label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:180px}.save-copy input{height:36px;min-height:36px;padding:8px 10px;border:1px solid #718a98;border-radius:5px;background:#fff;color:#173d4b}.save-copy form>button{height:36px;min-height:36px;padding:8px 12px;font:inherit}.save-copy input:focus-visible{outline:2px solid #315d70;outline-offset:2px}.save-copy input:disabled{background:#f0f4f6;color:#536974}.save-copy progress{display:block;width:100%;margin-bottom:8px}.download-copy{display:inline-block;padding:7px 12px;border:1px solid transparent;border-radius:5px;color:#203744}.folder-paths{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.5rem 1rem;font-size:.85rem;padding:.8rem;background:#f3f7f8;border-radius:.4rem}.folder-paths dt{font-weight:600}.folder-paths dd{margin:0;overflow-wrap:anywhere}@media(max-width:600px){.folder-paths{grid-template-columns:minmax(0,1fr)}}.dialog.file-explorer{width:min(960px,calc(100vw - 32px));height:min(640px,calc(100dvh - 48px));max-height:none;padding:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.file-explorer-header{padding:14px 18px;border-bottom:1px solid #dce5e9}.file-explorer-header h2{margin:0;font-size:1.05rem}.file-explorer-header button{border:0;font-size:1.25rem;padding:2px 8px}.file-explorer-body{display:grid;grid-template-columns:184px minmax(0,1fr);min-height:0}.file-sidebar{padding:12px 8px;background:#f4f7f9;border-right:1px solid #dce5e9}.file-explorer .file-sidebar button{height:auto;min-height:56px;line-height:1.4;display:flex;align-items:center;gap:9px;width:100%;border:0;text-align:left;padding:10px;background:transparent}.file-sidebar button[aria-pressed=true]{background:#e0edf3;color:#21556b}.file-sidebar button>span{min-width:0}.file-sidebar strong{font-size:.85rem;display:block}.file-sidebar small{display:block;font-size:.72rem;margin-top:3px;color:#667f8c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-icon{flex:0 0 20px;width:20px;height:20px;color:#638da0}.file-explorer-main{min-width:0;min-height:0;display:flex;flex-direction:column}.file-explorer-toolbar{display:flex;gap:6px;padding:12px;align-items:center}.file-up{padding:5px 9px}.file-breadcrumbs{min-width:0;flex:1;display:flex;align-items:center;overflow:auto;scrollbar-width:thin}.file-breadcrumbs>span{display:flex;align-items:center;min-width:0;flex-shrink:0}.file-breadcrumbs button{border:0;background:transparent;padding:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:360px}.file-breadcrumbs button[aria-current]{font-weight:600}.breadcrumb-separator{color:#7e929d;padding:0 2px}.file-explorer-toolbar input{width:min(200px,35%);min-width:100px;font-size:.82rem}.file-list{flex:1;min-height:0;overflow:auto;position:relative;border-top:1px solid #e2e9ec}.file-list table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.84rem}.file-list th{position:sticky;top:0;z-index:1;background:#f7f9fa;text-align:left;color:#657d8a;font-size:.76rem;font-weight:500;border-bottom:1px solid #e2e9ec;padding:9px 14px}.file-list th:last-child{width:90px;text-align:right}.file-list td{padding:0}.file-list td:last-child{text-align:right;padding-right:14px;color:#667f8c;font-size:.77rem}.file-list tr[aria-selected]:hover{background:#f1f6f9}.file-list tr[aria-selected=true],.file-list tr[aria-selected=true]:hover{background:#dcecf4}.file-list td button{display:flex;align-items:center;gap:9px;border:0;border-radius:0;width:100%;padding:10px 14px;text-align:left;background:transparent;color:inherit}.file-list td button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list td button:focus-visible{outline:2px solid #50849c;outline-offset:-2px}.file-list-message{display:flex;gap:10px;align-items:center;justify-content:center;min-height:100px;font-size:.85rem;color:#637e8c}.file-list-status{display:flex;align-items:center;justify-content:space-between;min-height:34px;padding:4px 12px;font-size:.72rem;color:#728691;border-top:1px solid #e2e9ec}.file-list-status button{padding:0 8px;margin-left:4px}.file-error{margin:0;padding:6px 12px;font-size:.8rem;color:#923d35}.file-explorer-footer{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid #dce5e9}.file-explorer-footer>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;color:#687e8b}.file-explorer-footer button{min-width:80px;width:auto;flex:0 0 auto;margin:0}.folder-paths dd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}@media(max-width:640px){.dialog.file-explorer{width:calc(100vw - 16px);height:min(640px,calc(100dvh - 24px))}.file-explorer-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.file-sidebar{display:flex;gap:4px;padding:5px 8px;border-right:0;border-bottom:1px solid #dce5e9}.file-sidebar button{min-width:0;flex:1;padding:7px}.file-sidebar small{max-width:170px}.file-explorer-toolbar{flex-wrap:wrap;padding:8px}.file-breadcrumbs{max-width:calc(100% - 42px)}.file-explorer-toolbar input{width:100%}.file-explorer-footer{padding:10px}.file-explorer-footer>span{font-size:.72rem}.file-explorer-header{padding:10px 14px}}.raw-preparation{max-width:660px}.raw-preparation p{line-height:1.5;overflow-wrap:anywhere}.preparation-filename{display:grid;gap:8px}.raw-preparation progress{width:100%}.preparation-actions{justify-content:flex-end}.preparation-actions>button{width:auto;margin-top:0;min-height:34px;flex-shrink:0;white-space:nowrap}.calibration-graph{height:300px;margin:.5rem 0 1rem}.calibration-graph .plot-panel{height:260px;min-height:0}.calibration-graph .plot-panel header .plot-icon-button:last-child{display:none}.anchor-summary{font-size:.8rem}.anchor-table{width:100%;text-align:left}.anchor-table input{width:10rem}.anchor-table td{padding:.3rem}.tool-popover fieldset{border:0;padding:0;margin:0;min-width:0}.calibration-editor input,.calibration-editor select{border:1px solid #718a98;background-color:#fff;color:#173d4b;border-radius:5px}.calibration-editor fieldset>.row>label{display:grid;gap:5px}.calibration-editor .anchor-entry{align-items:flex-end}.calibration-editor input:disabled,.calibration-editor select:disabled{background-color:#f0f4f6;color:#536974}.calibration-error{color:#9f1b1b;background:#fff0f0;border:1px solid #cc5656;border-radius:5px;padding:10px 12px;font-weight:600}.depth-coordinate-controls{display:flex;gap:5px}.depth-coordinate-controls button[aria-pressed=true]{color:#fff;background:#245b70;border-color:#245b70}.plot-panel .plot-axis-description{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.plot-cursor-readout{position:absolute;top:2px;right:26px;padding:3px 7px;border:1px solid #bccbd2;border-radius:4px;background:#fffe;color:#173d4b;font-size:12px;font-variant-numeric:tabular-nums;pointer-events:none}.plot-pan-button[aria-pressed=true]{color:#fff;background:#245b70;border-color:#245b70}.plot-controls select{background-color:#fff;border-color:#718a98;color:#173d4b}.image-display-settings>label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.image-display-settings>label:has(input[type=checkbox]){justify-content:flex-start}.image-display-settings select{max-width:190px;min-width:0}.plot-controls .control-popover{min-width:0;max-width:100%}.plot-controls .control-popover>button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plot-panel header{flex-wrap:wrap}.plot-heading{display:flex;align-items:center;flex-wrap:wrap;flex:1;min-width:min-content;gap:6px 12px}.plot-heading>label{display:inline-flex;align-items:center;gap:4px;font-size:11px;white-space:nowrap}.plot-heading>.plot-status{font-size:11px}.plot-panel header>.row{flex-shrink:0}.signal-editor input{border-color:#879da8;background:#fff;color:#203744}.signal-editor input:focus{outline:2px solid #167d9a;outline-offset:1px}.signal-editor .signal-name-field>input{padding:8px 10px;background:#f7fafc;font-weight:600}.signal-editor .editable-hint{margin-left:6px;font-size:10px;color:#617582;font-weight:400}.file-bar>.open-file-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0}.file-bar>button.help-button{width:30px;height:30px;border-color:#58717c;color:#91a4ad;background:transparent}.file-bar>button.help-button:hover{background:#254354}.analysis-heading>div:first-child>span{font-size:12px}.analysis-heading>.row{gap:6px;flex-wrap:wrap}.analysis-heading button,.signal-strip button,.signal-strip select,.depth-strip button,.depth-strip input[type=number]{min-height:28px;height:28px;padding:3px 7px;font-size:12px}.analysis-heading button.help-button{flex:none;width:16px;min-width:16px;min-height:16px;height:16px;padding:0}.signal-strip,.depth-strip,.signal-strip h2,.depth-strip h2{font-size:12px}.signal-strip-actions>button,.signal-strip-actions .signal-picker-trigger{min-height:28px}.signal-strip .signal-chip button{padding:3px 6px}.signal-chips{padding:0}.depth-strip>.row,.depth-coordinate-controls{gap:4px}.depth-strip .exact-form{align-items:center;gap:6px}.depth-strip .exact-form label{display:inline-flex;align-items:center;flex:none;gap:4px;margin:0;font-size:11px}.depth-strip .exact-form input[type=number],.depth-strip input[aria-label=Frame]{width:76px}.depth-strip input[type=range]{width:110px;margin:0 4px}.signal-strip button.help-button,.depth-strip button.help-button{min-width:16px;min-height:16px;width:16px;height:16px;padding:0}.depth-mode-controls,.depth-selection-controls,.depth-axis-settings{display:flex;align-items:center;gap:4px;flex:none}.depth-mode-controls{gap:0}.depth-mode-controls button{border-radius:0;position:relative}.depth-mode-controls button+button{margin-left:-1px}.depth-mode-controls button:first-child{border-radius:4px 0 0 4px}.depth-mode-controls button:last-child{border-radius:0 4px 4px 0}.depth-mode-controls button[aria-pressed=true]{background:#345d70;border-color:#345d70;color:#fff;z-index:1}.depth-view-status{color:#617582;white-space:nowrap;font-variant-numeric:tabular-nums}.depth-axis-settings{margin-left:auto;padding-left:10px;border-left:1px solid #dce4e8}.depth-axis-label{color:#617582;margin-right:3px}@media(max-width:700px){.depth-axis-settings{flex-wrap:wrap;margin-left:0;padding-left:0;border-left:0}}.app-credit{display:flex;align-items:center;justify-content:center;gap:7px;padding:6px 16px 10px;color:#617582;font-size:11px}.app-credit img{width:98px;height:28px;object-fit:contain}.app-credit .datasophos-credit{display:inline-flex;align-items:center;gap:7px}.app-credit a{display:inline-flex;align-items:center;gap:4px;color:inherit;text-decoration:none}.app-credit a:hover{text-decoration:underline}.app-credit>a+a{border-left:1px solid #c9d3d8;padding-left:12px;margin-left:5px}.identification-dialog{font-size:13px}.identification-dialog input[type=number]{width:140px}.identification-dialog select{max-width:330px}.identification-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere}.identification-dialog details{margin:8px 0;overflow-wrap:anywhere}.isotope-table-scroll{overflow-x:auto;max-height:240px}.isotope-table-scroll table{width:100%;border-collapse:collapse}.isotope-table-scroll th,.isotope-table-scroll td{padding:8px;border-bottom:1px solid #cbd5da;text-align:left}.atomic-identification{display:flex;flex-direction:column;gap:16px;padding:20px}.atomic-identification>*{flex-shrink:0}.atomic-identification>.row:first-child{margin-bottom:0}.atomic-identification p{margin:0;line-height:1.5}.identification-intro,.identification-action-note,.identification-result-summary{color:#536974}.atomic-identification label:not(.isotope-choice,.identification-include){display:grid;gap:6px}.atomic-identification input[type=number],.atomic-identification select{width:100%;max-width:none;min-width:0;min-height:34px;border:1px solid #718a98;background:#fff;color:#173d4b;border-radius:5px}.identification-search{display:grid;grid-template-columns:minmax(150px,1fr) minmax(100px,.65fr) minmax(100px,.65fr) auto;gap:16px;align-items:end}.identification-search button{min-height:34px}.atomic-identification legend{font-weight:600;margin-bottom:8px}.atomic-identification .identification-charges label,.atomic-identification .identification-include,.atomic-identification .isotope-choice{display:inline-flex;align-items:center;gap:6px}.identification-charges .row{gap:16px}.atomic-identification input[type=checkbox],.atomic-identification input[type=radio]{margin:0}.atomic-identification .identification-spectrum .plot-panel{height:250px;min-height:0;border-color:#dbe4e9;box-shadow:none}.atomic-identification .identification-spectrum .plot-body{height:auto}.identification-spectrum .plot-panel header .plot-icon-button:last-child{display:none}.identification-results{display:grid;gap:10px;min-width:0}.identification-result-options{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.identification-result-options>label:first-child{min-width:180px}.identification-result-options .identification-include{padding-bottom:8px}.identification-result-summary,.identification-action-note{font-size:12px}.atomic-identification .isotope-table-scroll{max-height:190px}.atomic-identification .isotope-table-scroll th{position:sticky;top:0;background:#f0f4f6}.atomic-identification .isotope-table-scroll td{font-variant-numeric:tabular-nums}.atomic-identification .isotope-table-scroll tr.selected{background:#eaf4f8}.atomic-identification .identification-provenance{margin:0;color:#536974;font-size:12px}.identification-provenance summary{cursor:pointer;color:#214858}.identification-provenance[open]{display:grid;gap:8px}.identification-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px;border-top:1px solid #dbe4e9;padding-top:16px}.atomic-identification .identification-actions fieldset{display:grid;align-content:start;gap:10px}.atomic-identification .identification-actions legend{margin-bottom:0;padding-bottom:10px}.identification-window{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.identification-footer{display:flex;justify-content:flex-end}@media(max-width:650px){.atomic-identification{padding:16px}.identification-search{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.identification-actions{grid-template-columns:minmax(0,1fr);gap:16px}.atomic-identification .identification-spectrum .plot-panel{height:230px}.atomic-identification .plot-heading{min-width:0}}.isotope-measurements{display:flex;flex-direction:column;gap:16px;padding:20px}.isotope-measurements>*{flex-shrink:0}.isotope-measurements p,.isotope-measurements h3{margin:0;line-height:1.5}.identification-prealpha{padding:10px 12px;border:1px solid #b47b22;border-radius:6px;background:#fff6e2;color:#553800}.measurement-intro,.measurement-secondary,.measurement-context span,.measurement-status{color:#536974}.measurement-selection{border:1px solid #dbe4e9;border-radius:6px;padding:16px;display:grid;gap:12px}.measurement-selection legend{font-weight:600;margin-bottom:10px}.measurement-selection fieldset{display:flex;flex-wrap:wrap;gap:8px 16px}.measurement-selection label{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#f0f4f6;border-radius:4px}.measurement-selection input{margin:0}.measurement-status,.measurement-secondary,.measurement-context span,.measurement-note,.measurement-help,.measurement-provenance{font-size:12px}.isotope-measurements [data-testid=isotope-results]{display:grid;gap:12px}.measurement-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.measurement-context>div{display:grid;gap:4px;padding:12px;border-radius:5px;background:#f0f4f6}.measurement-note{border-left:3px solid #718a98;padding:8px 12px;color:#3a5867;background:#f5f8fa}.measurement-secondary{display:block;margin-top:4px;line-height:1.4}.isotope-measurements .isotope-table-scroll th{position:sticky;top:0;background:#f0f4f6}.isotope-measurements .isotope-table-scroll td{vertical-align:top;font-variant-numeric:tabular-nums}.isotope-measurements summary{cursor:pointer;color:#214858}.isotope-measurements details p{margin-top:8px}.measurement-footer{border-top:1px solid #dbe4e9;padding-top:16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}@media(max-width:650px){.isotope-measurements{padding:16px}.measurement-context{grid-template-columns:minmax(0,1fr)}}.isotope-measurements .isotope-table-scroll table{min-width:720px}.file-new-folder{display:flex;gap:10px;align-items:end;padding:12px 16px;border-top:1px solid #dbe4e9;flex-wrap:wrap}.file-new-folder label{min-width:160px;display:grid;gap:5px;flex:1}.file-new-folder input{border:1px solid #718a98;background:#fff;min-width:0;width:100%}.choose-save-folder{margin-bottom:16px}.dialog.file-explorer.folder-picker{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto}.save-copy .folder-paths dd{white-space:normal;overflow-wrap:anywhere}.volume-workspace{display:grid;grid-template-columns:270px minmax(0,1fr);gap:16px;margin-top:12px}.volume-workspace.maximized{position:fixed;inset:14px;z-index:80;overflow:auto;background:var(--surface, #f6f9fa);padding:18px;border-radius:16px;box-shadow:0 12px 48px #16374844}.volume-workspace.maximized{margin:0;grid-template-rows:minmax(0,1fr);border:1px solid #d7e2e8;box-shadow:0 0 0 100vmax #101f2ea6,0 12px 48px #16374866}.volume-workspace.maximized .volume-display{display:flex;flex-direction:column;min-height:0}.volume-workspace.maximized .volume-display>.volume-canvas{flex:1 1 0;min-height:0;height:auto}.volume-workspace.maximized.controls-hidden{grid-template-columns:minmax(0,1fr)}.volume-workspace.controls-hidden .volume-layers,.volume-workspace.controls-hidden .volume-controls,.volume-workspace.controls-hidden .volume-page-controls,.volume-workspace.controls-hidden .volume-status,.volume-workspace.controls-hidden .volume-interaction-hint,.volume-workspace.controls-hidden .volume-rendering-notes{display:none}.volume-compact-controls{display:flex;justify-content:flex-end;gap:8px;margin-bottom:8px}.volume-layers{min-width:0}.volume-layers h2{margin:0 0 10px}.volume-layers label{display:flex;align-items:center;gap:6px;margin:6px 0;flex-wrap:wrap}.volume-layer-list{max-height:490px;overflow:auto}.volume-layer-list fieldset{margin:10px 0;border:0;background:#eef3f6;padding:10px;border-radius:12px}.volume-layer-list legend{font-weight:600}.volume-layer-list small{display:block;overflow-wrap:anywhere}.volume-toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.volume-toolbar label,.volume-choice-control{display:flex;flex-direction:column;gap:4px}.volume-choice{display:inline-flex;gap:0;padding:2px;border-radius:7px;background:#e4eaee}.volume-choice span{padding:5px 9px;color:#526b7a;border-radius:5px}.volume-choice span.active{background:#315e72;color:#fff}.volume-toolbar input[type=number]{width:85px}.volume-canvas{width:100%;height:470px}.volume-status{font-size:.85rem}.volume-profile-grid{display:block}.volume-profile-grid>:not(:last-child){display:none}.volume-profile-grid>:last-child{min-height:320px}@media(max-width:850px){.volume-workspace{grid-template-columns:1fr}.volume-layer-list{max-height:240px}}.spatial-panels{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:12px}.spatial-panels .volume-workspace{grid-template-columns:220px minmax(0,1fr)}.volume-profile-grid>.plot-panel:not(.maximized){height:700px}.volume-profile-grid{margin-top:12px}.volume-profile-grid .profile-legend{flex-wrap:wrap}@media(max-width:1100px){.spatial-panels{grid-template-columns:1fr}.volume-profile-grid>.plot-panel:not(.maximized){height:340px}}@media(max-width:650px){.spatial-panels .volume-workspace{grid-template-columns:1fr}}.analysis-heading{border-bottom:1px solid #d5e0e6}.analysis-view-tabs{display:flex;align-self:flex-end;gap:0;margin:0 auto -11px 20px}.analysis-view-tabs button[role=tab]{height:42px;padding:10px 16px;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:#526b7a;font-size:13px;white-space:nowrap}.analysis-view-tabs button[aria-selected=true]{border-bottom-color:#34758b;color:#173e52;font-weight:600}.analysis-view-tabs button:hover{color:#173e52;background:#e4edf1}@media(max-width:850px){.analysis-heading{flex-wrap:wrap}.analysis-view-tabs{order:3;flex-basis:100%;margin:0 0 -11px}}.volume-display{min-width:0}.volume-canvas{background:#101f2e;border-radius:9px;overflow:hidden;height:clamp(480px,60vh,720px)}.volume-loading{display:flex;align-items:center;justify-content:center;gap:10px;color:#c2d1dc}.volume-loading-spinner{width:20px;height:20px;border:2px solid #637c8b;border-top-color:#dceaf1;border-radius:50%;animation:volume-loading-spin .8s linear infinite}@keyframes volume-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.volume-loading-spinner{animation:none}}.volume-camera-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin-top:8px}.volume-camera-toolbar label{display:flex;flex-direction:column;gap:4px}.volume-camera-toolbar input[type=number]{width:85px}.volume-toolbar label:has(input[type=checkbox]),.volume-camera-toolbar label:has(input[type=checkbox]){flex-direction:row;align-items:center;align-self:center}.volume-interaction-hint{font-size:11px;color:#688295;margin-top:8px}.volume-rendering-notes{font-size:11px;color:#688295;margin-top:5px}.volume-rendering-notes summary{cursor:pointer}.volume-rendering-notes small{display:block;margin-top:5px}.volume-layers{background:#fff;border-radius:8px;padding:12px;align-self:start;box-shadow:0 2px 5px #213d5010}.volume-layer-list{max-height:min(650px,68vh)}.volume-layer-list fieldset{background:#f2f6f8}.volume-layer-list .row{flex-wrap:nowrap;gap:6px}.volume-layer-list .row label{flex-direction:row;white-space:nowrap}.volume-layer-list label:has(input[type=range]){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.volume-layer-list input[type=range]{grid-column:1 / -1;grid-row:2;width:100%;min-width:0}.volume-layer-list output{grid-column:2;grid-row:1;font-variant-numeric:tabular-nums}.volume-layer-list .row button{white-space:nowrap}@media(max-width:650px){.volume-canvas{height:450px}}.volume-layers select{min-width:0;max-width:100%}.vtk-volume-view{display:flex}.vtk-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:4px}.vtk-tiles[data-tile-count="1"]{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.vtk-tiles[data-tile-count="2"]{grid-template-rows:minmax(0,1fr)}.vtk-tile{min-width:0;min-height:0;display:flex;flex-direction:column;color:#c2d1dc}.vtk-tile-title{padding:8px 12px 0}.vtk-tile>.vtk-volume-view{flex:1;min-height:0;height:auto}.vtk-volume-viewport{flex:1;min-width:0;height:100%}.vtk-volume-legends{flex:0 0 120px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:8px;color:#c2d1dc;font-size:11px}.vtk-volume-legend{overflow-wrap:anywhere}.vtk-volume-scale{display:flex;gap:5px;height:100px;margin-top:4px}.vtk-volume-ramp{width:12px;height:100%}.vtk-volume-ticks{display:flex;flex-direction:column;justify-content:space-between}.spatial-panels{display:block}.spatial-panels .volume-workspace{grid-template-columns:240px minmax(0,1fr)}.volume-profile-grid{display:none}.volume-layers{position:relative}.volume-layer-list{max-height:min(650px,68vh);overflow-y:auto}.volume-signal-table{border-collapse:collapse;width:100%;font-size:13px}.volume-signal-table th{text-align:left;color:#6a8190;font-size:11px;font-weight:600;padding:6px 3px}.volume-signal-table .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.volume-signal-table td{border-top:1px solid #e4edf1;padding:5px 3px}.volume-signal-table td:first-child{width:40px;text-align:center}.volume-signal-table td:nth-child(2){overflow-wrap:anywhere}.volume-signal-settings{padding:1px 7px;line-height:1.4;font-size:19px}.volume-signal-popover{position:absolute;z-index:10;left:calc(100% + 8px);top:12px;width:260px;padding:14px;background:#fff;border:1px solid #cddbe3;border-radius:10px;box-shadow:0 8px 24px #16374833}.volume-popover-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.volume-signal-popover small{display:block;color:#6a8190;overflow-wrap:anywhere}.volume-signal-popover label{display:grid;grid-template-columns:1fr auto;gap:6px;margin:12px 0}.volume-signal-popover label select,.volume-signal-popover label input[type=range]{grid-column:1 / -1;width:100%}.volume-signal-popover label.volume-reverse-colormap{display:flex;align-items:center;gap:7px}.volume-controls{display:flex;align-items:end;flex-wrap:wrap;gap:8px 16px;margin-bottom:12px}.volume-page-controls{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}.volume-page-controls button{padding:6px 9px}.volume-camera-toolbar{margin-top:0}@media(max-width:850px){.spatial-panels .volume-workspace{grid-template-columns:1fr}.volume-signal-popover{left:auto;right:8px;top:44px}}@media(max-width:850px){.volume-workspace.maximized{grid-template-rows:auto minmax(320px,1fr)}.volume-workspace.maximized .volume-layer-list{max-height:140px}}@media(max-width:850px){.volume-workspace.maximized.controls-hidden{grid-template-rows:minmax(0,1fr)}}.volume-options{position:relative;align-self:end}.volume-options summary{list-style:none;cursor:pointer;padding:7px 10px;border:1px solid #cbd9e1;border-radius:6px;background:#fff;white-space:nowrap}.volume-options summary::-webkit-details-marker{display:none}.volume-options-panel{position:absolute;z-index:10;top:calc(100% + 6px);right:0;width:220px;padding:12px;border:1px solid #cddbe3;border-radius:9px;background:#fff;box-shadow:0 8px 24px #16374833}.volume-options-panel label{margin:8px 0}.volume-options-panel select{width:100%}.volume-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;margin-top:8px;color:#688295;font-size:11px}.volume-footer-help{flex:0 1 auto}.volume-footer .volume-interaction-hint{margin-top:0}.volume-footer-notes{flex:1 1 320px;text-align:right}.volume-footer-notes p{margin:0 0 3px;font-size:inherit}@media(max-width:650px){.volume-footer-notes{text-align:left}}.volume-sidebar{min-width:0;align-self:start;max-height:min(720px,75vh);overflow-y:auto;background:#fff;border-radius:8px;box-shadow:0 2px 5px #213d5010}.volume-workspace.maximized .volume-sidebar{max-height:100%}.volume-workspace.controls-hidden .volume-sidebar{display:none}.volume-sidebar .volume-layers{box-shadow:none;border-radius:0}.volume-sidebar .volume-signal-popover{left:8px;right:8px;width:auto;top:12px}.volume-sidebar-section{border-top:1px solid #e4edf1;padding:10px 12px}.volume-sidebar-section summary{cursor:pointer;font-weight:600;color:#294757}.volume-sidebar-section[open] summary{margin-bottom:10px}.volume-sidebar .volume-toolbar,.volume-sidebar .volume-camera-toolbar,.volume-sidebar-fields{display:flex;flex-direction:column;align-items:stretch;gap:8px}.volume-sidebar .volume-toolbar label:has(input[type=checkbox]),.volume-sidebar-fields .volume-log-control{display:flex;flex-direction:row;align-items:center;align-self:start;gap:6px}.volume-sidebar-fields label{display:flex;flex-direction:column;gap:4px}.volume-sidebar-fields input[type=number]{width:85px}.volume-sidebar .volume-camera-toolbar small{color:#688295}.volume-rotation-pad{display:grid;grid-template-columns:repeat(3,36px);grid-template-rows:repeat(2,32px);gap:4px}.volume-rotation-pad button{padding:0;font-size:18px}.volume-rotation-pad .rotate-counterclockwise{grid-column:1;grid-row:1}.volume-rotation-pad .rotate-clockwise{grid-column:3;grid-row:1}.volume-rotation-pad .rotate-up{grid-column:2;grid-row:1}.volume-rotation-pad .rotate-left{grid-column:1;grid-row:2}.volume-rotation-pad .rotate-down{grid-column:2;grid-row:2}.volume-rotation-pad .rotate-right{grid-column:3;grid-row:2}@media(max-width:850px){.volume-sidebar{max-height:min(420px,50vh)}}.volume-sidebar .volume-choice{align-self:flex-start}.volume-sidebar .volume-camera-toolbar{align-items:stretch}.volume-sidebar .volume-camera-toolbar>label{align-items:stretch}.volume-sidebar .volume-camera-toolbar>label select{align-self:flex-start}.volume-sidebar .volume-rotation-pad{align-self:center}.volume-sidebar .volume-camera-toolbar>button:not(.volume-choice){align-self:center}.volume-sidebar .volume-camera-toolbar small{text-align:center}.volume-sidebar .volume-camera-toolbar .volume-choice{align-self:flex-start}.volume-sidebar .volume-control-label{margin-top:4px}.volume-controls .volume-maximize,.volume-compact-controls .volume-maximize{width:26px;height:26px;flex:0 0 auto;padding:0}.volume-controls .volume-maximize{order:2;margin-left:auto}.volume-controls .volume-page-controls{margin-left:0}.volume-viewer{position:relative;min-height:0}.volume-workspace.maximized .volume-display>.volume-viewer{flex:1 1 0;min-height:0}.volume-workspace.maximized .volume-viewer>.volume-canvas{height:100%}.volume-viewer-actions{position:absolute;top:8px;right:8px;z-index:5;display:flex;gap:6px}.volume-viewer-actions .plot-icon-button{width:26px;height:26px;padding:0;display:inline-flex;justify-content:center;align-items:center}.volume-controls:empty{display:none}
1
+ *{box-sizing:border-box}body{margin:0;background:#eef2f4;color:#203744;font:14px system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #bccbd2;background:#fff;border-radius:5px;padding:6px 10px;color:#214858}button:hover{background:#e3f0f5}button:disabled{opacity:.5;cursor:default}.heading-help{display:flex;align-items:center;gap:7px;margin-bottom:9px;min-width:0}.heading-help h2,.plot-panel header .heading-help{margin:0}button.help-button,.plot-panel header button.help-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;padding:0;border-radius:50%;border-color:#c9d3d8;color:#8797a0;font:italic 11px Georgia,serif;vertical-align:middle}.help-button:focus-visible{outline:2px solid #167d9a;outline-offset:3px}.help-tooltip{position:fixed;z-index:1000;width:310px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow-y:auto;padding:11px 13px;background:#183348;color:#edf5f8;border-radius:6px;box-shadow:0 4px 16px #10253630;font-size:12px;line-height:1.5}.control-with-help{display:flex;align-items:center;gap:7px}.control-with-help .signal-picker{min-width:0}input,select{padding:5px;border:1px solid transparent;border-radius:4px;max-width:100%}input[type=number]{min-width:5em;border-color:#bccbd2;background:#fff;color:#203744;font-variant-numeric:tabular-nums}input[type=number]::-webkit-inner-spin-button{opacity:.65}.selection-overlay{position:absolute;inset:20px 20px 40px 60px;width:calc(100% - 80px);height:calc(100% - 60px);touch-action:none;cursor:crosshair}.selection-overlay.image{inset:40px;width:calc(100% - 80px);height:calc(100% - 80px)}.signal-picker{position:relative;width:100%}.signal-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:34px;text-align:left;color:#203744}.signal-picker-trigger span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signal-picker-popover{position:absolute;z-index:10;top:calc(100% + 4px);left:0;right:0;width:max(100%,250px);max-width:calc(100vw - 40px);padding:6px;background:#fff;border:1px solid transparent;border-radius:5px;box-shadow:0 5px 18px #20374425}.signal-picker-popover>input{width:100%;margin-bottom:6px}.signal-picker-list{max-height:200px;overflow-y:auto}.signal-picker-list button{display:block;width:100%;border:0;text-align:left;white-space:normal}.signal-picker-list button[aria-selected=true]{background:#e3f0f5}.signal-picker-empty{padding:9px;color:#78909b}output{display:block}.masthead{min-height:56px;background:#102536;color:#fff;padding:8px 16px;display:flex;align-items:center;gap:18px}.masthead strong{font-size:19px;font-weight:600;letter-spacing:-.6px}.brand{flex:none;display:flex;align-items:center;gap:10px}.brand-name small{display:block;color:#87b8bf;letter-spacing:1.4px;font-size:9px;margin-top:2px}.mark{width:32px;height:36px;flex:none;color:#fff}.file-bar{display:flex;flex:1;min-width:0;gap:12px;align-items:center}.file-bar>button{flex:none;white-space:nowrap}.tabs{align-items:center;min-height:34px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#6e939f transparent}.tabs,.tab{display:flex;gap:2px}.tab{height:34px;flex:none;max-width:360px;background:#254354;border-radius:5px}.tab button{height:34px;padding-top:0;padding-bottom:0;border:0;background:transparent;color:#dce8ee}.tab button[role=tab]{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab button[aria-label]{flex:none}.tab.active button{color:#203744}.tab.active{background:#fff;box-shadow:none}.analysis-heading{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;gap:12px}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:1.8px;color:#668392}h1{font-size:20px;letter-spacing:-.6px;margin:4px 0}h2{font-size:14px;margin:0 0 9px}.row{display:flex;gap:8px;align-items:center}.muted,.scope-note,small{color:#6d8390;font-size:12px}.exact-form{display:flex;flex-wrap:wrap;gap:7px;align-items:end;margin:8px 0}.exact-form label{flex:1;min-width:60px;font-size:11px;color:#617582}.exact-form input{width:100%;display:block}.exact-form button{font-size:12px}.mass-row{display:flex;gap:4px;margin-bottom:6px;align-items:center}.mass-row input{min-width:0;width:86px}.mass-row.selected{border-left:2px solid #c58b28;padding-left:4px}.primary{background:#166c84;color:#fff;width:100%;margin-top:10px}.primary:hover{background:#205e70}.job{padding:10px 0;font-size:12px}.job progress{width:100%}.depth-strip{background:#fff;border:1px solid transparent;border-radius:7px;padding:6px 10px;margin-bottom:8px;display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap}.depth-strip input[type=number]{width:70px}.depth-strip input[type=range]{width:130px}.plot-grid{display:grid;grid-template-columns:minmax(280px,min(38vh,480px)) minmax(0,1fr);gap:10px}.plot-panel{background:#fff;border:1px solid transparent;border-radius:7px;min-width:0;overflow:hidden;box-shadow:0 2px 5px #213d5010;min-height:300px;height:340px;display:flex;flex-direction:column}.plot-panel header{padding:12px 14px 0;display:flex;align-items:center;justify-content:space-between;gap:5px}.plot-panel header h2{margin:0}.plot-panel header button{padding:3px 6px;font-size:11px}.plot-panel header>.row>button{min-height:26px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.plot-panel header>.row .control-popover>button,.plot-panel header>.row .plot-csv-button{min-height:26px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.plot-panel header button.plot-icon-button{width:26px;height:26px;flex:0 0 auto;padding:0}.plot-panel footer{padding:0 15px 8px;font-size:11px;color:#78909b}.plot-body{position:relative;flex:1;min-height:120px;display:flex;align-items:center;justify-content:center}.plot-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#718895;font-size:13px;z-index:1;pointer-events:none}.plot-spinner{width:26px;height:26px;border:3px solid #d8e3e8;border-top-color:#34758b;border-radius:50%;animation:plot-spin .8s linear infinite}@keyframes plot-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.plot-spinner{animation:none;border-top-color:#34758b}}.plot-stage{position:relative;width:100%;height:100%;min-width:0;min-height:0}.plot-stage.image{flex:none}.plot-stage.image[data-stage-ready=false]{visibility:hidden}.chart{width:100%;height:100%;position:absolute}.plot-panel.maximized,.spectrum-workbench.maximized{position:fixed;inset:20px;z-index:20;height:auto;background:#fff;box-shadow:0 0 0 30px #20374499}.error{background:#fff1e9;color:#903a21;padding:12px 24px;display:flex;gap:14px;align-items:center}.scope-note{grid-column:2;margin:0;line-height:1.5}.welcome{max-width:700px;margin:12vh auto;padding:30px}.welcome h1{font-size:42px}.welcome p{font-size:16px;line-height:1.6}.welcome .muted{font-size:13px}.scrim{position:fixed;inset:0;background:#16334488;z-index:50;display:grid;place-items:center}.dialog{width:min(720px,95vw);max-height:90vh;overflow:auto;background:#fff;padding:24px;border-radius:10px;box-shadow:0 15px 60px #102c4466}.dialog header{display:flex;align-items:center;justify-content:space-between}.recent button{font-size:11px;padding:3px 6px}[hidden]{display:none!important}@media(max-width:1050px){.plot-grid{grid-template-columns:minmax(0,1fr)}.analysis-heading{flex-wrap:wrap;gap:12px}}@media(max-width:650px){.scope-note{grid-column:1}.masthead{padding:10px;flex-wrap:wrap;gap:10px}.analysis-heading{padding:15px}.file-bar{flex-basis:100%}.welcome{margin:40px auto}}.curve-marker{display:inline-block;flex:none;width:22px;border-top-width:3px;margin-top:8px}.profile-legend{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:8px 14px 0;padding:0;max-height:72px;overflow-y:auto;flex:none;font-size:12px}.profile-legend li{display:flex;align-items:center;gap:7px;min-width:0}.profile-legend li>span:last-child{overflow-wrap:anywhere}.profile-legend .curve-marker{margin-top:0}.signal-workspace{padding:0 12px 12px}.signal-tray{position:relative;margin-bottom:8px;border:1px solid transparent;border-radius:7px;background:#fff}.signal-strip{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:6px 10px}.signal-strip .curve-marker{margin-top:0}.signal-tray .heading-help{margin:0}.image-signal-choice{display:flex;align-items:center;gap:7px;min-width:0}.image-signal-choice select{width:170px;min-width:0;text-overflow:ellipsis}.signal-profiles{display:flex;align-items:center;gap:8px;flex:1;min-width:180px}.signal-chips{display:flex;gap:6px;min-width:0;overflow-x:auto;padding:2px 0}.signal-chip{display:flex;flex:0 0 auto;align-items:center;border:1px solid transparent;border-radius:5px;background:#f5f9fb}.signal-chip button{border:0;background:transparent;padding:5px 7px}.signal-chip-details{display:flex;align-items:center;gap:6px;min-width:0}.signal-chip-details>span:not(.curve-marker){max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signal-chip-details [role=status]{font-size:11px}.signal-strip-actions{flex:none;display:flex;align-items:center;gap:6px}.signal-strip-actions>button,.signal-strip-actions .signal-picker-trigger{line-height:1.4;min-height:34px;display:inline-flex;align-items:center}.signal-strip-actions .signal-picker{width:auto}.signal-strip-actions .signal-picker-trigger{width:max-content}.signal-strip-actions .signal-picker-popover{left:auto;right:0}.signal-picker-create{width:100%;margin-bottom:6px;text-align:left}.signal-columns,.signal-row{display:grid;grid-template-columns:minmax(0,1fr) 80px 80px 120px;gap:12px;align-items:center;padding:9px 14px}.signal-columns{background:#f3f7f9;font-size:11px;color:#617582;border-block:1px solid #e2e9ed}.signal-rows{max-height:264px;overflow-y:auto;scrollbar-gutter:stable}.signal-row{min-height:66px;border-bottom:1px solid #e8eef1}.signal-row:last-child{border-bottom:0}.signal-name{display:flex;align-items:flex-start;gap:9px;min-width:0}.signal-name>div{min-width:0}.signal-name small{display:block;overflow-wrap:anywhere}.signal-choice{display:flex;align-items:center;justify-content:center}.signal-choice span{display:none}.signal-choice input{width:17px;height:17px;accent-color:#167d9a}.text-button{border:0;background:transparent;padding:0;text-align:left;overflow-wrap:anywhere}.signal-name .text-button{font-weight:600;color:#203744}.signal-row progress{display:block;max-width:200px;height:5px}.tool-popover{position:fixed;z-index:40;width:400px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:auto;padding:16px;background:#fff;border:1px solid transparent;border-radius:7px;box-shadow:0 7px 28px #10253630}.tool-popover>.row:first-child{justify-content:space-between;margin-bottom:10px}.tool-popover h2{margin:0}.tool-popover label{display:block;min-width:0}.tool-popover .row{flex-wrap:wrap}.tool-popover input{max-width:100%}.signal-rename>label{margin-bottom:6px}.signal-rename .row{flex-wrap:nowrap}.signal-rename input{flex:1;min-width:0;width:100%;border-color:#879da8;background:#f7fafc;padding:8px 10px}.signal-rename button{flex:none}.plot-context{padding:5px 14px 0;font-size:11px}.plot-status{overflow-wrap:anywhere;color:#617582}.plot-controls{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:5px}.plot-controls button,.plot-controls select{font-size:11px;padding:3px 5px}.plot-controls label{display:flex;align-items:center;gap:3px}.spectrum-workbench{min-width:0;display:grid;min-height:340px}.spectrum-workbench.has-editor{grid-template-columns:minmax(220px,30%) minmax(0,1fr);gap:10px;min-height:420px}.spectrum-workbench>.plot-panel{height:auto;min-height:340px}.spectrum-workbench.maximized{border-radius:7px;overflow:hidden}.signal-editor{min-width:0;padding:14px;background:#fff;border:1px solid transparent;border-radius:7px;max-height:620px;overflow-y:auto}.spectrum-workbench.maximized .signal-editor{max-height:calc(100vh - 36px)}.signal-editor fieldset{border:0;margin:0;padding:0;min-width:0}.signal-editor label{display:block;font-size:12px;color:#617582;margin-bottom:8px}.signal-editor label>input{display:block;width:100%;margin-top:4px}.signal-editor .mass-row{gap:3px}.signal-editor .mass-row input{flex:1;width:0}.signal-editor .mass-row button{padding:4px}.signal-editor .frame-label{margin-top:14px;margin-bottom:0}.signal-editor .draft-status{font-size:12px;color:#9b6c14}.signal-editor .primary{margin:0}.signal-editor progress{width:100%}.signal-editor [role=status],.signal-editor [role=alert]{margin-top:10px;font-size:12px}.signal-workspace>.scope-note{grid-column:auto;margin:14px 0 0}.depth-strip{flex-wrap:wrap}.depth-strip .heading-help{margin:0}.depth-strip>.heading-help{flex:none;min-width:0}.depth-strip>.heading-help h2{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.depth-strip .exact-form{margin:0}.depth-strip input[aria-label=Frame]{width:70px}.plot-grid>.plot-panel{height:auto;min-height:340px}.profile-legend button{font-size:inherit}@media(max-width:1100px){.spectrum-workbench.has-editor{grid-template-columns:minmax(0,1fr)}.signal-editor{max-height:360px}.spectrum-workbench.maximized{overflow-y:auto}.spectrum-workbench.maximized>.plot-panel{min-height:400px}}@media(max-width:650px){.signal-workspace{padding:0 10px 14px}.signal-columns{display:none}.signal-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.signal-name{grid-column:1 / -1}.signal-choice{justify-content:flex-start;gap:8px}.signal-choice span{display:inline}.signal-actions{grid-column:1 / -1;justify-content:flex-end}.signal-rows{max-height:380px}.analysis-heading>.row,.plot-panel header>.row{flex-wrap:wrap}.plot-panel header{align-items:flex-start}}.save-copy form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.save-copy form label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:180px}.save-copy input{height:36px;min-height:36px;padding:8px 10px;border:1px solid #718a98;border-radius:5px;background:#fff;color:#173d4b}.save-copy form>button{height:36px;min-height:36px;padding:8px 12px;font:inherit}.save-copy input:focus-visible{outline:2px solid #315d70;outline-offset:2px}.save-copy input:disabled{background:#f0f4f6;color:#536974}.save-copy progress{display:block;width:100%;margin-bottom:8px}.download-copy{display:inline-block;padding:7px 12px;border:1px solid transparent;border-radius:5px;color:#203744}.folder-paths{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.5rem 1rem;font-size:.85rem;padding:.8rem;background:#f3f7f8;border-radius:.4rem}.folder-paths dt{font-weight:600}.folder-paths dd{margin:0;overflow-wrap:anywhere}@media(max-width:600px){.folder-paths{grid-template-columns:minmax(0,1fr)}}.dialog.file-explorer{width:min(960px,calc(100vw - 32px));height:min(640px,calc(100dvh - 48px));max-height:none;padding:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.file-explorer-header{padding:14px 18px;border-bottom:1px solid #dce5e9}.file-explorer-header h2{margin:0;font-size:1.05rem}.file-explorer-header button{border:0;font-size:1.25rem;padding:2px 8px}.file-explorer-body{display:grid;grid-template-columns:184px minmax(0,1fr);min-height:0}.file-sidebar{padding:12px 8px;background:#f4f7f9;border-right:1px solid #dce5e9}.file-explorer .file-sidebar button{height:auto;min-height:56px;line-height:1.4;display:flex;align-items:center;gap:9px;width:100%;border:0;text-align:left;padding:10px;background:transparent}.file-sidebar button[aria-pressed=true]{background:#e0edf3;color:#21556b}.file-sidebar button>span{min-width:0}.file-sidebar strong{font-size:.85rem;display:block}.file-sidebar small{display:block;font-size:.72rem;margin-top:3px;color:#667f8c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-icon{flex:0 0 20px;width:20px;height:20px;color:#638da0}.file-explorer-main{min-width:0;min-height:0;display:flex;flex-direction:column}.file-explorer-toolbar{display:flex;gap:6px;padding:12px;align-items:center}.file-up{padding:5px 9px}.file-breadcrumbs{min-width:0;flex:1;display:flex;align-items:center;overflow:auto;scrollbar-width:thin}.file-breadcrumbs>span{display:flex;align-items:center;min-width:0;flex-shrink:0}.file-breadcrumbs button{border:0;background:transparent;padding:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:360px}.file-breadcrumbs button[aria-current]{font-weight:600}.breadcrumb-separator{color:#7e929d;padding:0 2px}.file-explorer-toolbar input{width:min(200px,35%);min-width:100px;font-size:.82rem}.file-list{flex:1;min-height:0;overflow:auto;position:relative;border-top:1px solid #e2e9ec}.file-list table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.84rem}.file-list th{position:sticky;top:0;z-index:1;background:#f7f9fa;text-align:left;color:#657d8a;font-size:.76rem;font-weight:500;border-bottom:1px solid #e2e9ec;padding:9px 14px}.file-list th:last-child{width:90px;text-align:right}.file-list td{padding:0}.file-list td:last-child{text-align:right;padding-right:14px;color:#667f8c;font-size:.77rem}.file-list tr[aria-selected]:hover{background:#f1f6f9}.file-list tr[aria-selected=true],.file-list tr[aria-selected=true]:hover{background:#dcecf4}.file-list td button{display:flex;align-items:center;gap:9px;border:0;border-radius:0;width:100%;padding:10px 14px;text-align:left;background:transparent;color:inherit}.file-list td button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list td button:focus-visible{outline:2px solid #50849c;outline-offset:-2px}.file-list-message{display:flex;gap:10px;align-items:center;justify-content:center;min-height:100px;font-size:.85rem;color:#637e8c}.file-list-status{display:flex;align-items:center;justify-content:space-between;min-height:34px;padding:4px 12px;font-size:.72rem;color:#728691;border-top:1px solid #e2e9ec}.file-list-status button{padding:0 8px;margin-left:4px}.file-error{margin:0;padding:6px 12px;font-size:.8rem;color:#923d35}.file-explorer-footer{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid #dce5e9}.file-explorer-footer>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;color:#687e8b}.file-explorer-footer button{min-width:80px;width:auto;flex:0 0 auto;margin:0}.folder-paths dd{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}@media(max-width:640px){.dialog.file-explorer{width:calc(100vw - 16px);height:min(640px,calc(100dvh - 24px))}.file-explorer-body{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.file-sidebar{display:flex;gap:4px;padding:5px 8px;border-right:0;border-bottom:1px solid #dce5e9}.file-sidebar button{min-width:0;flex:1;padding:7px}.file-sidebar small{max-width:170px}.file-explorer-toolbar{flex-wrap:wrap;padding:8px}.file-breadcrumbs{max-width:calc(100% - 42px)}.file-explorer-toolbar input{width:100%}.file-explorer-footer{padding:10px}.file-explorer-footer>span{font-size:.72rem}.file-explorer-header{padding:10px 14px}}.raw-preparation{max-width:660px}.raw-preparation p{line-height:1.5;overflow-wrap:anywhere}.preparation-filename{display:grid;gap:8px}.raw-preparation progress{width:100%}.preparation-actions{justify-content:flex-end}.preparation-actions>button{width:auto;margin-top:0;min-height:34px;flex-shrink:0;white-space:nowrap}.calibration-graph{height:300px;margin:.5rem 0 1rem}.calibration-graph .plot-panel{height:260px;min-height:0}.calibration-graph .plot-panel header .plot-icon-button:last-child{display:none}.anchor-summary{font-size:.8rem}.anchor-table{width:100%;text-align:left}.anchor-table input{width:10rem}.anchor-table td{padding:.3rem}.tool-popover fieldset{border:0;padding:0;margin:0;min-width:0}.calibration-editor input,.calibration-editor select{border:1px solid #718a98;background-color:#fff;color:#173d4b;border-radius:5px}.calibration-editor fieldset>.row>label{display:grid;gap:5px}.calibration-editor .anchor-entry{align-items:flex-end}.calibration-editor input:disabled,.calibration-editor select:disabled{background-color:#f0f4f6;color:#536974}.calibration-error{color:#9f1b1b;background:#fff0f0;border:1px solid #cc5656;border-radius:5px;padding:10px 12px;font-weight:600}.depth-coordinate-controls{display:flex;gap:5px}.depth-coordinate-controls button[aria-pressed=true]{color:#fff;background:#245b70;border-color:#245b70}.plot-panel .plot-axis-description{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.plot-cursor-readout{position:absolute;top:2px;right:26px;padding:3px 7px;border:1px solid #bccbd2;border-radius:4px;background:#fffe;color:#173d4b;font-size:12px;font-variant-numeric:tabular-nums;pointer-events:none}.plot-pan-button[aria-pressed=true]{color:#fff;background:#245b70;border-color:#245b70}.plot-controls select{background-color:#fff;border-color:#718a98;color:#173d4b}.image-display-settings>label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.image-display-settings>label:has(input[type=checkbox]){justify-content:flex-start}.image-display-settings select{max-width:190px;min-width:0}.plot-controls .control-popover{min-width:0;max-width:100%}.plot-controls .control-popover>button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plot-panel header{flex-wrap:wrap}.plot-heading{display:flex;align-items:center;flex-wrap:wrap;flex:1;min-width:min-content;gap:6px 12px}.plot-heading>label{display:inline-flex;align-items:center;gap:4px;font-size:11px;white-space:nowrap}.plot-heading>.plot-status{font-size:11px}.plot-panel header>.row{flex-shrink:0}.signal-editor input{border-color:#879da8;background:#fff;color:#203744}.signal-editor input:focus{outline:2px solid #167d9a;outline-offset:1px}.signal-editor .signal-name-field>input{padding:8px 10px;background:#f7fafc;font-weight:600}.signal-editor .editable-hint{margin-left:6px;font-size:10px;color:#617582;font-weight:400}.file-bar>.open-file-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0}.file-bar>button.help-button{width:30px;height:30px;border-color:#58717c;color:#91a4ad;background:transparent}.file-bar>button.help-button:hover{background:#254354}.analysis-heading>div:first-child>span{font-size:12px}.analysis-heading>.row{gap:6px;flex-wrap:wrap}.analysis-heading button,.signal-strip button,.signal-strip select,.depth-strip button,.depth-strip input[type=number]{min-height:28px;height:28px;padding:3px 7px;font-size:12px}.analysis-heading button.help-button{flex:none;width:16px;min-width:16px;min-height:16px;height:16px;padding:0}.signal-strip,.depth-strip,.signal-strip h2,.depth-strip h2{font-size:12px}.signal-strip-actions>button,.signal-strip-actions .signal-picker-trigger{min-height:28px}.signal-strip .signal-chip button{padding:3px 6px}.signal-chips{padding:0}.depth-strip>.row,.depth-coordinate-controls{gap:4px}.depth-strip .exact-form{align-items:center;gap:6px}.depth-strip .exact-form label{display:inline-flex;align-items:center;flex:none;gap:4px;margin:0;font-size:11px}.depth-strip .exact-form input[type=number],.depth-strip input[aria-label=Frame]{width:76px}.depth-strip input[type=range]{width:110px;margin:0 4px}.signal-strip button.help-button,.depth-strip button.help-button{min-width:16px;min-height:16px;width:16px;height:16px;padding:0}.depth-mode-controls,.depth-selection-controls,.depth-axis-settings{display:flex;align-items:center;gap:4px;flex:none}.depth-mode-controls{gap:0}.depth-mode-controls button{border-radius:0;position:relative}.depth-mode-controls button+button{margin-left:-1px}.depth-mode-controls button:first-child{border-radius:4px 0 0 4px}.depth-mode-controls button:last-child{border-radius:0 4px 4px 0}.depth-mode-controls button[aria-pressed=true]{background:#345d70;border-color:#345d70;color:#fff;z-index:1}.depth-view-status{color:#617582;white-space:nowrap;font-variant-numeric:tabular-nums}.depth-axis-settings{margin-left:auto;padding-left:10px;border-left:1px solid #dce4e8}.depth-axis-label{color:#617582;margin-right:3px}@media(max-width:700px){.depth-axis-settings{flex-wrap:wrap;margin-left:0;padding-left:0;border-left:0}}.app-credit{display:flex;align-items:center;justify-content:center;gap:7px;padding:6px 16px 10px;color:#617582;font-size:11px}.app-credit img{width:98px;height:28px;object-fit:contain}.app-credit .datasophos-credit{display:inline-flex;align-items:center;gap:7px}.app-credit a{display:inline-flex;align-items:center;gap:4px;color:inherit;text-decoration:none}.app-credit a:hover{text-decoration:underline}.app-credit>a+a{border-left:1px solid #c9d3d8;padding-left:12px;margin-left:5px}.identification-dialog{font-size:13px}.identification-dialog input[type=number]{width:140px}.identification-dialog select{max-width:330px}.identification-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere}.identification-dialog details{margin:8px 0;overflow-wrap:anywhere}.isotope-table-scroll{overflow-x:auto;max-height:240px}.isotope-table-scroll table{width:100%;border-collapse:collapse}.isotope-table-scroll th,.isotope-table-scroll td{padding:8px;border-bottom:1px solid #cbd5da;text-align:left}.atomic-identification{display:flex;flex-direction:column;gap:16px;padding:20px}.atomic-identification>*{flex-shrink:0}.atomic-identification>.row:first-child{margin-bottom:0}.atomic-identification p{margin:0;line-height:1.5}.identification-intro,.identification-action-note,.identification-result-summary{color:#536974}.atomic-identification label:not(.isotope-choice,.identification-include){display:grid;gap:6px}.atomic-identification input[type=number],.atomic-identification select{width:100%;max-width:none;min-width:0;min-height:34px;border:1px solid #718a98;background:#fff;color:#173d4b;border-radius:5px}.identification-search{display:grid;grid-template-columns:minmax(150px,1fr) minmax(100px,.65fr) minmax(100px,.65fr) auto;gap:16px;align-items:end}.identification-search button{min-height:34px}.atomic-identification legend{font-weight:600;margin-bottom:8px}.atomic-identification .identification-charges label,.atomic-identification .identification-include,.atomic-identification .isotope-choice{display:inline-flex;align-items:center;gap:6px}.identification-charges .row{gap:16px}.atomic-identification input[type=checkbox],.atomic-identification input[type=radio]{margin:0}.atomic-identification .identification-spectrum .plot-panel{height:250px;min-height:0;border-color:#dbe4e9;box-shadow:none}.atomic-identification .identification-spectrum .plot-body{height:auto}.identification-spectrum .plot-panel header .plot-icon-button:last-child{display:none}.identification-results{display:grid;gap:10px;min-width:0}.identification-result-options{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.identification-result-options>label:first-child{min-width:180px}.identification-result-options .identification-include{padding-bottom:8px}.identification-result-summary,.identification-action-note{font-size:12px}.atomic-identification .isotope-table-scroll{max-height:190px}.atomic-identification .isotope-table-scroll th{position:sticky;top:0;background:#f0f4f6}.atomic-identification .isotope-table-scroll td{font-variant-numeric:tabular-nums}.atomic-identification .isotope-table-scroll tr.selected{background:#eaf4f8}.atomic-identification .identification-provenance{margin:0;color:#536974;font-size:12px}.identification-provenance summary{cursor:pointer;color:#214858}.identification-provenance[open]{display:grid;gap:8px}.identification-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:20px;border-top:1px solid #dbe4e9;padding-top:16px}.atomic-identification .identification-actions fieldset{display:grid;align-content:start;gap:10px}.atomic-identification .identification-actions legend{margin-bottom:0;padding-bottom:10px}.identification-window{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.identification-footer{display:flex;justify-content:flex-end}@media(max-width:650px){.atomic-identification{padding:16px}.identification-search{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.identification-actions{grid-template-columns:minmax(0,1fr);gap:16px}.atomic-identification .identification-spectrum .plot-panel{height:230px}.atomic-identification .plot-heading{min-width:0}}.isotope-measurements{display:flex;flex-direction:column;gap:16px;padding:20px}.isotope-measurements>*{flex-shrink:0}.isotope-measurements p,.isotope-measurements h3{margin:0;line-height:1.5}.identification-prealpha{padding:10px 12px;border:1px solid #b47b22;border-radius:6px;background:#fff6e2;color:#553800}.measurement-intro,.measurement-secondary,.measurement-context span,.measurement-status{color:#536974}.measurement-selection{border:1px solid #dbe4e9;border-radius:6px;padding:16px;display:grid;gap:12px}.measurement-selection legend{font-weight:600;margin-bottom:10px}.measurement-selection fieldset{display:flex;flex-wrap:wrap;gap:8px 16px}.measurement-selection label{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#f0f4f6;border-radius:4px}.measurement-selection input{margin:0}.measurement-status,.measurement-secondary,.measurement-context span,.measurement-note,.measurement-help,.measurement-provenance{font-size:12px}.isotope-measurements [data-testid=isotope-results]{display:grid;gap:12px}.measurement-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.measurement-context>div{display:grid;gap:4px;padding:12px;border-radius:5px;background:#f0f4f6}.measurement-note{border-left:3px solid #718a98;padding:8px 12px;color:#3a5867;background:#f5f8fa}.measurement-secondary{display:block;margin-top:4px;line-height:1.4}.isotope-measurements .isotope-table-scroll th{position:sticky;top:0;background:#f0f4f6}.isotope-measurements .isotope-table-scroll td{vertical-align:top;font-variant-numeric:tabular-nums}.isotope-measurements summary{cursor:pointer;color:#214858}.isotope-measurements details p{margin-top:8px}.measurement-footer{border-top:1px solid #dbe4e9;padding-top:16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}@media(max-width:650px){.isotope-measurements{padding:16px}.measurement-context{grid-template-columns:minmax(0,1fr)}}.isotope-measurements .isotope-table-scroll table{min-width:720px}.file-new-folder{display:flex;gap:10px;align-items:end;padding:12px 16px;border-top:1px solid #dbe4e9;flex-wrap:wrap}.file-new-folder label{min-width:160px;display:grid;gap:5px;flex:1}.file-new-folder input{border:1px solid #718a98;background:#fff;min-width:0;width:100%}.choose-save-folder{margin-bottom:16px}.dialog.file-explorer.folder-picker{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto}.save-copy .folder-paths dd{white-space:normal;overflow-wrap:anywhere}.volume-workspace{display:grid;grid-template-columns:270px minmax(0,1fr);gap:16px;margin-top:12px}.volume-workspace.maximized{position:fixed;inset:14px;z-index:80;overflow:auto;background:var(--surface, #f6f9fa);padding:18px;border-radius:16px;box-shadow:0 12px 48px #16374844}.volume-workspace.maximized{margin:0;grid-template-rows:minmax(0,1fr);border:1px solid #d7e2e8;box-shadow:0 0 0 100vmax #101f2ea6,0 12px 48px #16374866}.volume-workspace.maximized .volume-display{display:flex;flex-direction:column;min-height:0}.volume-workspace.maximized .volume-display>.volume-canvas{flex:1 1 0;min-height:0;height:auto}.volume-workspace.maximized.controls-hidden{grid-template-columns:minmax(0,1fr)}.volume-workspace.controls-hidden .volume-layers,.volume-workspace.controls-hidden .volume-controls,.volume-workspace.controls-hidden .volume-page-controls,.volume-workspace.controls-hidden .volume-status,.volume-workspace.controls-hidden .volume-interaction-hint,.volume-workspace.controls-hidden .volume-rendering-notes{display:none}.volume-compact-controls{display:flex;justify-content:flex-end;gap:8px;margin-bottom:8px}.volume-layers{min-width:0}.volume-layers h2{margin:0 0 10px}.volume-layers label{display:flex;align-items:center;gap:6px;margin:6px 0;flex-wrap:wrap}.volume-layer-list{max-height:490px;overflow:auto}.volume-layer-list fieldset{margin:10px 0;border:0;background:#eef3f6;padding:10px;border-radius:12px}.volume-layer-list legend{font-weight:600}.volume-layer-list small{display:block;overflow-wrap:anywhere}.volume-toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.volume-toolbar label,.volume-choice-control{display:flex;flex-direction:column;gap:4px}.volume-choice{display:inline-flex;gap:0;padding:2px;border-radius:7px;background:#e4eaee}.volume-choice span{padding:5px 9px;color:#526b7a;border-radius:5px}.volume-choice span.active{background:#315e72;color:#fff}.volume-toolbar input[type=number]{width:85px}.volume-canvas{width:100%;height:470px}.volume-status{font-size:.85rem}.volume-profile-grid{display:block}.volume-profile-grid>:not(:last-child){display:none}.volume-profile-grid>:last-child{min-height:320px}@media(max-width:850px){.volume-workspace{grid-template-columns:1fr}.volume-layer-list{max-height:240px}}.spatial-panels{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:12px}.spatial-panels .volume-workspace{grid-template-columns:220px minmax(0,1fr)}.volume-profile-grid>.plot-panel:not(.maximized){height:700px}.volume-profile-grid{margin-top:12px}.volume-profile-grid .profile-legend{flex-wrap:wrap}@media(max-width:1100px){.spatial-panels{grid-template-columns:1fr}.volume-profile-grid>.plot-panel:not(.maximized){height:340px}}@media(max-width:650px){.spatial-panels .volume-workspace{grid-template-columns:1fr}}.analysis-heading{border-bottom:1px solid #d5e0e6}.analysis-view-tabs{display:flex;align-self:flex-end;gap:0;margin:0 auto -11px 20px}.analysis-view-tabs button[role=tab]{height:42px;padding:10px 16px;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:#526b7a;font-size:13px;white-space:nowrap}.analysis-view-tabs button[aria-selected=true]{border-bottom-color:#34758b;color:#173e52;font-weight:600}.analysis-view-tabs button:hover{color:#173e52;background:#e4edf1}@media(max-width:850px){.analysis-heading{flex-wrap:wrap}.analysis-view-tabs{order:3;flex-basis:100%;margin:0 0 -11px}}.volume-display{min-width:0}.volume-canvas{background:#101f2e;border-radius:9px;overflow:hidden;height:clamp(480px,60vh,720px)}.volume-loading{display:flex;align-items:center;justify-content:center;gap:10px;color:#c2d1dc}.volume-loading-spinner{width:20px;height:20px;border:2px solid #637c8b;border-top-color:#dceaf1;border-radius:50%;animation:volume-loading-spin .8s linear infinite}@keyframes volume-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.volume-loading-spinner{animation:none}}.volume-camera-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin-top:8px}.volume-camera-toolbar label{display:flex;flex-direction:column;gap:4px}.volume-camera-toolbar input[type=number]{width:85px}.volume-toolbar label:has(input[type=checkbox]),.volume-camera-toolbar label:has(input[type=checkbox]){flex-direction:row;align-items:center;align-self:center}.volume-interaction-hint{font-size:11px;color:#688295;margin-top:8px}.volume-rendering-notes{font-size:11px;color:#688295;margin-top:5px}.volume-rendering-notes summary{cursor:pointer}.volume-rendering-notes small{display:block;margin-top:5px}.volume-layers{background:#fff;border-radius:8px;padding:12px;align-self:start;box-shadow:0 2px 5px #213d5010}.volume-layer-list{max-height:min(650px,68vh)}.volume-layer-list fieldset{background:#f2f6f8}.volume-layer-list .row{flex-wrap:nowrap;gap:6px}.volume-layer-list .row label{flex-direction:row;white-space:nowrap}.volume-layer-list label:has(input[type=range]){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.volume-layer-list input[type=range]{grid-column:1 / -1;grid-row:2;width:100%;min-width:0}.volume-layer-list output{grid-column:2;grid-row:1;font-variant-numeric:tabular-nums}.volume-layer-list .row button{white-space:nowrap}@media(max-width:650px){.volume-canvas{height:450px}}.volume-layers select{min-width:0;max-width:100%}.vtk-volume-view{display:flex}.vtk-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:4px}.vtk-tiles[data-tile-count="1"]{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.vtk-tiles[data-tile-count="2"]{grid-template-rows:minmax(0,1fr)}.vtk-tile{min-width:0;min-height:0;display:flex;flex-direction:column;color:#c2d1dc}.vtk-tile-title{padding:8px 12px 0}.vtk-tile>.vtk-volume-view{flex:1;min-height:0;height:auto}.vtk-volume-viewport{flex:1;min-width:0;height:100%}.vtk-volume-legends{flex:0 0 120px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:8px;color:#c2d1dc;font-size:11px}.vtk-volume-legend{overflow-wrap:anywhere}.vtk-volume-scale{display:flex;gap:5px;height:100px;margin-top:4px}.vtk-volume-ramp{width:12px;height:100%}.vtk-volume-ticks{display:flex;flex-direction:column;justify-content:space-between}.spatial-panels{display:block}.spatial-panels .volume-workspace{grid-template-columns:240px minmax(0,1fr)}.volume-profile-grid{display:none}.volume-layers{position:relative}.volume-layer-list{max-height:min(650px,68vh);overflow-y:auto}.volume-signal-table{border-collapse:collapse;width:100%;font-size:13px}.volume-signal-table th{text-align:left;color:#6a8190;font-size:11px;font-weight:600;padding:6px 3px}.volume-signal-table .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.volume-signal-table td{border-top:1px solid #e4edf1;padding:5px 3px}.volume-signal-table td:first-child{width:40px;text-align:center}.volume-signal-table td:nth-child(2){overflow-wrap:anywhere}.volume-signal-settings{padding:1px 7px;line-height:1.4;font-size:19px}.volume-signal-popover{position:absolute;z-index:10;left:calc(100% + 8px);top:12px;width:260px;padding:14px;background:#fff;border:1px solid #cddbe3;border-radius:10px;box-shadow:0 8px 24px #16374833}.volume-popover-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.volume-signal-popover small{display:block;color:#6a8190;overflow-wrap:anywhere}.volume-signal-popover label{display:grid;grid-template-columns:1fr auto;gap:6px;margin:12px 0}.volume-signal-popover label select,.volume-signal-popover label input[type=range]{grid-column:1 / -1;width:100%}.volume-signal-popover label.volume-reverse-colormap{display:flex;align-items:center;gap:7px}.volume-controls{display:flex;align-items:end;flex-wrap:wrap;gap:8px 16px;margin-bottom:12px}.volume-page-controls{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}.volume-page-controls button{padding:6px 9px}.volume-camera-toolbar{margin-top:0}@media(max-width:850px){.spatial-panels .volume-workspace{grid-template-columns:1fr}.volume-signal-popover{left:auto;right:8px;top:44px}}@media(max-width:850px){.volume-workspace.maximized{grid-template-rows:auto minmax(320px,1fr)}.volume-workspace.maximized .volume-layer-list{max-height:140px}}@media(max-width:850px){.volume-workspace.maximized.controls-hidden{grid-template-rows:minmax(0,1fr)}}.volume-options{position:relative;align-self:end}.volume-options summary{list-style:none;cursor:pointer;padding:7px 10px;border:1px solid #cbd9e1;border-radius:6px;background:#fff;white-space:nowrap}.volume-options summary::-webkit-details-marker{display:none}.volume-options-panel{position:absolute;z-index:10;top:calc(100% + 6px);right:0;width:220px;padding:12px;border:1px solid #cddbe3;border-radius:9px;background:#fff;box-shadow:0 8px 24px #16374833}.volume-options-panel label{margin:8px 0}.volume-options-panel select{width:100%}.volume-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;margin-top:8px;color:#688295;font-size:11px}.volume-footer-help{flex:0 1 auto}.volume-footer .volume-interaction-hint{margin-top:0}.volume-footer-notes{flex:1 1 320px;text-align:right}.volume-footer-notes p{margin:0 0 3px;font-size:inherit}@media(max-width:650px){.volume-footer-notes{text-align:left}}.volume-sidebar{min-width:0;align-self:start;max-height:min(720px,75vh);overflow-y:auto;background:#fff;border-radius:8px;box-shadow:0 2px 5px #213d5010}.volume-workspace.maximized .volume-sidebar{max-height:100%}.volume-workspace.controls-hidden .volume-sidebar{display:none}.volume-sidebar .volume-layers{box-shadow:none;border-radius:0}.volume-sidebar .volume-signal-popover{left:8px;right:8px;width:auto;top:12px}.volume-sidebar-section{border-top:1px solid #e4edf1;padding:10px 12px}.volume-sidebar-section summary{cursor:pointer;font-weight:600;color:#294757}.volume-sidebar-section[open] summary{margin-bottom:10px}.volume-sidebar .volume-toolbar,.volume-sidebar .volume-camera-toolbar,.volume-sidebar-fields{display:flex;flex-direction:column;align-items:stretch;gap:8px}.volume-sidebar .volume-toolbar label:has(input[type=checkbox]),.volume-sidebar-fields .volume-log-control{display:flex;flex-direction:row;align-items:center;align-self:start;gap:6px}.volume-sidebar-fields label{display:flex;flex-direction:column;gap:4px}.volume-sidebar-fields input[type=number]{width:85px}.volume-sidebar .volume-camera-toolbar small{color:#688295}.volume-rotation-pad{display:grid;grid-template-columns:repeat(3,36px);grid-template-rows:repeat(2,32px);gap:4px}.volume-rotation-pad button{padding:0;font-size:18px}.volume-rotation-pad .rotate-counterclockwise{grid-column:1;grid-row:1}.volume-rotation-pad .rotate-clockwise{grid-column:3;grid-row:1}.volume-rotation-pad .rotate-up{grid-column:2;grid-row:1}.volume-rotation-pad .rotate-left{grid-column:1;grid-row:2}.volume-rotation-pad .rotate-down{grid-column:2;grid-row:2}.volume-rotation-pad .rotate-right{grid-column:3;grid-row:2}@media(max-width:850px){.volume-sidebar{max-height:min(420px,50vh)}}.volume-sidebar .volume-choice{align-self:flex-start}.volume-sidebar .volume-camera-toolbar{align-items:stretch}.volume-sidebar .volume-camera-toolbar>label{align-items:stretch}.volume-sidebar .volume-camera-toolbar>label select{align-self:flex-start}.volume-sidebar .volume-rotation-pad{align-self:center}.volume-sidebar .volume-camera-toolbar>button:not(.volume-choice){align-self:center}.volume-sidebar .volume-camera-toolbar small{text-align:center}.volume-sidebar .volume-camera-toolbar .volume-choice{align-self:flex-start}.volume-sidebar .volume-control-label{margin-top:4px}.volume-controls .volume-maximize,.volume-compact-controls .volume-maximize{width:26px;height:26px;flex:0 0 auto;padding:0}.volume-controls .volume-maximize{order:2;margin-left:auto}.volume-controls .volume-page-controls{margin-left:0}.volume-viewer{position:relative;min-height:0}.volume-workspace.maximized .volume-display>.volume-viewer{flex:1 1 0;min-height:0}.volume-workspace.maximized .volume-viewer>.volume-canvas{height:100%}.volume-viewer-actions{position:absolute;top:8px;right:8px;z-index:5;display:flex;gap:6px}.volume-viewer-actions .plot-icon-button{width:26px;height:26px;padding:0;display:inline-flex;justify-content:center;align-items:center}.volume-controls:empty{display:none}.documentation-link{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;color:#d5e4e9;border-radius:6px}.documentation-link:hover{background:#254354;color:#fff}