brainsmatics 1.0.40 → 1.0.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { i as r } from "./index-aa8d552c.mjs";
1
+ import { i as r } from "./index-aa08e79d.mjs";
2
2
  import { B as o } from "./basedecoder-11034ec6.mjs";
3
3
  import "react";
4
4
  import "react-dom";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index-74410985.js"),t=require("./basedecoder-0503cc54.js");require("react");require("react-dom");class d extends t.BaseDecoder{decodeBlock(e){return r.inflate_1(new Uint8Array(e)).buffer}}exports.default=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index-bb24f737.js"),t=require("./basedecoder-0503cc54.js");require("react");require("react-dom");class d extends t.BaseDecoder{decodeBlock(e){return r.inflate_1(new Uint8Array(e)).buffer}}exports.default=d;
@@ -119799,11 +119799,11 @@ H0(6, () => {
119799
119799
  throw new Error("old style JPEG compression is not supported.");
119800
119800
  });
119801
119801
  H0(7, () => import("./jpeg-335c778f.mjs").then((t) => t.default));
119802
- H0([8, 32946], () => import("./deflate-36897db9.mjs").then((t) => t.default));
119802
+ H0([8, 32946], () => import("./deflate-6f3ea749.mjs").then((t) => t.default));
119803
119803
  H0(32773, () => import("./packbits-8b95f4d7.mjs").then((t) => t.default));
119804
119804
  H0(
119805
119805
  34887,
119806
- () => import("./lerc-bf9e8f1e.mjs").then(async (t) => (await t.zstd.init(), t)).then((t) => t.default)
119806
+ () => import("./lerc-a6f233ff.mjs").then(async (t) => (await t.zstd.init(), t)).then((t) => t.default)
119807
119807
  );
119808
119808
  H0(50001, () => import("./webimage-affb95d1.mjs").then((t) => t.default));
119809
119809
  function H4(t, e, n, r = 1) {
@@ -121188,7 +121188,7 @@ const WAt = ({ axon_check: t, fbxTreeDatas: e, setLeftMenuTabIndex: n, swcRef: r
121188
121188
  F(M);
121189
121189
  }, [M]);
121190
121190
  const F = (G) => {
121191
- fetch("app-api/d-api/connectivity", {
121191
+ fetch("/app-api/d-api/connectivity", {
121192
121192
  method: "POST",
121193
121193
  headers: { "Content-Type": "application/json" },
121194
121194
  body: JSON.stringify({ name: G })
@@ -4308,9 +4308,9 @@ echarts.use([`+U+"]);":"Unknown series "+N))}return}if(f==="tooltip"){if(b){proc
4308
4308
  }
4309
4309
  `,transparent:!1,depthWrite:!1,depthTest:!1}),de=new ty(_n,Oe);de.translateX(qo.current),de.translateY(To.current),de.translateZ(_o.current),de.myMeshType="neuronSphere",de.name=`${Qe}-${_t.line[0].start_name}`,de.userData.color="#1771FF",de.myMeshType="neuronSphere",de.name=`${Qe}-${_t.line[0].start_name}`,de.userData.color="#1771FF",On(de),Et.add(de),Et.name=`swcPointGroup${Qe}`,ut.current.push(Et),Ce.current.add(Et);let Ke=1;for(let Ge=0;Ge<_t.line.length;Ge++){let et=[],Ut=[_t.position[0].x,_t.position[0].y,_t.position[0].z];for(let Kt=_t.line[Ge].start;Kt<=_t.line[Ge].end;Kt++){Kt===_t.line[Ge].start&&(Ut=[_t.position[Kt].x,_t.position[Kt].y,_t.position[Kt].z]);let In=_t.position[Kt].x,Dt=_t.position[Kt].y,Mt=_t.position[Kt].z;(Math.sqrt((In-Ut[0])*(In-Ut[0])+(Dt-Ut[1])*(Dt-Ut[1])+(Mt-Ut[2])*(Mt-Ut[2]))>Ke||Kt===_t.line[Ge].end||Kt===_t.line[Ge].start)&&(et.push(new me(In,Dt,Mt)),Ut=[In,Dt,Mt])}let dn=new ba(new Wi().setFromPoints(et),new yh({color:Pt}));dn.myMeshType="SWC",bt.add(dn)}bt.scale.set(Bo.current,Bo.current,Bo.current),bt.translateX(qo.current),bt.translateY(To.current),bt.translateZ(_o.current),bt.name=Qe,bt.myMeshType="SWC",q.current[Qe]=bt,Ce.current.add(q.current[Qe]),Rt&&Rt()})},Kn=function(je){return je.replace("/","_").replace(" ","_")},Ti=(je,gt,Qe)=>{var Rt;Qe.color=gt;let Pt=Ce.current.children.find(Vt=>Vt.name==Qe.name);if(s=="vessel")i.current[Qe.name]&&Pt&&Pt.traverse(function(Vt){(Vt instanceof ba||Vt instanceof Dn)&&Vt.material.color.set(Qe.color)});else if(s=="fbx"){if(Vo.current[Qe.name]&&Pt){const Vt=Qe.color.slice(0,7),_t=Qe.color.slice(7,9),bt=parseInt(_t,16)/255;Pt.traverse(function(Et){Et instanceof Dn&&(Et.material.color.set(Vt),_t&&(Et.material.transparent=!0,Et.material.opacity=bt))})}}else if(s=="soma")ne.current.includes(Qe.name)&&Pt&&Pt.traverse(function(Vt){Vt instanceof ty&&(Vt.material.uniforms.color.value=Un(Qe.color))});else if(s=="swc"){if(q.current[Qe.name]&&Pt){let bt=new URL(window.location.href),Et=new URLSearchParams(bt.search);rn.current[Qe.name]=Qe.color.replace("#","!"),Et.set("neuronsColor",encodeURIComponent(JSON.stringify(rn.current))),bt.search=Et.toString(),window.history.replaceState({},"",bt),Pt.traverse(function(_n){_n instanceof ba&&_n.material.color.set(Qe.color)})}Ce.current.traverse(bt=>{if(bt.myMeshType==="neuronSphere"&&bt.userData.type=="end"&&Qe.name===bt.name.split("-")[0]){let Et=Qe.color;bt.material.uniforms.color.value=new Yr(Et),bt.userData.color=Et}});let[Vt,_t]=qt(st.current,Qe.name);for(let bt in _t){let Et=bt;bt.indexOf("_")>-1&&(Et=bt.split("_")[0]);let _n=(Rt=st.current[`${Et}`])==null?void 0:Rt.find(gr=>gr.name===Qe.name);_n&&(_n.color=Qe.color)}Ce.current.traverse(bt=>{if(bt.name==="lineNameMesh"&&bt.userData.type=="end"&&Qe.name===bt.userData.wholeName.split("-")[0]){let Et=Qe.color;bt.material.color.set(Et),bt.userData.initColor=Et}})}},Vr=T.useCallback((je,gt,Qe,Pt,Rt)=>{je.stopPropagation();let Vt=new URL(window.location.href),_t=new URLSearchParams(Vt.search),bt=gt,Et=E0e(bt,Q.current),gr=j2(bt,Q.current).children,Oe=U+"/data/"+pe.current+"/"+Kn(bt)+".FBX";for(var de=0;de<Et.length;de++){if(lt(Et[de],!0),we.includes(Et[de])){Ie(et=>et.filter(Ut=>Ut!==Et[de]));const Ge=JSON.stringify(we.filter(et=>et!==Et[de]));_t.set("regionsExpanded",Ge)}ne.current=ne.current.filter(Ge=>Ge!==Et[de])}if(we.includes(bt)){Ie(et=>et.filter(Ut=>Ut!==bt));const Ge=JSON.stringify(we.filter(et=>et!==bt));_t.set("regionsExpanded",Ge),ne.current.includes(bt)||ne.current.push(bt),Vo.current[bt]?(Ce.current.remove(Vo.current[bt]),Vo.current[bt].children[0].material.color.set(Pt),Ce.current.add(Vo.current[bt]),hg.current&&(Ce.current.remove(ts.current[bt]),ts.current[bt].children[0].material.color.set(Pt),Ce.current.add(ts.current[bt]))):qh(Oe,bt,Pt,.6,parseInt(Rt));for(var de=0;de<gr.length;de++)ne.current=ne.current.filter(Ut=>Ut!==gr[de].name),lt(gr[de].name,!0),dt.current=0,delete Y.current[gr[de].name]}else{const Ge=document.getElementById("spinner"),et=JSON.stringify([...we,bt]);_t.set("regionsExpanded",et),Ie(Ut=>[...Ut,bt]),Ge&&(Ge.style.display="block"),Vo.current[bt]?(Ce.current.remove(Vo.current[bt]),Vo.current[bt].children[0].material.color.set("#DBDBDB"),Ce.current.add(Vo.current[bt]),hg.current&&(Ce.current.remove(ts.current[bt]),ts.current[bt].children[0].material.color.set("#DBDBDB"),Ce.current.add(ts.current[bt]))):qh(Oe,bt,"#DBDBDB",.6,parseInt(Rt)),ne.current=ne.current.filter(Ut=>Ut!==bt);for(var de=0;de<gr.length;de++)if(gr[de]["3D"]){let dn=parseInt(gr[de].z),Kt=gr[de].color,In=U+"/data/"+pe.current+"/"+Kn(gr[de].name)+".FBX";ne.current.push(gr[de].name),ai(In,gr[de].name,Kt,.6,dn,function(){Ge&&(Ge.style.display="none")})}}g(ne.current);const Ke=JSON.stringify(ne.current);_t.set("regionsChecked",Ke),Vt.search=_t.toString(),window.history.replaceState({},"",Vt)},[m,f,we]),br=(je,gt,Qe)=>{if(gt===ne.current[0]&&x)return;const Pt=ne.current.indexOf(gt);if(Pt!==-1){x&&(je.target.style.color="black"),g(bt=>bt.filter(Et=>Et!==gt)),ne.current.splice(Pt,1);let Rt=new URL(window.location.href),Vt=new URLSearchParams(Rt.search);const _t=JSON.stringify(ne.current);s==="fbx"?Vt.set("regionsChecked",_t):s==="vessel"&&Vt.set("vesselsChecked",_t),Rt.search=Vt.toString(),window.history.replaceState({},"",Rt),lt(gt,!0)}else{x&&(je.target.style.color="red"),ne.current.push(gt),g([...ne.current]);let Rt=new URL(window.location.href),Vt=new URLSearchParams(Rt.search);const _t=JSON.stringify(ne.current);s==="fbx"?Vt.set("regionsChecked",_t):s==="vessel"&&Vt.set("vesselsChecked",_t),Rt.search=Vt.toString(),window.history.replaceState({},"",Rt);let bt=U+"/data/FBX/"+gt+".FBX";qh(bt,gt,Qe,.8,0)}if(b){const Rt=b.current.indexOf(gt);Rt>-1?b.current.splice(Rt,1):b.current.push(gt)}},ir=T.useMemo(()=>{var Rt,Vt;let je=re&&re.split(" ")[0]||"",gt=typeof G=="string"?G.split(" ")[0]:"",Qe=["MO","MOs","MOp","CP","Isocortex"];if(s=="swc"){let _t=[],bt=[];if(E&&gt){let Et=((Rt=E[gt])==null?void 0:Rt.axon)||[];_t=[..._t,...Et]}if(E&&je){let Et=((Vt=E[je])==null?void 0:Vt.soma)||[];bt=[...bt,...Et]}if(gt&&je){let Et=new Set(_t),_n=new Set(bt);ht.current=[...Et].filter(gr=>_n.has(gr))}else gt?ht.current=_t:je&&(ht.current=bt)}const Pt=_t=>_t&&_t.map((bt,Et)=>{Ak.push(bt),bt.nameflag?bt.key=bt.nameflag:bt.key=bt.name;let _n=bt.name;if(localStorage.getItem("lang")=="zh_cn"&&bt.cname&&(_n=bt.cname),s==="vessel"){const Ge=LT(bt.key,n);Ge[Ge.length-1]}bt.path||(s==="vessel"?bt.path=U+"/data/Vessel/":s==="fbx"&&(bt.path=U+"/data/FBX/"));const gr=at.reduce((Ge,et)=>{const[Ut,dn]=et.split(":");return Ge[Ut]=dn,Ge},{}),Oe=(Ge,et)=>Ge in gr?gr[Ge]===et[Ge]:!0;let de;const Ke=G&&bt["3D"]&&_n.toLowerCase().indexOf(G.toLowerCase())!==-1||x&&ne.current.slice(1).includes(_n)||s=="vessel"&&G&&_n.toLowerCase().indexOf(G.toLowerCase())!==-1;if(s==="fbx"||s==="vessel")return de=T.createElement("span",{style:{display:"flex",alignItems:"center"},onClick:Ge=>Ge.stopPropagation()},T.createElement(oL,{format:"rgb",defaultValue:bt.color,onChange:(Ge,et)=>Ti(Ge,et,bt)}),T.createElement(_a,{placement:"right",title:bt.fullname},T.createElement("div",{onClick:Ge=>br(Ge,bt.key,bt.color),style:Ke?{color:"red",whiteSpace:"nowrap"}:{color:"black",whiteSpace:"nowrap"}},_n)),mn.includes(bt.name)?T.createElement(_a,{placement:"right",title:p("5000.6041")||"新标注"},T.createElement("svg",{className:"svgleft",width:"20px",height:"20px",viewBox:"0 0 200 200",version:"1.1",style:{marginLeft:"8px"},xmlns:"http://www.w3.org/2000/svg"},T.createElement("g",{id:"#1296dbff"},T.createElement("path",{fill:"#1296db",opacity:"1.00",d:" M 12.39 0.00 L 187.60 0.00 C 193.55 1.76 198.40 6.33 200.00 12.39 L 200.00 197.03 C 197.21 200.36 192.66 199.74 189.30 197.68 C 160.70 182.89 131.92 168.44 103.27 153.76 C 100.74 151.94 97.96 153.23 95.58 154.56 C 79.92 162.65 64.11 170.45 48.45 178.54 C 34.57 185.85 20.35 192.53 6.55 200.00 L 4.06 200.00 C 2.44 198.91 1.07 197.50 0.00 195.87 L 0.00 12.40 C 1.80 6.43 6.41 1.77 12.39 0.00 M 68.04 50.93 C 67.96 68.97 68.00 87.02 68.01 105.06 C 67.45 108.62 71.21 112.26 74.72 110.75 C 77.57 109.92 78.36 106.64 78.30 104.03 C 78.31 90.37 78.34 76.71 78.25 63.05 C 93.63 78.23 108.28 94.13 123.37 109.59 C 124.85 111.28 127.53 111.57 129.39 110.34 C 131.68 109.12 132.04 106.39 132.00 104.06 C 131.96 86.01 132.08 67.96 131.94 49.91 C 132.41 46.10 127.58 43.22 124.42 45.37 C 121.60 46.80 121.73 50.30 121.67 53.00 C 121.74 66.29 121.62 79.57 121.76 92.85 C 107.86 78.88 94.47 64.40 80.64 50.36 C 78.20 48.09 75.99 44.09 72.08 44.90 C 69.30 45.36 67.87 48.32 68.04 50.93 Z"})))):null,D!=null&&D.includes("neurons")&&Qe.includes(bt.name)&&(N=="task3D"||N=="3Dneurons")?T.createElement(_a,{placement:"right",title:p("5000.6040")||"投射丰富"},T.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 200 200",style:{marginLeft:"5px"},version:"1.1",xmlns:"http://www.w3.org/2000/svg",onClick:()=>{R==null||R.current.tabChange(7),setTimeout(()=>{L&&L(bt.name)},50)}},T.createElement("g",{id:"#1296dbff"},T.createElement("path",{fill:"#1296db",opacity:"1.00",d:" M 161.22 29.23 C 170.61 22.47 184.66 24.19 192.68 32.31 C 197.08 36.53 199.12 42.53 200.00 48.42 L 200.00 51.57 C 199.07 58.41 196.19 65.28 190.43 69.42 C 182.96 75.76 171.77 76.37 163.24 71.84 C 157.18 68.92 153.36 63.05 150.76 57.07 C 143.17 57.08 135.57 56.74 127.99 57.09 C 125.64 57.08 124.07 59.04 122.49 60.48 C 109.60 73.80 96.19 86.60 83.39 100.00 C 96.19 113.40 109.60 126.20 122.49 139.52 C 124.07 140.96 125.64 142.92 127.98 142.91 C 135.58 143.26 143.19 142.92 150.80 142.94 C 152.36 139.60 153.87 136.15 156.39 133.41 C 161.32 127.99 168.67 124.81 176.01 125.13 C 183.62 125.37 191.06 129.33 195.32 135.66 C 200.14 142.64 201.01 152.08 197.83 159.90 C 193.64 169.75 182.73 176.08 172.08 174.81 C 162.13 173.99 153.99 166.24 150.70 157.12 C 141.45 156.77 132.19 157.20 122.94 156.99 C 119.96 157.25 117.95 154.84 116.03 152.98 C 102.37 138.97 88.30 125.36 74.64 111.35 C 72.74 109.58 70.92 107.06 68.05 107.07 C 61.80 106.71 55.54 107.06 49.29 107.12 C 46.34 115.79 38.83 122.99 29.63 124.43 C 19.13 126.37 7.56 120.75 2.99 111.02 C -1.82 101.38 0.34 88.66 8.45 81.45 C 16.25 74.63 28.64 72.73 37.60 78.39 C 43.12 81.56 46.99 86.86 49.37 92.67 C 55.88 92.61 62.41 93.06 68.91 92.61 C 70.92 92.57 72.27 90.88 73.65 89.65 C 87.81 75.15 102.36 61.03 116.53 46.53 C 118.28 44.79 120.23 42.76 122.94 43.01 C 132.21 42.82 141.49 43.18 150.76 42.93 C 153.10 37.64 156.28 32.47 161.22 29.23 Z"})))):null,T.createElement("div",{ref:Et==0?u:null,style:{width:20,height:20,marginLeft:8}},bt.children&&y&&(N=="task3D"||N=="3Dlabel")?T.createElement(_a,{placement:"right",title:we.includes(bt.key)?"Assemle":"Expand"},we.includes(bt.key)?T.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 128 128",version:"1.1",xmlns:"http://www.w3.org/2000/svg",onClick:Ge=>Vr(Ge,bt.key,`${bt.key}`,bt.color,bt.z)},T.createElement("g",{id:"#1296dbff"},T.createElement("path",{fill:"#1296db",opacity:"1.00",d:" M 63.29 5.38 C 64.77 5.01 66.21 5.93 67.59 6.37 C 76.47 10.42 84.89 15.45 93.99 19.03 C 96.79 20.32 100.17 21.53 101.43 24.64 C 103.43 28.57 100.65 33.35 96.69 34.67 C 89.18 37.63 82.15 41.64 74.68 44.70 C 70.42 46.40 65.85 50.45 61.12 47.92 C 51.83 43.67 42.87 38.75 33.64 34.38 C 30.76 33.08 27.65 31.24 27.03 27.85 C 26.96 24.60 28.32 20.85 31.64 19.65 C 42.33 15.22 52.50 9.55 63.29 5.38 Z"}),T.createElement("path",{fill:"#1296db",opacity:"1.00",d:" M 15.39 56.26 C 17.98 55.30 20.40 57.34 22.69 58.29 C 30.72 62.68 39.29 66.09 47.05 70.95 C 50.29 72.73 50.08 76.80 50.06 79.98 C 49.82 91.26 50.26 102.56 49.87 113.83 C 48.69 117.23 44.23 120.17 40.62 118.42 C 31.59 115.01 22.81 110.92 14.00 106.99 C 9.42 104.95 9.09 99.37 8.97 95.04 C 9.05 85.36 8.92 75.67 9.02 66.00 C 8.93 61.81 11.32 57.64 15.39 56.26 Z"}),T.createElement("path",{fill:"#1296db",opacity:"1.00",d:" M 109.45 56.37 C 113.43 54.97 117.33 58.88 118.67 62.35 C 119.44 66.85 118.87 71.46 119.00 76.00 C 118.77 84.93 119.77 94.00 117.79 102.80 C 117.39 105.12 115.10 106.29 113.17 107.17 C 105.54 110.54 97.93 113.93 90.31 117.31 C 88.05 118.18 85.69 119.33 83.20 118.99 C 80.27 117.96 77.59 115.38 77.99 112.02 C 77.99 100.34 77.98 88.66 78.00 76.98 C 77.80 73.81 79.74 70.88 82.64 69.66 C 91.60 65.29 100.43 60.62 109.45 56.37 Z"})),T.createElement("g",{id:"#8da6d9ff"},T.createElement("path",{fill:"#8da6d9",opacity:"1.00",d:" M 10.48 33.45 C 14.12 32.46 17.23 35.20 20.36 36.61 C 22.35 38.00 25.96 38.81 25.77 41.84 C 25.91 43.53 23.62 44.66 22.18 43.98 C 18.23 42.43 14.41 40.41 10.91 38.01 C 9.31 36.99 10.24 34.90 10.48 33.45 Z"}),T.createElement("path",{fill:"#8da6d9",opacity:"1.00",d:" M 113.64 33.62 C 114.86 32.90 116.24 33.28 117.54 33.44 C 117.65 34.89 118.71 37.04 117.12 38.02 C 113.32 40.46 109.32 42.77 105.00 44.17 C 102.38 44.63 101.22 40.71 103.32 39.38 C 106.46 36.98 110.08 35.28 113.64 33.62 Z"}),T.createElement("path",{fill:"#8da6d9",opacity:"1.00",d:" M 32.35 44.38 C 36.95 44.43 40.98 47.92 44.91 50.13 C 47.61 51.34 45.87 56.15 43.02 55.20 C 38.83 53.64 34.78 51.46 31.23 48.74 C 29.51 47.51 30.52 44.85 32.35 44.38 Z"}),T.createElement("path",{fill:"#8da6d9",opacity:"1.00",d:" M 83.15 50.18 C 86.59 47.86 90.26 45.76 94.16 44.30 C 96.46 43.58 97.45 46.12 97.82 47.88 C 94.55 50.84 90.52 52.76 86.56 54.60 C 85.18 55.35 83.62 54.93 82.16 54.82 C 82.08 53.21 81.21 51.03 83.15 50.18 Z"}),T.createElement("path",{fill:"#8da6d9",opacity:"1.00",d:" M 51.49 55.43 C 56.19 54.55 59.78 58.65 64.01 59.97 C 68.18 58.57 71.82 54.46 76.48 55.50 C 76.69 56.83 77.25 58.23 76.74 59.58 C 73.79 61.91 70.21 63.25 67.06 65.27 C 66.80 69.37 67.00 73.50 66.42 77.57 C 64.81 77.78 63.19 77.76 61.59 77.55 C 61.00 73.47 61.20 69.34 60.94 65.24 C 57.78 63.24 54.16 61.96 51.27 59.56 C 50.53 58.23 51.26 56.78 51.49 55.43 Z"}),T.createElement("path",{fill:"#8da6d9",opacity:"1.00",d:" M 61.61 84.44 C 63.20 84.05 64.82 84.09 66.42 84.44 C 67.10 89.77 67.19 95.20 66.42 100.53 C 64.82 101.13 63.15 101.18 61.52 100.63 C 60.93 95.26 60.78 89.80 61.61 84.44 Z"}),T.createElement("path",{fill:"#8da6d9",opacity:"1.00",d:" M 61.65 108.59 C 62.39 106.51 65.30 107.03 66.52 108.37 C 67.25 112.72 67.03 117.20 66.40 121.55 C 64.81 122.00 63.19 122.00 61.60 121.55 C 61.04 117.28 60.56 112.81 61.65 108.59 Z"}))):T.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 128 128",version:"1.1",xmlns:"http://www.w3.org/2000/svg",onClick:Ge=>Vr(Ge,bt.key,`${bt.key}`,bt.color,bt.z)},T.createElement("g",{id:"#1296dbff"},T.createElement("path",{fill:"#1296db",opacity:"1.00",d:" M 61.53 12.67 C 65.46 11.54 69.30 13.51 72.75 15.18 C 79.87 18.83 87.26 21.90 94.40 25.50 C 98.14 27.43 102.24 28.74 105.61 31.32 C 108.79 33.88 107.69 39.53 104.04 41.12 C 97.03 44.96 89.48 47.73 82.40 51.44 C 77.12 53.83 71.95 56.48 66.60 58.70 C 63.66 60.17 60.60 58.42 57.90 57.25 C 46.68 51.71 35.19 46.70 23.99 41.12 C 19.70 39.29 19.26 32.55 23.58 30.52 C 32.09 25.74 41.21 22.17 49.92 17.78 C 53.73 15.95 57.45 13.86 61.53 12.67 Z"}),T.createElement("path",{fill:"#1296db",opacity:"1.00",d:" M 19.32 48.10 C 22.27 47.30 25.07 49.17 27.71 50.24 C 36.66 54.75 45.89 58.69 54.87 63.12 C 56.99 64.25 59.54 65.55 60.07 68.13 C 60.64 70.71 60.51 73.37 60.53 76.00 C 60.40 86.34 60.51 96.69 60.51 107.03 C 60.44 109.78 60.34 113.19 57.72 114.82 C 54.77 117.03 51.17 114.98 48.27 113.77 C 39.28 109.37 30.16 105.24 21.11 100.97 C 19.03 99.85 16.43 98.92 15.46 96.58 C 14.66 93.80 14.87 90.85 14.82 87.99 C 14.97 77.31 14.77 66.62 14.88 55.94 C 14.74 52.76 16.06 49.18 19.32 48.10 Z"}),T.createElement("path",{fill:"#1296db",opacity:"1.00",d:" M 105.40 48.21 C 108.42 46.98 112.09 49.16 112.66 52.32 C 113.43 56.16 113.11 60.11 113.15 64.00 C 113.03 73.34 113.25 82.69 113.10 92.04 C 113.14 95.16 112.21 98.70 109.04 100.01 C 99.09 104.78 89.00 109.29 79.06 114.12 C 76.54 115.15 73.59 116.72 70.92 115.21 C 67.85 113.76 67.50 110.02 67.50 107.03 C 67.51 95.68 67.56 84.34 67.48 72.99 C 67.64 70.22 67.28 66.64 70.01 64.96 C 74.57 61.94 79.73 60.01 84.64 57.66 C 91.64 54.70 98.21 50.72 105.40 48.21 Z"})))):null)),bt.title=de,bt.key=bt.name,bt["3D"]==!1&&(bt.disabled=!0),x||we.includes(bt.name)?bt.disableCheckbox=!0:bt.disableCheckbox=!1,bt.children&&(bt.children=Pt(bt.children)),bt;if(s=="swc"){if(gt||je)return ht.current&&ht.current.includes(_n)&&Oe("strain",bt)&&Oe("age",bt)&&Oe("weight",bt)&&Oe("gender",bt)&&Oe("injected_viruses",bt)&&Oe("imaging_system",bt)&&Oe("species",bt)?(bt.title=bt.name,bt.key=bt.name,bt.color=bt.color?bt.color:"#045404",!Ln||bt.show?bt:null):null}else{const Ge=G&&_n.toLowerCase().indexOf(G.toLowerCase())!==-1;return de=T.createElement(_a,{placement:"right",title:bt.fullname},T.createElement("span",{style:{display:"flex",alignItems:"center"},onClick:et=>et.stopPropagation()},bt.children&&s=="swc"?null:T.createElement(oL,{disabled:s=="swc",format:"rgb",defaultValue:s=="swc"?"#045404":bt.color,onChange:(et,Ut)=>Ti(et,Ut,bt)}),T.createElement("div",{style:Ge?{color:"red"}:{}},_n))),bt.title=de,bt.key=bt.name,bt.children&&(bt.children=Pt(bt.children)),bt}});return Pt(n).filter(Boolean)},[G,n,re,we,x,y,M,ee,at,E,Ln,N]),li=(je,gt)=>{g(_t=>[..._t,je]),ne.current.push(je);let Qe=new URL(window.location.href),Pt=new URLSearchParams(Qe.search);const Rt=JSON.stringify(ne.current);Pt.set("neuronsChecked",Rt),Qe.search=Pt.toString(),window.history.replaceState({},"",Qe);let Vt=Sr(ir,je);fetch(Vt.path).then(_t=>_t.json()).then(_t=>{Cn(_t)}),q.current[je]?(St({name:je,color:gt}),ct(!0)):sr(Vt.path,6,je,Vt.color,function(){ms(je,Vt.color),St({name:je,color:gt}),ct(!0)})},$i=[{title:"Name",dataIndex:"name"},{title:"Color",dataIndex:"Picker",width:50,render:(je,gt)=>(rn[gt.name]&&(gt.color=rn[gt.name]),T.createElement(oL,{disabled:!gt.show,format:"rgb",defaultValue:gt.color?gt.color:"#045404",onChange:(Qe,Pt)=>Ti(Qe,Pt,gt)}))},{title:"Ana.",dataIndex:"Ana",align:"center",render:(je,gt)=>T.createElement(_a,{placement:"right",title:p("5000.7008")||"分析"},T.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 200 200",version:"1.1",xmlns:"http://www.w3.org/2000/svg",cursor:"pointer",pointerEvents:gt.show?"auto":"none",onClick:Qe=>{li(gt.name,gt.color)}},T.createElement("g",{id:"#515151ff"},T.createElement("path",{fill:"#515151",opacity:"1.00",d:" M 93.31 23.38 C 99.84 22.59 106.48 23.11 113.05 23.06 C 116.47 22.96 118.74 26.28 119.64 29.16 C 119.69 72.38 119.68 115.62 119.65 158.85 C 118.76 161.25 117.05 164.47 114.01 164.31 C 107.36 164.33 100.70 164.43 94.05 164.27 C 90.19 163.42 89.10 158.51 89.04 155.07 C 88.96 114.37 88.99 73.66 89.03 32.95 C 88.88 29.39 89.91 25.14 93.31 23.38 Z"}),T.createElement("path",{fill:"#515151",opacity:"1.00",d:" M 154.30 33.38 C 160.49 32.55 166.82 33.20 173.07 33.01 C 177.49 32.53 180.75 36.93 180.68 41.00 C 180.64 79.96 180.71 118.92 180.65 157.87 C 180.10 160.67 178.42 164.46 175.00 164.30 C 168.35 164.35 161.68 164.43 155.03 164.26 C 150.70 163.82 149.84 158.51 149.68 155.00 C 149.66 117.67 149.67 80.35 149.67 43.02 C 149.50 39.30 150.67 35.07 154.30 33.38 Z"}),T.createElement("path",{fill:"#515151",opacity:"1.00",d:" M 31.38 68.42 C 36.43 66.93 41.81 67.98 47.00 67.67 C 50.60 67.83 55.31 66.86 57.74 70.26 C 59.28 71.73 58.83 74.05 59.00 75.97 C 58.96 103.34 59.07 130.71 58.95 158.08 C 59.30 161.45 56.33 164.46 52.99 164.32 C 46.66 164.36 40.33 164.36 34.01 164.32 C 30.72 164.36 27.65 161.48 28.05 158.09 C 27.95 130.37 28.00 102.64 28.03 74.92 C 27.75 72.28 28.89 69.58 31.38 68.42 Z"}),T.createElement("path",{fill:"#515151",opacity:"1.00",d:" M 7.94 174.89 C 8.70 174.83 10.24 174.70 11.01 174.64 C 47.00 174.68 83.00 174.65 119.00 174.66 C 146.00 174.78 173.01 174.42 200.00 174.84 L 200.00 184.15 C 198.66 184.25 197.33 184.31 196.00 184.35 C 134.33 184.34 72.67 184.34 11.01 184.35 C 10.24 184.29 8.70 184.17 7.94 184.11 C 7.49 181.06 7.48 177.94 7.94 174.89 Z"}))))},{title:"Path",dataIndex:"img",align:"center",width:50,render:(je,gt)=>T.createElement(_a,{placement:"right",title:p("5000.6003")||"投射路径"},T.createElement("svg",{width:"20px",height:"20px",viewBox:"0 0 200 200",version:"1.1",xmlns:"http://www.w3.org/2000/svg",cursor:"pointer",pointerEvents:gt.show?"auto":"none",onClick:Qe=>{Qt(gt.name)}},T.createElement("g",{id:"#1296dbff"},T.createElement("path",{fill:w&&gt.name in w.current?"#1296db":"#515151",opacity:"1.00",d:" M 49.85 22.81 C 59.71 14.23 76.52 14.87 85.29 24.74 C 87.48 27.08 88.68 30.09 90.41 32.73 C 91.80 33.49 93.46 33.21 94.98 33.33 C 111.66 33.26 128.35 33.27 145.03 33.31 C 156.32 33.34 168.08 37.82 175.15 46.90 C 184.45 58.34 185.39 75.18 179.31 88.32 C 175.60 95.86 169.21 102.22 161.27 105.20 C 155.18 107.71 148.53 108.28 142.00 108.29 C 112.98 108.27 83.95 108.30 54.93 108.29 C 47.32 108.11 39.18 111.60 35.74 118.72 C 31.96 126.77 32.58 137.41 38.92 144.04 C 43.19 148.73 49.91 149.96 55.98 150.00 C 72.33 150.03 88.68 149.95 105.04 150.04 C 106.56 150.01 108.10 150.00 109.60 149.65 C 111.78 145.95 113.50 141.75 117.13 139.15 C 126.54 131.15 141.94 131.52 150.80 140.19 C 153.70 142.84 155.15 146.56 157.28 149.78 C 164.10 150.58 171.02 149.34 177.82 150.39 C 184.67 152.33 185.10 163.99 178.15 166.09 C 171.31 167.70 164.18 165.87 157.29 167.06 C 155.14 170.31 153.62 174.04 150.68 176.70 C 140.24 186.50 121.13 185.09 112.96 173.05 C 111.06 170.87 110.76 166.29 107.04 166.72 C 93.69 166.66 80.35 166.74 67.00 166.71 C 57.97 166.58 48.53 167.54 39.99 163.97 C 31.40 160.72 23.97 154.20 20.28 145.72 C 13.84 131.17 16.41 112.32 28.35 101.31 C 36.18 93.81 47.48 91.52 58.00 91.71 C 87.34 91.67 116.69 91.78 146.03 91.68 C 153.59 91.69 161.48 87.76 164.60 80.60 C 168.03 72.44 167.24 61.77 160.57 55.44 C 156.20 51.22 149.90 49.98 144.02 50.00 C 128.01 49.96 112.00 50.06 95.99 49.95 C 94.12 49.98 92.23 49.93 90.41 50.34 C 88.22 54.05 86.50 58.25 82.87 60.85 C 73.46 68.85 58.08 68.47 49.22 59.81 C 46.25 57.21 44.85 53.43 42.73 50.21 C 35.91 49.42 28.99 50.67 22.20 49.60 C 15.26 47.64 14.91 36.10 21.94 33.95 C 28.72 32.23 35.86 34.16 42.71 32.94 C 44.97 29.49 46.61 25.52 49.85 22.81 M 63.32 34.12 C 56.99 36.45 57.07 46.16 62.70 49.22 C 65.17 50.16 68.00 50.11 70.52 49.39 C 73.84 47.68 75.46 43.66 74.83 40.07 C 74.41 34.85 67.77 32.10 63.32 34.12 M 130.37 150.45 C 125.27 151.88 123.75 158.64 126.14 162.91 C 128.25 166.43 133.18 167.23 136.81 165.90 C 141.61 164.64 142.31 158.29 140.69 154.36 C 139.16 150.30 134.12 149.42 130.37 150.45 Z"}))))},{title:"Src.",dataIndex:"source",align:"center",width:50,render:(je,gt)=>{const Qe=gt.type;return T.createElement(_a,{placement:"right",title:p("5000.6038",{name:Qe})||'数据来源"'+Qe+'"'},T.createElement("a",{href:gt.url,target:"_blank"},T.createElement("img",{src:gt.image,width:"20px",height:"20px"})))}}],Ri=je=>{for(var gt=window.location.search.substring(1),Qe=gt.split("&"),Pt=0;Pt<Qe.length;Pt++){var Rt=Qe[Pt].split("=");if(Rt[0]==je)return Rt[1]}return!1},ii=(je,gt)=>{let Pt=j2(sg(je,gt),gt).children;for(var Rt=[],Vt=0;Vt<Pt.length;Vt++)Pt[Vt]["3D"]&&Rt.push(Pt[Vt].name);return Rt},xi=()=>{const je=Object.keys(Y.current);Object.keys(Y.current).length!==0&&Xi(je,Y.current,.2,0,void 0,!0)};T.useEffect(()=>{xi()},[f]);const ai=(je,gt,Qe,Pt,Rt,Vt)=>{var _t=new ka;if(_t.setFromAxisAngle(new me(1,0,0),Math.PI/2),!Vo.current[gt]){var bt=new aH;Pt=Pt||.1,bt.load(je,function(Et){Et.scale.set(Bo.current,Bo.current,Bo.current),Et.applyQuaternion(_t),Rt&&Et.translateY(Rt*Bo.current*.1),Et.children[0].material.transparent=!0,Et.children[0].material.opacity=Pt,Et.children[0].material.depthTest=!1,Et.children[0].material.color.set(Qe);let _n=Et.clone();if(gt!="Brain"){var gr=new ri,Oe=new me(1,0,0);gr.set(1-2*Oe.x*Oe.x,-2*Oe.x*Oe.y,-2*Oe.x*Oe.z,0,-2*Oe.x*Oe.y,1-2*Oe.y*Oe.y,-2*Oe.y*Oe.z,0,-2*Oe.x*Oe.z,-2*Oe.y*Oe.z,1-2*Oe.z*Oe.z,0,0,0,0,1),_n.applyMatrix4(gr),_n.translateX(-qo.current),_n.translateY(_o.current),_n.translateZ(-To.current),_n.name=gt,_n.myMeshType="FBX",_n.children[0].name=gt,_n.children[0].myMeshType="FBX",ts.current[gt]=_n,hg.current&&Ce.current.add(_n)}Et.translateX(qo.current),Et.translateY(_o.current),Et.translateZ(-To.current),Et.name=gt,Et.myMeshType="FBX",Et.children[0].name=gt,Et.children[0].myMeshType="FBX",Vo.current[gt]=Et,Ce.current.add(Vo.current[gt]);var de=new me,Ke=new rs().setFromObject(Et);Ke.getCenter(de);var Ge=new me;Ke.getSize(Ge);var et=Ge.x*Ge.y*Ge.z;RT.current[gt]=[de,et];for(var Ut=LT(gt,Q.current),dn=0;dn<Ut.length;dn++)if(o!=null&&o.current&&Y.current[Ut[dn]])if(te.current||se.current){Et.translateOnAxis(Y==null?void 0:Y.current[Ut[dn]].axis,o.current*(Y==null?void 0:Y.current[Ut[dn]].length));var Kt=Y==null?void 0:Y.current[Ut[dn]].axis.clone();Kt.x=Kt.x*-1,_n.translateOnAxis(Kt,o.current*(Y==null?void 0:Y.current[Ut[dn]].length))}else{var Kt=Y[Ut[dn]].axis.clone();Kt.x=Kt.x*-1,_n.translateOnAxis(Kt,o.current*(Y==null?void 0:Y.current[Ut[dn]].length)),Et.translateOnAxis(Y==null?void 0:Y.current[Ut[dn]].axis,o.current*(Y==null?void 0:Y.current[Ut[dn]].length))}Vo.current[gt]=Et;let In=ii(gt,Q.current);for(var Dt=!0,Mt=0;Mt<In.length;Mt++)In[Mt]in Vo.current||(Dt=!1);if(Dt){for(var jr=0,Mt=0;Mt<In.length;Mt++){var Ur=In[Mt];if(!te.current)if(se.current){let Ei=new me(0,0,5);Y.current[Ur]={axis:RT.current[Ur][0].clone().sub(Ei).applyAxisAngle(new me(1,0,0),-1*Math.PI/2).normalize(),length:Math.cbrt(RT.current[Ur][1])}}else he.current;jr=jr+Y.current[Ur].length}if(!(se.current||te.current))for(Mt=0;Mt<In.length;Mt++)Y.current[In[Mt]].length=Y.current[In[Mt]].length/jr*In.length;var ar=setInterval(function(){if(o!=null&&o.current&&dt.current<(o==null?void 0:o.current)){dt.current=dt.current+.2;let Yn;dt.current>(o==null?void 0:o.current)&&(Yn=(o==null?void 0:o.current)-dt.current+.2,dt.current=o.current),Xi(In,Y.current,.2,0,Yn)}else dt.current=0,clearInterval(ar)},20)}Vt&&Vt()})}},Xi=(je,gt,Qe,Pt,Rt,Vt=!1)=>{var _t,bt;if(te.current||se.current)var Et=.2;else var Et=Qe;for(var _n in je){var gr=je[_n];_t=Vo.current[gr],bt=ts.current[gr];var Oe=gt[gr].axis,de=Oe.clone();de.x=de.x*-1;var Ke=gt[gr].length;if(Vt&&o){Vo.current[je[_n]].locationLength=o==null?void 0:o.current,Vo.current[je[_n]].position.set(0,0,0),Vo.current[je[_n]].translateX(qo.current),Vo.current[je[_n]].translateY(_o.current),Vo.current[je[_n]].translateZ(-To.current),Vo.current[je[_n]].translateOnAxis(Oe,(o==null?void 0:o.current)*Ke),ts.current[je[_n]].position.set(0,0,0),ts.current[je[_n]].translateX(-qo.current),ts.current[je[_n]].translateY(_o.current),ts.current[je[_n]].translateZ(-To.current),ts.current[je[_n]].locationLength=o==null?void 0:o.current,ts.current[je[_n]].translateOnAxis(de,(o==null?void 0:o.current)*Ke);continue}switch(Pt){case 0:Rt?(Vo.current[je[_n]].translateOnAxis(Oe,Rt*Ke),ts.current[je[_n]].translateOnAxis(de,Rt*Ke)):(Vo.current[je[_n]].translateOnAxis(Oe,Et*Ke),ts.current[je[_n]].translateOnAxis(de,Et*Ke));break;case 1:Et<=0?(_t.translateOnAxis(Oe,-1*Math.sqrt(Math.abs(Et*Ke))),bt.translateOnAxis(de,-1*Math.sqrt(Math.abs(Et*Ke)))):(_t.translateOnAxis(Oe,Math.sqrt(Et*Ke)),bt.translateOnAxis(de,Math.sqrt(Et*Ke)));break;case 2:Et<=0?(_t.translateOnAxis(Oe,-1*Math.pow(Et,2)*Ke),bt.translateOnAxis(de,-1*Math.pow(Et,2)*Ke)):(_t.translateOnAxis(Oe,Math.pow(Et,2)*Ke),bt.translateOnAxis(de,Math.pow(Et,2)*Ke));break}}},Ba=je=>{for(let gt=0;gt<je.length;gt++){const Qe=je[gt],{key:Pt,cname:Rt}=Qe;localStorage.getItem("lang")=="zh_cn"&&Rt?ke.current.push({key:Pt,title:Rt}):ke.current.push({key:Pt,title:Pt}),Qe.children&&Ba(Qe.children)}},Wa=je=>{const{value:gt}=je.target;if(gt!=""){Ue.current=!1,Ak=[];const Qe=ke.current.map(Rt=>Rt.title.toLowerCase().indexOf(gt.toLowerCase())>-1?sg(Rt.key,n):null).filter((Rt,Vt,_t)=>!!(Rt&&_t.indexOf(Rt)===Vt));let Pt=[];for(let Rt in Qe){let Vt=Qe[Rt];if(Vt){let _t=LT(Vt,n);gt.length===1?(_t.length>2&&(_t=_t.slice(_t.length-3,_t.length)),Pt.push(..._t)):Pt.push(Vt,..._t)}}Pt.filter((Rt,Vt,_t)=>!!(Rt&&_t.indexOf(Rt)===Vt)),F(Pt),X(!0),J(gt)}else F(ce.current),J(""),Ue.current=!0},ja=(je,gt)=>(...Pt)=>{clearTimeout(W.current),W.current=setTimeout(()=>{je(...Pt)},gt)},Ks=ja(Wa,50),Ao=je=>{F(je),Ak=[],X(!1)},ms=(je,gt)=>{q.current[je]&&q.current[je].children[0].material.color.set(gt)},Pr=T.useCallback((je,gt,Qe,Pt)=>{let Rt=je,Vt="",_t;if(s!=="swc"){if(Rt=gt.node.name,Vt=gt.node.path,_t=gt.node.color,Rt===ne.current[0]&&S===2)return;if(b){const Ke=b.current.indexOf(Rt);Ke>-1?b.current.splice(Ke,1):ne.current.length!==0&&b.current.push(Rt)}let Et=m.findIndex(Ke=>Ke==Rt),_n=JSON.parse(JSON.stringify(m));Et>-1?_n.splice(Et,1):_n.push(Rt),g(_n),ne.current=_n;let gr=new URL(window.location.href),Oe=new URLSearchParams(gr.search);const de=JSON.stringify(_n);s==="fbx"?Oe.set("regionsChecked",de):s==="vessel"&&Oe.set("vesselsChecked",de),gr.search=Oe.toString(),window.history.replaceState({},"",gr)}const bt=document.getElementById("spinner");switch(s){case"vessel":{Rt=="Unnamed vein"&&(Rt="Unnamed_Vein");let Et=Vt+Rt+".js";gt.checked?(Om=!0,bt&&(bt.style.display="block"),Lr(Et,8,_t,Rt,function(){bt&&(bt.style.display="none")})):(Om=!1,bt&&(bt.style.display="none"),Gr(Rt));break}case"swc":{if(Qe)if(Pt){let Et=gt.map(_n=>new Promise((gr,Oe)=>{if(gt)if(q.current[_n.name])gr("");else{g(Ut=>[...Ut,_n.name]);let de=new URL(window.location.href),Ke=new URLSearchParams(de.search);const Ge=[...m,_n.name],et=JSON.stringify(Ge);Ke.set("neuronsChecked",et),de.search=Ke.toString(),window.history.replaceState({},"",de),bt&&(bt.style.display="block"),sr(_n.path,6,_n.name,_n.color,function(){ms(_n.name,"#045404"),gr("")})}else{Om=!1,Nn(_n.name);let de=new URL(window.location.href),Ke=new URLSearchParams(de.search);const et=JSON.stringify([]);Ke.set("neuronsChecked",et),de.search=Ke.toString(),window.history.replaceState({},"",de),gr("")}}));Promise.all(Et).then(()=>{bt&&(bt.style.display="none")})}else{ne.current.push(je.name),bt&&(bt.style.display="block"),g(Oe=>[...Oe,je.name]);let Et=new URL(window.location.href),_n=new URLSearchParams(Et.search);const gr=JSON.stringify(ne.current);_n.set("neuronsChecked",gr),Et.search=_n.toString(),window.history.replaceState({},"",Et),sr(je.path,6,je.name,je.color,function(){ms(je.name,"#045404"),bt&&(bt.style.display="none")})}else if(Pt)gt.forEach(Et=>{if(gt){g(de=>de.filter(Ke=>Ke!==Et.name)),ne.current=ne.current.filter(de=>de!==Et.name),Nn(Et.name);let _n=new URL(window.location.href),gr=new URLSearchParams(_n.search);const Oe=JSON.stringify(ne.current);if(gr.set("neuronsChecked",Oe),_n.search=gr.toString(),window.history.replaceState({},"",_n),w&&Et.name in w.current){le(de=>de.filter(Ke=>Ke!==Et.name));for(let de in w.current[Et.name])Ce.current.remove(w.current[Et.name][de]);delete w.current[Et.name]}}});else{if(w&&je.name in w.current){le(Oe=>Oe.filter(de=>de!==je.name));for(let Oe in w.current[je.name])Ce.current.remove(w.current[je.name][Oe]);delete w.current[je.name]}Nn(je.name),ne.current=ne.current.filter(Oe=>Oe!==je.name),g(Oe=>Oe.filter(de=>de!==je.name));let Et=new URL(window.location.href),_n=new URLSearchParams(Et.search);const gr=JSON.stringify(ne.current);_n.set("neuronsChecked",gr),Et.search=_n.toString(),window.history.replaceState({},"",Et)}break}case"soma":{S0e(Rt,ir).forEach(_n=>{gt.checked?(Om=!0,q.current[Rt]||(h!=null&&h.current?Rn(Vt,_n.color,Rt):Rn(U+"/data/json/"+Rt,_n.color,Rt))):(Om=!1,Nn(Rt))});break}case"fbx":{let Et=parseInt(gt.node.z),_n=U+"/data/FBX/"+Kn(Rt)+".FBX";gt.checked?(bt&&(bt.style.display="block"),qh(_n,Rt,_t,.8,Et,"FBX",function(){bt&&(bt.style.display="none")})):lt(Rt)}}},[m]),hi=()=>{if(Q.current.length>0&&s!=="swc"&&m.length>0&&(s==="fbx"||s==="vessel"))return new Promise((je,gt)=>{const Qe=document.getElementById("spinner");let Pt=0;for(let Rt=0;Rt<m.length;Rt++){let Vt=j2(m[Rt],Q.current);if(Vt){let _t={node:{...Vt,checked:!0}};if(s==="fbx"){let bt=U+"/data/FBX/"+Kn(Vt.key)+".FBX";qh(bt,Vt.key,Vt.color,.8,Vt.z,"FBX",function(){Qe&&(Qe.style.display="none"),Pt+=1,Pt===m.length&&je("")})}else if(s==="vessel"){let bt=Vt.name,Et=_t.node.path;bt=="Unnamed vein"&&(bt="Unnamed_Vein");let _n=Et+bt+".js";Om=!0,Qe&&(Qe.style.display="block"),Lr(_n,8,Vt.color,bt,function(){Qe&&(Qe.style.display="none"),Pt+=1,Pt===m.length&&je("")})}}}}).then(je=>{if(mse){let gt=JSON.parse(mse);for(let Qe=0;Qe<gt.length;Qe++){let Pt=j2(gt[Qe],Q.current);Pt&&Vr({stopPropagation:()=>{}},Pt.key,`${Pt.key}`,Pt.color,Pt.z)}}})},Ot=()=>{if(Mk&&JSON.parse(Mk).length!=0){const je=document.getElementById("spinner"),gt=JSON.parse(Mk);let Qe=0;je&&(je.style.display="block");for(let Pt=0;Pt<gt.length;Pt++){let Rt=n.find(Vt=>Vt.name===gt[Pt]);Rt&&(rn.current[gt[Pt]]?Rt.color=rn.current[gt[Pt]].replace("!","#"):Rt.color="#045404",sr(Rt.path,6,Rt.name,Rt.color,function(){if(ms(Rt.name,Rt.color),yse){const Vt=JSON.parse(yse);for(let _t=0;_t<Vt.length;_t++)Rt.name==Vt[_t]&&Qt(Rt.name)}Qe++,Qe===gt.length&&je&&(je.style.display="none")}))}}};T.useEffect(()=>{!At.current&&n&&n.length>0&&(Ot(),hi(),At.current=!1)},[n]);const lt=(je,gt=!1)=>{Vo.current[je]&&(Ce.current.remove(Vo.current[je]),Vo.current[je].children[0].geometry.dispose(),gt&&delete Vo.current[je]),ts.current[je]&&(Ce.current.remove(ts.current[je]),ts.current[je].children[0].geometry.dispose(),gt&&delete ts.current[je]),Y.current[je]&&gt&&delete Y.current[je]},qt=(je,gt)=>{const Qe={},Pt={};for(const Rt in je){const Vt=je[Rt];for(const _t of Vt)if(_t.name==gt){if(_t.color==="#1771FF"){Qe[Rt]={point:_t.point,color:_t.color,type:_t.type};break}if(_t.color==="#A7B5A1"){Qe[Rt]={point:_t.point,color:_t.color,type:_t.type};break}Qe[Rt]={point:_t.point,color:_t.color,type:_t.type}}}for(const Rt in je){const Vt=je[Rt];for(const _t of Vt)if(_t.name==gt){if(_t.type=="cell"){Pt[Rt]={point:_t.point,color:_t.color,type:_t.type};break}_t.type==="end"&&(_t.point[0]<570?Pt[Rt]={point:_t.point,color:_t.color,type:_t.type}:Pt[Rt+"_111"]={point:_t.point,color:_t.color,type:_t.type}),!Pt[Rt]&&!Pt[Rt+"_111"]&&_t.point[0]<570&&(Pt[Rt]={point:_t.point,color:_t.color,type:_t.type})}}return[Qe,Pt]},qe=(je,gt)=>{if(Object.keys(je).length>0){const Qe=Ai.current.position;let Pt=Ce.current.getObjectByName("DR-anterior"),Rt=0;Pt&&(Rt=Qe.distanceTo(Pt.position));for(let Vt in je){let{point:_t,color:bt,type:Et}=je[Vt];swt.load(U+"/fonts/helvetiker_bold.typeface.json",function(_n){const gr=new s0e(Vt.replace("_111",""),{font:_n,size:.3,height:.01}),Oe=new js({color:bt,specular:0,shininess:0}),de=new Dn(gr,Oe),Ke=Rt<6?.2:Rt<9?.3:.5;de.scale.set(Ke,Ke,Ke),de.position.set(_t[0]*.01,_t[1]*.01,_t[2]*.01),de.name="lineNameMesh",de.userData.name=Vt.replace("_111",""),de.userData.wholeName=`${gt}-${Vt.replace("_111","")}`,de.userData.initColor=bt,de.userData.type=Et,de.translateY(To.current),de.translateZ(_o.current),de.translateX(qo.current),gr.center(),w!=null&&w.current&&w.current[gt].push(de),Ce.current.add(de)})}}else setTimeout(()=>{const[Qe,Pt]=qt(st.current,gt);qe(Pt,gt)},100)},Qt=(je,gt,Qe)=>{let Pt=new URL(window.location.href),Rt=new URLSearchParams(Pt.search),Vt,_t;if(Qe?[Vt,_t]=qt(Qe,je):[Vt,_t]=qt(st.current,je),w!=null&&w.current){const bt=document.getElementById("spinner");if(je in w.current){for(let _n in w.current[je])le(gr=>gr.filter(Oe=>Oe!==je)),Ce.current.remove(w.current[je][_n]);const Et=ee.filter(_n=>_n!==je);Rt.set("neuronsText",JSON.stringify(Et)),delete w.current[je]}else{if(w.current[je]=[],le(Et=>[...Et,je]),Rt.set("neuronsText",JSON.stringify([...ee,je])),!(je in q.current)){g(gr=>[...gr,je]),ne.current=[...ne.current,je];const Et=JSON.stringify(ne.current);Rt.set("neuronsChecked",Et);let _n=Sr(ir,je);if(bt&&(bt.style.display="block"),!q.current[je]){let gr=_n.color;_n.path&&gr&&sr(_n.path,6,je,gr,function(){gr&&ms(je,gr),bt&&(bt.style.display="none")})}}qe(_t,je)}Pt.search=Rt.toString(),window.history.replaceState({},"",Pt)}},Nn=je=>{q.current[je]&&(Ce.current.remove(q.current[je]),q.current[je]=null,delete q.current[je]);const gt=Ce.current.getObjectByName(`swcPointGroup${je}`);gt&&Ce.current.remove(gt)},Rr=je=>je.map(gt=>({value:gt.name+" "+gt.fullname,title:T.createElement(_a,{placement:"right",title:gt.fullname},T.createElement("div",{style:{whiteSpace:"nowrap",display:"flex",alignItems:"center",lineHeight:"2.4"}},gt.name," ",gt.fullname)),children:gt.children?Rr(gt.children):void 0})),Gr=je=>{Ce.current.remove(Tm),Ce.current.remove(Pc),i.current[je]&&(Ce.current.remove(i.current[je].contentobj),i.current[je].contentobj.traverse(function(gt){gt.type=="Mesh"&&(gt.geometry.dispose(),gt.geometry=null)}),i.current[je].contentmaterial.dispose(),i.current[je].contentmaterial=null,i.current[je]=null,delete i.current[je])},Lr=(je,gt,Qe,Pt,Rt)=>{i.current[Pt]?(Ce.current.add(i.current[Pt].obj),Rt&&Rt()):fetch(je).then(Vt=>Vt.json()).then(Vt=>{var _t=new Vu,bt=new Qme({color:Qe}),Et=!1;Vt.line.length>1e4&&(Et=!0);let _n=1;for(let Oe=0;Oe<Vt.line.length;Oe++)Vt.line[Oe].layer>_n&&(_n=Vt.line[Oe].layer);_n++;for(let Oe=0;Oe<Vt.line.length;Oe++){let de=(_n-Vt.line[Oe].layer)*20/_n,Ke=0,Ge=[];for(let Mt=Vt.line[Oe].start;Mt<=Vt.line[Oe].end;Mt++){let jr=Vt.position[Mt].x,Ur=Vt.position[Mt].y,ar=Vt.position[Mt].z;Ke++,Ge.push(new me(jr,Ur,ar))}let et=new Gme(Ge);Ke=Et?Math.ceil(Ke/5):Ke;const Ut=new hL,dn=new Dn(new eH(et,Ke,de,gt,!1),bt);dn.scale.set(1,1,1),Ut.addLevel(dn,0);const Kt=80,In=[Ge[0]];for(let Mt=1;Mt<Ge.length;Mt++){const jr=In[In.length-1],Ur=Ge[Mt];(jr.distanceTo(Ur)>Kt||Mt===Ge.length-1)&&In.push(Ur)}const Dt=new ba(new Wi().setFromPoints(In),new yh({color:Qe}));Dt.scale.set(1,1,1),Ut.addLevel(Dt,10),Ut.name=Pt,Ut.myMeshType="Vessel",Ut.autoUpdate=!1,_t.add(Ut)}_t.scale.set(Bo.current*.1,Bo.current*.1,Bo.current*.1),_t.translateX(qo.current),_t.translateY(To.current),_t.translateZ(_o.current),_t.name=Pt,_t.myMeshType="Vessel",Ce.current.add(_t);let gr={contentobj:_t,contentmaterial:bt};i.current[Pt]=gr,Rt&&Rt()})},Un=je=>{je=je.replace("#","");const gt=parseInt(je.slice(0,2),16),Qe=parseInt(je.slice(2,4),16),Pt=parseInt(je.slice(4,6),16),Rt=gt/255,Vt=Qe/255,_t=Pt/255;return new me(Rt,Vt,_t)},Rn=(je,gt,Qe,Pt)=>{fetch(je).then(Rt=>Rt.json()).then(Rt=>{let Vt=new ty,_t=new Wi,bt=[];for(let _n=0;_n<Rt.position.length;_n++){let gr=Rt.position[_n].split(","),Oe=gr[0],de=gr[1],Ke=gr[2];bt.push(Oe*Bo.current*.099,de*Bo.current*.099,Ke*Bo.current*.099)}_t.setAttribute("position",new ha(bt,3)),Un(gt);let Et=new Kz({size:fe.current/100,color:new Yr(gt)});Vt=new ty(_t,Et),Vt.translateX(qo.current),Vt.translateY(To.current),Vt.translateZ(_o.current-.45),Vt.name=Qe,q.current[Qe]=Vt,Ce.current.add(Vt)}),Pt&&Pt()},rr=je=>{He.current=!0;let gt=new URL(window.location.href),Qe=new URLSearchParams(gt.search);Qe.set("neuronsProjects",JSON.stringify(je)),gt.search=Qe.toString(),window.history.replaceState({},"",gt),je!=""?J(je):(J(je),F(ce.current))},Wt=ja(rr,50),vn=je=>{He.current=!0;let gt=new URL(window.location.href),Qe=new URLSearchParams(gt.search);Qe.set("neuronsSomaLocates",JSON.stringify(je)),gt.search=Qe.toString(),window.history.replaceState({},"",gt),je!=""?K(je):(K(je),F(ce.current))},Gn=ja(vn,50),Zn=()=>{let je=[Vo.current,ts.current,Y.current];for(let Rt of je)for(let Vt in Rt)Vt!="Brain"&&lt(Vt,!0);le([]),Object.keys(q.current).forEach(Rt=>{for(let Vt in w==null?void 0:w.current[Rt])Ce.current.remove(w==null?void 0:w.current[Rt][Vt]);Nn(Rt)}),Object.keys(i.current).forEach(Rt=>{Gr(Rt)}),g([]),w&&(w.current={}),ne.current=[];let gt=new URL(window.location.href),Qe=new URLSearchParams(gt.search);const Pt=JSON.stringify(ne.current);s==="fbx"?Qe.set("regionsChecked",Pt):s==="vessel"?Qe.set("vesselsChecked",Pt):s==="swc"&&(Qe.set("neuronsChecked",Pt),Qe.set("neuronsText",Pt)),gt.search=Qe.toString(),window.history.replaceState({},"",gt)},tr=(je,gt)=>{let Qe=0;for(const Pt of je.toLowerCase())if(Pt===gt[Qe]&&(Qe++,Qe===gt.length))return!0;return!1},ci=je=>{if(je){const gt=je.toLowerCase(),Qe=be.current.map(Pt=>{const Rt=Pt.name&&Pt.name.toLowerCase()===gt,Vt=Pt.fullname&&tr(Pt.fullname,gt);return{...Pt,matchPriority:Rt?1:Vt?2:3}}).filter(Pt=>Pt.matchPriority<3).sort((Pt,Rt)=>Pt.matchPriority-Rt.matchPriority).map(Pt=>({value:`${Pt.name} ${Pt.fullname}`,label:`${Pt.name} ${Pt.fullname}`}));oe(Qe)}else oe([])};T.useEffect(()=>{He.current&&(re?Me.current&&Me.current.focus():Fe.current&&Fe.current.focus())},[re]),T.useEffect(()=>{He.current&&(G?Te.current&&Te.current.focus():Ae.current&&Ae.current.focus())},[G]);const Sr=(je,gt)=>{let Qe=null,Pt=null;for(let Rt=0;Rt<je.length;Rt++)if(je[Rt].name==gt)return Qe=je[Rt].path,Pt=je[Rt].color,{path:Qe,color:Pt};return{path:Qe,color:Pt}},aa={emptyText:T.createElement(Pm,{description:T.createElement("div",{style:{color:"#ccc"}},"Neurons that meet the filter criteria entered in the input boxes above will be displayed here.")})},Xa={selectedRowKeys:m,onSelectAll:(je,gt,Qe)=>{Pr(gt,Qe,je,!0)},onSelect:(je,gt,Qe)=>{Pr(je,Qe,gt,!1)},getCheckboxProps:je=>({name:je.name})},Ca=je=>{let gt=new URL(window.location.href),Qe=new URLSearchParams(gt.search);const Pt=JSON.stringify(je);Qe.set("neuronsFilterInfo",Pt),gt.search=Qe.toString(),window.history.replaceState({},"",gt),Pe(je)},Mo=je=>{Se(je)};return T.createElement("div",{ref:c,style:{transition:"all ease-in 0.5s"}},s==="swc"?T.createElement(T.Fragment,null,re?T.createElement(L9,{ref:Me,style:{width:"100%",marginBottom:8},options:ue,placeholder:p("5000.5040")||"Input the region that soma locates",onSearch:ci,onChange:Gn,value:re}):T.createElement(lL,{ref:Fe,showSearch:!0,style:{width:"100%",marginBottom:8},value:re,dropdownStyle:{maxHeight:400,overflow:"hidden"},placeholder:p("5000.5040")||"Input the region that soma locates",allowClear:!0,treeDefaultExpandAll:!1,onChange:vn,onSearch:vn,treeData:Rr(r)}),G?T.createElement(L9,{ref:Te,style:{width:"100%",marginBottom:8},options:ue,placeholder:p("5000.5041")||"Input the region that neuron projects",onSearch:ci,onChange:Wt,value:G}):T.createElement(lL,{showSearch:!0,ref:Ae,style:{width:"100%"},value:G,dropdownStyle:{maxHeight:400,overflow:"hidden",marginBottom:8},placeholder:p("5000.5041")||"Input the region that neuron projects",allowClear:!0,treeDefaultExpandAll:!1,onChange:rr,onSearch:rr,treeData:Rr(r)}),k&&T.createElement(T.Fragment,null,T.createElement(lL,{treeData:pt,value:at,onChange:Ca,treeCheckable:!0,placeholder:"Filter by data information",style:{width:"100%",marginTop:8}}),T.createElement(bo,{style:{marginTop:"5px"}},T.createElement(ob,{onChange:je=>{fr(je.target.checked)}},p("7000.7025")||"只展示可用神经元"),T.createElement(bo,{style:{fontStyle:"italic",marginTop:"5px"}},p("7000.7026")||"点击Color按钮,修改神经元颜色;点击Ana.按钮,显示神经元投射路径分析结果;点击Path按钮,在主界面显示神经元经过的脑结构;Src按钮展示了神经元数据的来源"))),T.createElement("div",null,T.createElement(Os,{className:"Echart",open:rt,onOk:()=>{ct(!1)},onCancel:()=>{ct(!1)},width:"auto",footer:null},T.createElement(FS,{activeKey:Ht,onChange:Mo},T.createElement(Ik,{tab:p("5000.7009")||"神经元末梢分布",key:"1"},yt&&T.createElement(ra,null,"Isocortex"),T.createElement(df,{ref:Ye,className:"Isocortex",Name:"Isocortex",t:p,data_change:ft,data_c:st.current,col:["RSPv_","FRP_","MOp_","MOs_","SSp_","SSp-n_","SSp-bfd_","SSp-ll_","SSp-m_","SSp-ul_","SSp-tr_","SSp-un_","SSs_","GU_","VISC_","AUDd_","AUDp_","AUDpo_","AUDv_","VISal_","VISam_","VISl_","VISp_","VISpl_","VISpm_","VISli_","VISpor_","ACAd_","ACAv_","PL_","ILA_","ORB_","AId_","AIp_","AIv_","RSPagl_","RSPd_","PTLp_","TEa_","PERI_","ECT_"],row:["1","2/3","5","6a","6b"]}),Tt&&T.createElement(ra,null,"HPF"),T.createElement(df,{ref:Tn[0],className:"HPF",Name:"HPF",t:p,data_change:ft,data_c:st.current,col:["CA1_","CA1_dd","CA1_d","CA1_i","CA1_v","CA1_vv","CA2_dd","CA2_d","CA2_i","CA2_v","CA2_vv","CA3_dd","CA3_d","CA3_i","CA3_v","CA3_vv"],row:["so","sp","slu","sr","slm"]}),T.createElement(df,{ref:Tn[1],className:"HPF",Name:"HPF",t:p,data_change:ft,data_c:st.current,col:["DG_d","DG_i","DG_V"],row:["mo","sg","po"]}),T.createElement(df,{ref:Tn[2],className:"HPF",Name:"HPF",t:p,data_change:ft,data_c:st.current,col:["SUBd_1","SUBv_1","SUBd_2","SUBv_2","SUBd_3","SUBv_3","SUBd_4","SUBv_4","SUBd_","SUBv_"],row:["sp","sr","m"]}),pn&&T.createElement(ra,null,"CNU"),T.createElement(df,{ref:lr,className:"CNU",Name:"CNU",t:p,data_change:ft,data_c:st.current,col:["CP_","ACBv_","ACBd_","FS_","OTisl_","OTislm_","OT1","OT2","OT3","LSc","LSr_","SF","SH","AAA","BA","CEAc","CEAm","IA","MEAad","MEAav","MEApd","MEApv","GPe","GPi","SI","MA","NDB","TRS","PALc","BSTse","BAC"],row:["_"]}),zn&&T.createElement(ra,null,"OLF"),T.createElement(df,{ref:Hn[0],className:"OLF",Name:"OLF",t:p,data_change:ft,data_c:st.current,col:["MOB_","AOB_","AON_","TTv_","TTd_","DP_","PIR_","NLOT_","NLOT_","COAa_","COApm_","COApl_","PAA_","TR_"],row:["gr","mi","ipl","opl","gl"]}),T.createElement(df,{ref:Hn[1],className:"OLF",Name:"OLF",t:p,data_change:ft,data_c:st.current,col:["MOB_","AOB_","AON_","TTv_","TTd_","DP_","PIR_","NLOT_","NLOT_","COAa_","COApm_","COApl_","PAA_","TR_"],row:["1","2","3","4","5","6a","2/3"]}),Ft&&T.createElement(ra,null,"TH"),T.createElement(df,{ref:Ze,className:"TH",Name:"TH",t:p,data_change:ft,data_c:st.current,col:["VAL","VM","VPL","VPLpc","VPM","VPMpc","PoT","SPFm","SPFp","SPA","PP","MGd","MGv","MGm","LGdsh","LGdco","LGdip","LP","PO","POL","SGN","Eth","REth","AV","AMd","AMv","AD","IAM","IAD","LD","IMD","MDc","MDl","MDm","SMT","PR","PVT","PT","RE","Xi","RH","CM","PCN","CL","PF","PIL","RT","IGL","IntG","LGvl","LGvm","SubG","MH","LH","PIN"],row:["_"]}),tn&&T.createElement(ra,null,"HY"),T.createElement(df,{ref:Je,className:"HY",Name:"HY",t:p,data_change:ft,data_c:st.current,col:["SO","NC","PVHam","PVHmm","PVHpmm","PVHpml","PVHap","PVHmpd","PVHpv","PVa","PVi","ARH","ADP","AHA","AVP","DMHa","DMHp","DMHv","MEPO","MPO","OV","PD","PS","PSCH","PVp","PVpo","SBPV","SCH","SFO","VMPO","VLPO","AVPV","AHNa","AHNc","AHNd","AHNp","LM","MMme","MMl","MMm","MMp","MMd","SUMm","SUMl","TMd","TMv","MPNc","MPNl","MPNm","PMd","PMv","PVHdp","PVHf","PVHlp","PVHmpv","VMHa","VMHc","VMHdm","VMHvl","PH","LHA","LPO","PST","PSTN","RCH","PeF","STN","TU","A13","FF","ZIr","ZIc","ZId","ZIv","ME"],row:["_"]}),Ar&&T.createElement(ra,null,"MB"),T.createElement(df,{ref:vt,className:"MB",Name:"MB",t:p,data_change:ft,data_c:st.current,col:["SCop","SCsg","SCzo","ICc","ICd","ICe","NB","SAG","PBG","MEV","SCO","SNr","VTA","RR","MRNm","MRNmg","MRNp","SCdg","SCdw","SCiw","SCig-a","SCig-b","SCig-c","PRC","INC","ND","Su3","PAGdm","PAGl","PAGvl","PAGdl","PAGvm","APN","MPT","NOT","NPC","OP","PPT","RPF","InCo","CUN","RN","III","MA3","EW","IV","PA4","VTN","AT","LT","DT","MT","SNl","SNc","PPN","IF","IPR","IPC","IPA","IPL","IPI","IPDM","IPDL","IPRL","RL","CLI","DR"],row:["_"]}),cn&&T.createElement(ra,null,"HB"),T.createElement(df,{ref:wt,className:"HB",Name:"HB",t:p,data_change:ft,data_c:st.current,col:["NLLd","NLLh","NLLv","PSV","KF","PBlc","PBld","PBle","PBls","PBlv","PBme","PBmm","PBmv","POR","SOCm","SOCl","B","DTN","LTN","PDTg","PCG","PG","PRNc","PRNv","SG","SSN","SUT","TRN","V","P5","Acs5","PC5","I5","CSl","CSm","LC","LDT","NI","PRNr","RPO","SLC","SLD","AP","CNlam","CNspg","DCO","VCO","CU","GR","ECU","NTB","NTSce","NTSco","NTSge","NTSl","NTSm","SPVC","SPVI","SPVOcdm","SPVOmdmd","SPVOmdmv","SPVOrdm","SPVOvl","Pa5","z","VI","ACVI","VII","ACVII","EV","AMBd","AMBv","DMX","ECO","GRN","ICB","IO","LRNm","LRNp","ISN","LIN","IRN","MARN","MDRNd","MDRNv","PARN","PAS","PGRNd","PGRNl","NIS","NR","PRP","PMR","PPYd","PPYs","LAV","MV","SPIV","SUV","XII","x","y","RM","RPA","RO"],row:["_"]}),Yt&&T.createElement(ra,null,"CB"),T.createElement(df,{ref:ur[0],className:"CB",Name:"CB",t:p,data_change:ft,data_c:st.current,col:["LING_","LING_","CENT2_","CENT2_","CENT3_","CENT3_","CUL4/5_","CUL4/5_","DEC_","DEC_","FOTU_","FOTU_","PYR_","PYR_","UVU_","UVU_","NOD_","NOD_","SIM_","SIM_","ANcr1_","ANcr1_","ANcr2_","ANcr2_","PRM_","PRM_","COPY_","COPY_","PFL_","PFL_","FL_","FL_","IP","DN"],row:["gr","mo"]}),T.createElement(df,{ref:ur[1],className:"CB",Name:"CB",t:p,data_change:ft,data_c:st.current,col:["FN","IP","DN","VeCB"],row:["_"]})),T.createElement(Ik,{tab:p("5000.7011")||"神经元投射模式",key:"2"},r?T.createElement(awt,{data:Zt,fbxTreeDatas:r}):null),T.createElement(Ik,{tab:p("5000.7012")||"投射长度分布",key:"3"},yt&&T.createElement(ra,null,"Isocortex"),T.createElement(hf,{t:p,data_change:ft,data_c:Zt,col:["RSPv_","FRP_","MOp_","MOs_","SSp_","SSp-n_","SSp-bfd_","SSp-ll_","SSp-m_","SSp-ul_","SSp-tr_","SSp-un_","SSs_","GU_","VISC_","AUDd_","AUDp_","AUDpo_","AUDv_","VISal_","VISam_","VISl_","VISp_","VISpl_","VISpm_","VISli_","VISpor_","ACAd_","ACAv_","PL_","ILA_","ORB_","AId_","AIp_","AIv_","RSPagl_","RSPd_","PTLp_","TEa_","PERI_","ECT_"],row:["1","2/3","5","6a","6b"]}),Tt&&T.createElement(ra,null,"HPF"),T.createElement(hf,{t:p,data_change:ft,data_c:Zt,col:["CA1_d","CA1_i","CA1_v","CA1_","CA3_dd","CA3_d","CA3_i","CA3_v","CA3_vv","CA2_"],row:["so","sp","slu","sr","slm"]}),T.createElement(hf,{t:p,data_change:ft,data_c:Zt,col:["DG_d","DG_i","DG_V"],row:["mo","sg","po"]}),T.createElement(hf,{t:p,data_change:ft,data_c:Zt,col:["SUBd_1","SUBv_1","SUBd_2","SUBv_2","SUBd_3","SUBv_3","SUBd_4","SUBv_4","SUBd_","SUBv_"],row:["sp","sr","m"]}),pn&&T.createElement(ra,null,"CNU"),T.createElement(hf,{t:p,data_change:ft,data_c:Zt,col:["CP_","ACBv_","ACBd_","FS_","OTisl_","OTislm_","OT1","OT2","OT3","LSc","LSr_","SF","SH","AAA","BA","CEAc","CEAm","IA","MEAad","MEAav","MEApd","MEApv","GPe","GPi","SI","MA","NDB","TRS","PALc","BSTse","BAC"],row:["_"]}),zn&&T.createElement(ra,null,"OLF"),T.createElement(hf,{t:p,data_change:ft,data_c:Zt,col:["MOB_","AOB_","AON_","TTv_","TTd_","DP_","PIR_","NLOT_","NLOT_","COAa_","COApm_","COApl_","PAA_","TR_"],row:["gr","mi","ipl","opl","gl"]}),T.createElement(hf,{t:p,data_change:ft,data_c:Zt,col:["MOB_","AOB_","AON_","TTv_","TTd_","DP_","PIR_","NLOT_","NLOT_","COAa_","COApm_","COApl_","PAA_","TR_"],row:["1","2","3","4","5","6a","2/3"]}),Ft&&T.createElement(ra,null,"TH"),T.createElement(hf,{t:p,data_change:ft,data_c:Zt,col:["VAL","VM","VPL","VPLpc","VPM","VPMpc","PoT","SPFm","SPFp","SPA","PP","MGd","MGv","MGm","LGdsh","LGdco","LGdip","LP","PO","POL","SGN","Eth","REth","AV","AMd","AMv","AD","IAM","IAD","LD","IMD","MDc","MDl","MDm","SMT","PR","PVT","PT","RE","Xi","RH","CM","PCN","CL","PF","PIL","RT","IGL","IntG","LGvl","LGvm","SubG","MH","LH","PIN"],row:["_"]}),tn&&T.createElement(ra,null,"HY"),T.createElement(hf,{t:p,data_change:ft,data_c:Zt,col:["SO","NC","PVHam","PVHmm","PVHpmm","PVHpml","PVHap","PVHmpd","PVHpv","PVa","PVi","ARH","ADP","AHA","AVP","DMHa","DMHp","DMHv","MEPO","MPO","OV","PD","PS","PSCH","PVp","PVpo","SBPV","SCH","SFO","VMPO","VLPO","AVPV","AHNa","AHNc","AHNd","AHNp","LM","MMme","MMl","MMm","MMp","MMd","SUMm","SUMl","TMd","TMv","MPNc","MPNl","MPNm","PMd","PMv","PVHdp","PVHf","PVHlp","PVHmpv","VMHa","VMHc","VMHdm","VMHvl","PH","LHA","LPO","PST","PSTN","RCH","PeF","STN","TU","A13","FF","ZIr","ZIc","ZId","ZIv","ME"],row:["_"]}),Ar&&T.createElement(ra,null,"MB"),T.createElement(hf,{t:p,data_change:ft,data_c:Zt,col:["SCop","SCsg","SCzo","ICc","ICd","ICe","NB","SAG","PBG","MEV","SCO","SNr","VTA","RR","MRNm","MRNmg","MRNp","SCdg","SCdw","SCiw","SCig-a","SCig-b","SCig-c","PRC","INC","ND","Su3","PAGdm","PAGl","PAGvl","PAGdl","PAGvm","APN","MPT","NOT","NPC","OP","PPT","RPF","InCo","CUN","RN","III","MA3","EW","IV","PA4","VTN","AT","LT","DT","MT","SNl","SNc","PPN","IF","IPR","IPC","IPA","IPL","IPI","IPDM","IPDL","IPRL","RL","CLI","DR"],row:["_"]}),cn&&T.createElement(ra,null,"HB"),T.createElement(hf,{t:p,data_change:ft,data_c:Zt,col:["NLLd","NLLh","NLLv","PSV","KF","PBlc","PBld","PBle","PBls","PBlv","PBme","PBmm","PBmv","POR","SOCm","SOCl","B","DTN","LTN","PDTg","PCG","PG","PRNc","PRNv","SG","SSN","SUT","TRN","V","P5","Acs5","PC5","I5","CSl","CSm","LC","LDT","NI","PRNr","RPO","SLC","SLD","AP","CNlam","CNspg","DCO","VCO","CU","GR","ECU","NTB","NTSce","NTSco","NTSge","NTSl","NTSm","SPVC","SPVI","SPVOcdm","SPVOmdmd","SPVOmdmv","SPVOrdm","SPVOvl","Pa5","z","VI","ACVI","VII","ACVII","EV","AMBd","AMBv","DMX","ECO","GRN","ICB","IO","LRNm","LRNp","ISN","LIN","IRN","MARN","MDRNd","MDRNv","PARN","PAS","PGRNd","PGRNl","NIS","NR","PRP","PMR","PPYd","PPYs","LAV","MV","SPIV","SUV","XII","x","y","RM","RPA","RO"],row:["_"]}),Yt&&T.createElement(ra,null,"CB"),T.createElement(hf,{t:p,data_change:ft,data_c:Zt,col:["LING_","LING_","CENT2_","CENT2_","CENT3_","CENT3_","CUL4/5_","CUL4/5_","DEC_","DEC_","FOTU_","FOTU_","PYR_","PYR_","UVU_","UVU_","NOD_","NOD_","SIM_","SIM_","ANcr1_","ANcr1_","ANcr2_","ANcr2_","PRM_","PRM_","COPY_","COPY_","PFL_","PFL_","FL_","FL_","IP","DN"],row:["gr","mo"]}),T.createElement(hf,{t:p,data_change:ft,data_c:Zt,col:["FN","IP","DN","VeCB"],row:["_"]})))),T.createElement(_z,{className:"SwcTable",rowSelection:Xa,columns:$i,dataSource:ir,locale:aa}))):T.createElement(T.Fragment,null,T.createElement(owt,{style:{marginBottom:8},placeholder:"Search",onChange:Ks}),T.createElement(b_,{showLine:!0,onExpand:Ao,defaultExpandParent:!0,expandedKeys:B,onCheck:Pr,checkable:!0,selectable:!1,treeData:ir,checkedKeys:m,checkStrictly:!0,autoExpandParent:Z,style:{paddingLeft:"2px"}})))});let cwt=new URL(window.location.href),uwt=new URLSearchParams(cwt.search),xse=uwt.get("brainContourOpacity");const dwt=t=>{const{regionData:e}=t,[n,r]=T.useState(!1);return T.useEffect(()=>{let i=xse?JSON.parse(xse):.3;Dm({filepath:e+"/data/FBX/outline.FBX",index:"Brain",color:"0xcccccc",opacity:i,offsetZ:0,R:1,callback:function(){r(!1)}})},[]),T.createElement("div",{id:"spinner",style:{position:"absolute",zIndex:999,left:0,top:0,width:"100%",height:"100%",display:`${n?"block":"none"}`,opacity:.7,backgroundColor:"#ffffff"}},T.createElement("div",{style:{position:"absolute",zIndex:999,left:"50%",top:"50%",fontWeight:"bold",textAlign:"center"}},T.createElement(pz,{spinning:!0,size:"large"}),T.createElement("br",null),"Loading....wait..."))};(function(t){if(t.TextEncoder&&t.TextDecoder)return!1;function e(r="utf-8"){if(r!=="utf-8")throw new RangeError(`Failed to construct 'TextEncoder': The encoding label provided ('${r}') is invalid.`)}Object.defineProperty(e.prototype,"encoding",{value:"utf-8"}),e.prototype.encode=function(r,i={stream:!1}){if(i.stream)throw new Error("Failed to encode: the 'stream' option is unsupported.");let a=0;const o=r.length;let s=0,c=Math.max(32,o+(o>>1)+7),u=new Uint8Array(c>>3<<3);for(;a<o;){let d=r.charCodeAt(a++);if(d>=55296&&d<=56319){if(a<o){const f=r.charCodeAt(a);(f&64512)===56320&&(++a,d=((d&1023)<<10)+(f&1023)+65536)}if(d>=55296&&d<=56319)continue}if(s+4>u.length){c+=8,c*=1+a/r.length*2,c=c>>3<<3;const f=new Uint8Array(c);f.set(u),u=f}if(d&4294967168)if(!(d&4294965248))u[s++]=d>>6&31|192;else if(!(d&4294901760))u[s++]=d>>12&15|224,u[s++]=d>>6&63|128;else if(!(d&4292870144))u[s++]=d>>18&7|240,u[s++]=d>>12&63|128,u[s++]=d>>6&63|128;else continue;else{u[s++]=d;continue}u[s++]=d&63|128}return u.slice(0,s)};function n(r="utf-8",i={fatal:!1}){if(r!=="utf-8")throw new RangeError(`Failed to construct 'TextDecoder': The encoding label provided ('${r}') is invalid.`);if(i.fatal)throw new Error("Failed to construct 'TextDecoder': the 'fatal' option is unsupported.")}Object.defineProperty(n.prototype,"encoding",{value:"utf-8"}),Object.defineProperty(n.prototype,"fatal",{value:!1}),Object.defineProperty(n.prototype,"ignoreBOM",{value:!1}),n.prototype.decode=function(r,i={stream:!1}){if(i.stream)throw new Error("Failed to decode: the 'stream' option is unsupported.");const a=new Uint8Array(r);let o=0;const s=a.length,c=[];for(;o<s;){const u=a[o++];if(u===0)break;if(!(u&128))c.push(u);else if((u&224)===192){const d=a[o++]&63;c.push((u&31)<<6|d)}else if((u&240)===224){const d=a[o++]&63,f=a[o++]&63;c.push((u&31)<<12|d<<6|f)}else if((u&248)===240){const d=a[o++]&63,f=a[o++]&63,h=a[o++]&63;let p=(u&7)<<18|d<<12|f<<6|h;p>65535&&(p-=65536,c.push(p>>>10&1023|55296),p=56320|p&1023),c.push(p)}}return String.fromCharCode.apply(null,c)},t.TextEncoder=e,t.TextDecoder=n})(typeof window<"u"?window:typeof self<"u"?self:globalThis);function Sse(t,e="utf8"){return new TextDecoder(e).decode(t)}const fwt=new TextEncoder;function hwt(t){return fwt.encode(t)}const pwt=1024*8,vwt=(()=>{const t=new Uint8Array(4),e=new Uint32Array(t.buffer);return!((e[0]=1)&t[0])})(),Rk={int8:globalThis.Int8Array,uint8:globalThis.Uint8Array,int16:globalThis.Int16Array,uint16:globalThis.Uint16Array,int32:globalThis.Int32Array,uint32:globalThis.Uint32Array,uint64:globalThis.BigUint64Array,int64:globalThis.BigInt64Array,float32:globalThis.Float32Array,float64:globalThis.Float64Array};class R4{constructor(e=pwt,n={}){let r=!1;typeof e=="number"?e=new ArrayBuffer(e):(r=!0,this.lastWrittenByte=e.byteLength);const i=n.offset?n.offset>>>0:0,a=e.byteLength-i;let o=i;(ArrayBuffer.isView(e)||e instanceof R4)&&(e.byteLength!==e.buffer.byteLength&&(o=e.byteOffset+i),e=e.buffer),r?this.lastWrittenByte=a:this.lastWrittenByte=0,this.buffer=e,this.length=a,this.byteLength=a,this.byteOffset=o,this.offset=0,this.littleEndian=!0,this._data=new DataView(this.buffer,o,a),this._mark=0,this._marks=[]}available(e=1){return this.offset+e<=this.length}isLittleEndian(){return this.littleEndian}setLittleEndian(){return this.littleEndian=!0,this}isBigEndian(){return!this.littleEndian}setBigEndian(){return this.littleEndian=!1,this}skip(e=1){return this.offset+=e,this}back(e=1){return this.offset-=e,this}seek(e){return this.offset=e,this}mark(){return this._mark=this.offset,this}reset(){return this.offset=this._mark,this}pushMark(){return this._marks.push(this.offset),this}popMark(){const e=this._marks.pop();if(e===void 0)throw new Error("Mark stack empty");return this.seek(e),this}rewind(){return this.offset=0,this}ensureAvailable(e=1){if(!this.available(e)){const r=(this.offset+e)*2,i=new Uint8Array(r);i.set(new Uint8Array(this.buffer)),this.buffer=i.buffer,this.length=this.byteLength=r,this._data=new DataView(this.buffer)}return this}readBoolean(){return this.readUint8()!==0}readInt8(){return this._data.getInt8(this.offset++)}readUint8(){return this._data.getUint8(this.offset++)}readByte(){return this.readUint8()}readBytes(e=1){return this.readArray(e,"uint8")}readArray(e,n){const r=Rk[n].BYTES_PER_ELEMENT*e,i=this.byteOffset+this.offset,a=this.buffer.slice(i,i+r);if(this.littleEndian===vwt&&n!=="uint8"&&n!=="int8"){const s=new Uint8Array(this.buffer.slice(i,i+r));s.reverse();const c=new Rk[n](s.buffer);return this.offset+=r,c.reverse(),c}const o=new Rk[n](a);return this.offset+=r,o}readInt16(){const e=this._data.getInt16(this.offset,this.littleEndian);return this.offset+=2,e}readUint16(){const e=this._data.getUint16(this.offset,this.littleEndian);return this.offset+=2,e}readInt32(){const e=this._data.getInt32(this.offset,this.littleEndian);return this.offset+=4,e}readUint32(){const e=this._data.getUint32(this.offset,this.littleEndian);return this.offset+=4,e}readFloat32(){const e=this._data.getFloat32(this.offset,this.littleEndian);return this.offset+=4,e}readFloat64(){const e=this._data.getFloat64(this.offset,this.littleEndian);return this.offset+=8,e}readBigInt64(){const e=this._data.getBigInt64(this.offset,this.littleEndian);return this.offset+=8,e}readBigUint64(){const e=this._data.getBigUint64(this.offset,this.littleEndian);return this.offset+=8,e}readChar(){return String.fromCharCode(this.readInt8())}readChars(e=1){let n="";for(let r=0;r<e;r++)n+=this.readChar();return n}readUtf8(e=1){return Sse(this.readBytes(e))}decodeText(e=1,n="utf-8"){return Sse(this.readBytes(e),n)}writeBoolean(e){return this.writeUint8(e?255:0),this}writeInt8(e){return this.ensureAvailable(1),this._data.setInt8(this.offset++,e),this._updateLastWrittenByte(),this}writeUint8(e){return this.ensureAvailable(1),this._data.setUint8(this.offset++,e),this._updateLastWrittenByte(),this}writeByte(e){return this.writeUint8(e)}writeBytes(e){this.ensureAvailable(e.length);for(let n=0;n<e.length;n++)this._data.setUint8(this.offset++,e[n]);return this._updateLastWrittenByte(),this}writeInt16(e){return this.ensureAvailable(2),this._data.setInt16(this.offset,e,this.littleEndian),this.offset+=2,this._updateLastWrittenByte(),this}writeUint16(e){return this.ensureAvailable(2),this._data.setUint16(this.offset,e,this.littleEndian),this.offset+=2,this._updateLastWrittenByte(),this}writeInt32(e){return this.ensureAvailable(4),this._data.setInt32(this.offset,e,this.littleEndian),this.offset+=4,this._updateLastWrittenByte(),this}writeUint32(e){return this.ensureAvailable(4),this._data.setUint32(this.offset,e,this.littleEndian),this.offset+=4,this._updateLastWrittenByte(),this}writeFloat32(e){return this.ensureAvailable(4),this._data.setFloat32(this.offset,e,this.littleEndian),this.offset+=4,this._updateLastWrittenByte(),this}writeFloat64(e){return this.ensureAvailable(8),this._data.setFloat64(this.offset,e,this.littleEndian),this.offset+=8,this._updateLastWrittenByte(),this}writeBigInt64(e){return this.ensureAvailable(8),this._data.setBigInt64(this.offset,e,this.littleEndian),this.offset+=8,this._updateLastWrittenByte(),this}writeBigUint64(e){return this.ensureAvailable(8),this._data.setBigUint64(this.offset,e,this.littleEndian),this.offset+=8,this._updateLastWrittenByte(),this}writeChar(e){return this.writeUint8(e.charCodeAt(0))}writeChars(e){for(let n=0;n<e.length;n++)this.writeUint8(e.charCodeAt(n));return this}writeUtf8(e){return this.writeBytes(hwt(e))}toArray(){return new Uint8Array(this.buffer,this.byteOffset,this.lastWrittenByte)}_updateLastWrittenByte(){this.offset>this.lastWrittenByte&&(this.lastWrittenByte=this.offset)}}function gwt(t){if(t.compression!==1)throw new Error("missing mandatory StripByteCounts field in compressed image");const e=t.rowsPerStrip*t.width*t.samplesPerPixel*(t.bitsPerSample/8);return new Array(t.stripOffsets.length).fill(e)}function mwt(t,e,n){let r=0;for(;r<t.length;){for(let i=n;i<e*n;i+=n)for(let a=0;a<n;a++)t[r+i+a]=t[r+i+a]+t[r+i-(n-a)]&255;r+=e*n}}function ywt(t,e,n){let r=0;for(;r<t.length;){for(let i=n;i<e*n;i+=n)for(let a=0;a<n;a++)t[r+i+a]=t[r+i+a]+t[r+i-(n-a)]&65535;r+=e*n}}const EB={33434:"ExposureTime",33437:"FNumber",34850:"ExposureProgram",34852:"SpectralSensitivity",34855:"ISOSpeedRatings",34856:"OECF",34864:"SensitivityType",34865:"StandardOutputSensitivity",34866:"RecommendedExposureIndex",34867:"ISOSpeed",34868:"ISOSpeedLatitudeyyy",34869:"ISOSpeedLatitudezzz",36864:"ExifVersion",36867:"DateTimeOriginal",36868:"DateTimeDigitized",37121:"ComponentsConfiguration",37122:"CompressedBitsPerPixel",37377:"ShutterSpeedValue",37378:"ApertureValue",37379:"BrightnessValue",37380:"ExposureBiasValue",37381:"MaxApertureValue",37382:"SubjectDistance",37383:"MeteringMode",37384:"LightSource",37385:"Flash",37386:"FocalLength",37396:"SubjectArea",37500:"MakerNote",37510:"UserComment",37520:"SubsecTime",37521:"SubsecTimeOriginal",37522:"SubsecTimeDigitized",40960:"FlashpixVersion",40961:"ColorSpace",40962:"PixelXDimension",40963:"PixelYDimension",40964:"RelatedSoundFile",41483:"FlashEnergy",41484:"SpatialFrequencyResponse",41486:"FocalPlaneXResolution",41487:"FocalPlaneYResolution",41488:"FocalPlaneResolutionUnit",41492:"SubjectLocation",41493:"ExposureIndex",41495:"SensingMethod",41728:"FileSource",41729:"SceneType",41730:"CFAPattern",41985:"CustomRendered",41986:"ExposureMode",41987:"WhiteBalance",41988:"DigitalZoomRatio",41989:"FocalLengthIn35mmFilm",41990:"SceneCaptureType",41991:"GainControl",41992:"Contrast",41993:"Saturation",41994:"Sharpness",41995:"DeviceSettingDescription",41996:"SubjectDistanceRange",42016:"ImageUniqueID",42032:"CameraOwnerName",42033:"BodySerialNumber",42034:"LensSpecification",42035:"LensMake",42036:"LensModel",42037:"LensSerialNumber",42240:"Gamma"},UEe={};for(const t in EB)UEe[EB[t]]=Number(t);const bwt=Object.freeze(Object.defineProperty({__proto__:null,tagsById:EB,tagsByName:UEe},Symbol.toStringTag,{value:"Module"})),CB={0:"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude",5:"GPSAltitudeRef",6:"GPSAltitude",7:"GPSTimeStamp",8:"GPSSatellites",9:"GPSStatus",10:"GPSMeasureMode",11:"GPSDOP",12:"GPSSpeedRef",13:"GPSSpeed",14:"GPSTrackRef",15:"GPSTrack",16:"GPSImgDirectionRef",17:"GPSImgDirection",18:"GPSMapDatum",19:"GPSDestLatitudeRef",20:"GPSDestLatitude",21:"GPSDestLongitudeRef",22:"GPSDestLongitude",23:"GPSDestBearingRef",24:"GPSDestBearing",25:"GPSDestDistanceRef",26:"GPSDestDistance",27:"GPSProcessingMethod",28:"GPSAreaInformation",29:"GPSDateStamp",30:"GPSDifferential",31:"GPSHPositioningError"},kEe={};for(const t in CB)kEe[CB[t]]=Number(t);const xwt=Object.freeze(Object.defineProperty({__proto__:null,tagsById:CB,tagsByName:kEe},Symbol.toStringTag,{value:"Module"})),wB={254:"NewSubfileType",255:"SubfileType",256:"ImageWidth",257:"ImageLength",258:"BitsPerSample",259:"Compression",262:"PhotometricInterpretation",263:"Threshholding",264:"CellWidth",265:"CellLength",266:"FillOrder",270:"ImageDescription",271:"Make",272:"Model",273:"StripOffsets",274:"Orientation",277:"SamplesPerPixel",278:"RowsPerStrip",279:"StripByteCounts",280:"MinSampleValue",281:"MaxSampleValue",282:"XResolution",283:"YResolution",284:"PlanarConfiguration",288:"FreeOffsets",289:"FreeByteCounts",290:"GrayResponseUnit",291:"GrayResponseCurve",296:"ResolutionUnit",305:"Software",306:"DateTime",315:"Artist",316:"HostComputer",320:"ColorMap",338:"ExtraSamples",33432:"Copyright",269:"DocumentName",285:"PageName",286:"XPosition",287:"YPosition",292:"T4Options",293:"T6Options",297:"PageNumber",301:"TransferFunction",317:"Predictor",318:"WhitePoint",319:"PrimaryChromaticities",321:"HalftoneHints",322:"TileWidth",323:"TileLength",324:"TileOffsets",325:"TileByteCounts",326:"BadFaxLines",327:"CleanFaxData",328:"ConsecutiveBadFaxLines",330:"SubIFDs",332:"InkSet",333:"InkNames",334:"NumberOfInks",336:"DotRange",337:"TargetPrinter",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",342:"TransferRange",343:"ClipPath",344:"XClipPathUnits",345:"YClipPathUnits",346:"Indexed",347:"JPEGTables",351:"OPIProxy",400:"GlobalParametersIFD",401:"ProfileType",402:"FaxProfile",403:"CodingMethods",404:"VersionYear",405:"ModeNumber",433:"Decode",434:"DefaultImageColor",512:"JPEGProc",513:"JPEGInterchangeFormat",514:"JPEGInterchangeFormatLength",515:"JPEGRestartInterval",517:"JPEGLosslessPredictors",518:"JPEGPointTransforms",519:"JPEGQTables",520:"JPEGDCTables",521:"JPEGACTables",529:"YCbCrCoefficients",530:"YCbCrSubSampling",531:"YCbCrPositioning",532:"ReferenceBlackWhite",559:"StripRowCounts",700:"XMP",32781:"ImageID",34732:"ImageLayer",32932:"WangAnnotatio",33445:"MDFileTag",33446:"MDScalePixel",33447:"MDColorTable",33448:"MDLabName",33449:"MDSampleInfo",33450:"MDPrepDate",33451:"MDPrepTime",33452:"MDFileUnits",33550:"ModelPixelScaleTag",33723:"IPTC",33918:"INGRPacketDataTag",33919:"INGRFlagRegisters",33920:"IrasBTransformationMatrix",33922:"ModelTiepointTag",34264:"ModelTransformationTag",34377:"Photoshop",34665:"ExifIFD",34675:"ICCProfile",34735:"GeoKeyDirectoryTag",34736:"GeoDoubleParamsTag",34737:"GeoAsciiParamsTag",34853:"GPSIFD",34908:"HylaFAXFaxRecvParams",34909:"HylaFAXFaxSubAddress",34910:"HylaFAXFaxRecvTime",37724:"ImageSourceData",40965:"InteroperabilityIFD",42112:"GDAL_METADATA",42113:"GDAL_NODATA",50215:"OceScanjobDescription",50216:"OceApplicationSelector",50217:"OceIdentificationNumber",50218:"OceImageLogicCharacteristics",50706:"DNGVersion",50707:"DNGBackwardVersion",50708:"UniqueCameraModel",50709:"LocalizedCameraModel",50710:"CFAPlaneColor",50711:"CFALayout",50712:"LinearizationTable",50713:"BlackLevelRepeatDim",50714:"BlackLevel",50715:"BlackLevelDeltaH",50716:"BlackLevelDeltaV",50717:"WhiteLevel",50718:"DefaultScale",50719:"DefaultCropOrigin",50720:"DefaultCropSize",50721:"ColorMatrix1",50722:"ColorMatrix2",50723:"CameraCalibration1",50724:"CameraCalibration2",50725:"ReductionMatrix1",50726:"ReductionMatrix2",50727:"AnalogBalance",50728:"AsShotNeutral",50729:"AsShotWhiteXY",50730:"BaselineExposure",50731:"BaselineNoise",50732:"BaselineSharpness",50733:"BayerGreenSplit",50734:"LinearResponseLimit",50735:"CameraSerialNumber",50736:"LensInfo",50737:"ChromaBlurRadius",50738:"AntiAliasStrength",50740:"DNGPrivateData",50741:"MakerNoteSafety",50778:"CalibrationIlluminant1",50779:"CalibrationIlluminant2",50780:"BestQualityScale",50784:"AliasLayerMetadata"},FEe={};for(const t in wB)FEe[wB[t]]=Number(t);const Swt=Object.freeze(Object.defineProperty({__proto__:null,tagsById:wB,tagsByName:FEe},Symbol.toStringTag,{value:"Module"})),Ese={standard:Swt,exif:bwt,gps:xwt};class VEe{constructor(e){if(!e)throw new Error("missing kind");this.data=new Uint8Array,this.fields=new Map,this.kind=e,this._hasMap=!1,this._map={}}get(e){if(typeof e=="number")return this.fields.get(e);if(typeof e=="string")return this.fields.get(Ese[this.kind].tagsByName[e]);throw new Error("expected a number or string")}get map(){if(!this._hasMap){const e=Ese[this.kind].tagsById;for(const n of this.fields.keys())e[n]&&(this._map[e[n]]=this.fields.get(n));this._hasMap=!0}return this._map}}const BEe=new Map([[1,[1,Cse]],[2,[1,wwt]],[3,[2,Twt]],[4,[4,_wt]],[5,[8,Iwt]],[6,[1,Awt]],[7,[1,Cse]],[8,[2,Mwt]],[9,[4,Rwt]],[10,[8,Lwt]],[11,[4,Owt]],[12,[8,Pwt]]]);function Ewt(t,e){const n=BEe.get(t);if(!n)throw new Error(`type not found: ${t}`);return n[0]*e}function Cwt(t,e,n){const r=BEe.get(e);if(!r)throw new Error(`type not found: ${e}`);return r[1](t,n)}function Cse(t,e){if(e===1)return t.readUint8();const n=new Uint8Array(e);for(let r=0;r<e;r++)n[r]=t.readUint8();return n}function wwt(t,e){const n=[];let r="";for(let i=0;i<e;i++){const a=String.fromCharCode(t.readUint8());a==="\0"?(n.push(r),r=""):r+=a}return n.length===1?n[0]:n}function Twt(t,e){if(e===1)return t.readUint16();const n=new Uint16Array(e);for(let r=0;r<e;r++)n[r]=t.readUint16();return n}function _wt(t,e){if(e===1)return t.readUint32();const n=new Uint32Array(e);for(let r=0;r<e;r++)n[r]=t.readUint32();return n}function Iwt(t,e){if(e===1)return t.readUint32()/t.readUint32();const n=new Array(e);for(let r=0;r<e;r++)n[r]=t.readUint32()/t.readUint32();return n}function Awt(t,e){if(e===1)return t.readInt8();const n=new Int8Array(e);for(let r=0;r<e;r++)n[r]=t.readInt8();return n}function Mwt(t,e){if(e===1)return t.readInt16();const n=new Int16Array(e);for(let r=0;r<e;r++)n[r]=t.readInt16();return n}function Rwt(t,e){if(e===1)return t.readInt32();const n=new Int32Array(e);for(let r=0;r<e;r++)n[r]=t.readInt32();return n}function Lwt(t,e){if(e===1)return t.readInt32()/t.readInt32();const n=new Array(e);for(let r=0;r<e;r++)n[r]=t.readInt32()/t.readInt32();return n}function Owt(t,e){if(e===1)return t.readFloat32();const n=new Float32Array(e);for(let r=0;r<e;r++)n[r]=t.readFloat32();return n}function Pwt(t,e){if(e===1)return t.readFloat64();const n=new Float64Array(e);for(let r=0;r<e;r++)n[r]=t.readFloat64();return n}const Nwt=256,wse=257,Tse=258,_se=9;let Py=[];function Dwt(){if(Py.length===0){for(let e=0;e<256;e++)Py.push([e]);const t=[];for(let e=256;e<4096;e++)Py.push(t)}}const Uwt=[511,1023,2047,4095],kwt=[0,0,0,0,0,0,0,0,0,511,1023,2047,4095];class Fwt{constructor(e){this.nextData=0,this.nextBits=0,this.bytePointer=0,this.tableLength=Tse,this.currentBitLength=_se,this.stripArray=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),this.outData=new R4(e.byteLength),this.initializeTable()}decode(){let e=0,n=0;for(;(e=this.getNextCode())!==wse;)if(e===Nwt){if(this.initializeTable(),e=this.getNextCode(),e===wse)break;this.writeString(this.stringFromCode(e)),n=e}else if(this.isInTable(e))this.writeString(this.stringFromCode(e)),this.addStringToTable(this.stringFromCode(n).concat(this.stringFromCode(e)[0])),n=e;else{const i=this.stringFromCode(n).concat(this.stringFromCode(n)[0]);this.writeString(i),this.addStringToTable(i),n=e}const r=this.outData.toArray();return new DataView(r.buffer,r.byteOffset,r.byteLength)}initializeTable(){Dwt(),this.tableLength=Tse,this.currentBitLength=_se}writeString(e){this.outData.writeBytes(e)}stringFromCode(e){return Py[e]}isInTable(e){return e<this.tableLength}addStringToTable(e){if(Py[this.tableLength++]=e,Py.length>4096)throw Py=[],new Error("LZW decoding error. Please open an issue at https://github.com/image-js/tiff/issues/new/choose (include a test image).");this.tableLength===kwt[this.currentBitLength]&&this.currentBitLength++}getNextCode(){this.nextData=this.nextData<<8|this.stripArray[this.bytePointer++]&255,this.nextBits+=8,this.nextBits<this.currentBitLength&&(this.nextData=this.nextData<<8|this.stripArray[this.bytePointer++]&255,this.nextBits+=8);const e=this.nextData>>this.nextBits-this.currentBitLength&Uwt[this.currentBitLength-9];return this.nextBits-=this.currentBitLength,this.bytePointer>this.stripArray.length?257:e}}function Vwt(t){return new Fwt(t).decode()}const Bwt=/^(\d{4}):(\d{2}):(\d{2}) (\d{2}):(\d{2}):(\d{2})$/;class Ise extends VEe{constructor(){super("standard")}get size(){return this.width*this.height}get width(){return this.imageWidth}get height(){return this.imageLength}get components(){return this.samplesPerPixel}get date(){const e=new Date,n=Bwt.exec(this.dateTime);if(n===null)throw new Error(`invalid dateTime: ${this.dateTime}`);return e.setFullYear(Number(n[1]),Number(n[2])-1,Number(n[3])),e.setHours(Number(n[4]),Number(n[5]),Number(n[6])),e}get newSubfileType(){return this.get("NewSubfileType")}get imageWidth(){return this.get("ImageWidth")}get imageLength(){return this.get("ImageLength")}get bitsPerSample(){const e=this.get("BitsPerSample");return e&&typeof e!="number"?e[0]:e}get alpha(){const e=this.extraSamples;return e?e[0]!==0:!1}get associatedAlpha(){const e=this.extraSamples;return e?e[0]===1:!1}get extraSamples(){return pR(this.get("ExtraSamples"))}get compression(){return this.get("Compression")||1}get type(){return this.get("PhotometricInterpretation")}get fillOrder(){return this.get("FillOrder")||1}get documentName(){return this.get("DocumentName")}get imageDescription(){return this.get("ImageDescription")}get stripOffsets(){return pR(this.get("StripOffsets"))}get orientation(){return this.get("Orientation")}get samplesPerPixel(){return this.get("SamplesPerPixel")||1}get rowsPerStrip(){return this.get("RowsPerStrip")}get stripByteCounts(){return pR(this.get("StripByteCounts"))}get minSampleValue(){return this.get("MinSampleValue")||0}get maxSampleValue(){return this.get("MaxSampleValue")||2**this.bitsPerSample-1}get xResolution(){return this.get("XResolution")}get yResolution(){return this.get("YResolution")}get planarConfiguration(){return this.get("PlanarConfiguration")||1}get resolutionUnit(){return this.get("ResolutionUnit")||2}get dateTime(){return this.get("DateTime")}get predictor(){return this.get("Predictor")||1}get sampleFormat(){return pR(this.get("SampleFormat")||1)[0]}get sMinSampleValue(){return this.get("SMinSampleValue")||this.minSampleValue}get sMaxSampleValue(){return this.get("SMaxSampleValue")||this.maxSampleValue}get palette(){const e=2**this.bitsPerSample,n=this.get("ColorMap");if(!n)return;if(n.length!==3*e)throw new Error(`ColorMap size must be ${e}`);const r=[];for(let i=0;i<e;i++)r.push([n[i],n[i+e],n[i+2*e]]);return r}}function pR(t){return typeof t=="number"?[t]:t}/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */const $wt=4,Ase=0,Mse=1,zwt=2;function XE(t){let e=t.length;for(;--e>=0;)t[e]=0}const Hwt=0,$Ee=1,Gwt=2,Wwt=3,jwt=258,yW=29,nA=256,J_=nA+1+yW,MS=30,bW=19,zEe=2*J_+1,Ny=15,Lk=16,Xwt=7,xW=256,HEe=16,GEe=17,WEe=18,TB=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),FL=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),Zwt=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),jEe=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Kwt=512,ng=new Array((J_+2)*2);XE(ng);const ZT=new Array(MS*2);XE(ZT);const Q_=new Array(Kwt);XE(Q_);const eI=new Array(jwt-Wwt+1);XE(eI);const SW=new Array(yW);XE(SW);const wP=new Array(MS);XE(wP);function Ok(t,e,n,r,i){this.static_tree=t,this.extra_bits=e,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=t&&t.length}let XEe,ZEe,KEe;function Pk(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}const YEe=t=>t<256?Q_[t]:Q_[256+(t>>>7)],tI=(t,e)=>{t.pending_buf[t.pending++]=e&255,t.pending_buf[t.pending++]=e>>>8&255},Zd=(t,e,n)=>{t.bi_valid>Lk-n?(t.bi_buf|=e<<t.bi_valid&65535,tI(t,t.bi_buf),t.bi_buf=e>>Lk-t.bi_valid,t.bi_valid+=n-Lk):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=n)},Zp=(t,e,n)=>{Zd(t,n[e*2],n[e*2+1])},qEe=(t,e)=>{let n=0;do n|=t&1,t>>>=1,n<<=1;while(--e>0);return n>>>1},Ywt=t=>{t.bi_valid===16?(tI(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=t.bi_buf&255,t.bi_buf>>=8,t.bi_valid-=8)},qwt=(t,e)=>{const n=e.dyn_tree,r=e.max_code,i=e.stat_desc.static_tree,a=e.stat_desc.has_stree,o=e.stat_desc.extra_bits,s=e.stat_desc.extra_base,c=e.stat_desc.max_length;let u,d,f,h,p,v,y=0;for(h=0;h<=Ny;h++)t.bl_count[h]=0;for(n[t.heap[t.heap_max]*2+1]=0,u=t.heap_max+1;u<zEe;u++)d=t.heap[u],h=n[n[d*2+1]*2+1]+1,h>c&&(h=c,y++),n[d*2+1]=h,!(d>r)&&(t.bl_count[h]++,p=0,d>=s&&(p=o[d-s]),v=n[d*2],t.opt_len+=v*(h+p),a&&(t.static_len+=v*(i[d*2+1]+p)));if(y!==0){do{for(h=c-1;t.bl_count[h]===0;)h--;t.bl_count[h]--,t.bl_count[h+1]+=2,t.bl_count[c]--,y-=2}while(y>0);for(h=c;h!==0;h--)for(d=t.bl_count[h];d!==0;)f=t.heap[--u],!(f>r)&&(n[f*2+1]!==h&&(t.opt_len+=(h-n[f*2+1])*n[f*2],n[f*2+1]=h),d--)}},JEe=(t,e,n)=>{const r=new Array(Ny+1);let i=0,a,o;for(a=1;a<=Ny;a++)i=i+n[a-1]<<1,r[a]=i;for(o=0;o<=e;o++){let s=t[o*2+1];s!==0&&(t[o*2]=qEe(r[s]++,s))}},Jwt=()=>{let t,e,n,r,i;const a=new Array(Ny+1);for(n=0,r=0;r<yW-1;r++)for(SW[r]=n,t=0;t<1<<TB[r];t++)eI[n++]=r;for(eI[n-1]=r,i=0,r=0;r<16;r++)for(wP[r]=i,t=0;t<1<<FL[r];t++)Q_[i++]=r;for(i>>=7;r<MS;r++)for(wP[r]=i<<7,t=0;t<1<<FL[r]-7;t++)Q_[256+i++]=r;for(e=0;e<=Ny;e++)a[e]=0;for(t=0;t<=143;)ng[t*2+1]=8,t++,a[8]++;for(;t<=255;)ng[t*2+1]=9,t++,a[9]++;for(;t<=279;)ng[t*2+1]=7,t++,a[7]++;for(;t<=287;)ng[t*2+1]=8,t++,a[8]++;for(JEe(ng,J_+1,a),t=0;t<MS;t++)ZT[t*2+1]=5,ZT[t*2]=qEe(t,5);XEe=new Ok(ng,TB,nA+1,J_,Ny),ZEe=new Ok(ZT,FL,0,MS,Ny),KEe=new Ok(new Array(0),Zwt,0,bW,Xwt)},QEe=t=>{let e;for(e=0;e<J_;e++)t.dyn_ltree[e*2]=0;for(e=0;e<MS;e++)t.dyn_dtree[e*2]=0;for(e=0;e<bW;e++)t.bl_tree[e*2]=0;t.dyn_ltree[xW*2]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},eCe=t=>{t.bi_valid>8?tI(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},Rse=(t,e,n,r)=>{const i=e*2,a=n*2;return t[i]<t[a]||t[i]===t[a]&&r[e]<=r[n]},Nk=(t,e,n)=>{const r=t.heap[n];let i=n<<1;for(;i<=t.heap_len&&(i<t.heap_len&&Rse(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!Rse(e,r,t.heap[i],t.depth));)t.heap[n]=t.heap[i],n=i,i<<=1;t.heap[n]=r},Lse=(t,e,n)=>{let r,i,a=0,o,s;if(t.sym_next!==0)do r=t.pending_buf[t.sym_buf+a++]&255,r+=(t.pending_buf[t.sym_buf+a++]&255)<<8,i=t.pending_buf[t.sym_buf+a++],r===0?Zp(t,i,e):(o=eI[i],Zp(t,o+nA+1,e),s=TB[o],s!==0&&(i-=SW[o],Zd(t,i,s)),r--,o=YEe(r),Zp(t,o,n),s=FL[o],s!==0&&(r-=wP[o],Zd(t,r,s)));while(a<t.sym_next);Zp(t,xW,e)},_B=(t,e)=>{const n=e.dyn_tree,r=e.stat_desc.static_tree,i=e.stat_desc.has_stree,a=e.stat_desc.elems;let o,s,c=-1,u;for(t.heap_len=0,t.heap_max=zEe,o=0;o<a;o++)n[o*2]!==0?(t.heap[++t.heap_len]=c=o,t.depth[o]=0):n[o*2+1]=0;for(;t.heap_len<2;)u=t.heap[++t.heap_len]=c<2?++c:0,n[u*2]=1,t.depth[u]=0,t.opt_len--,i&&(t.static_len-=r[u*2+1]);for(e.max_code=c,o=t.heap_len>>1;o>=1;o--)Nk(t,n,o);u=a;do o=t.heap[1],t.heap[1]=t.heap[t.heap_len--],Nk(t,n,1),s=t.heap[1],t.heap[--t.heap_max]=o,t.heap[--t.heap_max]=s,n[u*2]=n[o*2]+n[s*2],t.depth[u]=(t.depth[o]>=t.depth[s]?t.depth[o]:t.depth[s])+1,n[o*2+1]=n[s*2+1]=u,t.heap[1]=u++,Nk(t,n,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],qwt(t,e),JEe(n,c,t.bl_count)},Ose=(t,e,n)=>{let r,i=-1,a,o=e[0*2+1],s=0,c=7,u=4;for(o===0&&(c=138,u=3),e[(n+1)*2+1]=65535,r=0;r<=n;r++)a=o,o=e[(r+1)*2+1],!(++s<c&&a===o)&&(s<u?t.bl_tree[a*2]+=s:a!==0?(a!==i&&t.bl_tree[a*2]++,t.bl_tree[HEe*2]++):s<=10?t.bl_tree[GEe*2]++:t.bl_tree[WEe*2]++,s=0,i=a,o===0?(c=138,u=3):a===o?(c=6,u=3):(c=7,u=4))},Pse=(t,e,n)=>{let r,i=-1,a,o=e[0*2+1],s=0,c=7,u=4;for(o===0&&(c=138,u=3),r=0;r<=n;r++)if(a=o,o=e[(r+1)*2+1],!(++s<c&&a===o)){if(s<u)do Zp(t,a,t.bl_tree);while(--s!==0);else a!==0?(a!==i&&(Zp(t,a,t.bl_tree),s--),Zp(t,HEe,t.bl_tree),Zd(t,s-3,2)):s<=10?(Zp(t,GEe,t.bl_tree),Zd(t,s-3,3)):(Zp(t,WEe,t.bl_tree),Zd(t,s-11,7));s=0,i=a,o===0?(c=138,u=3):a===o?(c=6,u=3):(c=7,u=4)}},Qwt=t=>{let e;for(Ose(t,t.dyn_ltree,t.l_desc.max_code),Ose(t,t.dyn_dtree,t.d_desc.max_code),_B(t,t.bl_desc),e=bW-1;e>=3&&t.bl_tree[jEe[e]*2+1]===0;e--);return t.opt_len+=3*(e+1)+5+5+4,e},eTt=(t,e,n,r)=>{let i;for(Zd(t,e-257,5),Zd(t,n-1,5),Zd(t,r-4,4),i=0;i<r;i++)Zd(t,t.bl_tree[jEe[i]*2+1],3);Pse(t,t.dyn_ltree,e-1),Pse(t,t.dyn_dtree,n-1)},tTt=t=>{let e=4093624447,n;for(n=0;n<=31;n++,e>>>=1)if(e&1&&t.dyn_ltree[n*2]!==0)return Ase;if(t.dyn_ltree[9*2]!==0||t.dyn_ltree[10*2]!==0||t.dyn_ltree[13*2]!==0)return Mse;for(n=32;n<nA;n++)if(t.dyn_ltree[n*2]!==0)return Mse;return Ase};let Nse=!1;const nTt=t=>{Nse||(Jwt(),Nse=!0),t.l_desc=new Pk(t.dyn_ltree,XEe),t.d_desc=new Pk(t.dyn_dtree,ZEe),t.bl_desc=new Pk(t.bl_tree,KEe),t.bi_buf=0,t.bi_valid=0,QEe(t)},tCe=(t,e,n,r)=>{Zd(t,(Hwt<<1)+(r?1:0),3),eCe(t),tI(t,n),tI(t,~n),n&&t.pending_buf.set(t.window.subarray(e,e+n),t.pending),t.pending+=n},rTt=t=>{Zd(t,$Ee<<1,3),Zp(t,xW,ng),Ywt(t)},iTt=(t,e,n,r)=>{let i,a,o=0;t.level>0?(t.strm.data_type===zwt&&(t.strm.data_type=tTt(t)),_B(t,t.l_desc),_B(t,t.d_desc),o=Qwt(t),i=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,a<=i&&(i=a)):i=a=n+5,n+4<=i&&e!==-1?tCe(t,e,n,r):t.strategy===$wt||a===i?(Zd(t,($Ee<<1)+(r?1:0),3),Lse(t,ng,ZT)):(Zd(t,(Gwt<<1)+(r?1:0),3),eTt(t,t.l_desc.max_code+1,t.d_desc.max_code+1,o+1),Lse(t,t.dyn_ltree,t.dyn_dtree)),QEe(t),r&&eCe(t)},aTt=(t,e,n)=>(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=n,e===0?t.dyn_ltree[n*2]++:(t.matches++,e--,t.dyn_ltree[(eI[n]+nA+1)*2]++,t.dyn_dtree[YEe(e)*2]++),t.sym_next===t.sym_end);var oTt=nTt,sTt=tCe,lTt=iTt,cTt=aTt,uTt=rTt,dTt={_tr_init:oTt,_tr_stored_block:sTt,_tr_flush_block:lTt,_tr_tally:cTt,_tr_align:uTt};const fTt=(t,e,n,r)=>{let i=t&65535|0,a=t>>>16&65535|0,o=0;for(;n!==0;){o=n>2e3?2e3:n,n-=o;do i=i+e[r++]|0,a=a+i|0;while(--o);i%=65521,a%=65521}return i|a<<16|0};var nI=fTt;const hTt=()=>{let t,e=[];for(var n=0;n<256;n++){t=n;for(var r=0;r<8;r++)t=t&1?3988292384^t>>>1:t>>>1;e[n]=t}return e},pTt=new Uint32Array(hTt()),vTt=(t,e,n,r)=>{const i=pTt,a=r+n;t^=-1;for(let o=r;o<a;o++)t=t>>>8^i[(t^e[o])&255];return t^-1};var Dc=vTt,oE={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},rA={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:gTt,_tr_stored_block:IB,_tr_flush_block:mTt,_tr_tally:a0,_tr_align:yTt}=dTt,{Z_NO_FLUSH:o0,Z_PARTIAL_FLUSH:bTt,Z_FULL_FLUSH:xTt,Z_FINISH:ph,Z_BLOCK:Dse,Z_OK:ru,Z_STREAM_END:Use,Z_STREAM_ERROR:rv,Z_DATA_ERROR:STt,Z_BUF_ERROR:Dk,Z_DEFAULT_COMPRESSION:ETt,Z_FILTERED:CTt,Z_HUFFMAN_ONLY:vR,Z_RLE:wTt,Z_FIXED:TTt,Z_DEFAULT_STRATEGY:_Tt,Z_UNKNOWN:ITt,Z_DEFLATED:L4}=rA,ATt=9,MTt=15,RTt=8,LTt=29,OTt=256,AB=OTt+1+LTt,PTt=30,NTt=19,DTt=2*AB+1,UTt=15,co=3,Ym=258,iv=Ym+co+1,kTt=32,sE=42,EW=57,MB=69,RB=73,LB=91,OB=103,Dy=113,dT=666,gd=1,ZE=2,Cb=3,KE=4,FTt=3,Uy=(t,e)=>(t.msg=oE[e],e),kse=t=>t*2-(t>4?9:0),Um=t=>{let e=t.length;for(;--e>=0;)t[e]=0},VTt=t=>{let e,n,r,i=t.w_size;e=t.hash_size,r=e;do n=t.head[--r],t.head[r]=n>=i?n-i:0;while(--e);e=i,r=e;do n=t.prev[--r],t.prev[r]=n>=i?n-i:0;while(--e)};let BTt=(t,e,n)=>(e<<t.hash_shift^n)&t.hash_mask,s0=BTt;const yf=t=>{const e=t.state;let n=e.pending;n>t.avail_out&&(n=t.avail_out),n!==0&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+n),t.next_out),t.next_out+=n,e.pending_out+=n,t.total_out+=n,t.avail_out-=n,e.pending-=n,e.pending===0&&(e.pending_out=0))},If=(t,e)=>{mTt(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,yf(t.strm)},Fo=(t,e)=>{t.pending_buf[t.pending++]=e},_w=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=e&255},PB=(t,e,n,r)=>{let i=t.avail_in;return i>r&&(i=r),i===0?0:(t.avail_in-=i,e.set(t.input.subarray(t.next_in,t.next_in+i),n),t.state.wrap===1?t.adler=nI(t.adler,e,i,n):t.state.wrap===2&&(t.adler=Dc(t.adler,e,i,n)),t.next_in+=i,t.total_in+=i,i)},nCe=(t,e)=>{let n=t.max_chain_length,r=t.strstart,i,a,o=t.prev_length,s=t.nice_match;const c=t.strstart>t.w_size-iv?t.strstart-(t.w_size-iv):0,u=t.window,d=t.w_mask,f=t.prev,h=t.strstart+Ym;let p=u[r+o-1],v=u[r+o];t.prev_length>=t.good_match&&(n>>=2),s>t.lookahead&&(s=t.lookahead);do if(i=e,!(u[i+o]!==v||u[i+o-1]!==p||u[i]!==u[r]||u[++i]!==u[r+1])){r+=2,i++;do;while(u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&r<h);if(a=Ym-(h-r),r=h-Ym,a>o){if(t.match_start=e,o=a,a>=s)break;p=u[r+o-1],v=u[r+o]}}while((e=f[e&d])>c&&--n!==0);return o<=t.lookahead?o:t.lookahead},lE=t=>{const e=t.w_size;let n,r,i;do{if(r=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-iv)&&(t.window.set(t.window.subarray(e,e+e-r),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),VTt(t),r+=e),t.strm.avail_in===0)break;if(n=PB(t.strm,t.window,t.strstart+t.lookahead,r),t.lookahead+=n,t.lookahead+t.insert>=co)for(i=t.strstart-t.insert,t.ins_h=t.window[i],t.ins_h=s0(t,t.ins_h,t.window[i+1]);t.insert&&(t.ins_h=s0(t,t.ins_h,t.window[i+co-1]),t.prev[i&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=i,i++,t.insert--,!(t.lookahead+t.insert<co)););}while(t.lookahead<iv&&t.strm.avail_in!==0)},rCe=(t,e)=>{let n=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,r,i,a,o=0,s=t.strm.avail_in;do{if(r=65535,a=t.bi_valid+42>>3,t.strm.avail_out<a||(a=t.strm.avail_out-a,i=t.strstart-t.block_start,r>i+t.strm.avail_in&&(r=i+t.strm.avail_in),r>a&&(r=a),r<n&&(r===0&&e!==ph||e===o0||r!==i+t.strm.avail_in)))break;o=e===ph&&r===i+t.strm.avail_in?1:0,IB(t,0,0,o),t.pending_buf[t.pending-4]=r,t.pending_buf[t.pending-3]=r>>8,t.pending_buf[t.pending-2]=~r,t.pending_buf[t.pending-1]=~r>>8,yf(t.strm),i&&(i>r&&(i=r),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+i),t.strm.next_out),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i,t.block_start+=i,r-=i),r&&(PB(t.strm,t.strm.output,t.strm.next_out,r),t.strm.next_out+=r,t.strm.avail_out-=r,t.strm.total_out+=r)}while(o===0);return s-=t.strm.avail_in,s&&(s>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=s&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-s,t.strm.next_in),t.strstart),t.strstart+=s,t.insert+=s>t.w_size-t.insert?t.w_size-t.insert:s),t.block_start=t.strstart),t.high_water<t.strstart&&(t.high_water=t.strstart),o?KE:e!==o0&&e!==ph&&t.strm.avail_in===0&&t.strstart===t.block_start?ZE:(a=t.window_size-t.strstart,t.strm.avail_in>a&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,a+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),a>t.strm.avail_in&&(a=t.strm.avail_in),a&&(PB(t.strm,t.window,t.strstart,a),t.strstart+=a,t.insert+=a>t.w_size-t.insert?t.w_size-t.insert:a),t.high_water<t.strstart&&(t.high_water=t.strstart),a=t.bi_valid+42>>3,a=t.pending_buf_size-a>65535?65535:t.pending_buf_size-a,n=a>t.w_size?t.w_size:a,i=t.strstart-t.block_start,(i>=n||(i||e===ph)&&e!==o0&&t.strm.avail_in===0&&i<=a)&&(r=i>a?a:i,o=e===ph&&t.strm.avail_in===0&&r===i?1:0,IB(t,t.block_start,r,o),t.block_start+=r,yf(t.strm)),o?Cb:gd)},Uk=(t,e)=>{let n,r;for(;;){if(t.lookahead<iv){if(lE(t),t.lookahead<iv&&e===o0)return gd;if(t.lookahead===0)break}if(n=0,t.lookahead>=co&&(t.ins_h=s0(t,t.ins_h,t.window[t.strstart+co-1]),n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),n!==0&&t.strstart-n<=t.w_size-iv&&(t.match_length=nCe(t,n)),t.match_length>=co)if(r=a0(t,t.strstart-t.match_start,t.match_length-co),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=co){t.match_length--;do t.strstart++,t.ins_h=s0(t,t.ins_h,t.window[t.strstart+co-1]),n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart;while(--t.match_length!==0);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=s0(t,t.ins_h,t.window[t.strstart+1]);else r=a0(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(r&&(If(t,!1),t.strm.avail_out===0))return gd}return t.insert=t.strstart<co-1?t.strstart:co-1,e===ph?(If(t,!0),t.strm.avail_out===0?Cb:KE):t.sym_next&&(If(t,!1),t.strm.avail_out===0)?gd:ZE},a2=(t,e)=>{let n,r,i;for(;;){if(t.lookahead<iv){if(lE(t),t.lookahead<iv&&e===o0)return gd;if(t.lookahead===0)break}if(n=0,t.lookahead>=co&&(t.ins_h=s0(t,t.ins_h,t.window[t.strstart+co-1]),n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=co-1,n!==0&&t.prev_length<t.max_lazy_match&&t.strstart-n<=t.w_size-iv&&(t.match_length=nCe(t,n),t.match_length<=5&&(t.strategy===CTt||t.match_length===co&&t.strstart-t.match_start>4096)&&(t.match_length=co-1)),t.prev_length>=co&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-co,r=a0(t,t.strstart-1-t.prev_match,t.prev_length-co),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=i&&(t.ins_h=s0(t,t.ins_h,t.window[t.strstart+co-1]),n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart);while(--t.prev_length!==0);if(t.match_available=0,t.match_length=co-1,t.strstart++,r&&(If(t,!1),t.strm.avail_out===0))return gd}else if(t.match_available){if(r=a0(t,0,t.window[t.strstart-1]),r&&If(t,!1),t.strstart++,t.lookahead--,t.strm.avail_out===0)return gd}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(r=a0(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<co-1?t.strstart:co-1,e===ph?(If(t,!0),t.strm.avail_out===0?Cb:KE):t.sym_next&&(If(t,!1),t.strm.avail_out===0)?gd:ZE},$Tt=(t,e)=>{let n,r,i,a;const o=t.window;for(;;){if(t.lookahead<=Ym){if(lE(t),t.lookahead<=Ym&&e===o0)return gd;if(t.lookahead===0)break}if(t.match_length=0,t.lookahead>=co&&t.strstart>0&&(i=t.strstart-1,r=o[i],r===o[++i]&&r===o[++i]&&r===o[++i])){a=t.strstart+Ym;do;while(r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&i<a);t.match_length=Ym-(a-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=co?(n=a0(t,1,t.match_length-co),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(n=a0(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),n&&(If(t,!1),t.strm.avail_out===0))return gd}return t.insert=0,e===ph?(If(t,!0),t.strm.avail_out===0?Cb:KE):t.sym_next&&(If(t,!1),t.strm.avail_out===0)?gd:ZE},zTt=(t,e)=>{let n;for(;;){if(t.lookahead===0&&(lE(t),t.lookahead===0)){if(e===o0)return gd;break}if(t.match_length=0,n=a0(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,n&&(If(t,!1),t.strm.avail_out===0))return gd}return t.insert=0,e===ph?(If(t,!0),t.strm.avail_out===0?Cb:KE):t.sym_next&&(If(t,!1),t.strm.avail_out===0)?gd:ZE};function Op(t,e,n,r,i){this.good_length=t,this.max_lazy=e,this.nice_length=n,this.max_chain=r,this.func=i}const fT=[new Op(0,0,0,0,rCe),new Op(4,4,8,4,Uk),new Op(4,5,16,8,Uk),new Op(4,6,32,32,Uk),new Op(4,4,16,16,a2),new Op(8,16,32,32,a2),new Op(8,16,128,128,a2),new Op(8,32,128,256,a2),new Op(32,128,258,1024,a2),new Op(32,258,258,4096,a2)],HTt=t=>{t.window_size=2*t.w_size,Um(t.head),t.max_lazy_match=fT[t.level].max_lazy,t.good_match=fT[t.level].good_length,t.nice_match=fT[t.level].nice_length,t.max_chain_length=fT[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=co-1,t.match_available=0,t.ins_h=0};function GTt(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=L4,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(DTt*2),this.dyn_dtree=new Uint16Array((2*PTt+1)*2),this.bl_tree=new Uint16Array((2*NTt+1)*2),Um(this.dyn_ltree),Um(this.dyn_dtree),Um(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(UTt+1),this.heap=new Uint16Array(2*AB+1),Um(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*AB+1),Um(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const iA=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==sE&&e.status!==EW&&e.status!==MB&&e.status!==RB&&e.status!==LB&&e.status!==OB&&e.status!==Dy&&e.status!==dT?1:0},iCe=t=>{if(iA(t))return Uy(t,rv);t.total_in=t.total_out=0,t.data_type=ITt;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap===2?EW:e.wrap?sE:Dy,t.adler=e.wrap===2?0:1,e.last_flush=-2,gTt(e),ru},aCe=t=>{const e=iCe(t);return e===ru&&HTt(t.state),e},WTt=(t,e)=>iA(t)||t.state.wrap!==2?rv:(t.state.gzhead=e,ru),oCe=(t,e,n,r,i,a)=>{if(!t)return rv;let o=1;if(e===ETt&&(e=6),r<0?(o=0,r=-r):r>15&&(o=2,r-=16),i<1||i>ATt||n!==L4||r<8||r>15||e<0||e>9||a<0||a>TTt||r===8&&o!==1)return Uy(t,rv);r===8&&(r=9);const s=new GTt;return t.state=s,s.strm=t,s.status=sE,s.wrap=o,s.gzhead=null,s.w_bits=r,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=i+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+co-1)/co),s.window=new Uint8Array(s.w_size*2),s.head=new Uint16Array(s.hash_size),s.prev=new Uint16Array(s.w_size),s.lit_bufsize=1<<i+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new Uint8Array(s.pending_buf_size),s.sym_buf=s.lit_bufsize,s.sym_end=(s.lit_bufsize-1)*3,s.level=e,s.strategy=a,s.method=n,aCe(t)},jTt=(t,e)=>oCe(t,e,L4,MTt,RTt,_Tt),XTt=(t,e)=>{if(iA(t)||e>Dse||e<0)return t?Uy(t,rv):rv;const n=t.state;if(!t.output||t.avail_in!==0&&!t.input||n.status===dT&&e!==ph)return Uy(t,t.avail_out===0?Dk:rv);const r=n.last_flush;if(n.last_flush=e,n.pending!==0){if(yf(t),t.avail_out===0)return n.last_flush=-1,ru}else if(t.avail_in===0&&kse(e)<=kse(r)&&e!==ph)return Uy(t,Dk);if(n.status===dT&&t.avail_in!==0)return Uy(t,Dk);if(n.status===sE&&n.wrap===0&&(n.status=Dy),n.status===sE){let i=L4+(n.w_bits-8<<4)<<8,a=-1;if(n.strategy>=vR||n.level<2?a=0:n.level<6?a=1:n.level===6?a=2:a=3,i|=a<<6,n.strstart!==0&&(i|=kTt),i+=31-i%31,_w(n,i),n.strstart!==0&&(_w(n,t.adler>>>16),_w(n,t.adler&65535)),t.adler=1,n.status=Dy,yf(t),n.pending!==0)return n.last_flush=-1,ru}if(n.status===EW){if(t.adler=0,Fo(n,31),Fo(n,139),Fo(n,8),n.gzhead)Fo(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),Fo(n,n.gzhead.time&255),Fo(n,n.gzhead.time>>8&255),Fo(n,n.gzhead.time>>16&255),Fo(n,n.gzhead.time>>24&255),Fo(n,n.level===9?2:n.strategy>=vR||n.level<2?4:0),Fo(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(Fo(n,n.gzhead.extra.length&255),Fo(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(t.adler=Dc(t.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=MB;else if(Fo(n,0),Fo(n,0),Fo(n,0),Fo(n,0),Fo(n,0),Fo(n,n.level===9?2:n.strategy>=vR||n.level<2?4:0),Fo(n,FTt),n.status=Dy,yf(t),n.pending!==0)return n.last_flush=-1,ru}if(n.status===MB){if(n.gzhead.extra){let i=n.pending,a=(n.gzhead.extra.length&65535)-n.gzindex;for(;n.pending+a>n.pending_buf_size;){let s=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+s),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>i&&(t.adler=Dc(t.adler,n.pending_buf,n.pending-i,i)),n.gzindex+=s,yf(t),n.pending!==0)return n.last_flush=-1,ru;i=0,a-=s}let o=new Uint8Array(n.gzhead.extra);n.pending_buf.set(o.subarray(n.gzindex,n.gzindex+a),n.pending),n.pending+=a,n.gzhead.hcrc&&n.pending>i&&(t.adler=Dc(t.adler,n.pending_buf,n.pending-i,i)),n.gzindex=0}n.status=RB}if(n.status===RB){if(n.gzhead.name){let i=n.pending,a;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>i&&(t.adler=Dc(t.adler,n.pending_buf,n.pending-i,i)),yf(t),n.pending!==0)return n.last_flush=-1,ru;i=0}n.gzindex<n.gzhead.name.length?a=n.gzhead.name.charCodeAt(n.gzindex++)&255:a=0,Fo(n,a)}while(a!==0);n.gzhead.hcrc&&n.pending>i&&(t.adler=Dc(t.adler,n.pending_buf,n.pending-i,i)),n.gzindex=0}n.status=LB}if(n.status===LB){if(n.gzhead.comment){let i=n.pending,a;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>i&&(t.adler=Dc(t.adler,n.pending_buf,n.pending-i,i)),yf(t),n.pending!==0)return n.last_flush=-1,ru;i=0}n.gzindex<n.gzhead.comment.length?a=n.gzhead.comment.charCodeAt(n.gzindex++)&255:a=0,Fo(n,a)}while(a!==0);n.gzhead.hcrc&&n.pending>i&&(t.adler=Dc(t.adler,n.pending_buf,n.pending-i,i))}n.status=OB}if(n.status===OB){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(yf(t),n.pending!==0))return n.last_flush=-1,ru;Fo(n,t.adler&255),Fo(n,t.adler>>8&255),t.adler=0}if(n.status=Dy,yf(t),n.pending!==0)return n.last_flush=-1,ru}if(t.avail_in!==0||n.lookahead!==0||e!==o0&&n.status!==dT){let i=n.level===0?rCe(n,e):n.strategy===vR?zTt(n,e):n.strategy===wTt?$Tt(n,e):fT[n.level].func(n,e);if((i===Cb||i===KE)&&(n.status=dT),i===gd||i===Cb)return t.avail_out===0&&(n.last_flush=-1),ru;if(i===ZE&&(e===bTt?yTt(n):e!==Dse&&(IB(n,0,0,!1),e===xTt&&(Um(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),yf(t),t.avail_out===0))return n.last_flush=-1,ru}return e!==ph?ru:n.wrap<=0?Use:(n.wrap===2?(Fo(n,t.adler&255),Fo(n,t.adler>>8&255),Fo(n,t.adler>>16&255),Fo(n,t.adler>>24&255),Fo(n,t.total_in&255),Fo(n,t.total_in>>8&255),Fo(n,t.total_in>>16&255),Fo(n,t.total_in>>24&255)):(_w(n,t.adler>>>16),_w(n,t.adler&65535)),yf(t),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?ru:Use)},ZTt=t=>{if(iA(t))return rv;const e=t.state.status;return t.state=null,e===Dy?Uy(t,STt):ru},KTt=(t,e)=>{let n=e.length;if(iA(t))return rv;const r=t.state,i=r.wrap;if(i===2||i===1&&r.status!==sE||r.lookahead)return rv;if(i===1&&(t.adler=nI(t.adler,e,n,0)),r.wrap=0,n>=r.w_size){i===0&&(Um(r.head),r.strstart=0,r.block_start=0,r.insert=0);let c=new Uint8Array(r.w_size);c.set(e.subarray(n-r.w_size,n),0),e=c,n=r.w_size}const a=t.avail_in,o=t.next_in,s=t.input;for(t.avail_in=n,t.next_in=0,t.input=e,lE(r);r.lookahead>=co;){let c=r.strstart,u=r.lookahead-(co-1);do r.ins_h=s0(r,r.ins_h,r.window[c+co-1]),r.prev[c&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=c,c++;while(--u);r.strstart=c,r.lookahead=co-1,lE(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=co-1,r.match_available=0,t.next_in=o,t.input=s,t.avail_in=a,r.wrap=i,ru};var YTt=jTt,qTt=oCe,JTt=aCe,QTt=iCe,e_t=WTt,t_t=XTt,n_t=ZTt,r_t=KTt,i_t="pako deflate (from Nodeca project)",KT={deflateInit:YTt,deflateInit2:qTt,deflateReset:JTt,deflateResetKeep:QTt,deflateSetHeader:e_t,deflate:t_t,deflateEnd:n_t,deflateSetDictionary:r_t,deflateInfo:i_t};const a_t=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var o_t=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const n=e.shift();if(n){if(typeof n!="object")throw new TypeError(n+"must be non-object");for(const r in n)a_t(n,r)&&(t[r]=n[r])}}return t},s_t=t=>{let e=0;for(let r=0,i=t.length;r<i;r++)e+=t[r].length;const n=new Uint8Array(e);for(let r=0,i=0,a=t.length;r<a;r++){let o=t[r];n.set(o,i),i+=o.length}return n},O4={assign:o_t,flattenChunks:s_t};let sCe=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{sCe=!1}const rI=new Uint8Array(256);for(let t=0;t<256;t++)rI[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;rI[254]=rI[254]=1;var l_t=t=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(t);let e,n,r,i,a,o=t.length,s=0;for(i=0;i<o;i++)n=t.charCodeAt(i),(n&64512)===55296&&i+1<o&&(r=t.charCodeAt(i+1),(r&64512)===56320&&(n=65536+(n-55296<<10)+(r-56320),i++)),s+=n<128?1:n<2048?2:n<65536?3:4;for(e=new Uint8Array(s),a=0,i=0;a<s;i++)n=t.charCodeAt(i),(n&64512)===55296&&i+1<o&&(r=t.charCodeAt(i+1),(r&64512)===56320&&(n=65536+(n-55296<<10)+(r-56320),i++)),n<128?e[a++]=n:n<2048?(e[a++]=192|n>>>6,e[a++]=128|n&63):n<65536?(e[a++]=224|n>>>12,e[a++]=128|n>>>6&63,e[a++]=128|n&63):(e[a++]=240|n>>>18,e[a++]=128|n>>>12&63,e[a++]=128|n>>>6&63,e[a++]=128|n&63);return e};const c_t=(t,e)=>{if(e<65534&&t.subarray&&sCe)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let n="";for(let r=0;r<e;r++)n+=String.fromCharCode(t[r]);return n};var u_t=(t,e)=>{const n=e||t.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(t.subarray(0,e));let r,i;const a=new Array(n*2);for(i=0,r=0;r<n;){let o=t[r++];if(o<128){a[i++]=o;continue}let s=rI[o];if(s>4){a[i++]=65533,r+=s-1;continue}for(o&=s===2?31:s===3?15:7;s>1&&r<n;)o=o<<6|t[r++]&63,s--;if(s>1){a[i++]=65533;continue}o<65536?a[i++]=o:(o-=65536,a[i++]=55296|o>>10&1023,a[i++]=56320|o&1023)}return c_t(a,i)},d_t=(t,e)=>{e=e||t.length,e>t.length&&(e=t.length);let n=e-1;for(;n>=0&&(t[n]&192)===128;)n--;return n<0||n===0?e:n+rI[t[n]]>e?n:e},iI={string2buf:l_t,buf2string:u_t,utf8border:d_t};function f_t(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var lCe=f_t;const cCe=Object.prototype.toString,{Z_NO_FLUSH:h_t,Z_SYNC_FLUSH:p_t,Z_FULL_FLUSH:v_t,Z_FINISH:g_t,Z_OK:TP,Z_STREAM_END:m_t,Z_DEFAULT_COMPRESSION:y_t,Z_DEFAULT_STRATEGY:b_t,Z_DEFLATED:x_t}=rA;function CW(t){this.options=O4.assign({level:y_t,method:x_t,chunkSize:16384,windowBits:15,memLevel:8,strategy:b_t},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new lCe,this.strm.avail_out=0;let n=KT.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(n!==TP)throw new Error(oE[n]);if(e.header&&KT.deflateSetHeader(this.strm,e.header),e.dictionary){let r;if(typeof e.dictionary=="string"?r=iI.string2buf(e.dictionary):cCe.call(e.dictionary)==="[object ArrayBuffer]"?r=new Uint8Array(e.dictionary):r=e.dictionary,n=KT.deflateSetDictionary(this.strm,r),n!==TP)throw new Error(oE[n]);this._dict_set=!0}}CW.prototype.push=function(t,e){const n=this.strm,r=this.options.chunkSize;let i,a;if(this.ended)return!1;for(e===~~e?a=e:a=e===!0?g_t:h_t,typeof t=="string"?n.input=iI.string2buf(t):cCe.call(t)==="[object ArrayBuffer]"?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;;){if(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(a===p_t||a===v_t)&&n.avail_out<=6){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(i=KT.deflate(n,a),i===m_t)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),i=KT.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===TP;if(n.avail_out===0){this.onData(n.output);continue}if(a>0&&n.next_out>0){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(n.avail_in===0)break}return!0};CW.prototype.onData=function(t){this.chunks.push(t)};CW.prototype.onEnd=function(t){t===TP&&(this.result=O4.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};const gR=16209,S_t=16191;var E_t=function(e,n){let r,i,a,o,s,c,u,d,f,h,p,v,y,m,g,x,b,S,E,w,M,L,R,O;const N=e.state;r=e.next_in,R=e.input,i=r+(e.avail_in-5),a=e.next_out,O=e.output,o=a-(n-e.avail_out),s=a+(e.avail_out-257),c=N.dmax,u=N.wsize,d=N.whave,f=N.wnext,h=N.window,p=N.hold,v=N.bits,y=N.lencode,m=N.distcode,g=(1<<N.lenbits)-1,x=(1<<N.distbits)-1;e:do{v<15&&(p+=R[r++]<<v,v+=8,p+=R[r++]<<v,v+=8),b=y[p&g];t:for(;;){if(S=b>>>24,p>>>=S,v-=S,S=b>>>16&255,S===0)O[a++]=b&65535;else if(S&16){E=b&65535,S&=15,S&&(v<S&&(p+=R[r++]<<v,v+=8),E+=p&(1<<S)-1,p>>>=S,v-=S),v<15&&(p+=R[r++]<<v,v+=8,p+=R[r++]<<v,v+=8),b=m[p&x];n:for(;;){if(S=b>>>24,p>>>=S,v-=S,S=b>>>16&255,S&16){if(w=b&65535,S&=15,v<S&&(p+=R[r++]<<v,v+=8,v<S&&(p+=R[r++]<<v,v+=8)),w+=p&(1<<S)-1,w>c){e.msg="invalid distance too far back",N.mode=gR;break e}if(p>>>=S,v-=S,S=a-o,w>S){if(S=w-S,S>d&&N.sane){e.msg="invalid distance too far back",N.mode=gR;break e}if(M=0,L=h,f===0){if(M+=u-S,S<E){E-=S;do O[a++]=h[M++];while(--S);M=a-w,L=O}}else if(f<S){if(M+=u+f-S,S-=f,S<E){E-=S;do O[a++]=h[M++];while(--S);if(M=0,f<E){S=f,E-=S;do O[a++]=h[M++];while(--S);M=a-w,L=O}}}else if(M+=f-S,S<E){E-=S;do O[a++]=h[M++];while(--S);M=a-w,L=O}for(;E>2;)O[a++]=L[M++],O[a++]=L[M++],O[a++]=L[M++],E-=3;E&&(O[a++]=L[M++],E>1&&(O[a++]=L[M++]))}else{M=a-w;do O[a++]=O[M++],O[a++]=O[M++],O[a++]=O[M++],E-=3;while(E>2);E&&(O[a++]=O[M++],E>1&&(O[a++]=O[M++]))}}else if(S&64){e.msg="invalid distance code",N.mode=gR;break e}else{b=m[(b&65535)+(p&(1<<S)-1)];continue n}break}}else if(S&64)if(S&32){N.mode=S_t;break e}else{e.msg="invalid literal/length code",N.mode=gR;break e}else{b=y[(b&65535)+(p&(1<<S)-1)];continue t}break}}while(r<i&&a<s);E=v>>3,r-=E,v-=E<<3,p&=(1<<v)-1,e.next_in=r,e.next_out=a,e.avail_in=r<i?5+(i-r):5-(r-i),e.avail_out=a<s?257+(s-a):257-(a-s),N.hold=p,N.bits=v};const o2=15,Fse=852,Vse=592,Bse=0,kk=1,$se=2,C_t=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),w_t=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),T_t=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),__t=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),I_t=(t,e,n,r,i,a,o,s)=>{const c=s.bits;let u=0,d=0,f=0,h=0,p=0,v=0,y=0,m=0,g=0,x=0,b,S,E,w,M,L=null,R;const O=new Uint16Array(o2+1),N=new Uint16Array(o2+1);let U=null,k,D,V;for(u=0;u<=o2;u++)O[u]=0;for(d=0;d<r;d++)O[e[n+d]]++;for(p=c,h=o2;h>=1&&O[h]===0;h--);if(p>h&&(p=h),h===0)return i[a++]=1<<24|64<<16|0,i[a++]=1<<24|64<<16|0,s.bits=1,0;for(f=1;f<h&&O[f]===0;f++);for(p<f&&(p=f),m=1,u=1;u<=o2;u++)if(m<<=1,m-=O[u],m<0)return-1;if(m>0&&(t===Bse||h!==1))return-1;for(N[1]=0,u=1;u<o2;u++)N[u+1]=N[u]+O[u];for(d=0;d<r;d++)e[n+d]!==0&&(o[N[e[n+d]]++]=d);if(t===Bse?(L=U=o,R=20):t===kk?(L=C_t,U=w_t,R=257):(L=T_t,U=__t,R=0),x=0,d=0,u=f,M=a,v=p,y=0,E=-1,g=1<<p,w=g-1,t===kk&&g>Fse||t===$se&&g>Vse)return 1;for(;;){k=u-y,o[d]+1<R?(D=0,V=o[d]):o[d]>=R?(D=U[o[d]-R],V=L[o[d]-R]):(D=32+64,V=0),b=1<<u-y,S=1<<v,f=S;do S-=b,i[M+(x>>y)+S]=k<<24|D<<16|V|0;while(S!==0);for(b=1<<u-1;x&b;)b>>=1;if(b!==0?(x&=b-1,x+=b):x=0,d++,--O[u]===0){if(u===h)break;u=e[n+o[d]]}if(u>p&&(x&w)!==E){for(y===0&&(y=p),M+=f,v=u-y,m=1<<v;v+y<h&&(m-=O[v+y],!(m<=0));)v++,m<<=1;if(g+=1<<v,t===kk&&g>Fse||t===$se&&g>Vse)return 1;E=x&w,i[E]=p<<24|v<<16|M-a|0}}return x!==0&&(i[M+x]=u-y<<24|64<<16|0),s.bits=p,0};var YT=I_t;const A_t=0,uCe=1,dCe=2,{Z_FINISH:zse,Z_BLOCK:M_t,Z_TREES:mR,Z_OK:wb,Z_STREAM_END:R_t,Z_NEED_DICT:L_t,Z_STREAM_ERROR:wh,Z_DATA_ERROR:fCe,Z_MEM_ERROR:hCe,Z_BUF_ERROR:O_t,Z_DEFLATED:Hse}=rA,P4=16180,Gse=16181,Wse=16182,jse=16183,Xse=16184,Zse=16185,Kse=16186,Yse=16187,qse=16188,Jse=16189,_P=16190,Hv=16191,Fk=16192,Qse=16193,Vk=16194,ele=16195,tle=16196,nle=16197,rle=16198,yR=16199,bR=16200,ile=16201,ale=16202,ole=16203,sle=16204,lle=16205,Bk=16206,cle=16207,ule=16208,Gs=16209,pCe=16210,vCe=16211,P_t=852,N_t=592,D_t=15,U_t=D_t,dle=t=>(t>>>24&255)+(t>>>8&65280)+((t&65280)<<8)+((t&255)<<24);function k_t(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Gb=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode<P4||e.mode>vCe?1:0},gCe=t=>{if(Gb(t))return wh;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=e.wrap&1),e.mode=P4,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(P_t),e.distcode=e.distdyn=new Int32Array(N_t),e.sane=1,e.back=-1,wb},mCe=t=>{if(Gb(t))return wh;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,gCe(t)},yCe=(t,e)=>{let n;if(Gb(t))return wh;const r=t.state;return e<0?(n=0,e=-e):(n=(e>>4)+5,e<48&&(e&=15)),e&&(e<8||e>15)?wh:(r.window!==null&&r.wbits!==e&&(r.window=null),r.wrap=n,r.wbits=e,mCe(t))},bCe=(t,e)=>{if(!t)return wh;const n=new k_t;t.state=n,n.strm=t,n.window=null,n.mode=P4;const r=yCe(t,e);return r!==wb&&(t.state=null),r},F_t=t=>bCe(t,U_t);let fle=!0,$k,zk;const V_t=t=>{if(fle){$k=new Int32Array(512),zk=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(YT(uCe,t.lens,0,288,$k,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;YT(dCe,t.lens,0,32,zk,0,t.work,{bits:5}),fle=!1}t.lencode=$k,t.lenbits=9,t.distcode=zk,t.distbits=5},xCe=(t,e,n,r)=>{let i;const a=t.state;return a.window===null&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Uint8Array(a.wsize)),r>=a.wsize?(a.window.set(e.subarray(n-a.wsize,n),0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>r&&(i=r),a.window.set(e.subarray(n-r,n-r+i),a.wnext),r-=i,r?(a.window.set(e.subarray(n-r,n),0),a.wnext=r,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=i))),0},B_t=(t,e)=>{let n,r,i,a,o,s,c,u,d,f,h,p,v,y,m=0,g,x,b,S,E,w,M,L;const R=new Uint8Array(4);let O,N;const U=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Gb(t)||!t.output||!t.input&&t.avail_in!==0)return wh;n=t.state,n.mode===Hv&&(n.mode=Fk),o=t.next_out,i=t.output,c=t.avail_out,a=t.next_in,r=t.input,s=t.avail_in,u=n.hold,d=n.bits,f=s,h=c,L=wb;e:for(;;)switch(n.mode){case P4:if(n.wrap===0){n.mode=Fk;break}for(;d<16;){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}if(n.wrap&2&&u===35615){n.wbits===0&&(n.wbits=15),n.check=0,R[0]=u&255,R[1]=u>>>8&255,n.check=Dc(n.check,R,2,0),u=0,d=0,n.mode=Gse;break}if(n.head&&(n.head.done=!1),!(n.wrap&1)||(((u&255)<<8)+(u>>8))%31){t.msg="incorrect header check",n.mode=Gs;break}if((u&15)!==Hse){t.msg="unknown compression method",n.mode=Gs;break}if(u>>>=4,d-=4,M=(u&15)+8,n.wbits===0&&(n.wbits=M),M>15||M>n.wbits){t.msg="invalid window size",n.mode=Gs;break}n.dmax=1<<n.wbits,n.flags=0,t.adler=n.check=1,n.mode=u&512?Jse:Hv,u=0,d=0;break;case Gse:for(;d<16;){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}if(n.flags=u,(n.flags&255)!==Hse){t.msg="unknown compression method",n.mode=Gs;break}if(n.flags&57344){t.msg="unknown header flags set",n.mode=Gs;break}n.head&&(n.head.text=u>>8&1),n.flags&512&&n.wrap&4&&(R[0]=u&255,R[1]=u>>>8&255,n.check=Dc(n.check,R,2,0)),u=0,d=0,n.mode=Wse;case Wse:for(;d<32;){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}n.head&&(n.head.time=u),n.flags&512&&n.wrap&4&&(R[0]=u&255,R[1]=u>>>8&255,R[2]=u>>>16&255,R[3]=u>>>24&255,n.check=Dc(n.check,R,4,0)),u=0,d=0,n.mode=jse;case jse:for(;d<16;){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}n.head&&(n.head.xflags=u&255,n.head.os=u>>8),n.flags&512&&n.wrap&4&&(R[0]=u&255,R[1]=u>>>8&255,n.check=Dc(n.check,R,2,0)),u=0,d=0,n.mode=Xse;case Xse:if(n.flags&1024){for(;d<16;){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}n.length=u,n.head&&(n.head.extra_len=u),n.flags&512&&n.wrap&4&&(R[0]=u&255,R[1]=u>>>8&255,n.check=Dc(n.check,R,2,0)),u=0,d=0}else n.head&&(n.head.extra=null);n.mode=Zse;case Zse:if(n.flags&1024&&(p=n.length,p>s&&(p=s),p&&(n.head&&(M=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(a,a+p),M)),n.flags&512&&n.wrap&4&&(n.check=Dc(n.check,r,p,a)),s-=p,a+=p,n.length-=p),n.length))break e;n.length=0,n.mode=Kse;case Kse:if(n.flags&2048){if(s===0)break e;p=0;do M=r[a+p++],n.head&&M&&n.length<65536&&(n.head.name+=String.fromCharCode(M));while(M&&p<s);if(n.flags&512&&n.wrap&4&&(n.check=Dc(n.check,r,p,a)),s-=p,a+=p,M)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=Yse;case Yse:if(n.flags&4096){if(s===0)break e;p=0;do M=r[a+p++],n.head&&M&&n.length<65536&&(n.head.comment+=String.fromCharCode(M));while(M&&p<s);if(n.flags&512&&n.wrap&4&&(n.check=Dc(n.check,r,p,a)),s-=p,a+=p,M)break e}else n.head&&(n.head.comment=null);n.mode=qse;case qse:if(n.flags&512){for(;d<16;){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}if(n.wrap&4&&u!==(n.check&65535)){t.msg="header crc mismatch",n.mode=Gs;break}u=0,d=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),t.adler=n.check=0,n.mode=Hv;break;case Jse:for(;d<32;){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}t.adler=n.check=dle(u),u=0,d=0,n.mode=_P;case _P:if(n.havedict===0)return t.next_out=o,t.avail_out=c,t.next_in=a,t.avail_in=s,n.hold=u,n.bits=d,L_t;t.adler=n.check=1,n.mode=Hv;case Hv:if(e===M_t||e===mR)break e;case Fk:if(n.last){u>>>=d&7,d-=d&7,n.mode=Bk;break}for(;d<3;){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}switch(n.last=u&1,u>>>=1,d-=1,u&3){case 0:n.mode=Qse;break;case 1:if(V_t(n),n.mode=yR,e===mR){u>>>=2,d-=2;break e}break;case 2:n.mode=tle;break;case 3:t.msg="invalid block type",n.mode=Gs}u>>>=2,d-=2;break;case Qse:for(u>>>=d&7,d-=d&7;d<32;){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}if((u&65535)!==(u>>>16^65535)){t.msg="invalid stored block lengths",n.mode=Gs;break}if(n.length=u&65535,u=0,d=0,n.mode=Vk,e===mR)break e;case Vk:n.mode=ele;case ele:if(p=n.length,p){if(p>s&&(p=s),p>c&&(p=c),p===0)break e;i.set(r.subarray(a,a+p),o),s-=p,a+=p,c-=p,o+=p,n.length-=p;break}n.mode=Hv;break;case tle:for(;d<14;){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}if(n.nlen=(u&31)+257,u>>>=5,d-=5,n.ndist=(u&31)+1,u>>>=5,d-=5,n.ncode=(u&15)+4,u>>>=4,d-=4,n.nlen>286||n.ndist>30){t.msg="too many length or distance symbols",n.mode=Gs;break}n.have=0,n.mode=nle;case nle:for(;n.have<n.ncode;){for(;d<3;){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}n.lens[U[n.have++]]=u&7,u>>>=3,d-=3}for(;n.have<19;)n.lens[U[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,O={bits:n.lenbits},L=YT(A_t,n.lens,0,19,n.lencode,0,n.work,O),n.lenbits=O.bits,L){t.msg="invalid code lengths set",n.mode=Gs;break}n.have=0,n.mode=rle;case rle:for(;n.have<n.nlen+n.ndist;){for(;m=n.lencode[u&(1<<n.lenbits)-1],g=m>>>24,x=m>>>16&255,b=m&65535,!(g<=d);){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}if(b<16)u>>>=g,d-=g,n.lens[n.have++]=b;else{if(b===16){for(N=g+2;d<N;){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}if(u>>>=g,d-=g,n.have===0){t.msg="invalid bit length repeat",n.mode=Gs;break}M=n.lens[n.have-1],p=3+(u&3),u>>>=2,d-=2}else if(b===17){for(N=g+3;d<N;){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}u>>>=g,d-=g,M=0,p=3+(u&7),u>>>=3,d-=3}else{for(N=g+7;d<N;){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}u>>>=g,d-=g,M=0,p=11+(u&127),u>>>=7,d-=7}if(n.have+p>n.nlen+n.ndist){t.msg="invalid bit length repeat",n.mode=Gs;break}for(;p--;)n.lens[n.have++]=M}}if(n.mode===Gs)break;if(n.lens[256]===0){t.msg="invalid code -- missing end-of-block",n.mode=Gs;break}if(n.lenbits=9,O={bits:n.lenbits},L=YT(uCe,n.lens,0,n.nlen,n.lencode,0,n.work,O),n.lenbits=O.bits,L){t.msg="invalid literal/lengths set",n.mode=Gs;break}if(n.distbits=6,n.distcode=n.distdyn,O={bits:n.distbits},L=YT(dCe,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,O),n.distbits=O.bits,L){t.msg="invalid distances set",n.mode=Gs;break}if(n.mode=yR,e===mR)break e;case yR:n.mode=bR;case bR:if(s>=6&&c>=258){t.next_out=o,t.avail_out=c,t.next_in=a,t.avail_in=s,n.hold=u,n.bits=d,E_t(t,h),o=t.next_out,i=t.output,c=t.avail_out,a=t.next_in,r=t.input,s=t.avail_in,u=n.hold,d=n.bits,n.mode===Hv&&(n.back=-1);break}for(n.back=0;m=n.lencode[u&(1<<n.lenbits)-1],g=m>>>24,x=m>>>16&255,b=m&65535,!(g<=d);){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}if(x&&!(x&240)){for(S=g,E=x,w=b;m=n.lencode[w+((u&(1<<S+E)-1)>>S)],g=m>>>24,x=m>>>16&255,b=m&65535,!(S+g<=d);){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}u>>>=S,d-=S,n.back+=S}if(u>>>=g,d-=g,n.back+=g,n.length=b,x===0){n.mode=lle;break}if(x&32){n.back=-1,n.mode=Hv;break}if(x&64){t.msg="invalid literal/length code",n.mode=Gs;break}n.extra=x&15,n.mode=ile;case ile:if(n.extra){for(N=n.extra;d<N;){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}n.length+=u&(1<<n.extra)-1,u>>>=n.extra,d-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=ale;case ale:for(;m=n.distcode[u&(1<<n.distbits)-1],g=m>>>24,x=m>>>16&255,b=m&65535,!(g<=d);){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}if(!(x&240)){for(S=g,E=x,w=b;m=n.distcode[w+((u&(1<<S+E)-1)>>S)],g=m>>>24,x=m>>>16&255,b=m&65535,!(S+g<=d);){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}u>>>=S,d-=S,n.back+=S}if(u>>>=g,d-=g,n.back+=g,x&64){t.msg="invalid distance code",n.mode=Gs;break}n.offset=b,n.extra=x&15,n.mode=ole;case ole:if(n.extra){for(N=n.extra;d<N;){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}n.offset+=u&(1<<n.extra)-1,u>>>=n.extra,d-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){t.msg="invalid distance too far back",n.mode=Gs;break}n.mode=sle;case sle:if(c===0)break e;if(p=h-c,n.offset>p){if(p=n.offset-p,p>n.whave&&n.sane){t.msg="invalid distance too far back",n.mode=Gs;break}p>n.wnext?(p-=n.wnext,v=n.wsize-p):v=n.wnext-p,p>n.length&&(p=n.length),y=n.window}else y=i,v=o-n.offset,p=n.length;p>c&&(p=c),c-=p,n.length-=p;do i[o++]=y[v++];while(--p);n.length===0&&(n.mode=bR);break;case lle:if(c===0)break e;i[o++]=n.length,c--,n.mode=bR;break;case Bk:if(n.wrap){for(;d<32;){if(s===0)break e;s--,u|=r[a++]<<d,d+=8}if(h-=c,t.total_out+=h,n.total+=h,n.wrap&4&&h&&(t.adler=n.check=n.flags?Dc(n.check,i,h,o-h):nI(n.check,i,h,o-h)),h=c,n.wrap&4&&(n.flags?u:dle(u))!==n.check){t.msg="incorrect data check",n.mode=Gs;break}u=0,d=0}n.mode=cle;case cle:if(n.wrap&&n.flags){for(;d<32;){if(s===0)break e;s--,u+=r[a++]<<d,d+=8}if(n.wrap&4&&u!==(n.total&4294967295)){t.msg="incorrect length check",n.mode=Gs;break}u=0,d=0}n.mode=ule;case ule:L=R_t;break e;case Gs:L=fCe;break e;case pCe:return hCe;case vCe:default:return wh}return t.next_out=o,t.avail_out=c,t.next_in=a,t.avail_in=s,n.hold=u,n.bits=d,(n.wsize||h!==t.avail_out&&n.mode<Gs&&(n.mode<Bk||e!==zse))&&xCe(t,t.output,t.next_out,h-t.avail_out),f-=t.avail_in,h-=t.avail_out,t.total_in+=f,t.total_out+=h,n.total+=h,n.wrap&4&&h&&(t.adler=n.check=n.flags?Dc(n.check,i,h,t.next_out-h):nI(n.check,i,h,t.next_out-h)),t.data_type=n.bits+(n.last?64:0)+(n.mode===Hv?128:0)+(n.mode===yR||n.mode===Vk?256:0),(f===0&&h===0||e===zse)&&L===wb&&(L=O_t),L},$_t=t=>{if(Gb(t))return wh;let e=t.state;return e.window&&(e.window=null),t.state=null,wb},z_t=(t,e)=>{if(Gb(t))return wh;const n=t.state;return n.wrap&2?(n.head=e,e.done=!1,wb):wh},H_t=(t,e)=>{const n=e.length;let r,i,a;return Gb(t)||(r=t.state,r.wrap!==0&&r.mode!==_P)?wh:r.mode===_P&&(i=1,i=nI(i,e,n,0),i!==r.check)?fCe:(a=xCe(t,e,n,n),a?(r.mode=pCe,hCe):(r.havedict=1,wb))};var G_t=mCe,W_t=yCe,j_t=gCe,X_t=F_t,Z_t=bCe,K_t=B_t,Y_t=$_t,q_t=z_t,J_t=H_t,Q_t="pako inflate (from Nodeca project)",rg={inflateReset:G_t,inflateReset2:W_t,inflateResetKeep:j_t,inflateInit:X_t,inflateInit2:Z_t,inflate:K_t,inflateEnd:Y_t,inflateGetHeader:q_t,inflateSetDictionary:J_t,inflateInfo:Q_t};function eIt(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var tIt=eIt;const SCe=Object.prototype.toString,{Z_NO_FLUSH:nIt,Z_FINISH:rIt,Z_OK:aI,Z_STREAM_END:Hk,Z_NEED_DICT:Gk,Z_STREAM_ERROR:iIt,Z_DATA_ERROR:hle,Z_MEM_ERROR:aIt}=rA;function aA(t){this.options=O4.assign({chunkSize:1024*64,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,e.windowBits===0&&(e.windowBits=-15)),e.windowBits>=0&&e.windowBits<16&&!(t&&t.windowBits)&&(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(e.windowBits&15||(e.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new lCe,this.strm.avail_out=0;let n=rg.inflateInit2(this.strm,e.windowBits);if(n!==aI)throw new Error(oE[n]);if(this.header=new tIt,rg.inflateGetHeader(this.strm,this.header),e.dictionary&&(typeof e.dictionary=="string"?e.dictionary=iI.string2buf(e.dictionary):SCe.call(e.dictionary)==="[object ArrayBuffer]"&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(n=rg.inflateSetDictionary(this.strm,e.dictionary),n!==aI)))throw new Error(oE[n])}aA.prototype.push=function(t,e){const n=this.strm,r=this.options.chunkSize,i=this.options.dictionary;let a,o,s;if(this.ended)return!1;for(e===~~e?o=e:o=e===!0?rIt:nIt,SCe.call(t)==="[object ArrayBuffer]"?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;;){for(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),a=rg.inflate(n,o),a===Gk&&i&&(a=rg.inflateSetDictionary(n,i),a===aI?a=rg.inflate(n,o):a===hle&&(a=Gk));n.avail_in>0&&a===Hk&&n.state.wrap>0&&t[n.next_in]!==0;)rg.inflateReset(n),a=rg.inflate(n,o);switch(a){case iIt:case hle:case Gk:case aIt:return this.onEnd(a),this.ended=!0,!1}if(s=n.avail_out,n.next_out&&(n.avail_out===0||a===Hk))if(this.options.to==="string"){let c=iI.utf8border(n.output,n.next_out),u=n.next_out-c,d=iI.buf2string(n.output,c);n.next_out=u,n.avail_out=r-u,u&&n.output.set(n.output.subarray(c,c+u),0),this.onData(d)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(!(a===aI&&s===0)){if(a===Hk)return a=rg.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(n.avail_in===0)break}}return!0};aA.prototype.onData=function(t){this.chunks.push(t)};aA.prototype.onEnd=function(t){t===aI&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=O4.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};function wW(t,e){const n=new aA(e);if(n.push(t),n.err)throw n.msg||oE[n.err];return n.result}function oIt(t,e){return e=e||{},e.raw=!0,wW(t,e)}var sIt=aA,lIt=wW,cIt=oIt,uIt=wW,dIt=rA,fIt={Inflate:sIt,inflate:lIt,inflateRaw:cIt,ungzip:uIt,constants:dIt};const{Inflate:yMt,inflate:hIt,inflateRaw:bMt,ungzip:xMt}=fIt;var ECe=hIt;function pIt(t){const e=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=ECe(e);return new DataView(n.buffer,n.byteOffset,n.byteLength)}const vIt={ignoreImageData:!1};class CCe extends R4{constructor(e){super(e),this._nextIFD=0}get isMultiPage(){let e=0;for(this.decodeHeader();this._nextIFD;)if(e++,this.decodeIFD({ignoreImageData:!0},!0),e===2)return!0;if(e===1)return!1;throw qv("ifdCount",e)}get pageCount(){let e=0;for(this.decodeHeader();this._nextIFD;)e++,this.decodeIFD({ignoreImageData:!0},!0);if(e>0)return e;throw qv("ifdCount",e)}decode(e={}){const{pages:n}=e;xIt(n);const r=n?Math.max(...n):1/0;e={...vIt,...e};const i=[];this.decodeHeader();let a=0;for(;this._nextIFD;){if(n){if(n.includes(a)?i.push(this.decodeIFD(e,!0)):this.decodeIFD({ignoreImageData:!0},!0),a===r)break}else i.push(this.decodeIFD(e,!0));a++}if(a<r&&r!==1/0)throw new RangeError(`Index ${r} is out of bounds. The stack only contains ${a} images.`);return i}decodeHeader(){const e=this.readUint16();if(e===18761)this.setLittleEndian();else if(e===19789)this.setBigEndian();else throw new Error(`invalid byte order: 0x${e.toString(16)}`);if(this.readUint16()!==42)throw new Error("not a TIFF file");this._nextIFD=this.readUint32()}decodeIFD(e,n){this.seek(this._nextIFD);let r;if(n)r=new Ise;else{if(!e.kind)throw new Error("kind is missing");r=new VEe(e.kind)}const i=this.readUint16();for(let a=0;a<i;a++)this.decodeIFDEntry(r);if(!e.ignoreImageData){if(!(r instanceof Ise))throw new Error("must be a tiff ifd");this.decodeImageData(r)}return this._nextIFD=this.readUint32(),r}decodeIFDEntry(e){const n=this.offset,r=this.readUint16(),i=this.readUint16(),a=this.readUint32();if(i<1||i>12){this.skip(4);return}Ewt(i,a)>4&&this.seek(this.readUint32());const s=Cwt(this,i,a);if(e.fields.set(r,s),r===34665||r===34853){const c=this.offset;let u="exif";r===34665?u="exif":r===34853&&(u="gps"),this._nextIFD=s,e[u]=this.decodeIFD({kind:u,ignoreImageData:!0},!1),this.offset=c}this.seek(n),this.skip(12)}decodeImageData(e){const n=e.orientation;if(n&&n!==1)throw qv("orientation",n);switch(e.type){case 0:case 1:case 2:case 3:this.readStripData(e);break;default:throw qv("image type",e.type)}if(this.applyPredictor(e),this.convertAlpha(e),e.type===0){const i=2**e.bitsPerSample-1;for(let a=0;a<e.data.length;a++)e.data[a]=i-e.data[a]}}readStripData(e){const n=e.width,r=e.height,i=e.bitsPerSample,a=e.sampleFormat,o=n*r*e.samplesPerPixel,s=gIt(o,i,a),u=e.rowsPerStrip*n*e.samplesPerPixel,d=e.stripOffsets,f=e.stripByteCounts||gwt(e);let h=o,p=0;for(let v=0;v<d.length;v++){const y=new DataView(this.buffer,this.byteOffset+d[v],f[v]),m=h>u?u:h;h-=m;let g=y;switch(e.compression){case 1:break;case 5:{g=Vwt(y);break}case 8:{g=pIt(y);break}case 2:throw qv("Compression","CCITT Group 3");case 32773:throw qv("Compression","PackBits");default:throw qv("Compression",e.compression)}p=this.fillUncompressed(i,a,s,g,p,m)}e.data=s}fillUncompressed(e,n,r,i,a,o){if(e===8)return mIt(r,i,a,o);if(e===16)return yIt(r,i,a,o,this.isLittleEndian());if(e===32&&n===3)return bIt(r,i,a,o,this.isLittleEndian());throw qv("bitDepth",e)}applyPredictor(e){const n=e.bitsPerSample;switch(e.predictor){case 1:break;case 2:{if(n===8)mwt(e.data,e.width,e.components);else if(n===16)ywt(e.data,e.width,e.components);else throw new Error(`Horizontal differencing is only supported for images with a bit depth of ${n}`);break}default:throw new Error(`invalid predictor: ${e.predictor}`)}}convertAlpha(e){if(e.alpha&&e.associatedAlpha){const{data:n,components:r,maxSampleValue:i}=e;for(let a=0;a<n.length;a+=r){const o=n[a+r-1];for(let s=0;s<r-1;s++)n[a+s]=Math.round(n[a+s]*i/o)}}}}function gIt(t,e,n){if(e===8)return new Uint8Array(t);if(e===16)return new Uint16Array(t);if(e===32&&n===3)return new Float32Array(t);throw qv("bit depth / sample format",`${e} / ${n}`)}function mIt(t,e,n,r){for(let i=0;i<r;i++)t[n++]=e.getUint8(i);return n}function yIt(t,e,n,r,i){for(let a=0;a<r*2;a+=2)t[n++]=e.getUint16(a,i);return n}function bIt(t,e,n,r,i){for(let a=0;a<r*4;a+=4)t[n++]=e.getFloat32(a,i);return n}function qv(t,e){return new Error(`Unsupported ${t}: ${e}`)}function xIt(t){if(t){for(const e of t)if(e<0||!Number.isInteger(e))throw new RangeError(`Index ${e} is invalid. Must be a positive integer.`)}}function Wk(t,e){return new CCe(t).decode(e)}function ple(t){return new CCe(t).pageCount}function gu(t){return(e,...n)=>SIt(t,e,n)}function YE(t,e){return gu(wCe(t,e).get)}const{apply:SIt,construct:SMt,defineProperty:EMt,get:CMt,getOwnPropertyDescriptor:wCe,getPrototypeOf:TW,has:wMt,ownKeys:EIt,set:TMt,setPrototypeOf:_Mt}=Reflect,{iterator:oA,species:IMt,toStringTag:CIt,for:AMt}=Symbol,wIt=Object,{create:_W,defineProperty:TIt,freeze:MMt,is:RMt}=wIt,_It=Array,IIt=_It.prototype,TCe=IIt[oA],AIt=gu(TCe),_Ce=ArrayBuffer,MIt=_Ce.prototype;YE(MIt,"byteLength");const vle=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:null;vle&&YE(vle.prototype,"byteLength");const ICe=TW(Uint8Array);ICe.from;const Td=ICe.prototype;Td[oA];gu(Td.keys);gu(Td.values);gu(Td.entries);gu(Td.set);gu(Td.reverse);gu(Td.fill);gu(Td.copyWithin);gu(Td.sort);gu(Td.slice);gu(Td.subarray);YE(Td,"buffer");YE(Td,"byteOffset");YE(Td,"length");YE(Td,CIt);const RIt=Uint8Array,ACe=Uint16Array,IW=Uint32Array,LIt=Float32Array,oI=TW([][oA]()),MCe=gu(oI.next),OIt=gu(function*(){}().next),PIt=TW(oI),NIt=DataView.prototype,DIt=gu(NIt.getUint16),AW=WeakMap,RCe=AW.prototype,LCe=gu(RCe.get),UIt=gu(RCe.set),OCe=new AW,kIt=_W(null,{next:{value:function(){const e=LCe(OCe,this);return MCe(e)}},[oA]:{value:function(){return this}}});function FIt(t){if(t[oA]===TCe&&oI.next===MCe)return t;const e=_W(kIt);return UIt(OCe,e,AIt(t)),e}const VIt=new AW,BIt=_W(PIt,{next:{value:function(){const e=LCe(VIt,this);return OIt(e)},writable:!0,configurable:!0}});for(const t of EIt(oI))t!=="next"&&TIt(BIt,t,wCe(oI,t));const PCe=new _Ce(4),$It=new LIt(PCe),zIt=new IW(PCe),Pp=new ACe(512),Np=new RIt(512);for(let t=0;t<256;++t){const e=t-127;e<-24?(Pp[t]=0,Pp[t|256]=32768,Np[t]=24,Np[t|256]=24):e<-14?(Pp[t]=1024>>-e-14,Pp[t|256]=1024>>-e-14|32768,Np[t]=-e-1,Np[t|256]=-e-1):e<=15?(Pp[t]=e+15<<10,Pp[t|256]=e+15<<10|32768,Np[t]=13,Np[t|256]=13):e<128?(Pp[t]=31744,Pp[t|256]=64512,Np[t]=24,Np[t|256]=24):(Pp[t]=31744,Pp[t|256]=64512,Np[t]=13,Np[t|256]=13)}const MW=new IW(2048);for(let t=1;t<1024;++t){let e=t<<13,n=0;for(;!(e&8388608);)e<<=1,n-=8388608;e&=-8388609,n+=947912704,MW[t]=e|n}for(let t=1024;t<2048;++t)MW[t]=939524096+(t-1024<<13);const qE=new IW(64);for(let t=1;t<31;++t)qE[t]=t<<23;qE[31]=1199570944;qE[32]=2147483648;for(let t=33;t<63;++t)qE[t]=2147483648+(t-32<<23);qE[63]=3347054592;const NCe=new ACe(64);for(let t=1;t<64;++t)t!==32&&(NCe[t]=1024);function HIt(t){const e=t>>10;return zIt[0]=MW[NCe[e]+(t&1023)]+qE[e],$It[0]}function DCe(t,e,...n){return HIt(DIt(t,e,...FIt(n)))}var RS={},GIt={get exports(){return RS},set exports(t){RS=t}};function UCe(t,e,n){const r=n&&n.debug||!1;r&&console.log("[xml-utils] getting "+e+" in "+t);const i=typeof t=="object"?t.outer:t,a=i.slice(0,i.indexOf(">")+1),o=['"',"'"];for(let s=0;s<o.length;s++){const c=o[s],u=e+"\\="+c+"([^"+c+"]*)"+c;r&&console.log("[xml-utils] pattern:",u);const f=new RegExp(u).exec(a);if(r&&console.log("[xml-utils] match:",f),f)return f[1]}}GIt.exports=UCe;RS.default=UCe;var IP={},WIt={get exports(){return IP},set exports(t){IP=t}},AP={},jIt={get exports(){return AP},set exports(t){AP=t}},MP={},XIt={get exports(){return MP},set exports(t){MP=t}};function kCe(t,e,n){const i=new RegExp(e).exec(t.slice(n));return i?n+i.index:-1}XIt.exports=kCe;MP.default=kCe;var RP={},ZIt={get exports(){return RP},set exports(t){RP=t}};function FCe(t,e,n){const i=new RegExp(e).exec(t.slice(n));return i?n+i.index+i[0].length-1:-1}ZIt.exports=FCe;RP.default=FCe;var LP={},KIt={get exports(){return LP},set exports(t){LP=t}};function VCe(t,e){const n=new RegExp(e,"g"),r=t.match(n);return r?r.length:0}KIt.exports=VCe;LP.default=VCe;const YIt=MP,jk=RP,gle=LP;function BCe(t,e,n){const r=n&&n.debug||!1,i=!(n&&typeof n.nested===!1),a=n&&n.startIndex||0;r&&console.log("[xml-utils] starting findTagByName with",e," and ",n);const o=YIt(t,`<${e}[
4310
4310
  >/]`,a);if(r&&console.log("[xml-utils] start:",o),o===-1)return;const s=t.slice(o+e.length);let c=jk(s,"^[^<]*[ /]>",0);const u=c!==-1&&s[c-1]==="/";if(r&&console.log("[xml-utils] selfClosing:",u),u===!1)if(i){let p=0,v=1,y=0;for(;(c=jk(s,"[ /]"+e+">",p))!==-1;){const m=s.substring(p,c+1);if(v+=gle(m,"<"+e+`[
4311
- >]`),y+=gle(m,"</"+e+">"),y>=v)break;p=c}}else c=jk(s,"[ /]"+e+">",0);const d=o+e.length+c+1;if(r&&console.log("[xml-utils] end:",d),d===-1)return;const f=t.slice(o,d);let h;return u?h=null:h=f.slice(f.indexOf(">")+1,f.lastIndexOf("<")),{inner:h,outer:f,start:o,end:d}}jIt.exports=BCe;AP.default=BCe;const qIt=AP;function $Ce(t,e,n){const r=[],i=n&&n.debug||!1,a=n&&typeof n.nested=="boolean"?n.nested:!0;let o=n&&n.startIndex||0,s;for(;s=qIt(t,e,{debug:i,startIndex:o});)a?o=s.start+1+e.length:o=s.end,r.push(s);return i&&console.log("findTagsByName found",r.length,"tags"),r}WIt.exports=$Ce;IP.default=$Ce;const qT={315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop",33550:"ModelPixelScale",33922:"ModelTiepoint",34264:"ModelTransformation",34735:"GeoKeyDirectory",34736:"GeoDoubleParams",34737:"GeoAsciiParams",50674:"LercParameters"},$p={};for(const t in qT)qT.hasOwnProperty(t)&&($p[qT[t]]=parseInt(t,10));const JIt=[$p.BitsPerSample,$p.ExtraSamples,$p.SampleFormat,$p.StripByteCounts,$p.StripOffsets,$p.StripRowCounts,$p.TileByteCounts,$p.TileOffsets,$p.SubIFDs],Xk={1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE",13:"IFD",16:"LONG8",17:"SLONG8",18:"IFD8"},xa={};for(const t in Xk)Xk.hasOwnProperty(t)&&(xa[Xk[t]]=parseInt(t,10));const pf={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,TransparencyMask:4,CMYK:5,YCbCr:6,CIELab:8,ICCLab:9},QIt={Unspecified:0,Assocalpha:1,Unassalpha:2},eAt={Version:0,AddCompression:1},tAt={None:0,Deflate:1,Zstandard:2},nAt={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"};function rAt(t,e){const{width:n,height:r}=t,i=new Uint8Array(n*r*3);let a;for(let o=0,s=0;o<t.length;++o,s+=3)a=256-t[o]/e*256,i[s]=a,i[s+1]=a,i[s+2]=a;return i}function iAt(t,e){const{width:n,height:r}=t,i=new Uint8Array(n*r*3);let a;for(let o=0,s=0;o<t.length;++o,s+=3)a=t[o]/e*256,i[s]=a,i[s+1]=a,i[s+2]=a;return i}function aAt(t,e){const{width:n,height:r}=t,i=new Uint8Array(n*r*3),a=e.length/3,o=e.length/3*2;for(let s=0,c=0;s<t.length;++s,c+=3){const u=t[s];i[c]=e[u]/65536*256,i[c+1]=e[u+a]/65536*256,i[c+2]=e[u+o]/65536*256}return i}function oAt(t){const{width:e,height:n}=t,r=new Uint8Array(e*n*3);for(let i=0,a=0;i<t.length;i+=4,a+=3){const o=t[i],s=t[i+1],c=t[i+2],u=t[i+3];r[a]=255*((255-o)/256)*((255-u)/256),r[a+1]=255*((255-s)/256)*((255-u)/256),r[a+2]=255*((255-c)/256)*((255-u)/256)}return r}function sAt(t){const{width:e,height:n}=t,r=new Uint8ClampedArray(e*n*3);for(let i=0,a=0;i<t.length;i+=3,a+=3){const o=t[i],s=t[i+1],c=t[i+2];r[a]=o+1.402*(c-128),r[a+1]=o-.34414*(s-128)-.71414*(c-128),r[a+2]=o+1.772*(s-128)}return r}const lAt=.95047,cAt=1,uAt=1.08883;function dAt(t){const{width:e,height:n}=t,r=new Uint8Array(e*n*3);for(let i=0,a=0;i<t.length;i+=3,a+=3){const o=t[i+0],s=t[i+1]<<24>>24,c=t[i+2]<<24>>24;let u=(o+16)/116,d=s/500+u,f=u-c/200,h,p,v;d=lAt*(d*d*d>.008856?d*d*d:(d-16/116)/7.787),u=cAt*(u*u*u>.008856?u*u*u:(u-16/116)/7.787),f=uAt*(f*f*f>.008856?f*f*f:(f-16/116)/7.787),h=d*3.2406+u*-1.5372+f*-.4986,p=d*-.9689+u*1.8758+f*.0415,v=d*.0557+u*-.204+f*1.057,h=h>.0031308?1.055*h**(1/2.4)-.055:12.92*h,p=p>.0031308?1.055*p**(1/2.4)-.055:12.92*p,v=v>.0031308?1.055*v**(1/2.4)-.055:12.92*v,r[a]=Math.max(0,Math.min(1,h))*255,r[a+1]=Math.max(0,Math.min(1,p))*255,r[a+2]=Math.max(0,Math.min(1,v))*255}return r}const zCe=new Map;function U0(t,e){Array.isArray(t)||(t=[t]),t.forEach(n=>zCe.set(n,e))}async function fAt(t){const e=zCe.get(t.Compression);if(!e)throw new Error(`Unknown compression method identifier: ${t.Compression}`);const n=await e();return new n(t)}U0([void 0,1],()=>Promise.resolve().then(()=>require("./raw-9c0f4034.js")).then(t=>t.default));U0(5,()=>Promise.resolve().then(()=>require("./lzw-f00e8c8c.js")).then(t=>t.default));U0(6,()=>{throw new Error("old style JPEG compression is not supported.")});U0(7,()=>Promise.resolve().then(()=>require("./jpeg-f3c7cefc.js")).then(t=>t.default));U0([8,32946],()=>Promise.resolve().then(()=>require("./deflate-c0476450.js")).then(t=>t.default));U0(32773,()=>Promise.resolve().then(()=>require("./packbits-58fd9c05.js")).then(t=>t.default));U0(34887,()=>Promise.resolve().then(()=>require("./lerc-bf47235f.js")).then(async t=>(await t.zstd.init(),t)).then(t=>t.default));U0(50001,()=>Promise.resolve().then(()=>require("./webimage-bc81928d.js")).then(t=>t.default));function N4(t,e,n,r=1){return new(Object.getPrototypeOf(t)).constructor(e*n*r)}function hAt(t,e,n,r,i){const a=e/r,o=n/i;return t.map(s=>{const c=N4(s,r,i);for(let u=0;u<i;++u){const d=Math.min(Math.round(o*u),n-1);for(let f=0;f<r;++f){const h=Math.min(Math.round(a*f),e-1),p=s[d*e+h];c[u*r+f]=p}}return c})}function LS(t,e,n){return(1-n)*t+n*e}function pAt(t,e,n,r,i){const a=e/r,o=n/i;return t.map(s=>{const c=N4(s,r,i);for(let u=0;u<i;++u){const d=o*u,f=Math.floor(d),h=Math.min(Math.ceil(d),n-1);for(let p=0;p<r;++p){const v=a*p,y=v%1,m=Math.floor(v),g=Math.min(Math.ceil(v),e-1),x=s[f*e+m],b=s[f*e+g],S=s[h*e+m],E=s[h*e+g],w=LS(LS(x,b,y),LS(S,E,y),d%1);c[u*r+p]=w}}return c})}function vAt(t,e,n,r,i,a="nearest"){switch(a.toLowerCase()){case"nearest":return hAt(t,e,n,r,i);case"bilinear":case"linear":return pAt(t,e,n,r,i);default:throw new Error(`Unsupported resampling method: '${a}'`)}}function gAt(t,e,n,r,i,a){const o=e/r,s=n/i,c=N4(t,r,i,a);for(let u=0;u<i;++u){const d=Math.min(Math.round(s*u),n-1);for(let f=0;f<r;++f){const h=Math.min(Math.round(o*f),e-1);for(let p=0;p<a;++p){const v=t[d*e*a+h*a+p];c[u*r*a+f*a+p]=v}}}return c}function mAt(t,e,n,r,i,a){const o=e/r,s=n/i,c=N4(t,r,i,a);for(let u=0;u<i;++u){const d=s*u,f=Math.floor(d),h=Math.min(Math.ceil(d),n-1);for(let p=0;p<r;++p){const v=o*p,y=v%1,m=Math.floor(v),g=Math.min(Math.ceil(v),e-1);for(let x=0;x<a;++x){const b=t[f*e*a+m*a+x],S=t[f*e*a+g*a+x],E=t[h*e*a+m*a+x],w=t[h*e*a+g*a+x],M=LS(LS(b,S,y),LS(E,w,y),d%1);c[u*r*a+p*a+x]=M}}}return c}function yAt(t,e,n,r,i,a,o="nearest"){switch(o.toLowerCase()){case"nearest":return gAt(t,e,n,r,i,a);case"bilinear":case"linear":return mAt(t,e,n,r,i,a);default:throw new Error(`Unsupported resampling method: '${o}'`)}}function bAt(t,e,n){let r=0;for(let i=e;i<n;++i)r+=t[i];return r}function NB(t,e,n){switch(t){case 1:if(e<=8)return new Uint8Array(n);if(e<=16)return new Uint16Array(n);if(e<=32)return new Uint32Array(n);break;case 2:if(e===8)return new Int8Array(n);if(e===16)return new Int16Array(n);if(e===32)return new Int32Array(n);break;case 3:switch(e){case 16:case 32:return new Float32Array(n);case 64:return new Float64Array(n)}break}throw Error("Unsupported data format/bitsPerSample")}function xAt(t,e){return(t===1||t===2)&&e<=32&&e%8===0?!1:!(t===3&&(e===16||e===32||e===64))}function SAt(t,e,n,r,i,a,o){const s=new DataView(t),c=n===2?o*a:o*a*r,u=n===2?1:r,d=NB(e,i,c),f=parseInt("1".repeat(i),2);if(e===1){let h;n===1?h=r*i:h=i;let p=a*h;p&7&&(p=p+7&-8);for(let v=0;v<o;++v){const y=v*p;for(let m=0;m<a;++m){const g=y+m*u*i;for(let x=0;x<u;++x){const b=g+x*i,S=(v*a+m)*u+x,E=Math.floor(b/8),w=b%8;if(w+i<=8)d[S]=s.getUint8(E)>>8-i-w&f;else if(w+i<=16)d[S]=s.getUint16(E)>>16-i-w&f;else if(w+i<=24){const M=s.getUint16(E)<<8|s.getUint8(E+2);d[S]=M>>24-i-w&f}else d[S]=s.getUint32(E)>>32-i-w&f}}}}return d.buffer}class EAt{constructor(e,n,r,i,a,o){this.fileDirectory=e,this.geoKeys=n,this.dataView=r,this.littleEndian=i,this.tiles=a?{}:null,this.isTiled=!e.StripOffsets;const s=e.PlanarConfiguration;if(this.planarConfiguration=typeof s>"u"?1:s,this.planarConfiguration!==1&&this.planarConfiguration!==2)throw new Error("Invalid planar configuration.");this.source=o}getFileDirectory(){return this.fileDirectory}getGeoKeys(){return this.geoKeys}getWidth(){return this.fileDirectory.ImageWidth}getHeight(){return this.fileDirectory.ImageLength}getSamplesPerPixel(){return typeof this.fileDirectory.SamplesPerPixel<"u"?this.fileDirectory.SamplesPerPixel:1}getTileWidth(){return this.isTiled?this.fileDirectory.TileWidth:this.getWidth()}getTileHeight(){return this.isTiled?this.fileDirectory.TileLength:typeof this.fileDirectory.RowsPerStrip<"u"?Math.min(this.fileDirectory.RowsPerStrip,this.getHeight()):this.getHeight()}getBlockWidth(){return this.getTileWidth()}getBlockHeight(e){return this.isTiled||(e+1)*this.getTileHeight()<=this.getHeight()?this.getTileHeight():this.getHeight()-e*this.getTileHeight()}getBytesPerPixel(){let e=0;for(let n=0;n<this.fileDirectory.BitsPerSample.length;++n)e+=this.getSampleByteSize(n);return e}getSampleByteSize(e){if(e>=this.fileDirectory.BitsPerSample.length)throw new RangeError(`Sample index ${e} is out of range.`);return Math.ceil(this.fileDirectory.BitsPerSample[e]/8)}getReaderForSample(e){const n=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[e]:1,r=this.fileDirectory.BitsPerSample[e];switch(n){case 1:if(r<=8)return DataView.prototype.getUint8;if(r<=16)return DataView.prototype.getUint16;if(r<=32)return DataView.prototype.getUint32;break;case 2:if(r<=8)return DataView.prototype.getInt8;if(r<=16)return DataView.prototype.getInt16;if(r<=32)return DataView.prototype.getInt32;break;case 3:switch(r){case 16:return function(i,a){return DCe(this,i,a)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64}break}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(e=0){return this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[e]:1}getBitsPerSample(e=0){return this.fileDirectory.BitsPerSample[e]}getArrayForSample(e,n){const r=this.getSampleFormat(e),i=this.getBitsPerSample(e);return NB(r,i,n)}async getTileOrStrip(e,n,r,i,a){const o=Math.ceil(this.getWidth()/this.getTileWidth()),s=Math.ceil(this.getHeight()/this.getTileHeight());let c;const{tiles:u}=this;this.planarConfiguration===1?c=n*o+e:this.planarConfiguration===2&&(c=r*o*s+n*o+e);let d,f;this.isTiled?(d=this.fileDirectory.TileOffsets[c],f=this.fileDirectory.TileByteCounts[c]):(d=this.fileDirectory.StripOffsets[c],f=this.fileDirectory.StripByteCounts[c]);const h=(await this.source.fetch([{offset:d,length:f}],a))[0];let p;return u===null||!u[c]?(p=(async()=>{let v=await i.decode(this.fileDirectory,h);const y=this.getSampleFormat(),m=this.getBitsPerSample();return xAt(y,m)&&(v=SAt(v,y,this.planarConfiguration,this.getSamplesPerPixel(),m,this.getTileWidth(),this.getBlockHeight(n))),v})(),u!==null&&(u[c]=p)):p=u[c],{x:e,y:n,sample:r,data:await p}}async _readRaster(e,n,r,i,a,o,s,c,u){const d=this.getTileWidth(),f=this.getTileHeight(),h=this.getWidth(),p=this.getHeight(),v=Math.max(Math.floor(e[0]/d),0),y=Math.min(Math.ceil(e[2]/d),Math.ceil(h/d)),m=Math.max(Math.floor(e[1]/f),0),g=Math.min(Math.ceil(e[3]/f),Math.ceil(p/f)),x=e[2]-e[0];let b=this.getBytesPerPixel();const S=[],E=[];for(let L=0;L<n.length;++L)this.planarConfiguration===1?S.push(bAt(this.fileDirectory.BitsPerSample,0,n[L])/8):S.push(0),E.push(this.getReaderForSample(n[L]));const w=[],{littleEndian:M}=this;for(let L=m;L<g;++L)for(let R=v;R<y;++R){let O;this.planarConfiguration===1&&(O=this.getTileOrStrip(R,L,0,a,u));for(let N=0;N<n.length;++N){const U=N,k=n[N];this.planarConfiguration===2&&(b=this.getSampleByteSize(k),O=this.getTileOrStrip(R,L,k,a,u));const D=O.then(V=>{const B=V.data,F=new DataView(B),W=this.getBlockHeight(V.y),Z=V.y*f,X=V.x*d,G=Z+W,J=(V.x+1)*d,re=E[U],K=Math.min(W,W-(G-e[3]),p-Z),q=Math.min(d,d-(J-e[2]),h-X);for(let ne=Math.max(0,e[1]-Z);ne<K;++ne)for(let Y=Math.max(0,e[0]-X);Y<q;++Y){const te=(ne*d+Y)*b,fe=re.call(F,te+S[U],M);let se;i?(se=(ne+Z-e[1])*x*n.length+(Y+X-e[0])*n.length+U,r[se]=fe):(se=(ne+Z-e[1])*x+Y+X-e[0],r[U][se]=fe)}});w.push(D)}}if(await Promise.all(w),o&&e[2]-e[0]!==o||s&&e[3]-e[1]!==s){let L;return i?L=yAt(r,e[2]-e[0],e[3]-e[1],o,s,n.length,c):L=vAt(r,e[2]-e[0],e[3]-e[1],o,s,c),L.width=o,L.height=s,L}return r.width=o||e[2]-e[0],r.height=s||e[3]-e[1],r}async readRasters({window:e,samples:n=[],interleave:r,pool:i=null,width:a,height:o,resampleMethod:s,fillValue:c,signal:u}={}){const d=e||[0,0,this.getWidth(),this.getHeight()];if(d[0]>d[2]||d[1]>d[3])throw new Error("Invalid subsets");const f=d[2]-d[0],h=d[3]-d[1],p=f*h,v=this.getSamplesPerPixel();if(!n||!n.length)for(let x=0;x<v;++x)n.push(x);else for(let x=0;x<n.length;++x)if(n[x]>=v)return Promise.reject(new RangeError(`Invalid sample index '${n[x]}'.`));let y;if(r){const x=this.fileDirectory.SampleFormat?Math.max.apply(null,this.fileDirectory.SampleFormat):1,b=Math.max.apply(null,this.fileDirectory.BitsPerSample);y=NB(x,b,p*n.length),c&&y.fill(c)}else{y=[];for(let x=0;x<n.length;++x){const b=this.getArrayForSample(n[x],p);Array.isArray(c)&&x<c.length?b.fill(c[x]):c&&!Array.isArray(c)&&b.fill(c),y.push(b)}}const m=i||await fAt(this.fileDirectory);return await this._readRaster(d,n,y,r,m,a,o,s,u)}async readRGB({window:e,interleave:n=!0,pool:r=null,width:i,height:a,resampleMethod:o,enableAlpha:s=!1,signal:c}={}){const u=e||[0,0,this.getWidth(),this.getHeight()];if(u[0]>u[2]||u[1]>u[3])throw new Error("Invalid subsets");const d=this.fileDirectory.PhotometricInterpretation;if(d===pf.RGB){let g=[0,1,2];if(this.fileDirectory.ExtraSamples!==QIt.Unspecified&&s){g=[];for(let x=0;x<this.fileDirectory.BitsPerSample.length;x+=1)g.push(x)}return this.readRasters({window:e,interleave:n,samples:g,pool:r,width:i,height:a,resampleMethod:o,signal:c})}let f;switch(d){case pf.WhiteIsZero:case pf.BlackIsZero:case pf.Palette:f=[0];break;case pf.CMYK:f=[0,1,2,3];break;case pf.YCbCr:case pf.CIELab:f=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}const h={window:u,interleave:!0,samples:f,pool:r,width:i,height:a,resampleMethod:o,signal:c},{fileDirectory:p}=this,v=await this.readRasters(h),y=2**this.fileDirectory.BitsPerSample[0];let m;switch(d){case pf.WhiteIsZero:m=rAt(v,y);break;case pf.BlackIsZero:m=iAt(v,y);break;case pf.Palette:m=aAt(v,p.ColorMap);break;case pf.CMYK:m=oAt(v);break;case pf.YCbCr:m=sAt(v);break;case pf.CIELab:m=dAt(v);break;default:throw new Error("Unsupported photometric interpretation.")}if(!n){const g=new Uint8Array(m.length/3),x=new Uint8Array(m.length/3),b=new Uint8Array(m.length/3);for(let S=0,E=0;S<m.length;S+=3,++E)g[E]=m[S],x[E]=m[S+1],b[E]=m[S+2];m=[g,x,b]}return m.width=v.width,m.height=v.height,m}getTiePoints(){if(!this.fileDirectory.ModelTiepoint)return[];const e=[];for(let n=0;n<this.fileDirectory.ModelTiepoint.length;n+=6)e.push({i:this.fileDirectory.ModelTiepoint[n],j:this.fileDirectory.ModelTiepoint[n+1],k:this.fileDirectory.ModelTiepoint[n+2],x:this.fileDirectory.ModelTiepoint[n+3],y:this.fileDirectory.ModelTiepoint[n+4],z:this.fileDirectory.ModelTiepoint[n+5]});return e}getGDALMetadata(e=null){const n={};if(!this.fileDirectory.GDAL_METADATA)return null;const r=this.fileDirectory.GDAL_METADATA;let i=IP(r,"Item");e===null?i=i.filter(a=>RS(a,"sample")===void 0):i=i.filter(a=>Number(RS(a,"sample"))===e);for(let a=0;a<i.length;++a){const o=i[a];n[RS(o,"name")]=o.inner}return n}getGDALNoData(){if(!this.fileDirectory.GDAL_NODATA)return null;const e=this.fileDirectory.GDAL_NODATA;return Number(e.substring(0,e.length-1))}getOrigin(){const e=this.fileDirectory.ModelTiepoint,n=this.fileDirectory.ModelTransformation;if(e&&e.length===6)return[e[3],e[4],e[5]];if(n)return[n[3],n[7],n[11]];throw new Error("The image does not have an affine transformation.")}getResolution(e=null){const n=this.fileDirectory.ModelPixelScale,r=this.fileDirectory.ModelTransformation;if(n)return[n[0],-n[1],n[2]];if(r)return r[1]===0&&r[4]===0?[r[0],-r[5],r[10]]:[Math.sqrt(r[0]*r[0]+r[4]*r[4]),-Math.sqrt(r[1]*r[1]+r[5]*r[5]),r[10]];if(e){const[i,a,o]=e.getResolution();return[i*e.getWidth()/this.getWidth(),a*e.getHeight()/this.getHeight(),o*e.getWidth()/this.getWidth()]}throw new Error("The image does not have an affine transformation.")}pixelIsArea(){return this.geoKeys.GTRasterTypeGeoKey===1}getBoundingBox(e=!1){const n=this.getHeight(),r=this.getWidth();if(this.fileDirectory.ModelTransformation&&!e){const[i,a,o,s,c,u,d,f]=this.fileDirectory.ModelTransformation,p=[[0,0],[0,n],[r,0],[r,n]].map(([m,g])=>[s+i*m+a*g,f+c*m+u*g]),v=p.map(m=>m[0]),y=p.map(m=>m[1]);return[Math.min(...v),Math.min(...y),Math.max(...v),Math.max(...y)]}else{const i=this.getOrigin(),a=this.getResolution(),o=i[0],s=i[1],c=o+a[0]*r,u=s+a[1]*n;return[Math.min(o,c),Math.min(s,u),Math.max(o,c),Math.max(s,u)]}}}const CAt=EAt;class wAt{constructor(e){this._dataView=new DataView(e)}get buffer(){return this._dataView.buffer}getUint64(e,n){const r=this.getUint32(e,n),i=this.getUint32(e+4,n);let a;if(n){if(a=r+2**32*i,!Number.isSafeInteger(a))throw new Error(`${a} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return a}if(a=2**32*r+i,!Number.isSafeInteger(a))throw new Error(`${a} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return a}getInt64(e,n){let r=0;const i=(this._dataView.getUint8(e+(n?7:0))&128)>0;let a=!0;for(let o=0;o<8;o++){let s=this._dataView.getUint8(e+(n?o:7-o));i&&(a?s!==0&&(s=~(s-1)&255,a=!1):s=~s&255),r+=s*256**o}return i&&(r=-r),r}getUint8(e,n){return this._dataView.getUint8(e,n)}getInt8(e,n){return this._dataView.getInt8(e,n)}getUint16(e,n){return this._dataView.getUint16(e,n)}getInt16(e,n){return this._dataView.getInt16(e,n)}getUint32(e,n){return this._dataView.getUint32(e,n)}getInt32(e,n){return this._dataView.getInt32(e,n)}getFloat16(e,n){return DCe(this._dataView,e,n)}getFloat32(e,n){return this._dataView.getFloat32(e,n)}getFloat64(e,n){return this._dataView.getFloat64(e,n)}}class TAt{constructor(e,n,r,i){this._dataView=new DataView(e),this._sliceOffset=n,this._littleEndian=r,this._bigTiff=i}get sliceOffset(){return this._sliceOffset}get sliceTop(){return this._sliceOffset+this.buffer.byteLength}get littleEndian(){return this._littleEndian}get bigTiff(){return this._bigTiff}get buffer(){return this._dataView.buffer}covers(e,n){return this.sliceOffset<=e&&this.sliceTop>=e+n}readUint8(e){return this._dataView.getUint8(e-this._sliceOffset,this._littleEndian)}readInt8(e){return this._dataView.getInt8(e-this._sliceOffset,this._littleEndian)}readUint16(e){return this._dataView.getUint16(e-this._sliceOffset,this._littleEndian)}readInt16(e){return this._dataView.getInt16(e-this._sliceOffset,this._littleEndian)}readUint32(e){return this._dataView.getUint32(e-this._sliceOffset,this._littleEndian)}readInt32(e){return this._dataView.getInt32(e-this._sliceOffset,this._littleEndian)}readFloat32(e){return this._dataView.getFloat32(e-this._sliceOffset,this._littleEndian)}readFloat64(e){return this._dataView.getFloat64(e-this._sliceOffset,this._littleEndian)}readUint64(e){const n=this.readUint32(e),r=this.readUint32(e+4);let i;if(this._littleEndian){if(i=n+2**32*r,!Number.isSafeInteger(i))throw new Error(`${i} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return i}if(i=2**32*n+r,!Number.isSafeInteger(i))throw new Error(`${i} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return i}readInt64(e){let n=0;const r=(this._dataView.getUint8(e+(this._littleEndian?7:0))&128)>0;let i=!0;for(let a=0;a<8;a++){let o=this._dataView.getUint8(e+(this._littleEndian?a:7-a));r&&(i?o!==0&&(o=~(o-1)&255,i=!1):o=~o&255),n+=o*256**a}return r&&(n=-n),n}readOffset(e){return this._bigTiff?this.readUint64(e):this.readUint32(e)}}class _At{async fetch(e,n=void 0){return Promise.all(e.map(r=>this.fetchSlice(r,n)))}async fetchSlice(e){throw new Error(`fetching of slice ${e} not possible, not implemented`)}get fileSize(){return null}async close(){}}class RW extends Error{constructor(e){super(e),Error.captureStackTrace&&Error.captureStackTrace(this,RW),this.name="AbortError"}}class IAt extends _At{constructor(e){super(),this.arrayBuffer=e}fetchSlice(e,n){if(n&&n.aborted)throw new RW("Request aborted");return this.arrayBuffer.slice(e.offset,e.offset+e.length)}}function AAt(t){return new IAt(t)}function DB(t){switch(t){case xa.BYTE:case xa.ASCII:case xa.SBYTE:case xa.UNDEFINED:return 1;case xa.SHORT:case xa.SSHORT:return 2;case xa.LONG:case xa.SLONG:case xa.FLOAT:case xa.IFD:return 4;case xa.RATIONAL:case xa.SRATIONAL:case xa.DOUBLE:case xa.LONG8:case xa.SLONG8:case xa.IFD8:return 8;default:throw new RangeError(`Invalid field type: ${t}`)}}function MAt(t){const e=t.GeoKeyDirectory;if(!e)return null;const n={};for(let r=4;r<=e[3]*4;r+=4){const i=nAt[e[r]],a=e[r+1]?qT[e[r+1]]:null,o=e[r+2],s=e[r+3];let c=null;if(!a)c=s;else{if(c=t[a],typeof c>"u"||c===null)throw new Error(`Could not get value of geoKey '${i}'.`);typeof c=="string"?c=c.substring(s,s+o-1):c.subarray&&(c=c.subarray(s,s+o),o===1&&(c=c[0]))}n[i]=c}return n}function s2(t,e,n,r){let i=null,a=null;const o=DB(e);switch(e){case xa.BYTE:case xa.ASCII:case xa.UNDEFINED:i=new Uint8Array(n),a=t.readUint8;break;case xa.SBYTE:i=new Int8Array(n),a=t.readInt8;break;case xa.SHORT:i=new Uint16Array(n),a=t.readUint16;break;case xa.SSHORT:i=new Int16Array(n),a=t.readInt16;break;case xa.LONG:case xa.IFD:i=new Uint32Array(n),a=t.readUint32;break;case xa.SLONG:i=new Int32Array(n),a=t.readInt32;break;case xa.LONG8:case xa.IFD8:i=new Array(n),a=t.readUint64;break;case xa.SLONG8:i=new Array(n),a=t.readInt64;break;case xa.RATIONAL:i=new Uint32Array(n*2),a=t.readUint32;break;case xa.SRATIONAL:i=new Int32Array(n*2),a=t.readInt32;break;case xa.FLOAT:i=new Float32Array(n),a=t.readFloat32;break;case xa.DOUBLE:i=new Float64Array(n),a=t.readFloat64;break;default:throw new RangeError(`Invalid field type: ${e}`)}if(e===xa.RATIONAL||e===xa.SRATIONAL)for(let s=0;s<n;s+=2)i[s]=a.call(t,r+s*o),i[s+1]=a.call(t,r+(s*o+4));else for(let s=0;s<n;++s)i[s]=a.call(t,r+s*o);return e===xa.ASCII?new TextDecoder("utf-8").decode(i):i}class RAt{constructor(e,n,r){this.fileDirectory=e,this.geoKeyDirectory=n,this.nextIFDByteOffset=r}}class xR extends Error{constructor(e){super(`No image at index ${e}`),this.index=e}}class LAt{async readRasters(e={}){const{window:n,width:r,height:i}=e;let{resX:a,resY:o,bbox:s}=e;const c=await this.getImage();let u=c;const d=await this.getImageCount(),f=c.getBoundingBox();if(n&&s)throw new Error('Both "bbox" and "window" passed.');if(r||i){if(n){const[v,y]=c.getOrigin(),[m,g]=c.getResolution();s=[v+n[0]*m,y+n[1]*g,v+n[2]*m,y+n[3]*g]}const p=s||f;if(r){if(a)throw new Error("Both width and resX passed");a=(p[2]-p[0])/r}if(i){if(o)throw new Error("Both width and resY passed");o=(p[3]-p[1])/i}}if(a||o){const p=[];for(let v=0;v<d;++v){const y=await this.getImage(v),{SubfileType:m,NewSubfileType:g}=y.fileDirectory;(v===0||m===2||g&1)&&p.push(y)}p.sort((v,y)=>v.getWidth()-y.getWidth());for(let v=0;v<p.length;++v){const y=p[v],m=(f[2]-f[0])/y.getWidth(),g=(f[3]-f[1])/y.getHeight();if(u=y,a&&a>m||o&&o>g)break}}let h=n;if(s){const[p,v]=c.getOrigin(),[y,m]=u.getResolution(c);h=[Math.round((s[0]-p)/y),Math.round((s[1]-v)/m),Math.round((s[2]-p)/y),Math.round((s[3]-v)/m)],h=[Math.min(h[0],h[2]),Math.min(h[1],h[3]),Math.max(h[0],h[2]),Math.max(h[1],h[3])]}return u.readRasters({...e,window:h})}}class LW extends LAt{constructor(e,n,r,i,a={}){super(),this.source=e,this.littleEndian=n,this.bigTiff=r,this.firstIFDOffset=i,this.cache=a.cache||!1,this.ifdRequests=[],this.ghostValues=null}async getSlice(e,n){const r=this.bigTiff?4048:1024;return new TAt((await this.source.fetch([{offset:e,length:typeof n<"u"?n:r}]))[0],e,this.littleEndian,this.bigTiff)}async parseFileDirectoryAt(e){const n=this.bigTiff?20:12,r=this.bigTiff?8:2;let i=await this.getSlice(e);const a=this.bigTiff?i.readUint64(e):i.readUint16(e),o=a*n+(this.bigTiff?16:6);i.covers(e,o)||(i=await this.getSlice(e,o));const s={};let c=e+(this.bigTiff?8:2);for(let f=0;f<a;c+=n,++f){const h=i.readUint16(c),p=i.readUint16(c+2),v=this.bigTiff?i.readUint64(c+4):i.readUint32(c+4);let y,m;const g=DB(p),x=c+(this.bigTiff?12:8);if(g*v<=(this.bigTiff?8:4))y=s2(i,p,v,x);else{const b=i.readOffset(x),S=DB(p)*v;if(i.covers(b,S))y=s2(i,p,v,b);else{const E=await this.getSlice(b,S);y=s2(E,p,v,b)}}v===1&&JIt.indexOf(h)===-1&&!(p===xa.RATIONAL||p===xa.SRATIONAL)?m=y[0]:m=y,s[qT[h]]=m}const u=MAt(s),d=i.readOffset(e+r+n*a);return new RAt(s,u,d)}async requestIFD(e){if(this.ifdRequests[e])return this.ifdRequests[e];if(e===0)return this.ifdRequests[e]=this.parseFileDirectoryAt(this.firstIFDOffset),this.ifdRequests[e];if(!this.ifdRequests[e-1])try{this.ifdRequests[e-1]=this.requestIFD(e-1)}catch(n){throw n instanceof xR?new xR(e):n}return this.ifdRequests[e]=(async()=>{const n=await this.ifdRequests[e-1];if(n.nextIFDByteOffset===0)throw new xR(e);return this.parseFileDirectoryAt(n.nextIFDByteOffset)})(),this.ifdRequests[e]}async getImage(e=0){const n=await this.requestIFD(e);return new CAt(n.fileDirectory,n.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source)}async getImageCount(){let e=0,n=!0;for(;n;)try{await this.requestIFD(e),++e}catch(r){if(r instanceof xR)n=!1;else throw r}return e}async getGhostValues(){const e=this.bigTiff?16:8;if(this.ghostValues)return this.ghostValues;const n="GDAL_STRUCTURAL_METADATA_SIZE=",r=n.length+100;let i=await this.getSlice(e,r);if(n===s2(i,xa.ASCII,n.length,e)){const o=s2(i,xa.ASCII,r,e).split(`
4311
+ >]`),y+=gle(m,"</"+e+">"),y>=v)break;p=c}}else c=jk(s,"[ /]"+e+">",0);const d=o+e.length+c+1;if(r&&console.log("[xml-utils] end:",d),d===-1)return;const f=t.slice(o,d);let h;return u?h=null:h=f.slice(f.indexOf(">")+1,f.lastIndexOf("<")),{inner:h,outer:f,start:o,end:d}}jIt.exports=BCe;AP.default=BCe;const qIt=AP;function $Ce(t,e,n){const r=[],i=n&&n.debug||!1,a=n&&typeof n.nested=="boolean"?n.nested:!0;let o=n&&n.startIndex||0,s;for(;s=qIt(t,e,{debug:i,startIndex:o});)a?o=s.start+1+e.length:o=s.end,r.push(s);return i&&console.log("findTagsByName found",r.length,"tags"),r}WIt.exports=$Ce;IP.default=$Ce;const qT={315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop",33550:"ModelPixelScale",33922:"ModelTiepoint",34264:"ModelTransformation",34735:"GeoKeyDirectory",34736:"GeoDoubleParams",34737:"GeoAsciiParams",50674:"LercParameters"},$p={};for(const t in qT)qT.hasOwnProperty(t)&&($p[qT[t]]=parseInt(t,10));const JIt=[$p.BitsPerSample,$p.ExtraSamples,$p.SampleFormat,$p.StripByteCounts,$p.StripOffsets,$p.StripRowCounts,$p.TileByteCounts,$p.TileOffsets,$p.SubIFDs],Xk={1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE",13:"IFD",16:"LONG8",17:"SLONG8",18:"IFD8"},xa={};for(const t in Xk)Xk.hasOwnProperty(t)&&(xa[Xk[t]]=parseInt(t,10));const pf={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,TransparencyMask:4,CMYK:5,YCbCr:6,CIELab:8,ICCLab:9},QIt={Unspecified:0,Assocalpha:1,Unassalpha:2},eAt={Version:0,AddCompression:1},tAt={None:0,Deflate:1,Zstandard:2},nAt={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"};function rAt(t,e){const{width:n,height:r}=t,i=new Uint8Array(n*r*3);let a;for(let o=0,s=0;o<t.length;++o,s+=3)a=256-t[o]/e*256,i[s]=a,i[s+1]=a,i[s+2]=a;return i}function iAt(t,e){const{width:n,height:r}=t,i=new Uint8Array(n*r*3);let a;for(let o=0,s=0;o<t.length;++o,s+=3)a=t[o]/e*256,i[s]=a,i[s+1]=a,i[s+2]=a;return i}function aAt(t,e){const{width:n,height:r}=t,i=new Uint8Array(n*r*3),a=e.length/3,o=e.length/3*2;for(let s=0,c=0;s<t.length;++s,c+=3){const u=t[s];i[c]=e[u]/65536*256,i[c+1]=e[u+a]/65536*256,i[c+2]=e[u+o]/65536*256}return i}function oAt(t){const{width:e,height:n}=t,r=new Uint8Array(e*n*3);for(let i=0,a=0;i<t.length;i+=4,a+=3){const o=t[i],s=t[i+1],c=t[i+2],u=t[i+3];r[a]=255*((255-o)/256)*((255-u)/256),r[a+1]=255*((255-s)/256)*((255-u)/256),r[a+2]=255*((255-c)/256)*((255-u)/256)}return r}function sAt(t){const{width:e,height:n}=t,r=new Uint8ClampedArray(e*n*3);for(let i=0,a=0;i<t.length;i+=3,a+=3){const o=t[i],s=t[i+1],c=t[i+2];r[a]=o+1.402*(c-128),r[a+1]=o-.34414*(s-128)-.71414*(c-128),r[a+2]=o+1.772*(s-128)}return r}const lAt=.95047,cAt=1,uAt=1.08883;function dAt(t){const{width:e,height:n}=t,r=new Uint8Array(e*n*3);for(let i=0,a=0;i<t.length;i+=3,a+=3){const o=t[i+0],s=t[i+1]<<24>>24,c=t[i+2]<<24>>24;let u=(o+16)/116,d=s/500+u,f=u-c/200,h,p,v;d=lAt*(d*d*d>.008856?d*d*d:(d-16/116)/7.787),u=cAt*(u*u*u>.008856?u*u*u:(u-16/116)/7.787),f=uAt*(f*f*f>.008856?f*f*f:(f-16/116)/7.787),h=d*3.2406+u*-1.5372+f*-.4986,p=d*-.9689+u*1.8758+f*.0415,v=d*.0557+u*-.204+f*1.057,h=h>.0031308?1.055*h**(1/2.4)-.055:12.92*h,p=p>.0031308?1.055*p**(1/2.4)-.055:12.92*p,v=v>.0031308?1.055*v**(1/2.4)-.055:12.92*v,r[a]=Math.max(0,Math.min(1,h))*255,r[a+1]=Math.max(0,Math.min(1,p))*255,r[a+2]=Math.max(0,Math.min(1,v))*255}return r}const zCe=new Map;function U0(t,e){Array.isArray(t)||(t=[t]),t.forEach(n=>zCe.set(n,e))}async function fAt(t){const e=zCe.get(t.Compression);if(!e)throw new Error(`Unknown compression method identifier: ${t.Compression}`);const n=await e();return new n(t)}U0([void 0,1],()=>Promise.resolve().then(()=>require("./raw-9c0f4034.js")).then(t=>t.default));U0(5,()=>Promise.resolve().then(()=>require("./lzw-f00e8c8c.js")).then(t=>t.default));U0(6,()=>{throw new Error("old style JPEG compression is not supported.")});U0(7,()=>Promise.resolve().then(()=>require("./jpeg-f3c7cefc.js")).then(t=>t.default));U0([8,32946],()=>Promise.resolve().then(()=>require("./deflate-bbc1d77b.js")).then(t=>t.default));U0(32773,()=>Promise.resolve().then(()=>require("./packbits-58fd9c05.js")).then(t=>t.default));U0(34887,()=>Promise.resolve().then(()=>require("./lerc-f0825d23.js")).then(async t=>(await t.zstd.init(),t)).then(t=>t.default));U0(50001,()=>Promise.resolve().then(()=>require("./webimage-bc81928d.js")).then(t=>t.default));function N4(t,e,n,r=1){return new(Object.getPrototypeOf(t)).constructor(e*n*r)}function hAt(t,e,n,r,i){const a=e/r,o=n/i;return t.map(s=>{const c=N4(s,r,i);for(let u=0;u<i;++u){const d=Math.min(Math.round(o*u),n-1);for(let f=0;f<r;++f){const h=Math.min(Math.round(a*f),e-1),p=s[d*e+h];c[u*r+f]=p}}return c})}function LS(t,e,n){return(1-n)*t+n*e}function pAt(t,e,n,r,i){const a=e/r,o=n/i;return t.map(s=>{const c=N4(s,r,i);for(let u=0;u<i;++u){const d=o*u,f=Math.floor(d),h=Math.min(Math.ceil(d),n-1);for(let p=0;p<r;++p){const v=a*p,y=v%1,m=Math.floor(v),g=Math.min(Math.ceil(v),e-1),x=s[f*e+m],b=s[f*e+g],S=s[h*e+m],E=s[h*e+g],w=LS(LS(x,b,y),LS(S,E,y),d%1);c[u*r+p]=w}}return c})}function vAt(t,e,n,r,i,a="nearest"){switch(a.toLowerCase()){case"nearest":return hAt(t,e,n,r,i);case"bilinear":case"linear":return pAt(t,e,n,r,i);default:throw new Error(`Unsupported resampling method: '${a}'`)}}function gAt(t,e,n,r,i,a){const o=e/r,s=n/i,c=N4(t,r,i,a);for(let u=0;u<i;++u){const d=Math.min(Math.round(s*u),n-1);for(let f=0;f<r;++f){const h=Math.min(Math.round(o*f),e-1);for(let p=0;p<a;++p){const v=t[d*e*a+h*a+p];c[u*r*a+f*a+p]=v}}}return c}function mAt(t,e,n,r,i,a){const o=e/r,s=n/i,c=N4(t,r,i,a);for(let u=0;u<i;++u){const d=s*u,f=Math.floor(d),h=Math.min(Math.ceil(d),n-1);for(let p=0;p<r;++p){const v=o*p,y=v%1,m=Math.floor(v),g=Math.min(Math.ceil(v),e-1);for(let x=0;x<a;++x){const b=t[f*e*a+m*a+x],S=t[f*e*a+g*a+x],E=t[h*e*a+m*a+x],w=t[h*e*a+g*a+x],M=LS(LS(b,S,y),LS(E,w,y),d%1);c[u*r*a+p*a+x]=M}}}return c}function yAt(t,e,n,r,i,a,o="nearest"){switch(o.toLowerCase()){case"nearest":return gAt(t,e,n,r,i,a);case"bilinear":case"linear":return mAt(t,e,n,r,i,a);default:throw new Error(`Unsupported resampling method: '${o}'`)}}function bAt(t,e,n){let r=0;for(let i=e;i<n;++i)r+=t[i];return r}function NB(t,e,n){switch(t){case 1:if(e<=8)return new Uint8Array(n);if(e<=16)return new Uint16Array(n);if(e<=32)return new Uint32Array(n);break;case 2:if(e===8)return new Int8Array(n);if(e===16)return new Int16Array(n);if(e===32)return new Int32Array(n);break;case 3:switch(e){case 16:case 32:return new Float32Array(n);case 64:return new Float64Array(n)}break}throw Error("Unsupported data format/bitsPerSample")}function xAt(t,e){return(t===1||t===2)&&e<=32&&e%8===0?!1:!(t===3&&(e===16||e===32||e===64))}function SAt(t,e,n,r,i,a,o){const s=new DataView(t),c=n===2?o*a:o*a*r,u=n===2?1:r,d=NB(e,i,c),f=parseInt("1".repeat(i),2);if(e===1){let h;n===1?h=r*i:h=i;let p=a*h;p&7&&(p=p+7&-8);for(let v=0;v<o;++v){const y=v*p;for(let m=0;m<a;++m){const g=y+m*u*i;for(let x=0;x<u;++x){const b=g+x*i,S=(v*a+m)*u+x,E=Math.floor(b/8),w=b%8;if(w+i<=8)d[S]=s.getUint8(E)>>8-i-w&f;else if(w+i<=16)d[S]=s.getUint16(E)>>16-i-w&f;else if(w+i<=24){const M=s.getUint16(E)<<8|s.getUint8(E+2);d[S]=M>>24-i-w&f}else d[S]=s.getUint32(E)>>32-i-w&f}}}}return d.buffer}class EAt{constructor(e,n,r,i,a,o){this.fileDirectory=e,this.geoKeys=n,this.dataView=r,this.littleEndian=i,this.tiles=a?{}:null,this.isTiled=!e.StripOffsets;const s=e.PlanarConfiguration;if(this.planarConfiguration=typeof s>"u"?1:s,this.planarConfiguration!==1&&this.planarConfiguration!==2)throw new Error("Invalid planar configuration.");this.source=o}getFileDirectory(){return this.fileDirectory}getGeoKeys(){return this.geoKeys}getWidth(){return this.fileDirectory.ImageWidth}getHeight(){return this.fileDirectory.ImageLength}getSamplesPerPixel(){return typeof this.fileDirectory.SamplesPerPixel<"u"?this.fileDirectory.SamplesPerPixel:1}getTileWidth(){return this.isTiled?this.fileDirectory.TileWidth:this.getWidth()}getTileHeight(){return this.isTiled?this.fileDirectory.TileLength:typeof this.fileDirectory.RowsPerStrip<"u"?Math.min(this.fileDirectory.RowsPerStrip,this.getHeight()):this.getHeight()}getBlockWidth(){return this.getTileWidth()}getBlockHeight(e){return this.isTiled||(e+1)*this.getTileHeight()<=this.getHeight()?this.getTileHeight():this.getHeight()-e*this.getTileHeight()}getBytesPerPixel(){let e=0;for(let n=0;n<this.fileDirectory.BitsPerSample.length;++n)e+=this.getSampleByteSize(n);return e}getSampleByteSize(e){if(e>=this.fileDirectory.BitsPerSample.length)throw new RangeError(`Sample index ${e} is out of range.`);return Math.ceil(this.fileDirectory.BitsPerSample[e]/8)}getReaderForSample(e){const n=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[e]:1,r=this.fileDirectory.BitsPerSample[e];switch(n){case 1:if(r<=8)return DataView.prototype.getUint8;if(r<=16)return DataView.prototype.getUint16;if(r<=32)return DataView.prototype.getUint32;break;case 2:if(r<=8)return DataView.prototype.getInt8;if(r<=16)return DataView.prototype.getInt16;if(r<=32)return DataView.prototype.getInt32;break;case 3:switch(r){case 16:return function(i,a){return DCe(this,i,a)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64}break}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(e=0){return this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[e]:1}getBitsPerSample(e=0){return this.fileDirectory.BitsPerSample[e]}getArrayForSample(e,n){const r=this.getSampleFormat(e),i=this.getBitsPerSample(e);return NB(r,i,n)}async getTileOrStrip(e,n,r,i,a){const o=Math.ceil(this.getWidth()/this.getTileWidth()),s=Math.ceil(this.getHeight()/this.getTileHeight());let c;const{tiles:u}=this;this.planarConfiguration===1?c=n*o+e:this.planarConfiguration===2&&(c=r*o*s+n*o+e);let d,f;this.isTiled?(d=this.fileDirectory.TileOffsets[c],f=this.fileDirectory.TileByteCounts[c]):(d=this.fileDirectory.StripOffsets[c],f=this.fileDirectory.StripByteCounts[c]);const h=(await this.source.fetch([{offset:d,length:f}],a))[0];let p;return u===null||!u[c]?(p=(async()=>{let v=await i.decode(this.fileDirectory,h);const y=this.getSampleFormat(),m=this.getBitsPerSample();return xAt(y,m)&&(v=SAt(v,y,this.planarConfiguration,this.getSamplesPerPixel(),m,this.getTileWidth(),this.getBlockHeight(n))),v})(),u!==null&&(u[c]=p)):p=u[c],{x:e,y:n,sample:r,data:await p}}async _readRaster(e,n,r,i,a,o,s,c,u){const d=this.getTileWidth(),f=this.getTileHeight(),h=this.getWidth(),p=this.getHeight(),v=Math.max(Math.floor(e[0]/d),0),y=Math.min(Math.ceil(e[2]/d),Math.ceil(h/d)),m=Math.max(Math.floor(e[1]/f),0),g=Math.min(Math.ceil(e[3]/f),Math.ceil(p/f)),x=e[2]-e[0];let b=this.getBytesPerPixel();const S=[],E=[];for(let L=0;L<n.length;++L)this.planarConfiguration===1?S.push(bAt(this.fileDirectory.BitsPerSample,0,n[L])/8):S.push(0),E.push(this.getReaderForSample(n[L]));const w=[],{littleEndian:M}=this;for(let L=m;L<g;++L)for(let R=v;R<y;++R){let O;this.planarConfiguration===1&&(O=this.getTileOrStrip(R,L,0,a,u));for(let N=0;N<n.length;++N){const U=N,k=n[N];this.planarConfiguration===2&&(b=this.getSampleByteSize(k),O=this.getTileOrStrip(R,L,k,a,u));const D=O.then(V=>{const B=V.data,F=new DataView(B),W=this.getBlockHeight(V.y),Z=V.y*f,X=V.x*d,G=Z+W,J=(V.x+1)*d,re=E[U],K=Math.min(W,W-(G-e[3]),p-Z),q=Math.min(d,d-(J-e[2]),h-X);for(let ne=Math.max(0,e[1]-Z);ne<K;++ne)for(let Y=Math.max(0,e[0]-X);Y<q;++Y){const te=(ne*d+Y)*b,fe=re.call(F,te+S[U],M);let se;i?(se=(ne+Z-e[1])*x*n.length+(Y+X-e[0])*n.length+U,r[se]=fe):(se=(ne+Z-e[1])*x+Y+X-e[0],r[U][se]=fe)}});w.push(D)}}if(await Promise.all(w),o&&e[2]-e[0]!==o||s&&e[3]-e[1]!==s){let L;return i?L=yAt(r,e[2]-e[0],e[3]-e[1],o,s,n.length,c):L=vAt(r,e[2]-e[0],e[3]-e[1],o,s,c),L.width=o,L.height=s,L}return r.width=o||e[2]-e[0],r.height=s||e[3]-e[1],r}async readRasters({window:e,samples:n=[],interleave:r,pool:i=null,width:a,height:o,resampleMethod:s,fillValue:c,signal:u}={}){const d=e||[0,0,this.getWidth(),this.getHeight()];if(d[0]>d[2]||d[1]>d[3])throw new Error("Invalid subsets");const f=d[2]-d[0],h=d[3]-d[1],p=f*h,v=this.getSamplesPerPixel();if(!n||!n.length)for(let x=0;x<v;++x)n.push(x);else for(let x=0;x<n.length;++x)if(n[x]>=v)return Promise.reject(new RangeError(`Invalid sample index '${n[x]}'.`));let y;if(r){const x=this.fileDirectory.SampleFormat?Math.max.apply(null,this.fileDirectory.SampleFormat):1,b=Math.max.apply(null,this.fileDirectory.BitsPerSample);y=NB(x,b,p*n.length),c&&y.fill(c)}else{y=[];for(let x=0;x<n.length;++x){const b=this.getArrayForSample(n[x],p);Array.isArray(c)&&x<c.length?b.fill(c[x]):c&&!Array.isArray(c)&&b.fill(c),y.push(b)}}const m=i||await fAt(this.fileDirectory);return await this._readRaster(d,n,y,r,m,a,o,s,u)}async readRGB({window:e,interleave:n=!0,pool:r=null,width:i,height:a,resampleMethod:o,enableAlpha:s=!1,signal:c}={}){const u=e||[0,0,this.getWidth(),this.getHeight()];if(u[0]>u[2]||u[1]>u[3])throw new Error("Invalid subsets");const d=this.fileDirectory.PhotometricInterpretation;if(d===pf.RGB){let g=[0,1,2];if(this.fileDirectory.ExtraSamples!==QIt.Unspecified&&s){g=[];for(let x=0;x<this.fileDirectory.BitsPerSample.length;x+=1)g.push(x)}return this.readRasters({window:e,interleave:n,samples:g,pool:r,width:i,height:a,resampleMethod:o,signal:c})}let f;switch(d){case pf.WhiteIsZero:case pf.BlackIsZero:case pf.Palette:f=[0];break;case pf.CMYK:f=[0,1,2,3];break;case pf.YCbCr:case pf.CIELab:f=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}const h={window:u,interleave:!0,samples:f,pool:r,width:i,height:a,resampleMethod:o,signal:c},{fileDirectory:p}=this,v=await this.readRasters(h),y=2**this.fileDirectory.BitsPerSample[0];let m;switch(d){case pf.WhiteIsZero:m=rAt(v,y);break;case pf.BlackIsZero:m=iAt(v,y);break;case pf.Palette:m=aAt(v,p.ColorMap);break;case pf.CMYK:m=oAt(v);break;case pf.YCbCr:m=sAt(v);break;case pf.CIELab:m=dAt(v);break;default:throw new Error("Unsupported photometric interpretation.")}if(!n){const g=new Uint8Array(m.length/3),x=new Uint8Array(m.length/3),b=new Uint8Array(m.length/3);for(let S=0,E=0;S<m.length;S+=3,++E)g[E]=m[S],x[E]=m[S+1],b[E]=m[S+2];m=[g,x,b]}return m.width=v.width,m.height=v.height,m}getTiePoints(){if(!this.fileDirectory.ModelTiepoint)return[];const e=[];for(let n=0;n<this.fileDirectory.ModelTiepoint.length;n+=6)e.push({i:this.fileDirectory.ModelTiepoint[n],j:this.fileDirectory.ModelTiepoint[n+1],k:this.fileDirectory.ModelTiepoint[n+2],x:this.fileDirectory.ModelTiepoint[n+3],y:this.fileDirectory.ModelTiepoint[n+4],z:this.fileDirectory.ModelTiepoint[n+5]});return e}getGDALMetadata(e=null){const n={};if(!this.fileDirectory.GDAL_METADATA)return null;const r=this.fileDirectory.GDAL_METADATA;let i=IP(r,"Item");e===null?i=i.filter(a=>RS(a,"sample")===void 0):i=i.filter(a=>Number(RS(a,"sample"))===e);for(let a=0;a<i.length;++a){const o=i[a];n[RS(o,"name")]=o.inner}return n}getGDALNoData(){if(!this.fileDirectory.GDAL_NODATA)return null;const e=this.fileDirectory.GDAL_NODATA;return Number(e.substring(0,e.length-1))}getOrigin(){const e=this.fileDirectory.ModelTiepoint,n=this.fileDirectory.ModelTransformation;if(e&&e.length===6)return[e[3],e[4],e[5]];if(n)return[n[3],n[7],n[11]];throw new Error("The image does not have an affine transformation.")}getResolution(e=null){const n=this.fileDirectory.ModelPixelScale,r=this.fileDirectory.ModelTransformation;if(n)return[n[0],-n[1],n[2]];if(r)return r[1]===0&&r[4]===0?[r[0],-r[5],r[10]]:[Math.sqrt(r[0]*r[0]+r[4]*r[4]),-Math.sqrt(r[1]*r[1]+r[5]*r[5]),r[10]];if(e){const[i,a,o]=e.getResolution();return[i*e.getWidth()/this.getWidth(),a*e.getHeight()/this.getHeight(),o*e.getWidth()/this.getWidth()]}throw new Error("The image does not have an affine transformation.")}pixelIsArea(){return this.geoKeys.GTRasterTypeGeoKey===1}getBoundingBox(e=!1){const n=this.getHeight(),r=this.getWidth();if(this.fileDirectory.ModelTransformation&&!e){const[i,a,o,s,c,u,d,f]=this.fileDirectory.ModelTransformation,p=[[0,0],[0,n],[r,0],[r,n]].map(([m,g])=>[s+i*m+a*g,f+c*m+u*g]),v=p.map(m=>m[0]),y=p.map(m=>m[1]);return[Math.min(...v),Math.min(...y),Math.max(...v),Math.max(...y)]}else{const i=this.getOrigin(),a=this.getResolution(),o=i[0],s=i[1],c=o+a[0]*r,u=s+a[1]*n;return[Math.min(o,c),Math.min(s,u),Math.max(o,c),Math.max(s,u)]}}}const CAt=EAt;class wAt{constructor(e){this._dataView=new DataView(e)}get buffer(){return this._dataView.buffer}getUint64(e,n){const r=this.getUint32(e,n),i=this.getUint32(e+4,n);let a;if(n){if(a=r+2**32*i,!Number.isSafeInteger(a))throw new Error(`${a} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return a}if(a=2**32*r+i,!Number.isSafeInteger(a))throw new Error(`${a} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return a}getInt64(e,n){let r=0;const i=(this._dataView.getUint8(e+(n?7:0))&128)>0;let a=!0;for(let o=0;o<8;o++){let s=this._dataView.getUint8(e+(n?o:7-o));i&&(a?s!==0&&(s=~(s-1)&255,a=!1):s=~s&255),r+=s*256**o}return i&&(r=-r),r}getUint8(e,n){return this._dataView.getUint8(e,n)}getInt8(e,n){return this._dataView.getInt8(e,n)}getUint16(e,n){return this._dataView.getUint16(e,n)}getInt16(e,n){return this._dataView.getInt16(e,n)}getUint32(e,n){return this._dataView.getUint32(e,n)}getInt32(e,n){return this._dataView.getInt32(e,n)}getFloat16(e,n){return DCe(this._dataView,e,n)}getFloat32(e,n){return this._dataView.getFloat32(e,n)}getFloat64(e,n){return this._dataView.getFloat64(e,n)}}class TAt{constructor(e,n,r,i){this._dataView=new DataView(e),this._sliceOffset=n,this._littleEndian=r,this._bigTiff=i}get sliceOffset(){return this._sliceOffset}get sliceTop(){return this._sliceOffset+this.buffer.byteLength}get littleEndian(){return this._littleEndian}get bigTiff(){return this._bigTiff}get buffer(){return this._dataView.buffer}covers(e,n){return this.sliceOffset<=e&&this.sliceTop>=e+n}readUint8(e){return this._dataView.getUint8(e-this._sliceOffset,this._littleEndian)}readInt8(e){return this._dataView.getInt8(e-this._sliceOffset,this._littleEndian)}readUint16(e){return this._dataView.getUint16(e-this._sliceOffset,this._littleEndian)}readInt16(e){return this._dataView.getInt16(e-this._sliceOffset,this._littleEndian)}readUint32(e){return this._dataView.getUint32(e-this._sliceOffset,this._littleEndian)}readInt32(e){return this._dataView.getInt32(e-this._sliceOffset,this._littleEndian)}readFloat32(e){return this._dataView.getFloat32(e-this._sliceOffset,this._littleEndian)}readFloat64(e){return this._dataView.getFloat64(e-this._sliceOffset,this._littleEndian)}readUint64(e){const n=this.readUint32(e),r=this.readUint32(e+4);let i;if(this._littleEndian){if(i=n+2**32*r,!Number.isSafeInteger(i))throw new Error(`${i} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return i}if(i=2**32*n+r,!Number.isSafeInteger(i))throw new Error(`${i} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return i}readInt64(e){let n=0;const r=(this._dataView.getUint8(e+(this._littleEndian?7:0))&128)>0;let i=!0;for(let a=0;a<8;a++){let o=this._dataView.getUint8(e+(this._littleEndian?a:7-a));r&&(i?o!==0&&(o=~(o-1)&255,i=!1):o=~o&255),n+=o*256**a}return r&&(n=-n),n}readOffset(e){return this._bigTiff?this.readUint64(e):this.readUint32(e)}}class _At{async fetch(e,n=void 0){return Promise.all(e.map(r=>this.fetchSlice(r,n)))}async fetchSlice(e){throw new Error(`fetching of slice ${e} not possible, not implemented`)}get fileSize(){return null}async close(){}}class RW extends Error{constructor(e){super(e),Error.captureStackTrace&&Error.captureStackTrace(this,RW),this.name="AbortError"}}class IAt extends _At{constructor(e){super(),this.arrayBuffer=e}fetchSlice(e,n){if(n&&n.aborted)throw new RW("Request aborted");return this.arrayBuffer.slice(e.offset,e.offset+e.length)}}function AAt(t){return new IAt(t)}function DB(t){switch(t){case xa.BYTE:case xa.ASCII:case xa.SBYTE:case xa.UNDEFINED:return 1;case xa.SHORT:case xa.SSHORT:return 2;case xa.LONG:case xa.SLONG:case xa.FLOAT:case xa.IFD:return 4;case xa.RATIONAL:case xa.SRATIONAL:case xa.DOUBLE:case xa.LONG8:case xa.SLONG8:case xa.IFD8:return 8;default:throw new RangeError(`Invalid field type: ${t}`)}}function MAt(t){const e=t.GeoKeyDirectory;if(!e)return null;const n={};for(let r=4;r<=e[3]*4;r+=4){const i=nAt[e[r]],a=e[r+1]?qT[e[r+1]]:null,o=e[r+2],s=e[r+3];let c=null;if(!a)c=s;else{if(c=t[a],typeof c>"u"||c===null)throw new Error(`Could not get value of geoKey '${i}'.`);typeof c=="string"?c=c.substring(s,s+o-1):c.subarray&&(c=c.subarray(s,s+o),o===1&&(c=c[0]))}n[i]=c}return n}function s2(t,e,n,r){let i=null,a=null;const o=DB(e);switch(e){case xa.BYTE:case xa.ASCII:case xa.UNDEFINED:i=new Uint8Array(n),a=t.readUint8;break;case xa.SBYTE:i=new Int8Array(n),a=t.readInt8;break;case xa.SHORT:i=new Uint16Array(n),a=t.readUint16;break;case xa.SSHORT:i=new Int16Array(n),a=t.readInt16;break;case xa.LONG:case xa.IFD:i=new Uint32Array(n),a=t.readUint32;break;case xa.SLONG:i=new Int32Array(n),a=t.readInt32;break;case xa.LONG8:case xa.IFD8:i=new Array(n),a=t.readUint64;break;case xa.SLONG8:i=new Array(n),a=t.readInt64;break;case xa.RATIONAL:i=new Uint32Array(n*2),a=t.readUint32;break;case xa.SRATIONAL:i=new Int32Array(n*2),a=t.readInt32;break;case xa.FLOAT:i=new Float32Array(n),a=t.readFloat32;break;case xa.DOUBLE:i=new Float64Array(n),a=t.readFloat64;break;default:throw new RangeError(`Invalid field type: ${e}`)}if(e===xa.RATIONAL||e===xa.SRATIONAL)for(let s=0;s<n;s+=2)i[s]=a.call(t,r+s*o),i[s+1]=a.call(t,r+(s*o+4));else for(let s=0;s<n;++s)i[s]=a.call(t,r+s*o);return e===xa.ASCII?new TextDecoder("utf-8").decode(i):i}class RAt{constructor(e,n,r){this.fileDirectory=e,this.geoKeyDirectory=n,this.nextIFDByteOffset=r}}class xR extends Error{constructor(e){super(`No image at index ${e}`),this.index=e}}class LAt{async readRasters(e={}){const{window:n,width:r,height:i}=e;let{resX:a,resY:o,bbox:s}=e;const c=await this.getImage();let u=c;const d=await this.getImageCount(),f=c.getBoundingBox();if(n&&s)throw new Error('Both "bbox" and "window" passed.');if(r||i){if(n){const[v,y]=c.getOrigin(),[m,g]=c.getResolution();s=[v+n[0]*m,y+n[1]*g,v+n[2]*m,y+n[3]*g]}const p=s||f;if(r){if(a)throw new Error("Both width and resX passed");a=(p[2]-p[0])/r}if(i){if(o)throw new Error("Both width and resY passed");o=(p[3]-p[1])/i}}if(a||o){const p=[];for(let v=0;v<d;++v){const y=await this.getImage(v),{SubfileType:m,NewSubfileType:g}=y.fileDirectory;(v===0||m===2||g&1)&&p.push(y)}p.sort((v,y)=>v.getWidth()-y.getWidth());for(let v=0;v<p.length;++v){const y=p[v],m=(f[2]-f[0])/y.getWidth(),g=(f[3]-f[1])/y.getHeight();if(u=y,a&&a>m||o&&o>g)break}}let h=n;if(s){const[p,v]=c.getOrigin(),[y,m]=u.getResolution(c);h=[Math.round((s[0]-p)/y),Math.round((s[1]-v)/m),Math.round((s[2]-p)/y),Math.round((s[3]-v)/m)],h=[Math.min(h[0],h[2]),Math.min(h[1],h[3]),Math.max(h[0],h[2]),Math.max(h[1],h[3])]}return u.readRasters({...e,window:h})}}class LW extends LAt{constructor(e,n,r,i,a={}){super(),this.source=e,this.littleEndian=n,this.bigTiff=r,this.firstIFDOffset=i,this.cache=a.cache||!1,this.ifdRequests=[],this.ghostValues=null}async getSlice(e,n){const r=this.bigTiff?4048:1024;return new TAt((await this.source.fetch([{offset:e,length:typeof n<"u"?n:r}]))[0],e,this.littleEndian,this.bigTiff)}async parseFileDirectoryAt(e){const n=this.bigTiff?20:12,r=this.bigTiff?8:2;let i=await this.getSlice(e);const a=this.bigTiff?i.readUint64(e):i.readUint16(e),o=a*n+(this.bigTiff?16:6);i.covers(e,o)||(i=await this.getSlice(e,o));const s={};let c=e+(this.bigTiff?8:2);for(let f=0;f<a;c+=n,++f){const h=i.readUint16(c),p=i.readUint16(c+2),v=this.bigTiff?i.readUint64(c+4):i.readUint32(c+4);let y,m;const g=DB(p),x=c+(this.bigTiff?12:8);if(g*v<=(this.bigTiff?8:4))y=s2(i,p,v,x);else{const b=i.readOffset(x),S=DB(p)*v;if(i.covers(b,S))y=s2(i,p,v,b);else{const E=await this.getSlice(b,S);y=s2(E,p,v,b)}}v===1&&JIt.indexOf(h)===-1&&!(p===xa.RATIONAL||p===xa.SRATIONAL)?m=y[0]:m=y,s[qT[h]]=m}const u=MAt(s),d=i.readOffset(e+r+n*a);return new RAt(s,u,d)}async requestIFD(e){if(this.ifdRequests[e])return this.ifdRequests[e];if(e===0)return this.ifdRequests[e]=this.parseFileDirectoryAt(this.firstIFDOffset),this.ifdRequests[e];if(!this.ifdRequests[e-1])try{this.ifdRequests[e-1]=this.requestIFD(e-1)}catch(n){throw n instanceof xR?new xR(e):n}return this.ifdRequests[e]=(async()=>{const n=await this.ifdRequests[e-1];if(n.nextIFDByteOffset===0)throw new xR(e);return this.parseFileDirectoryAt(n.nextIFDByteOffset)})(),this.ifdRequests[e]}async getImage(e=0){const n=await this.requestIFD(e);return new CAt(n.fileDirectory,n.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source)}async getImageCount(){let e=0,n=!0;for(;n;)try{await this.requestIFD(e),++e}catch(r){if(r instanceof xR)n=!1;else throw r}return e}async getGhostValues(){const e=this.bigTiff?16:8;if(this.ghostValues)return this.ghostValues;const n="GDAL_STRUCTURAL_METADATA_SIZE=",r=n.length+100;let i=await this.getSlice(e,r);if(n===s2(i,xa.ASCII,n.length,e)){const o=s2(i,xa.ASCII,r,e).split(`
4312
4312
  `)[0],s=Number(o.split("=")[1].split(" ")[0])+o.length;s>r&&(i=await this.getSlice(e,s));const c=s2(i,xa.ASCII,s,e);this.ghostValues={},c.split(`
4313
- `).filter(u=>u.length>0).map(u=>u.split("=")).forEach(([u,d])=>{this.ghostValues[u]=d})}return this.ghostValues}static async fromSource(e,n,r){const i=(await e.fetch([{offset:0,length:1024}],r))[0],a=new wAt(i),o=a.getUint16(0,0);let s;if(o===18761)s=!0;else if(o===19789)s=!1;else throw new TypeError("Invalid byte order value.");const c=a.getUint16(2,s);let u;if(c===42)u=!1;else if(c===43){if(u=!0,a.getUint16(4,s)!==8)throw new Error("Unsupported offset byte-size.")}else throw new TypeError("Invalid magic number.");const d=u?a.getUint64(8,s):a.getUint32(4,s);return new LW(e,s,u,d,n)}close(){return typeof this.source.close=="function"?this.source.close():!1}}async function OAt(t,e){return LW.fromSource(AAt(t),e)}const PAt=({axon_check:t,fbxTreeDatas:e,setLeftMenuTabIndex:n,swcRef:r,setIsChartOpen:i,setEchartValue:a,setChartValue:o,reset:s})=>{const c=T.useRef(null),u=T.useRef(null),[d,f]=T.useState(!1),[h,p]=T.useState(""),[v,y]=T.useState(""),[m,g]=T.useState({x:0,y:0}),x=T.useRef([]),b=T.useRef([]),S=T.useRef(null),E=T.useRef(null),[w,M]=T.useState(!0),L=T.useRef("#000"),[R,O]=T.useState(["Isocortex","OLF","HPF","CTXsp","STR","PAL","IB","MB","HB","CB","VS","fiber tract"]),[N,U]=T.useState({nodes:[],links:[],categories:[]});let k=T.useRef(null),D=!1;const V=(G,J)=>{O(re=>[...re.filter(K=>!G.includes(K)),...J])};T.useEffect(()=>{O(["Isocortex","OLF","HPF","CTXsp","STR","PAL","IB","MB","HB","CB","VS","fiber tract"])},[s]);const B=(G,J)=>J.map(re=>{const K=G.find(ne=>ne.id===re.source),q=G.find(ne=>ne.id===re.target);return{...re,lineStyle:{color:{type:"linear",x:0,y:0,x2:1,y2:0,colorStops:[{offset:0,color:q.itemStyle.color},{offset:1,color:K.itemStyle.color}]},width:1,curveness:.3}}});T.useEffect(()=>{F(R)},[R]);const F=G=>{fetch("app-api/d-api/connectivity",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:G})}).then(J=>J.json()).then(J=>{J.code==200?U(J.node):Nm.error(J.message)})};T.useEffect(()=>{u.current=YO(c.current),u.current.clear();const G=()=>u.current.getOption().series[0].data,J={tooltip:{formatter:Y=>Y.dataType==="node"?`${Y.data.fullname} (${Y.data.name})<br>Downstream: ${t[Y.data.name].down.length} projection neuron(s)<br>Upstream: projected by ${t[Y.data.name].up.length} neuron(s)`:(Y.dataType,"")},animationDurationUpdate:1500,animationEasingUpdate:"quinticInOut",series:[{name:"Les Miserables",type:"graph",layout:"circular",circular:{rotateLabel:!0},data:N.nodes,links:B(N.nodes,N.links),categories:N.categories,roam:!0,label:{show:!0,position:"right",formatter:"{b}",textStyle:{fontSize:20}},lineStyle:{color:"source",curveness:.3}}]};function re(Y){if(Y.event.event.preventDefault(),Y.dataType=="node"){const te=K(Y.data.name,e);let fe=W(te);fe&&V(fe,[te.name])}if(Y.dataType=="edge"){const te=G().find(se=>se.id===Y.data.source),fe=G().find(se=>se.id===Y.data.target);x.current=t[te.name].soma.filter(function(se){return t[fe.name].axon.indexOf(se)>-1}),b.current=t[fe.name].soma.filter(function(se){return t[te.name].axon.indexOf(se)>-1}),p(te.name),y(fe.name),g({x:Y.event.event.clientX+2,y:Y.event.event.clientY}),f(!0),L.current=Y.data.lineStyle.color.colorStops[0].color}}const K=(Y,te)=>{let fe="";for(let se=0;se<te.length;se++){const he=te[se];if(he.children){if(he.children.some(Q=>Q.name===Y)){fe=he;break}else if(K(Y,he.children)){fe=K(Y,he.children);break}}}return fe},q=Y=>{clearTimeout(k.current),D=!0,a(Y.data.name),o(Y.data.name),i(!1)},ne=Y=>{k.current=setTimeout(()=>{if(!D){const te=Z(Y.data.name,e);if(te){let fe=[];"children"in te?(te.children.forEach(se=>{fe.push(se.name)}),V([Y.data.name],fe)):Nm.error("No child node")}}D=!1},300)};return u.current.setOption(J),u.current.on("click",ne),u.current.on("dblclick",q),u.current.on("contextmenu",re),()=>{u.current.off("click",ne),u.current.off("dblclick",q),u.current.off("contextmenu",re)}},[t,e,N]);const W=G=>{const J=[],re=K=>{J.push(K.name),K.children&&K.children.forEach(q=>re(q))};return re(G),J},Z=(G,J)=>{let re=[],K=!1,q;for(let ne=0;ne<J.length;ne++)re.push(J[ne]);for(;re.length>0&&!K;){let ne=re.pop();if(ne.name==G){K=!0,q=ne;break}else if(ne.children)for(let Y=0;Y<ne.children.length;Y++)re.push(ne.children[Y])}return q},X=[{key:"1",label:T.createElement("a",{target:"_blank",style:{width:"150px",textAlign:"center"},onClick:G=>{n(3),r.current.setSearchValue(v),r.current.setSomaValue(h),f(!1),i(!1)}},h," →",v,": ",x.current.length," projection neruon(s)")},{key:"2",label:T.createElement("a",{target:"_blank",style:{width:"150px",textAlign:"center"},onClick:G=>{n(3),r.current.setSearchValue(h),r.current.setSomaValue(v),f(!1),i(!1)}},v," →",h,": ",b.current.length," projection neruon(s)")}];return T.createElement(T.Fragment,null,T.createElement("div",{style:{overflow:"hidden",position:"absolute",width:"500px",height:"200px"}},T.createElement("div",{ref:S,style:{zIndex:9,position:"absolute",backgroundColor:"#f1f1f180",borderTopRightRadius:"5px",borderTopLeftRadius:"5px",borderBottomRightRadius:"5px",transform:w?"translateY(0)":"translateY(-99%)",transition:"transform 0.3s ease-in-out",padding:"5px"}},T.createElement("p",{style:{paddingLeft:"10px",paddingRight:"10px"}},"- Mouse-over a node to see upstream and downstream neuron numbers",T.createElement("br",null),"- Left-click a node to expand its children structures",T.createElement("br",null),"- Righ-click a node to collapse to its parent structure",T.createElement("br",null),"- Double-click a node to visualize all its projections in the main window",T.createElement("br",null),"- Righ-click a line to see the projections between two connected nodes",T.createElement("br",null),"- Left-click the popup menu of the line to inquire the projection neurons"),T.createElement("a",{style:{zIndex:9,position:"absolute",bottom:"-28px",left:0,display:"flex"},onClick:()=>{M(!w)}},T.createElement("div",{style:{width:"90px",height:"28px",display:"flex",justifyContent:"center",borderBottomRightRadius:"5px",borderBottomLeftRadius:"5px",backgroundColor:"#f1f1f180"}},T.createElement("div",{style:{display:"flex",alignItems:"center",color:"#000"}},"Help   ",T.createElement("div",{ref:E,style:{width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent",borderBottom:w?"10px solid #000":0,borderTop:w?0:"10px solid #000"}})))))),T.createElement(Rb,{menu:{items:X},open:d,overlayStyle:{position:"absolute",left:m.x,top:m.y,width:"auto",minWidth:"auto",border:`2px solid ${L}`},overlayClassName:"pipeline_dropdown"},T.createElement("div",{ref:c,style:{width:"100%",height:"calc(100vh - 75px)"},onMouseEnter:()=>{f(!1)}})))};Vi([L2e,uEe,vSe,Gxe]);const Gv=FS.TabPane,{TextArea:mle}=Uc,NAt=`
4313
+ `).filter(u=>u.length>0).map(u=>u.split("=")).forEach(([u,d])=>{this.ghostValues[u]=d})}return this.ghostValues}static async fromSource(e,n,r){const i=(await e.fetch([{offset:0,length:1024}],r))[0],a=new wAt(i),o=a.getUint16(0,0);let s;if(o===18761)s=!0;else if(o===19789)s=!1;else throw new TypeError("Invalid byte order value.");const c=a.getUint16(2,s);let u;if(c===42)u=!1;else if(c===43){if(u=!0,a.getUint16(4,s)!==8)throw new Error("Unsupported offset byte-size.")}else throw new TypeError("Invalid magic number.");const d=u?a.getUint64(8,s):a.getUint32(4,s);return new LW(e,s,u,d,n)}close(){return typeof this.source.close=="function"?this.source.close():!1}}async function OAt(t,e){return LW.fromSource(AAt(t),e)}const PAt=({axon_check:t,fbxTreeDatas:e,setLeftMenuTabIndex:n,swcRef:r,setIsChartOpen:i,setEchartValue:a,setChartValue:o,reset:s})=>{const c=T.useRef(null),u=T.useRef(null),[d,f]=T.useState(!1),[h,p]=T.useState(""),[v,y]=T.useState(""),[m,g]=T.useState({x:0,y:0}),x=T.useRef([]),b=T.useRef([]),S=T.useRef(null),E=T.useRef(null),[w,M]=T.useState(!0),L=T.useRef("#000"),[R,O]=T.useState(["Isocortex","OLF","HPF","CTXsp","STR","PAL","IB","MB","HB","CB","VS","fiber tract"]),[N,U]=T.useState({nodes:[],links:[],categories:[]});let k=T.useRef(null),D=!1;const V=(G,J)=>{O(re=>[...re.filter(K=>!G.includes(K)),...J])};T.useEffect(()=>{O(["Isocortex","OLF","HPF","CTXsp","STR","PAL","IB","MB","HB","CB","VS","fiber tract"])},[s]);const B=(G,J)=>J.map(re=>{const K=G.find(ne=>ne.id===re.source),q=G.find(ne=>ne.id===re.target);return{...re,lineStyle:{color:{type:"linear",x:0,y:0,x2:1,y2:0,colorStops:[{offset:0,color:q.itemStyle.color},{offset:1,color:K.itemStyle.color}]},width:1,curveness:.3}}});T.useEffect(()=>{F(R)},[R]);const F=G=>{fetch("/app-api/d-api/connectivity",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:G})}).then(J=>J.json()).then(J=>{J.code==200?U(J.node):Nm.error(J.message)})};T.useEffect(()=>{u.current=YO(c.current),u.current.clear();const G=()=>u.current.getOption().series[0].data,J={tooltip:{formatter:Y=>Y.dataType==="node"?`${Y.data.fullname} (${Y.data.name})<br>Downstream: ${t[Y.data.name].down.length} projection neuron(s)<br>Upstream: projected by ${t[Y.data.name].up.length} neuron(s)`:(Y.dataType,"")},animationDurationUpdate:1500,animationEasingUpdate:"quinticInOut",series:[{name:"Les Miserables",type:"graph",layout:"circular",circular:{rotateLabel:!0},data:N.nodes,links:B(N.nodes,N.links),categories:N.categories,roam:!0,label:{show:!0,position:"right",formatter:"{b}",textStyle:{fontSize:20}},lineStyle:{color:"source",curveness:.3}}]};function re(Y){if(Y.event.event.preventDefault(),Y.dataType=="node"){const te=K(Y.data.name,e);let fe=W(te);fe&&V(fe,[te.name])}if(Y.dataType=="edge"){const te=G().find(se=>se.id===Y.data.source),fe=G().find(se=>se.id===Y.data.target);x.current=t[te.name].soma.filter(function(se){return t[fe.name].axon.indexOf(se)>-1}),b.current=t[fe.name].soma.filter(function(se){return t[te.name].axon.indexOf(se)>-1}),p(te.name),y(fe.name),g({x:Y.event.event.clientX+2,y:Y.event.event.clientY}),f(!0),L.current=Y.data.lineStyle.color.colorStops[0].color}}const K=(Y,te)=>{let fe="";for(let se=0;se<te.length;se++){const he=te[se];if(he.children){if(he.children.some(Q=>Q.name===Y)){fe=he;break}else if(K(Y,he.children)){fe=K(Y,he.children);break}}}return fe},q=Y=>{clearTimeout(k.current),D=!0,a(Y.data.name),o(Y.data.name),i(!1)},ne=Y=>{k.current=setTimeout(()=>{if(!D){const te=Z(Y.data.name,e);if(te){let fe=[];"children"in te?(te.children.forEach(se=>{fe.push(se.name)}),V([Y.data.name],fe)):Nm.error("No child node")}}D=!1},300)};return u.current.setOption(J),u.current.on("click",ne),u.current.on("dblclick",q),u.current.on("contextmenu",re),()=>{u.current.off("click",ne),u.current.off("dblclick",q),u.current.off("contextmenu",re)}},[t,e,N]);const W=G=>{const J=[],re=K=>{J.push(K.name),K.children&&K.children.forEach(q=>re(q))};return re(G),J},Z=(G,J)=>{let re=[],K=!1,q;for(let ne=0;ne<J.length;ne++)re.push(J[ne]);for(;re.length>0&&!K;){let ne=re.pop();if(ne.name==G){K=!0,q=ne;break}else if(ne.children)for(let Y=0;Y<ne.children.length;Y++)re.push(ne.children[Y])}return q},X=[{key:"1",label:T.createElement("a",{target:"_blank",style:{width:"150px",textAlign:"center"},onClick:G=>{n(3),r.current.setSearchValue(v),r.current.setSomaValue(h),f(!1),i(!1)}},h," →",v,": ",x.current.length," projection neruon(s)")},{key:"2",label:T.createElement("a",{target:"_blank",style:{width:"150px",textAlign:"center"},onClick:G=>{n(3),r.current.setSearchValue(h),r.current.setSomaValue(v),f(!1),i(!1)}},v," →",h,": ",b.current.length," projection neruon(s)")}];return T.createElement(T.Fragment,null,T.createElement("div",{style:{overflow:"hidden",position:"absolute",width:"500px",height:"200px"}},T.createElement("div",{ref:S,style:{zIndex:9,position:"absolute",backgroundColor:"#f1f1f180",borderTopRightRadius:"5px",borderTopLeftRadius:"5px",borderBottomRightRadius:"5px",transform:w?"translateY(0)":"translateY(-99%)",transition:"transform 0.3s ease-in-out",padding:"5px"}},T.createElement("p",{style:{paddingLeft:"10px",paddingRight:"10px"}},"- Mouse-over a node to see upstream and downstream neuron numbers",T.createElement("br",null),"- Left-click a node to expand its children structures",T.createElement("br",null),"- Righ-click a node to collapse to its parent structure",T.createElement("br",null),"- Double-click a node to visualize all its projections in the main window",T.createElement("br",null),"- Righ-click a line to see the projections between two connected nodes",T.createElement("br",null),"- Left-click the popup menu of the line to inquire the projection neurons"),T.createElement("a",{style:{zIndex:9,position:"absolute",bottom:"-28px",left:0,display:"flex"},onClick:()=>{M(!w)}},T.createElement("div",{style:{width:"90px",height:"28px",display:"flex",justifyContent:"center",borderBottomRightRadius:"5px",borderBottomLeftRadius:"5px",backgroundColor:"#f1f1f180"}},T.createElement("div",{style:{display:"flex",alignItems:"center",color:"#000"}},"Help   ",T.createElement("div",{ref:E,style:{width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent",borderBottom:w?"10px solid #000":0,borderTop:w?0:"10px solid #000"}})))))),T.createElement(Rb,{menu:{items:X},open:d,overlayStyle:{position:"absolute",left:m.x,top:m.y,width:"auto",minWidth:"auto",border:`2px solid ${L}`},overlayClassName:"pipeline_dropdown"},T.createElement("div",{ref:c,style:{width:"100%",height:"calc(100vh - 75px)"},onMouseEnter:()=>{f(!1)}})))};Vi([L2e,uEe,vSe,Gxe]);const Gv=FS.TabPane,{TextArea:mle}=Uc,NAt=`
4314
4314
  precision highp float;
4315
4315
  in vec3 position;
4316
4316
 
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-74410985.js");require("react");require("react-dom");exports.Atlas=e.Atlas;exports.Auxiliary=e.Auxiliary;exports.BottomTabs=e.BottomTabs;exports.Button=e.Button;exports.Distribution=e.Distribution;exports.GridViewer=e.GridViewer;exports.Header=e.Header;exports.InfoDiv=e.InfoDiv;exports.LoadFBX=e.LoadFBX;exports.LoadsceneFBX=e.LoadsceneFBX;exports.Modal2DLoader=e.Modal2DLoader;exports.ModalLoader=e.modalLoader;exports.MulfiViewer=e.MulfiViewer;exports.NavTree=e.NavTree;exports.NaviGation=e.NaviGation;exports.PipeLine=e.PipeLine;exports.Sections=e.Sections;exports.ShowReglions=e.ShowReglions;exports.SideBar=e.SideBar;exports.StlLoader=e.StlLoader;exports.Swctree=e.Swctree;exports.Thumbnail=e.Thumbnail;exports.TwoViewer=e.TwoViewer;exports.Z=e.Z;exports.bbox=e.bbox;exports.camera=e.camera;exports.cameralight=e.cameralight;exports.fbxmeshs=e.fbxmeshs;exports.fbxmeshs_jing=e.fbxmeshs_jing;exports.fetchData=e.fetchData;exports.findChildrenByKey=e.findChildrenByKey;exports.findNodeByName=e.findNodeByName;exports.findNodeListByfather=e.findNodeListByfather;exports.findfatherlist=e.findfatherlist;exports.formatDate=e.formatDate;exports.getParentKey=e.getParentKey;exports.logMessage=e.logMessage;exports.mirrorDisplayTag=e.mirrorDisplayTag;exports.node_data=e.node_data;exports.scale=e.scale;exports.scene=e.scene;exports.tranX=e.tranX;exports.tranY=e.tranY;exports.tranZ=e.tranZ;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-bb24f737.js");require("react");require("react-dom");exports.Atlas=e.Atlas;exports.Auxiliary=e.Auxiliary;exports.BottomTabs=e.BottomTabs;exports.Button=e.Button;exports.Distribution=e.Distribution;exports.GridViewer=e.GridViewer;exports.Header=e.Header;exports.InfoDiv=e.InfoDiv;exports.LoadFBX=e.LoadFBX;exports.LoadsceneFBX=e.LoadsceneFBX;exports.Modal2DLoader=e.Modal2DLoader;exports.ModalLoader=e.modalLoader;exports.MulfiViewer=e.MulfiViewer;exports.NavTree=e.NavTree;exports.NaviGation=e.NaviGation;exports.PipeLine=e.PipeLine;exports.Sections=e.Sections;exports.ShowReglions=e.ShowReglions;exports.SideBar=e.SideBar;exports.StlLoader=e.StlLoader;exports.Swctree=e.Swctree;exports.Thumbnail=e.Thumbnail;exports.TwoViewer=e.TwoViewer;exports.Z=e.Z;exports.bbox=e.bbox;exports.camera=e.camera;exports.cameralight=e.cameralight;exports.fbxmeshs=e.fbxmeshs;exports.fbxmeshs_jing=e.fbxmeshs_jing;exports.fetchData=e.fetchData;exports.findChildrenByKey=e.findChildrenByKey;exports.findNodeByName=e.findNodeByName;exports.findNodeListByfather=e.findNodeListByfather;exports.findfatherlist=e.findfatherlist;exports.formatDate=e.formatDate;exports.getParentKey=e.getParentKey;exports.logMessage=e.logMessage;exports.mirrorDisplayTag=e.mirrorDisplayTag;exports.node_data=e.node_data;exports.scale=e.scale;exports.scene=e.scene;exports.tranX=e.tranX;exports.tranY=e.tranY;exports.tranZ=e.tranZ;
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { j as r, A as t, B as o, k as n, D as d, G as l, H as f, I as m, q as h, p as c, f as B, m as b, M as g, N as y, b as w, P as D, d as L, h as p, S as u, e as x, g as N, c as S, T, Z as M, R as v, y as A, x as F, J as G, K, l as P, s as V, t as X, r as j, v as C, o as H, u as I, n as R, O as Z, Q as _, z as k, w as q, C as z, E, F as J } from "./index-aa8d552c.mjs";
1
+ import { j as r, A as t, B as o, k as n, D as d, G as l, H as f, I as m, q as h, p as c, f as B, m as b, M as g, N as y, b as w, P as D, d as L, h as p, S as u, e as x, g as N, c as S, T, Z as M, R as v, y as A, x as F, J as G, K, l as P, s as V, t as X, r as j, v as C, o as H, u as I, n as R, O as Z, Q as _, z as k, w as q, C as z, E, F as J } from "./index-aa08e79d.mjs";
2
2
  import "react";
3
3
  import "react-dom";
4
4
  export {
@@ -1,4 +1,4 @@
1
- import { L as oA, a as gA, i as sA } from "./index-aa8d552c.mjs";
1
+ import { L as oA, a as gA, i as sA } from "./index-aa08e79d.mjs";
2
2
  import { B as DA } from "./basedecoder-11034ec6.mjs";
3
3
  import "react";
4
4
  import "react-dom";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("./index-74410985.js"),sA=require("./basedecoder-0503cc54.js");require("react");require("react-dom");var QA={},DA={get exports(){return QA},set exports(T){QA=T}};(function(T){/* Copyright 2015-2021 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */(function(){var J=function(){var u={};u.defaultNoDataValue=-34027999387901484e22,u.decode=function(I,a){a=a||{};var Q=a.encodedMaskData||a.encodedMaskData===null,g=E(I,a.inputOffset||0,Q),D=a.noDataValue!==null?a.noDataValue:u.defaultNoDataValue,B=L(g,a.pixelType||Float32Array,a.encodedMaskData,D,a.returnMask),C={width:g.width,height:g.height,pixelData:B.resultPixels,minValue:B.minValue,maxValue:g.pixels.maxValue,noDataValue:D};return B.resultMask&&(C.maskData=B.resultMask),a.returnEncodedMask&&g.mask&&(C.encodedMaskData=g.mask.bitset?g.mask.bitset:null),a.returnFileInfo&&(C.fileInfo=m(g),a.computeUsedBitDepths&&(C.fileInfo.bitDepths=z(g))),C};var L=function(I,a,Q,g,D){var B=0,C=I.pixels.numBlocksX,o=I.pixels.numBlocksY,r=Math.floor(I.width/C),s=Math.floor(I.height/o),f=2*I.maxZError,e=Number.MAX_VALUE,i;Q=Q||(I.mask?I.mask.bitset:null);var t,F;t=new a(I.width*I.height),D&&Q&&(F=new Uint8Array(I.width*I.height));for(var S=new Float32Array(r*s),h,U,G=0;G<=o;G++){var R=G!==o?s:I.height%o;if(R!==0)for(var w=0;w<=C;w++){var n=w!==C?r:I.width%C;if(n!==0){var l=G*I.width*s+w*r,y=I.width-n,k=I.pixels.blocks[B],M,c,N;k.encoding<2?(k.encoding===0?M=k.rawData:(A(k.stuffedData,k.bitsPerPixel,k.numValidPixels,k.offset,f,S,I.pixels.maxValue),M=S),c=0):k.encoding===2?N=0:N=k.offset;var q;if(Q)for(U=0;U<R;U++){for(l&7&&(q=Q[l>>3],q<<=l&7),h=0;h<n;h++)l&7||(q=Q[l>>3]),q&128?(F&&(F[l]=1),i=k.encoding<2?M[c++]:N,e=e>i?i:e,t[l++]=i):(F&&(F[l]=0),t[l++]=g),q<<=1;l+=y}else if(k.encoding<2)for(U=0;U<R;U++){for(h=0;h<n;h++)i=M[c++],e=e>i?i:e,t[l++]=i;l+=y}else for(e=e>N?N:e,U=0;U<R;U++){for(h=0;h<n;h++)t[l++]=N;l+=y}if(k.encoding===1&&c!==k.numValidPixels)throw"Block and Mask do not match";B++}}}return{resultPixels:t,resultMask:F,minValue:e}},m=function(I){return{fileIdentifierString:I.fileIdentifierString,fileVersion:I.fileVersion,imageType:I.imageType,height:I.height,width:I.width,maxZError:I.maxZError,eofOffset:I.eofOffset,mask:I.mask?{numBlocksX:I.mask.numBlocksX,numBlocksY:I.mask.numBlocksY,numBytes:I.mask.numBytes,maxValue:I.mask.maxValue}:null,pixels:{numBlocksX:I.pixels.numBlocksX,numBlocksY:I.pixels.numBlocksY,numBytes:I.pixels.numBytes,maxValue:I.pixels.maxValue,noDataValue:I.noDataValue}}},z=function(I){for(var a=I.pixels.numBlocksX*I.pixels.numBlocksY,Q={},g=0;g<a;g++){var D=I.pixels.blocks[g];D.encoding===0?Q.float32=!0:D.encoding===1?Q[D.bitsPerPixel]=!0:Q[0]=!0}return Object.keys(Q)},E=function(I,a,Q){var g={},D=new Uint8Array(I,a,10);if(g.fileIdentifierString=String.fromCharCode.apply(null,D),g.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+g.fileIdentifierString;a+=10;var B=new DataView(I,a,24);if(g.fileVersion=B.getInt32(0,!0),g.imageType=B.getInt32(4,!0),g.height=B.getUint32(8,!0),g.width=B.getUint32(12,!0),g.maxZError=B.getFloat64(16,!0),a+=24,!Q)if(B=new DataView(I,a,16),g.mask={},g.mask.numBlocksY=B.getUint32(0,!0),g.mask.numBlocksX=B.getUint32(4,!0),g.mask.numBytes=B.getUint32(8,!0),g.mask.maxValue=B.getFloat32(12,!0),a+=16,g.mask.numBytes>0){var C=new Uint8Array(Math.ceil(g.width*g.height/8));B=new DataView(I,a,g.mask.numBytes);var o=B.getInt16(0,!0),r=2,s=0;do{if(o>0)for(;o--;)C[s++]=B.getUint8(r++);else{var f=B.getUint8(r++);for(o=-o;o--;)C[s++]=f}o=B.getInt16(r,!0),r+=2}while(r<g.mask.numBytes);if(o!==-32768||s<C.length)throw"Unexpected end of mask RLE encoding";g.mask.bitset=C,a+=g.mask.numBytes}else g.mask.numBytes|g.mask.numBlocksY|g.mask.maxValue||(g.mask.bitset=new Uint8Array(Math.ceil(g.width*g.height/8)));B=new DataView(I,a,16),g.pixels={},g.pixels.numBlocksY=B.getUint32(0,!0),g.pixels.numBlocksX=B.getUint32(4,!0),g.pixels.numBytes=B.getUint32(8,!0),g.pixels.maxValue=B.getFloat32(12,!0),a+=16;var e=g.pixels.numBlocksX,i=g.pixels.numBlocksY,t=e+(g.width%e>0?1:0),F=i+(g.height%i>0?1:0);g.pixels.blocks=new Array(t*F);for(var S=0,h=0;h<F;h++)for(var U=0;U<t;U++){var G=0,R=I.byteLength-a;B=new DataView(I,a,Math.min(10,R));var w={};g.pixels.blocks[S++]=w;var n=B.getUint8(0);if(G++,w.encoding=n&63,w.encoding>3)throw"Invalid block encoding ("+w.encoding+")";if(w.encoding===2){a++;continue}if(n!==0&&n!==2){if(n>>=6,w.offsetType=n,n===2)w.offset=B.getInt8(1),G++;else if(n===1)w.offset=B.getInt16(1,!0),G+=2;else if(n===0)w.offset=B.getFloat32(1,!0),G+=4;else throw"Invalid block offset type";if(w.encoding===1)if(n=B.getUint8(G),G++,w.bitsPerPixel=n&63,n>>=6,w.numValidPixelsType=n,n===2)w.numValidPixels=B.getUint8(G),G++;else if(n===1)w.numValidPixels=B.getUint16(G,!0),G+=2;else if(n===0)w.numValidPixels=B.getUint32(G,!0),G+=4;else throw"Invalid valid pixel count type"}if(a+=G,w.encoding!==3){var l,y;if(w.encoding===0){var k=(g.pixels.numBytes-1)/4;if(k!==Math.floor(k))throw"uncompressed block has invalid length";l=new ArrayBuffer(k*4),y=new Uint8Array(l),y.set(new Uint8Array(I,a,k*4));var M=new Float32Array(l);w.rawData=M,a+=k*4}else if(w.encoding===1){var c=Math.ceil(w.numValidPixels*w.bitsPerPixel/8),N=Math.ceil(c/4);l=new ArrayBuffer(N*4),y=new Uint8Array(l),y.set(new Uint8Array(I,a,c)),w.stuffedData=new Uint32Array(l),a+=c}}}return g.eofOffset=a,g},A=function(I,a,Q,g,D,B,C){var o=(1<<a)-1,r=0,s,f=0,e,i,t=Math.ceil((C-g)/D),F=I.length*4-Math.ceil(a*Q/8);for(I[I.length-1]<<=8*F,s=0;s<Q;s++){if(f===0&&(i=I[r++],f=32),f>=a)e=i>>>f-a&o,f-=a;else{var S=a-f;e=(i&o)<<S&o,i=I[r++],f=32-S,e+=i>>>f}B[s]=e<t?g+e*D:C}return B};return u}(),X=function(){var u={unstuff:function(E,A,I,a,Q,g,D,B){var C=(1<<I)-1,o=0,r,s=0,f,e,i,t,F=E.length*4-Math.ceil(I*a/8);if(E[E.length-1]<<=8*F,Q)for(r=0;r<a;r++)s===0&&(e=E[o++],s=32),s>=I?(f=e>>>s-I&C,s-=I):(i=I-s,f=(e&C)<<i&C,e=E[o++],s=32-i,f+=e>>>s),A[r]=Q[f];else for(t=Math.ceil((B-g)/D),r=0;r<a;r++)s===0&&(e=E[o++],s=32),s>=I?(f=e>>>s-I&C,s-=I):(i=I-s,f=(e&C)<<i&C,e=E[o++],s=32-i,f+=e>>>s),A[r]=f<t?g+f*D:B},unstuffLUT:function(E,A,I,a,Q,g){var D=(1<<A)-1,B=0,C=0,o=0,r=0,s=0,f,e=[],i=E.length*4-Math.ceil(A*I/8);E[E.length-1]<<=8*i;var t=Math.ceil((g-a)/Q);for(C=0;C<I;C++)r===0&&(f=E[B++],r=32),r>=A?(s=f>>>r-A&D,r-=A):(o=A-r,s=(f&D)<<o&D,f=E[B++],r=32-o,s+=f>>>r),e[C]=s<t?a+s*Q:g;return e.unshift(a),e},unstuff2:function(E,A,I,a,Q,g,D,B){var C=(1<<I)-1,o=0,r,s=0,f=0,e,i,t;if(Q)for(r=0;r<a;r++)s===0&&(i=E[o++],s=32,f=0),s>=I?(e=i>>>f&C,s-=I,f+=I):(t=I-s,e=i>>>f&C,i=E[o++],s=32-t,e|=(i&(1<<t)-1)<<I-t,f=t),A[r]=Q[e];else{var F=Math.ceil((B-g)/D);for(r=0;r<a;r++)s===0&&(i=E[o++],s=32,f=0),s>=I?(e=i>>>f&C,s-=I,f+=I):(t=I-s,e=i>>>f&C,i=E[o++],s=32-t,e|=(i&(1<<t)-1)<<I-t,f=t),A[r]=e<F?g+e*D:B}return A},unstuffLUT2:function(E,A,I,a,Q,g){var D=(1<<A)-1,B=0,C=0,o=0,r=0,s=0,f=0,e,i=[],t=Math.ceil((g-a)/Q);for(C=0;C<I;C++)r===0&&(e=E[B++],r=32,f=0),r>=A?(s=e>>>f&D,r-=A,f+=A):(o=A-r,s=e>>>f&D,e=E[B++],r=32-o,s|=(e&(1<<o)-1)<<A-o,f=o),i[C]=s<t?a+s*Q:g;return i.unshift(a),i},originalUnstuff:function(E,A,I,a){var Q=(1<<I)-1,g=0,D,B=0,C,o,r,s=E.length*4-Math.ceil(I*a/8);for(E[E.length-1]<<=8*s,D=0;D<a;D++)B===0&&(o=E[g++],B=32),B>=I?(C=o>>>B-I&Q,B-=I):(r=I-B,C=(o&Q)<<r&Q,o=E[g++],B=32-r,C+=o>>>B),A[D]=C;return A},originalUnstuff2:function(E,A,I,a){var Q=(1<<I)-1,g=0,D,B=0,C=0,o,r,s;for(D=0;D<a;D++)B===0&&(r=E[g++],B=32,C=0),B>=I?(o=r>>>C&Q,B-=I,C+=I):(s=I-B,o=r>>>C&Q,r=E[g++],B=32-s,o|=(r&(1<<s)-1)<<I-s,C=s),A[D]=o;return A}},L={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(E){for(var A=65535,I=65535,a=E.length,Q=Math.floor(a/2),g=0;Q;){var D=Q>=359?359:Q;Q-=D;do A+=E[g++]<<8,I+=A+=E[g++];while(--D);A=(A&65535)+(A>>>16),I=(I&65535)+(I>>>16)}return a&1&&(I+=A+=E[g]<<8),A=(A&65535)+(A>>>16),I=(I&65535)+(I>>>16),(I<<16|A)>>>0},readHeaderInfo:function(E,A){var I=A.ptr,a=new Uint8Array(E,I,6),Q={};if(Q.fileIdentifierString=String.fromCharCode.apply(null,a),Q.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+Q.fileIdentifierString;I+=6;var g=new DataView(E,I,8),D=g.getInt32(0,!0);Q.fileVersion=D,I+=4,D>=3&&(Q.checksum=g.getUint32(4,!0),I+=4),g=new DataView(E,I,12),Q.height=g.getUint32(0,!0),Q.width=g.getUint32(4,!0),I+=8,D>=4?(Q.numDims=g.getUint32(8,!0),I+=4):Q.numDims=1,g=new DataView(E,I,40),Q.numValidPixel=g.getUint32(0,!0),Q.microBlockSize=g.getInt32(4,!0),Q.blobSize=g.getInt32(8,!0),Q.imageType=g.getInt32(12,!0),Q.maxZError=g.getFloat64(16,!0),Q.zMin=g.getFloat64(24,!0),Q.zMax=g.getFloat64(32,!0),I+=40,A.headerInfo=Q,A.ptr=I;var B,C;if(D>=3&&(C=D>=4?52:48,B=this.computeChecksumFletcher32(new Uint8Array(E,I-C,Q.blobSize-14)),B!==Q.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(E,A){var I=A.headerInfo,a=this.getDataTypeArray(I.imageType),Q=I.numDims*this.getDataTypeSize(I.imageType),g=this.readSubArray(E,A.ptr,a,Q),D=this.readSubArray(E,A.ptr+Q,a,Q);A.ptr+=2*Q;var B,C=!0;for(B=0;B<I.numDims;B++)if(g[B]!==D[B]){C=!1;break}return I.minValues=g,I.maxValues=D,C},readSubArray:function(E,A,I,a){var Q;if(I===Uint8Array)Q=new Uint8Array(E,A,a);else{var g=new ArrayBuffer(a),D=new Uint8Array(g);D.set(new Uint8Array(E,A,a)),Q=new I(g)}return Q},readMask:function(E,A){var I=A.ptr,a=A.headerInfo,Q=a.width*a.height,g=a.numValidPixel,D=new DataView(E,I,4),B={};if(B.numBytes=D.getUint32(0,!0),I+=4,(g===0||Q===g)&&B.numBytes!==0)throw"invalid mask";var C,o;if(g===0)C=new Uint8Array(Math.ceil(Q/8)),B.bitset=C,o=new Uint8Array(Q),A.pixels.resultMask=o,I+=B.numBytes;else if(B.numBytes>0){C=new Uint8Array(Math.ceil(Q/8)),D=new DataView(E,I,B.numBytes);var r=D.getInt16(0,!0),s=2,f=0,e=0;do{if(r>0)for(;r--;)C[f++]=D.getUint8(s++);else for(e=D.getUint8(s++),r=-r;r--;)C[f++]=e;r=D.getInt16(s,!0),s+=2}while(s<B.numBytes);if(r!==-32768||f<C.length)throw"Unexpected end of mask RLE encoding";o=new Uint8Array(Q);var i=0,t=0;for(t=0;t<Q;t++)t&7?(i=C[t>>3],i<<=t&7):i=C[t>>3],i&128&&(o[t]=1);A.pixels.resultMask=o,B.bitset=C,I+=B.numBytes}return A.ptr=I,A.mask=B,!0},readDataOneSweep:function(E,A,I,a){var Q=A.ptr,g=A.headerInfo,D=g.numDims,B=g.width*g.height,C=g.imageType,o=g.numValidPixel*L.getDataTypeSize(C)*D,r,s=A.pixels.resultMask;if(I===Uint8Array)r=new Uint8Array(E,Q,o);else{var f=new ArrayBuffer(o),e=new Uint8Array(f);e.set(new Uint8Array(E,Q,o)),r=new I(f)}if(r.length===B*D)a?A.pixels.resultPixels=L.swapDimensionOrder(r,B,D,I,!0):A.pixels.resultPixels=r;else{A.pixels.resultPixels=new I(B*D);var i=0,t=0,F=0,S=0;if(D>1){if(a){for(t=0;t<B;t++)if(s[t])for(S=t,F=0;F<D;F++,S+=B)A.pixels.resultPixels[S]=r[i++]}else for(t=0;t<B;t++)if(s[t])for(S=t*D,F=0;F<D;F++)A.pixels.resultPixels[S+F]=r[i++]}else for(t=0;t<B;t++)s[t]&&(A.pixels.resultPixels[t]=r[i++])}return Q+=o,A.ptr=Q,!0},readHuffmanTree:function(E,A){var I=this.HUFFMAN_LUT_BITS_MAX,a=new DataView(E,A.ptr,16);A.ptr+=16;var Q=a.getInt32(0,!0);if(Q<2)throw"unsupported Huffman version";var g=a.getInt32(4,!0),D=a.getInt32(8,!0),B=a.getInt32(12,!0);if(D>=B)return!1;var C=new Uint32Array(B-D);L.decodeBits(E,A,C);var o=[],r,s,f,e;for(r=D;r<B;r++)s=r-(r<g?0:g),o[s]={first:C[r-D],second:null};var i=E.byteLength-A.ptr,t=Math.ceil(i/4),F=new ArrayBuffer(t*4),S=new Uint8Array(F);S.set(new Uint8Array(E,A.ptr,i));var h=new Uint32Array(F),U=0,G,R=0;for(G=h[0],r=D;r<B;r++)s=r-(r<g?0:g),e=o[s].first,e>0&&(o[s].second=G<<U>>>32-e,32-U>=e?(U+=e,U===32&&(U=0,R++,G=h[R])):(U+=e-32,R++,G=h[R],o[s].second|=G>>>32-U));var w=0,n=0,l=new m;for(r=0;r<o.length;r++)o[r]!==void 0&&(w=Math.max(w,o[r].first));w>=I?n=I:n=w;var y=[],k,M,c,N,q,d;for(r=D;r<B;r++)if(s=r-(r<g?0:g),e=o[s].first,e>0)if(k=[e,s],e<=n)for(M=o[s].second<<n-e,c=1<<n-e,f=0;f<c;f++)y[M|f]=k;else for(M=o[s].second,d=l,N=e-1;N>=0;N--)q=M>>>N&1,q?(d.right||(d.right=new m),d=d.right):(d.left||(d.left=new m),d=d.left),N===0&&!d.val&&(d.val=k[1]);return{decodeLut:y,numBitsLUTQick:n,numBitsLUT:w,tree:l,stuffedData:h,srcPtr:R,bitPos:U}},readHuffman:function(E,A,I,a){var Q=A.headerInfo,g=Q.numDims,D=A.headerInfo.height,B=A.headerInfo.width,C=B*D,o=this.readHuffmanTree(E,A),r=o.decodeLut,s=o.tree,f=o.stuffedData,e=o.srcPtr,i=o.bitPos,t=o.numBitsLUTQick,F=o.numBitsLUT,S=A.headerInfo.imageType===0?128:0,h,U,G,R=A.pixels.resultMask,w,n,l,y,k,M,c,N=0;i>0&&(e++,i=0);var q=f[e],d=A.encodeMode===1,W=new I(C*g),v=W,Y;if(g<2||d){for(Y=0;Y<g;Y++)if(g>1&&(v=new I(W.buffer,C*Y,C),N=0),A.headerInfo.numValidPixel===B*D)for(M=0,y=0;y<D;y++)for(k=0;k<B;k++,M++){if(U=0,w=q<<i>>>32-t,n=w,32-i<t&&(w|=f[e+1]>>>64-i-t,n=w),r[n])U=r[n][1],i+=r[n][0];else for(w=q<<i>>>32-F,n=w,32-i<F&&(w|=f[e+1]>>>64-i-F,n=w),h=s,c=0;c<F;c++)if(l=w>>>F-c-1&1,h=l?h.right:h.left,!(h.left||h.right)){U=h.val,i=i+c+1;break}i>=32&&(i-=32,e++,q=f[e]),G=U-S,d?(k>0?G+=N:y>0?G+=v[M-B]:G+=N,G&=255,v[M]=G,N=G):v[M]=G}else for(M=0,y=0;y<D;y++)for(k=0;k<B;k++,M++)if(R[M]){if(U=0,w=q<<i>>>32-t,n=w,32-i<t&&(w|=f[e+1]>>>64-i-t,n=w),r[n])U=r[n][1],i+=r[n][0];else for(w=q<<i>>>32-F,n=w,32-i<F&&(w|=f[e+1]>>>64-i-F,n=w),h=s,c=0;c<F;c++)if(l=w>>>F-c-1&1,h=l?h.right:h.left,!(h.left||h.right)){U=h.val,i=i+c+1;break}i>=32&&(i-=32,e++,q=f[e]),G=U-S,d?(k>0&&R[M-1]?G+=N:y>0&&R[M-B]?G+=v[M-B]:G+=N,G&=255,v[M]=G,N=G):v[M]=G}}else for(M=0,y=0;y<D;y++)for(k=0;k<B;k++)if(M=y*B+k,!R||R[M])for(Y=0;Y<g;Y++,M+=C){if(U=0,w=q<<i>>>32-t,n=w,32-i<t&&(w|=f[e+1]>>>64-i-t,n=w),r[n])U=r[n][1],i+=r[n][0];else for(w=q<<i>>>32-F,n=w,32-i<F&&(w|=f[e+1]>>>64-i-F,n=w),h=s,c=0;c<F;c++)if(l=w>>>F-c-1&1,h=l?h.right:h.left,!(h.left||h.right)){U=h.val,i=i+c+1;break}i>=32&&(i-=32,e++,q=f[e]),G=U-S,v[M]=G}A.ptr=A.ptr+(e+1)*4+(i>0?4:0),A.pixels.resultPixels=W,g>1&&!a&&(A.pixels.resultPixels=L.swapDimensionOrder(W,C,g,I))},decodeBits:function(E,A,I,a,Q){{var g=A.headerInfo,D=g.fileVersion,B=0,C=E.byteLength-A.ptr>=5?5:E.byteLength-A.ptr,o=new DataView(E,A.ptr,C),r=o.getUint8(0);B++;var s=r>>6,f=s===0?4:3-s,e=(r&32)>0,i=r&31,t=0;if(f===1)t=o.getUint8(B),B++;else if(f===2)t=o.getUint16(B,!0),B+=2;else if(f===4)t=o.getUint32(B,!0),B+=4;else throw"Invalid valid pixel count type";var F=2*g.maxZError,S,h,U,G,R,w,n,l,y,k=g.numDims>1?g.maxValues[Q]:g.zMax;if(e){for(A.counter.lut++,l=o.getUint8(B),B++,G=Math.ceil((l-1)*i/8),R=Math.ceil(G/4),h=new ArrayBuffer(R*4),U=new Uint8Array(h),A.ptr+=B,U.set(new Uint8Array(E,A.ptr,G)),n=new Uint32Array(h),A.ptr+=G,y=0;l-1>>>y;)y++;G=Math.ceil(t*y/8),R=Math.ceil(G/4),h=new ArrayBuffer(R*4),U=new Uint8Array(h),U.set(new Uint8Array(E,A.ptr,G)),S=new Uint32Array(h),A.ptr+=G,D>=3?w=u.unstuffLUT2(n,i,l-1,a,F,k):w=u.unstuffLUT(n,i,l-1,a,F,k),D>=3?u.unstuff2(S,I,y,t,w):u.unstuff(S,I,y,t,w)}else A.counter.bitstuffer++,y=i,A.ptr+=B,y>0&&(G=Math.ceil(t*y/8),R=Math.ceil(G/4),h=new ArrayBuffer(R*4),U=new Uint8Array(h),U.set(new Uint8Array(E,A.ptr,G)),S=new Uint32Array(h),A.ptr+=G,D>=3?a==null?u.originalUnstuff2(S,I,y,t):u.unstuff2(S,I,y,t,!1,a,F,k):a==null?u.originalUnstuff(S,I,y,t):u.unstuff(S,I,y,t,!1,a,F,k))}},readTiles:function(E,A,I,a){var Q=A.headerInfo,g=Q.width,D=Q.height,B=g*D,C=Q.microBlockSize,o=Q.imageType,r=L.getDataTypeSize(o),s=Math.ceil(g/C),f=Math.ceil(D/C);A.pixels.numBlocksY=f,A.pixels.numBlocksX=s,A.pixels.ptr=0;var e=0,i=0,t=0,F=0,S=0,h=0,U=0,G=0,R=0,w=0,n=0,l=0,y=0,k=0,M=0,c=0,N,q,d,W,v,Y,P=new I(C*C),aA=D%C||C,rA=g%C||C,IA,j,AA=Q.numDims,b,K=A.pixels.resultMask,H=A.pixels.resultPixels,oA=Q.fileVersion,EA=oA>=5?14:15,p,gA=Q.zMax,V;for(t=0;t<f;t++)for(S=t!==f-1?C:aA,F=0;F<s;F++)for(h=F!==s-1?C:rA,n=t*g*C+F*C,l=g-h,b=0;b<AA;b++){if(AA>1?(V=H,n=t*g*C+F*C,H=new I(A.pixels.resultPixels.buffer,B*b*r,B),gA=Q.maxValues[b]):V=null,U=E.byteLength-A.ptr,N=new DataView(E,A.ptr,Math.min(10,U)),q={},c=0,G=N.getUint8(0),c++,p=Q.fileVersion>=5?G&4:0,R=G>>6&255,w=G>>2&EA,w!==(F*C>>3&EA)||p&&b===0)throw"integrity issue";if(Y=G&3,Y>3)throw A.ptr+=c,"Invalid block encoding ("+Y+")";if(Y===2){if(p)if(K)for(e=0;e<S;e++)for(i=0;i<h;i++)K[n]&&(H[n]=V[n]),n++;else for(e=0;e<S;e++)for(i=0;i<h;i++)H[n]=V[n],n++;A.counter.constant++,A.ptr+=c;continue}else if(Y===0){if(p)throw"integrity issue";if(A.counter.uncompressed++,A.ptr+=c,y=S*h*r,k=E.byteLength-A.ptr,y=y<k?y:k,d=new ArrayBuffer(y%r===0?y:y+r-y%r),W=new Uint8Array(d),W.set(new Uint8Array(E,A.ptr,y)),v=new I(d),M=0,K)for(e=0;e<S;e++){for(i=0;i<h;i++)K[n]&&(H[n]=v[M++]),n++;n+=l}else for(e=0;e<S;e++){for(i=0;i<h;i++)H[n++]=v[M++];n+=l}A.ptr+=M*r}else if(IA=L.getDataTypeUsed(p&&o<6?4:o,R),j=L.getOnePixel(q,c,IA,N),c+=L.getDataTypeSize(IA),Y===3)if(A.ptr+=c,A.counter.constantoffset++,K)for(e=0;e<S;e++){for(i=0;i<h;i++)K[n]&&(H[n]=p?Math.min(gA,V[n]+j):j),n++;n+=l}else for(e=0;e<S;e++){for(i=0;i<h;i++)H[n]=p?Math.min(gA,V[n]+j):j,n++;n+=l}else if(A.ptr+=c,L.decodeBits(E,A,P,j,b),c=0,p)if(K)for(e=0;e<S;e++){for(i=0;i<h;i++)K[n]&&(H[n]=P[c++]+V[n]),n++;n+=l}else for(e=0;e<S;e++){for(i=0;i<h;i++)H[n]=P[c++]+V[n],n++;n+=l}else if(K)for(e=0;e<S;e++){for(i=0;i<h;i++)K[n]&&(H[n]=P[c++]),n++;n+=l}else for(e=0;e<S;e++){for(i=0;i<h;i++)H[n++]=P[c++];n+=l}}AA>1&&!a&&(A.pixels.resultPixels=L.swapDimensionOrder(A.pixels.resultPixels,B,AA,I))},formatFileInfo:function(E){return{fileIdentifierString:E.headerInfo.fileIdentifierString,fileVersion:E.headerInfo.fileVersion,imageType:E.headerInfo.imageType,height:E.headerInfo.height,width:E.headerInfo.width,numValidPixel:E.headerInfo.numValidPixel,microBlockSize:E.headerInfo.microBlockSize,blobSize:E.headerInfo.blobSize,maxZError:E.headerInfo.maxZError,pixelType:L.getPixelType(E.headerInfo.imageType),eofOffset:E.eofOffset,mask:E.mask?{numBytes:E.mask.numBytes}:null,pixels:{numBlocksX:E.pixels.numBlocksX,numBlocksY:E.pixels.numBlocksY,maxValue:E.headerInfo.zMax,minValue:E.headerInfo.zMin,noDataValue:E.noDataValue}}},constructConstantSurface:function(E,A){var I=E.headerInfo.zMax,a=E.headerInfo.zMin,Q=E.headerInfo.maxValues,g=E.headerInfo.numDims,D=E.headerInfo.height*E.headerInfo.width,B=0,C=0,o=0,r=E.pixels.resultMask,s=E.pixels.resultPixels;if(r)if(g>1){if(A)for(B=0;B<g;B++)for(o=B*D,I=Q[B],C=0;C<D;C++)r[C]&&(s[o+C]=I);else for(C=0;C<D;C++)if(r[C])for(o=C*g,B=0;B<g;B++)s[o+g]=Q[B]}else for(C=0;C<D;C++)r[C]&&(s[C]=I);else if(g>1&&a!==I)if(A)for(B=0;B<g;B++)for(o=B*D,I=Q[B],C=0;C<D;C++)s[o+C]=I;else for(C=0;C<D;C++)for(o=C*g,B=0;B<g;B++)s[o+B]=Q[B];else for(C=0;C<D*g;C++)s[C]=I},getDataTypeArray:function(E){var A;switch(E){case 0:A=Int8Array;break;case 1:A=Uint8Array;break;case 2:A=Int16Array;break;case 3:A=Uint16Array;break;case 4:A=Int32Array;break;case 5:A=Uint32Array;break;case 6:A=Float32Array;break;case 7:A=Float64Array;break;default:A=Float32Array}return A},getPixelType:function(E){var A;switch(E){case 0:A="S8";break;case 1:A="U8";break;case 2:A="S16";break;case 3:A="U16";break;case 4:A="S32";break;case 5:A="U32";break;case 6:A="F32";break;case 7:A="F64";break;default:A="F32"}return A},isValidPixelValue:function(E,A){if(A==null)return!1;var I;switch(E){case 0:I=A>=-128&&A<=127;break;case 1:I=A>=0&&A<=255;break;case 2:I=A>=-32768&&A<=32767;break;case 3:I=A>=0&&A<=65536;break;case 4:I=A>=-2147483648&&A<=2147483647;break;case 5:I=A>=0&&A<=4294967296;break;case 6:I=A>=-34027999387901484e22&&A<=34027999387901484e22;break;case 7:I=A>=-17976931348623157e292&&A<=17976931348623157e292;break;default:I=!1}return I},getDataTypeSize:function(E){var A=0;switch(E){case 0:case 1:A=1;break;case 2:case 3:A=2;break;case 4:case 5:case 6:A=4;break;case 7:A=8;break;default:A=E}return A},getDataTypeUsed:function(E,A){var I=E;switch(E){case 2:case 4:I=E-A;break;case 3:case 5:I=E-2*A;break;case 6:A===0?I=E:A===1?I=2:I=1;break;case 7:A===0?I=E:I=E-2*A+1;break;default:I=E;break}return I},getOnePixel:function(E,A,I,a){var Q=0;switch(I){case 0:Q=a.getInt8(A);break;case 1:Q=a.getUint8(A);break;case 2:Q=a.getInt16(A,!0);break;case 3:Q=a.getUint16(A,!0);break;case 4:Q=a.getInt32(A,!0);break;case 5:Q=a.getUInt32(A,!0);break;case 6:Q=a.getFloat32(A,!0);break;case 7:Q=a.getFloat64(A,!0);break;default:throw"the decoder does not understand this pixel type"}return Q},swapDimensionOrder:function(E,A,I,a,Q){var g=0,D=0,B=0,C=0,o=E;if(I>1)if(o=new a(A*I),Q)for(g=0;g<A;g++)for(C=g,B=0;B<I;B++,C+=A)o[C]=E[D++];else for(g=0;g<A;g++)for(C=g,B=0;B<I;B++,C+=A)o[D++]=E[C];return o}},m=function(E,A,I){this.val=E,this.left=A,this.right=I},z={decode:function(E,A){A=A||{};var I=A.noDataValue,a=0,Q={};if(Q.ptr=A.inputOffset||0,Q.pixels={},!!L.readHeaderInfo(E,Q)){var g=Q.headerInfo,D=g.fileVersion,B=L.getDataTypeArray(g.imageType);if(D>5)throw"unsupported lerc version 2."+D;L.readMask(E,Q),g.numValidPixel!==g.width*g.height&&!Q.pixels.resultMask&&(Q.pixels.resultMask=A.maskData);var C=g.width*g.height;Q.pixels.resultPixels=new B(C*g.numDims),Q.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var o=!A.returnPixelInterleavedDims;if(g.numValidPixel!==0)if(g.zMax===g.zMin)L.constructConstantSurface(Q,o);else if(D>=4&&L.checkMinMaxRanges(E,Q))L.constructConstantSurface(Q,o);else{var r=new DataView(E,Q.ptr,2),s=r.getUint8(0);if(Q.ptr++,s)L.readDataOneSweep(E,Q,B,o);else if(D>1&&g.imageType<=1&&Math.abs(g.maxZError-.5)<1e-5){var f=r.getUint8(1);if(Q.ptr++,Q.encodeMode=f,f>2||D<4&&f>1)throw"Invalid Huffman flag "+f;f?L.readHuffman(E,Q,B,o):L.readTiles(E,Q,B,o)}else L.readTiles(E,Q,B,o)}Q.eofOffset=Q.ptr;var e;A.inputOffset?(e=Q.headerInfo.blobSize+A.inputOffset-Q.ptr,Math.abs(e)>=1&&(Q.eofOffset=A.inputOffset+Q.headerInfo.blobSize)):(e=Q.headerInfo.blobSize-Q.ptr,Math.abs(e)>=1&&(Q.eofOffset=Q.headerInfo.blobSize));var i={width:g.width,height:g.height,pixelData:Q.pixels.resultPixels,minValue:g.zMin,maxValue:g.zMax,validPixelCount:g.numValidPixel,dimCount:g.numDims,dimStats:{minValues:g.minValues,maxValues:g.maxValues},maskData:Q.pixels.resultMask};if(Q.pixels.resultMask&&L.isValidPixelValue(g.imageType,I)){var t=Q.pixels.resultMask;for(a=0;a<C;a++)t[a]||(i.pixelData[a]=I);i.noDataValue=I}return Q.noDataValue=I,A.returnFileInfo&&(i.fileInfo=L.formatFileInfo(Q)),i}},getBandCount:function(E){var A=0,I=0,a={};for(a.ptr=0,a.pixels={};I<E.byteLength-58;)L.readHeaderInfo(E,a),I+=a.headerInfo.blobSize,A++,a.ptr=I;return A}};return z}(),Z=function(){var u=new ArrayBuffer(4),L=new Uint8Array(u),m=new Uint32Array(u);return m[0]=1,L[0]===1}(),O={decode:function(u,L){if(!Z)throw"Big endian system is not supported.";L=L||{};var m=L.inputOffset||0,z=new Uint8Array(u,m,10),E=String.fromCharCode.apply(null,z),A,I;if(E.trim()==="CntZImage")A=J,I=1;else if(E.substring(0,5)==="Lerc2")A=X,I=2;else throw"Unexpected file identifier string: "+E;for(var a=0,Q=u.byteLength-10,g,D=[],B,C,o={width:0,height:0,pixels:[],pixelType:L.pixelType,mask:null,statistics:[]},r=0;m<Q;){var s=A.decode(u,{inputOffset:m,encodedMaskData:g,maskData:C,returnMask:a===0,returnEncodedMask:a===0,returnFileInfo:!0,returnPixelInterleavedDims:L.returnPixelInterleavedDims,pixelType:L.pixelType||null,noDataValue:L.noDataValue||null});m=s.fileInfo.eofOffset,C=s.maskData,a===0&&(g=s.encodedMaskData,o.width=s.width,o.height=s.height,o.dimCount=s.dimCount||1,o.pixelType=s.pixelType||s.fileInfo.pixelType,o.mask=C),I>1&&(C&&D.push(C),s.fileInfo.mask&&s.fileInfo.mask.numBytes>0&&r++),a++,o.pixels.push(s.pixelData),o.statistics.push({minValue:s.minValue,maxValue:s.maxValue,noDataValue:s.noDataValue,dimStats:s.dimStats})}var f,e,i;if(I>1&&r>1){for(i=o.width*o.height,o.bandMasks=D,C=new Uint8Array(i),C.set(D[0]),f=1;f<D.length;f++)for(B=D[f],e=0;e<i;e++)C[e]=C[e]&B[e];o.maskData=C}return o}};T.exports?T.exports=O:this.Lerc=O})()})(DA);let $,x,CA;const BA={env:{emscripten_notify_memory_growth:function(T){CA=new Uint8Array(x.exports.memory.buffer)}}};class nA{init(){return $||(typeof fetch<"u"?$=fetch("data:application/wasm;base64,"+iA).then(J=>J.arrayBuffer()).then(J=>WebAssembly.instantiate(J,BA)).then(this._init):$=WebAssembly.instantiate(Buffer.from(iA,"base64"),BA).then(this._init),$)}_init(J){x=J.instance,BA.env.emscripten_notify_memory_growth(0)}decode(J,X=0){if(!x)throw new Error("ZSTDDecoder: Await .init() before decoding.");const Z=J.byteLength,O=x.exports.malloc(Z);CA.set(J,O),X=X||Number(x.exports.ZSTD_findDecompressedSize(O,Z));const u=x.exports.malloc(X),L=x.exports.ZSTD_decompress(u,X,O,Z),m=CA.slice(u,u+L);return x.exports.free(O),x.exports.free(u),m}}const iA="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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",eA=new nA;class fA extends sA.BaseDecoder{constructor(J){super(),this.planarConfiguration=typeof J.PlanarConfiguration<"u"?J.PlanarConfiguration:1,this.samplesPerPixel=typeof J.SamplesPerPixel<"u"?J.SamplesPerPixel:1,this.addCompression=J.LercParameters[_.LercParameters.AddCompression]}decodeBlock(J){switch(this.addCompression){case _.LercAddCompression.None:break;case _.LercAddCompression.Deflate:J=_.inflate_1(new Uint8Array(J)).buffer;break;case _.LercAddCompression.Zstandard:J=eA.decode(new Uint8Array(J)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}return QA.decode(J,{returnPixelInterleavedDims:this.planarConfiguration===1}).pixels[0].buffer}}exports.default=fA;exports.zstd=eA;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("./index-bb24f737.js"),sA=require("./basedecoder-0503cc54.js");require("react");require("react-dom");var QA={},DA={get exports(){return QA},set exports(T){QA=T}};(function(T){/* Copyright 2015-2021 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */(function(){var J=function(){var u={};u.defaultNoDataValue=-34027999387901484e22,u.decode=function(I,a){a=a||{};var Q=a.encodedMaskData||a.encodedMaskData===null,g=E(I,a.inputOffset||0,Q),D=a.noDataValue!==null?a.noDataValue:u.defaultNoDataValue,B=L(g,a.pixelType||Float32Array,a.encodedMaskData,D,a.returnMask),C={width:g.width,height:g.height,pixelData:B.resultPixels,minValue:B.minValue,maxValue:g.pixels.maxValue,noDataValue:D};return B.resultMask&&(C.maskData=B.resultMask),a.returnEncodedMask&&g.mask&&(C.encodedMaskData=g.mask.bitset?g.mask.bitset:null),a.returnFileInfo&&(C.fileInfo=m(g),a.computeUsedBitDepths&&(C.fileInfo.bitDepths=z(g))),C};var L=function(I,a,Q,g,D){var B=0,C=I.pixels.numBlocksX,o=I.pixels.numBlocksY,r=Math.floor(I.width/C),s=Math.floor(I.height/o),f=2*I.maxZError,e=Number.MAX_VALUE,i;Q=Q||(I.mask?I.mask.bitset:null);var t,F;t=new a(I.width*I.height),D&&Q&&(F=new Uint8Array(I.width*I.height));for(var S=new Float32Array(r*s),h,U,G=0;G<=o;G++){var R=G!==o?s:I.height%o;if(R!==0)for(var w=0;w<=C;w++){var n=w!==C?r:I.width%C;if(n!==0){var l=G*I.width*s+w*r,y=I.width-n,k=I.pixels.blocks[B],M,c,N;k.encoding<2?(k.encoding===0?M=k.rawData:(A(k.stuffedData,k.bitsPerPixel,k.numValidPixels,k.offset,f,S,I.pixels.maxValue),M=S),c=0):k.encoding===2?N=0:N=k.offset;var q;if(Q)for(U=0;U<R;U++){for(l&7&&(q=Q[l>>3],q<<=l&7),h=0;h<n;h++)l&7||(q=Q[l>>3]),q&128?(F&&(F[l]=1),i=k.encoding<2?M[c++]:N,e=e>i?i:e,t[l++]=i):(F&&(F[l]=0),t[l++]=g),q<<=1;l+=y}else if(k.encoding<2)for(U=0;U<R;U++){for(h=0;h<n;h++)i=M[c++],e=e>i?i:e,t[l++]=i;l+=y}else for(e=e>N?N:e,U=0;U<R;U++){for(h=0;h<n;h++)t[l++]=N;l+=y}if(k.encoding===1&&c!==k.numValidPixels)throw"Block and Mask do not match";B++}}}return{resultPixels:t,resultMask:F,minValue:e}},m=function(I){return{fileIdentifierString:I.fileIdentifierString,fileVersion:I.fileVersion,imageType:I.imageType,height:I.height,width:I.width,maxZError:I.maxZError,eofOffset:I.eofOffset,mask:I.mask?{numBlocksX:I.mask.numBlocksX,numBlocksY:I.mask.numBlocksY,numBytes:I.mask.numBytes,maxValue:I.mask.maxValue}:null,pixels:{numBlocksX:I.pixels.numBlocksX,numBlocksY:I.pixels.numBlocksY,numBytes:I.pixels.numBytes,maxValue:I.pixels.maxValue,noDataValue:I.noDataValue}}},z=function(I){for(var a=I.pixels.numBlocksX*I.pixels.numBlocksY,Q={},g=0;g<a;g++){var D=I.pixels.blocks[g];D.encoding===0?Q.float32=!0:D.encoding===1?Q[D.bitsPerPixel]=!0:Q[0]=!0}return Object.keys(Q)},E=function(I,a,Q){var g={},D=new Uint8Array(I,a,10);if(g.fileIdentifierString=String.fromCharCode.apply(null,D),g.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+g.fileIdentifierString;a+=10;var B=new DataView(I,a,24);if(g.fileVersion=B.getInt32(0,!0),g.imageType=B.getInt32(4,!0),g.height=B.getUint32(8,!0),g.width=B.getUint32(12,!0),g.maxZError=B.getFloat64(16,!0),a+=24,!Q)if(B=new DataView(I,a,16),g.mask={},g.mask.numBlocksY=B.getUint32(0,!0),g.mask.numBlocksX=B.getUint32(4,!0),g.mask.numBytes=B.getUint32(8,!0),g.mask.maxValue=B.getFloat32(12,!0),a+=16,g.mask.numBytes>0){var C=new Uint8Array(Math.ceil(g.width*g.height/8));B=new DataView(I,a,g.mask.numBytes);var o=B.getInt16(0,!0),r=2,s=0;do{if(o>0)for(;o--;)C[s++]=B.getUint8(r++);else{var f=B.getUint8(r++);for(o=-o;o--;)C[s++]=f}o=B.getInt16(r,!0),r+=2}while(r<g.mask.numBytes);if(o!==-32768||s<C.length)throw"Unexpected end of mask RLE encoding";g.mask.bitset=C,a+=g.mask.numBytes}else g.mask.numBytes|g.mask.numBlocksY|g.mask.maxValue||(g.mask.bitset=new Uint8Array(Math.ceil(g.width*g.height/8)));B=new DataView(I,a,16),g.pixels={},g.pixels.numBlocksY=B.getUint32(0,!0),g.pixels.numBlocksX=B.getUint32(4,!0),g.pixels.numBytes=B.getUint32(8,!0),g.pixels.maxValue=B.getFloat32(12,!0),a+=16;var e=g.pixels.numBlocksX,i=g.pixels.numBlocksY,t=e+(g.width%e>0?1:0),F=i+(g.height%i>0?1:0);g.pixels.blocks=new Array(t*F);for(var S=0,h=0;h<F;h++)for(var U=0;U<t;U++){var G=0,R=I.byteLength-a;B=new DataView(I,a,Math.min(10,R));var w={};g.pixels.blocks[S++]=w;var n=B.getUint8(0);if(G++,w.encoding=n&63,w.encoding>3)throw"Invalid block encoding ("+w.encoding+")";if(w.encoding===2){a++;continue}if(n!==0&&n!==2){if(n>>=6,w.offsetType=n,n===2)w.offset=B.getInt8(1),G++;else if(n===1)w.offset=B.getInt16(1,!0),G+=2;else if(n===0)w.offset=B.getFloat32(1,!0),G+=4;else throw"Invalid block offset type";if(w.encoding===1)if(n=B.getUint8(G),G++,w.bitsPerPixel=n&63,n>>=6,w.numValidPixelsType=n,n===2)w.numValidPixels=B.getUint8(G),G++;else if(n===1)w.numValidPixels=B.getUint16(G,!0),G+=2;else if(n===0)w.numValidPixels=B.getUint32(G,!0),G+=4;else throw"Invalid valid pixel count type"}if(a+=G,w.encoding!==3){var l,y;if(w.encoding===0){var k=(g.pixels.numBytes-1)/4;if(k!==Math.floor(k))throw"uncompressed block has invalid length";l=new ArrayBuffer(k*4),y=new Uint8Array(l),y.set(new Uint8Array(I,a,k*4));var M=new Float32Array(l);w.rawData=M,a+=k*4}else if(w.encoding===1){var c=Math.ceil(w.numValidPixels*w.bitsPerPixel/8),N=Math.ceil(c/4);l=new ArrayBuffer(N*4),y=new Uint8Array(l),y.set(new Uint8Array(I,a,c)),w.stuffedData=new Uint32Array(l),a+=c}}}return g.eofOffset=a,g},A=function(I,a,Q,g,D,B,C){var o=(1<<a)-1,r=0,s,f=0,e,i,t=Math.ceil((C-g)/D),F=I.length*4-Math.ceil(a*Q/8);for(I[I.length-1]<<=8*F,s=0;s<Q;s++){if(f===0&&(i=I[r++],f=32),f>=a)e=i>>>f-a&o,f-=a;else{var S=a-f;e=(i&o)<<S&o,i=I[r++],f=32-S,e+=i>>>f}B[s]=e<t?g+e*D:C}return B};return u}(),X=function(){var u={unstuff:function(E,A,I,a,Q,g,D,B){var C=(1<<I)-1,o=0,r,s=0,f,e,i,t,F=E.length*4-Math.ceil(I*a/8);if(E[E.length-1]<<=8*F,Q)for(r=0;r<a;r++)s===0&&(e=E[o++],s=32),s>=I?(f=e>>>s-I&C,s-=I):(i=I-s,f=(e&C)<<i&C,e=E[o++],s=32-i,f+=e>>>s),A[r]=Q[f];else for(t=Math.ceil((B-g)/D),r=0;r<a;r++)s===0&&(e=E[o++],s=32),s>=I?(f=e>>>s-I&C,s-=I):(i=I-s,f=(e&C)<<i&C,e=E[o++],s=32-i,f+=e>>>s),A[r]=f<t?g+f*D:B},unstuffLUT:function(E,A,I,a,Q,g){var D=(1<<A)-1,B=0,C=0,o=0,r=0,s=0,f,e=[],i=E.length*4-Math.ceil(A*I/8);E[E.length-1]<<=8*i;var t=Math.ceil((g-a)/Q);for(C=0;C<I;C++)r===0&&(f=E[B++],r=32),r>=A?(s=f>>>r-A&D,r-=A):(o=A-r,s=(f&D)<<o&D,f=E[B++],r=32-o,s+=f>>>r),e[C]=s<t?a+s*Q:g;return e.unshift(a),e},unstuff2:function(E,A,I,a,Q,g,D,B){var C=(1<<I)-1,o=0,r,s=0,f=0,e,i,t;if(Q)for(r=0;r<a;r++)s===0&&(i=E[o++],s=32,f=0),s>=I?(e=i>>>f&C,s-=I,f+=I):(t=I-s,e=i>>>f&C,i=E[o++],s=32-t,e|=(i&(1<<t)-1)<<I-t,f=t),A[r]=Q[e];else{var F=Math.ceil((B-g)/D);for(r=0;r<a;r++)s===0&&(i=E[o++],s=32,f=0),s>=I?(e=i>>>f&C,s-=I,f+=I):(t=I-s,e=i>>>f&C,i=E[o++],s=32-t,e|=(i&(1<<t)-1)<<I-t,f=t),A[r]=e<F?g+e*D:B}return A},unstuffLUT2:function(E,A,I,a,Q,g){var D=(1<<A)-1,B=0,C=0,o=0,r=0,s=0,f=0,e,i=[],t=Math.ceil((g-a)/Q);for(C=0;C<I;C++)r===0&&(e=E[B++],r=32,f=0),r>=A?(s=e>>>f&D,r-=A,f+=A):(o=A-r,s=e>>>f&D,e=E[B++],r=32-o,s|=(e&(1<<o)-1)<<A-o,f=o),i[C]=s<t?a+s*Q:g;return i.unshift(a),i},originalUnstuff:function(E,A,I,a){var Q=(1<<I)-1,g=0,D,B=0,C,o,r,s=E.length*4-Math.ceil(I*a/8);for(E[E.length-1]<<=8*s,D=0;D<a;D++)B===0&&(o=E[g++],B=32),B>=I?(C=o>>>B-I&Q,B-=I):(r=I-B,C=(o&Q)<<r&Q,o=E[g++],B=32-r,C+=o>>>B),A[D]=C;return A},originalUnstuff2:function(E,A,I,a){var Q=(1<<I)-1,g=0,D,B=0,C=0,o,r,s;for(D=0;D<a;D++)B===0&&(r=E[g++],B=32,C=0),B>=I?(o=r>>>C&Q,B-=I,C+=I):(s=I-B,o=r>>>C&Q,r=E[g++],B=32-s,o|=(r&(1<<s)-1)<<I-s,C=s),A[D]=o;return A}},L={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(E){for(var A=65535,I=65535,a=E.length,Q=Math.floor(a/2),g=0;Q;){var D=Q>=359?359:Q;Q-=D;do A+=E[g++]<<8,I+=A+=E[g++];while(--D);A=(A&65535)+(A>>>16),I=(I&65535)+(I>>>16)}return a&1&&(I+=A+=E[g]<<8),A=(A&65535)+(A>>>16),I=(I&65535)+(I>>>16),(I<<16|A)>>>0},readHeaderInfo:function(E,A){var I=A.ptr,a=new Uint8Array(E,I,6),Q={};if(Q.fileIdentifierString=String.fromCharCode.apply(null,a),Q.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+Q.fileIdentifierString;I+=6;var g=new DataView(E,I,8),D=g.getInt32(0,!0);Q.fileVersion=D,I+=4,D>=3&&(Q.checksum=g.getUint32(4,!0),I+=4),g=new DataView(E,I,12),Q.height=g.getUint32(0,!0),Q.width=g.getUint32(4,!0),I+=8,D>=4?(Q.numDims=g.getUint32(8,!0),I+=4):Q.numDims=1,g=new DataView(E,I,40),Q.numValidPixel=g.getUint32(0,!0),Q.microBlockSize=g.getInt32(4,!0),Q.blobSize=g.getInt32(8,!0),Q.imageType=g.getInt32(12,!0),Q.maxZError=g.getFloat64(16,!0),Q.zMin=g.getFloat64(24,!0),Q.zMax=g.getFloat64(32,!0),I+=40,A.headerInfo=Q,A.ptr=I;var B,C;if(D>=3&&(C=D>=4?52:48,B=this.computeChecksumFletcher32(new Uint8Array(E,I-C,Q.blobSize-14)),B!==Q.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(E,A){var I=A.headerInfo,a=this.getDataTypeArray(I.imageType),Q=I.numDims*this.getDataTypeSize(I.imageType),g=this.readSubArray(E,A.ptr,a,Q),D=this.readSubArray(E,A.ptr+Q,a,Q);A.ptr+=2*Q;var B,C=!0;for(B=0;B<I.numDims;B++)if(g[B]!==D[B]){C=!1;break}return I.minValues=g,I.maxValues=D,C},readSubArray:function(E,A,I,a){var Q;if(I===Uint8Array)Q=new Uint8Array(E,A,a);else{var g=new ArrayBuffer(a),D=new Uint8Array(g);D.set(new Uint8Array(E,A,a)),Q=new I(g)}return Q},readMask:function(E,A){var I=A.ptr,a=A.headerInfo,Q=a.width*a.height,g=a.numValidPixel,D=new DataView(E,I,4),B={};if(B.numBytes=D.getUint32(0,!0),I+=4,(g===0||Q===g)&&B.numBytes!==0)throw"invalid mask";var C,o;if(g===0)C=new Uint8Array(Math.ceil(Q/8)),B.bitset=C,o=new Uint8Array(Q),A.pixels.resultMask=o,I+=B.numBytes;else if(B.numBytes>0){C=new Uint8Array(Math.ceil(Q/8)),D=new DataView(E,I,B.numBytes);var r=D.getInt16(0,!0),s=2,f=0,e=0;do{if(r>0)for(;r--;)C[f++]=D.getUint8(s++);else for(e=D.getUint8(s++),r=-r;r--;)C[f++]=e;r=D.getInt16(s,!0),s+=2}while(s<B.numBytes);if(r!==-32768||f<C.length)throw"Unexpected end of mask RLE encoding";o=new Uint8Array(Q);var i=0,t=0;for(t=0;t<Q;t++)t&7?(i=C[t>>3],i<<=t&7):i=C[t>>3],i&128&&(o[t]=1);A.pixels.resultMask=o,B.bitset=C,I+=B.numBytes}return A.ptr=I,A.mask=B,!0},readDataOneSweep:function(E,A,I,a){var Q=A.ptr,g=A.headerInfo,D=g.numDims,B=g.width*g.height,C=g.imageType,o=g.numValidPixel*L.getDataTypeSize(C)*D,r,s=A.pixels.resultMask;if(I===Uint8Array)r=new Uint8Array(E,Q,o);else{var f=new ArrayBuffer(o),e=new Uint8Array(f);e.set(new Uint8Array(E,Q,o)),r=new I(f)}if(r.length===B*D)a?A.pixels.resultPixels=L.swapDimensionOrder(r,B,D,I,!0):A.pixels.resultPixels=r;else{A.pixels.resultPixels=new I(B*D);var i=0,t=0,F=0,S=0;if(D>1){if(a){for(t=0;t<B;t++)if(s[t])for(S=t,F=0;F<D;F++,S+=B)A.pixels.resultPixels[S]=r[i++]}else for(t=0;t<B;t++)if(s[t])for(S=t*D,F=0;F<D;F++)A.pixels.resultPixels[S+F]=r[i++]}else for(t=0;t<B;t++)s[t]&&(A.pixels.resultPixels[t]=r[i++])}return Q+=o,A.ptr=Q,!0},readHuffmanTree:function(E,A){var I=this.HUFFMAN_LUT_BITS_MAX,a=new DataView(E,A.ptr,16);A.ptr+=16;var Q=a.getInt32(0,!0);if(Q<2)throw"unsupported Huffman version";var g=a.getInt32(4,!0),D=a.getInt32(8,!0),B=a.getInt32(12,!0);if(D>=B)return!1;var C=new Uint32Array(B-D);L.decodeBits(E,A,C);var o=[],r,s,f,e;for(r=D;r<B;r++)s=r-(r<g?0:g),o[s]={first:C[r-D],second:null};var i=E.byteLength-A.ptr,t=Math.ceil(i/4),F=new ArrayBuffer(t*4),S=new Uint8Array(F);S.set(new Uint8Array(E,A.ptr,i));var h=new Uint32Array(F),U=0,G,R=0;for(G=h[0],r=D;r<B;r++)s=r-(r<g?0:g),e=o[s].first,e>0&&(o[s].second=G<<U>>>32-e,32-U>=e?(U+=e,U===32&&(U=0,R++,G=h[R])):(U+=e-32,R++,G=h[R],o[s].second|=G>>>32-U));var w=0,n=0,l=new m;for(r=0;r<o.length;r++)o[r]!==void 0&&(w=Math.max(w,o[r].first));w>=I?n=I:n=w;var y=[],k,M,c,N,q,d;for(r=D;r<B;r++)if(s=r-(r<g?0:g),e=o[s].first,e>0)if(k=[e,s],e<=n)for(M=o[s].second<<n-e,c=1<<n-e,f=0;f<c;f++)y[M|f]=k;else for(M=o[s].second,d=l,N=e-1;N>=0;N--)q=M>>>N&1,q?(d.right||(d.right=new m),d=d.right):(d.left||(d.left=new m),d=d.left),N===0&&!d.val&&(d.val=k[1]);return{decodeLut:y,numBitsLUTQick:n,numBitsLUT:w,tree:l,stuffedData:h,srcPtr:R,bitPos:U}},readHuffman:function(E,A,I,a){var Q=A.headerInfo,g=Q.numDims,D=A.headerInfo.height,B=A.headerInfo.width,C=B*D,o=this.readHuffmanTree(E,A),r=o.decodeLut,s=o.tree,f=o.stuffedData,e=o.srcPtr,i=o.bitPos,t=o.numBitsLUTQick,F=o.numBitsLUT,S=A.headerInfo.imageType===0?128:0,h,U,G,R=A.pixels.resultMask,w,n,l,y,k,M,c,N=0;i>0&&(e++,i=0);var q=f[e],d=A.encodeMode===1,W=new I(C*g),v=W,Y;if(g<2||d){for(Y=0;Y<g;Y++)if(g>1&&(v=new I(W.buffer,C*Y,C),N=0),A.headerInfo.numValidPixel===B*D)for(M=0,y=0;y<D;y++)for(k=0;k<B;k++,M++){if(U=0,w=q<<i>>>32-t,n=w,32-i<t&&(w|=f[e+1]>>>64-i-t,n=w),r[n])U=r[n][1],i+=r[n][0];else for(w=q<<i>>>32-F,n=w,32-i<F&&(w|=f[e+1]>>>64-i-F,n=w),h=s,c=0;c<F;c++)if(l=w>>>F-c-1&1,h=l?h.right:h.left,!(h.left||h.right)){U=h.val,i=i+c+1;break}i>=32&&(i-=32,e++,q=f[e]),G=U-S,d?(k>0?G+=N:y>0?G+=v[M-B]:G+=N,G&=255,v[M]=G,N=G):v[M]=G}else for(M=0,y=0;y<D;y++)for(k=0;k<B;k++,M++)if(R[M]){if(U=0,w=q<<i>>>32-t,n=w,32-i<t&&(w|=f[e+1]>>>64-i-t,n=w),r[n])U=r[n][1],i+=r[n][0];else for(w=q<<i>>>32-F,n=w,32-i<F&&(w|=f[e+1]>>>64-i-F,n=w),h=s,c=0;c<F;c++)if(l=w>>>F-c-1&1,h=l?h.right:h.left,!(h.left||h.right)){U=h.val,i=i+c+1;break}i>=32&&(i-=32,e++,q=f[e]),G=U-S,d?(k>0&&R[M-1]?G+=N:y>0&&R[M-B]?G+=v[M-B]:G+=N,G&=255,v[M]=G,N=G):v[M]=G}}else for(M=0,y=0;y<D;y++)for(k=0;k<B;k++)if(M=y*B+k,!R||R[M])for(Y=0;Y<g;Y++,M+=C){if(U=0,w=q<<i>>>32-t,n=w,32-i<t&&(w|=f[e+1]>>>64-i-t,n=w),r[n])U=r[n][1],i+=r[n][0];else for(w=q<<i>>>32-F,n=w,32-i<F&&(w|=f[e+1]>>>64-i-F,n=w),h=s,c=0;c<F;c++)if(l=w>>>F-c-1&1,h=l?h.right:h.left,!(h.left||h.right)){U=h.val,i=i+c+1;break}i>=32&&(i-=32,e++,q=f[e]),G=U-S,v[M]=G}A.ptr=A.ptr+(e+1)*4+(i>0?4:0),A.pixels.resultPixels=W,g>1&&!a&&(A.pixels.resultPixels=L.swapDimensionOrder(W,C,g,I))},decodeBits:function(E,A,I,a,Q){{var g=A.headerInfo,D=g.fileVersion,B=0,C=E.byteLength-A.ptr>=5?5:E.byteLength-A.ptr,o=new DataView(E,A.ptr,C),r=o.getUint8(0);B++;var s=r>>6,f=s===0?4:3-s,e=(r&32)>0,i=r&31,t=0;if(f===1)t=o.getUint8(B),B++;else if(f===2)t=o.getUint16(B,!0),B+=2;else if(f===4)t=o.getUint32(B,!0),B+=4;else throw"Invalid valid pixel count type";var F=2*g.maxZError,S,h,U,G,R,w,n,l,y,k=g.numDims>1?g.maxValues[Q]:g.zMax;if(e){for(A.counter.lut++,l=o.getUint8(B),B++,G=Math.ceil((l-1)*i/8),R=Math.ceil(G/4),h=new ArrayBuffer(R*4),U=new Uint8Array(h),A.ptr+=B,U.set(new Uint8Array(E,A.ptr,G)),n=new Uint32Array(h),A.ptr+=G,y=0;l-1>>>y;)y++;G=Math.ceil(t*y/8),R=Math.ceil(G/4),h=new ArrayBuffer(R*4),U=new Uint8Array(h),U.set(new Uint8Array(E,A.ptr,G)),S=new Uint32Array(h),A.ptr+=G,D>=3?w=u.unstuffLUT2(n,i,l-1,a,F,k):w=u.unstuffLUT(n,i,l-1,a,F,k),D>=3?u.unstuff2(S,I,y,t,w):u.unstuff(S,I,y,t,w)}else A.counter.bitstuffer++,y=i,A.ptr+=B,y>0&&(G=Math.ceil(t*y/8),R=Math.ceil(G/4),h=new ArrayBuffer(R*4),U=new Uint8Array(h),U.set(new Uint8Array(E,A.ptr,G)),S=new Uint32Array(h),A.ptr+=G,D>=3?a==null?u.originalUnstuff2(S,I,y,t):u.unstuff2(S,I,y,t,!1,a,F,k):a==null?u.originalUnstuff(S,I,y,t):u.unstuff(S,I,y,t,!1,a,F,k))}},readTiles:function(E,A,I,a){var Q=A.headerInfo,g=Q.width,D=Q.height,B=g*D,C=Q.microBlockSize,o=Q.imageType,r=L.getDataTypeSize(o),s=Math.ceil(g/C),f=Math.ceil(D/C);A.pixels.numBlocksY=f,A.pixels.numBlocksX=s,A.pixels.ptr=0;var e=0,i=0,t=0,F=0,S=0,h=0,U=0,G=0,R=0,w=0,n=0,l=0,y=0,k=0,M=0,c=0,N,q,d,W,v,Y,P=new I(C*C),aA=D%C||C,rA=g%C||C,IA,j,AA=Q.numDims,b,K=A.pixels.resultMask,H=A.pixels.resultPixels,oA=Q.fileVersion,EA=oA>=5?14:15,p,gA=Q.zMax,V;for(t=0;t<f;t++)for(S=t!==f-1?C:aA,F=0;F<s;F++)for(h=F!==s-1?C:rA,n=t*g*C+F*C,l=g-h,b=0;b<AA;b++){if(AA>1?(V=H,n=t*g*C+F*C,H=new I(A.pixels.resultPixels.buffer,B*b*r,B),gA=Q.maxValues[b]):V=null,U=E.byteLength-A.ptr,N=new DataView(E,A.ptr,Math.min(10,U)),q={},c=0,G=N.getUint8(0),c++,p=Q.fileVersion>=5?G&4:0,R=G>>6&255,w=G>>2&EA,w!==(F*C>>3&EA)||p&&b===0)throw"integrity issue";if(Y=G&3,Y>3)throw A.ptr+=c,"Invalid block encoding ("+Y+")";if(Y===2){if(p)if(K)for(e=0;e<S;e++)for(i=0;i<h;i++)K[n]&&(H[n]=V[n]),n++;else for(e=0;e<S;e++)for(i=0;i<h;i++)H[n]=V[n],n++;A.counter.constant++,A.ptr+=c;continue}else if(Y===0){if(p)throw"integrity issue";if(A.counter.uncompressed++,A.ptr+=c,y=S*h*r,k=E.byteLength-A.ptr,y=y<k?y:k,d=new ArrayBuffer(y%r===0?y:y+r-y%r),W=new Uint8Array(d),W.set(new Uint8Array(E,A.ptr,y)),v=new I(d),M=0,K)for(e=0;e<S;e++){for(i=0;i<h;i++)K[n]&&(H[n]=v[M++]),n++;n+=l}else for(e=0;e<S;e++){for(i=0;i<h;i++)H[n++]=v[M++];n+=l}A.ptr+=M*r}else if(IA=L.getDataTypeUsed(p&&o<6?4:o,R),j=L.getOnePixel(q,c,IA,N),c+=L.getDataTypeSize(IA),Y===3)if(A.ptr+=c,A.counter.constantoffset++,K)for(e=0;e<S;e++){for(i=0;i<h;i++)K[n]&&(H[n]=p?Math.min(gA,V[n]+j):j),n++;n+=l}else for(e=0;e<S;e++){for(i=0;i<h;i++)H[n]=p?Math.min(gA,V[n]+j):j,n++;n+=l}else if(A.ptr+=c,L.decodeBits(E,A,P,j,b),c=0,p)if(K)for(e=0;e<S;e++){for(i=0;i<h;i++)K[n]&&(H[n]=P[c++]+V[n]),n++;n+=l}else for(e=0;e<S;e++){for(i=0;i<h;i++)H[n]=P[c++]+V[n],n++;n+=l}else if(K)for(e=0;e<S;e++){for(i=0;i<h;i++)K[n]&&(H[n]=P[c++]),n++;n+=l}else for(e=0;e<S;e++){for(i=0;i<h;i++)H[n++]=P[c++];n+=l}}AA>1&&!a&&(A.pixels.resultPixels=L.swapDimensionOrder(A.pixels.resultPixels,B,AA,I))},formatFileInfo:function(E){return{fileIdentifierString:E.headerInfo.fileIdentifierString,fileVersion:E.headerInfo.fileVersion,imageType:E.headerInfo.imageType,height:E.headerInfo.height,width:E.headerInfo.width,numValidPixel:E.headerInfo.numValidPixel,microBlockSize:E.headerInfo.microBlockSize,blobSize:E.headerInfo.blobSize,maxZError:E.headerInfo.maxZError,pixelType:L.getPixelType(E.headerInfo.imageType),eofOffset:E.eofOffset,mask:E.mask?{numBytes:E.mask.numBytes}:null,pixels:{numBlocksX:E.pixels.numBlocksX,numBlocksY:E.pixels.numBlocksY,maxValue:E.headerInfo.zMax,minValue:E.headerInfo.zMin,noDataValue:E.noDataValue}}},constructConstantSurface:function(E,A){var I=E.headerInfo.zMax,a=E.headerInfo.zMin,Q=E.headerInfo.maxValues,g=E.headerInfo.numDims,D=E.headerInfo.height*E.headerInfo.width,B=0,C=0,o=0,r=E.pixels.resultMask,s=E.pixels.resultPixels;if(r)if(g>1){if(A)for(B=0;B<g;B++)for(o=B*D,I=Q[B],C=0;C<D;C++)r[C]&&(s[o+C]=I);else for(C=0;C<D;C++)if(r[C])for(o=C*g,B=0;B<g;B++)s[o+g]=Q[B]}else for(C=0;C<D;C++)r[C]&&(s[C]=I);else if(g>1&&a!==I)if(A)for(B=0;B<g;B++)for(o=B*D,I=Q[B],C=0;C<D;C++)s[o+C]=I;else for(C=0;C<D;C++)for(o=C*g,B=0;B<g;B++)s[o+B]=Q[B];else for(C=0;C<D*g;C++)s[C]=I},getDataTypeArray:function(E){var A;switch(E){case 0:A=Int8Array;break;case 1:A=Uint8Array;break;case 2:A=Int16Array;break;case 3:A=Uint16Array;break;case 4:A=Int32Array;break;case 5:A=Uint32Array;break;case 6:A=Float32Array;break;case 7:A=Float64Array;break;default:A=Float32Array}return A},getPixelType:function(E){var A;switch(E){case 0:A="S8";break;case 1:A="U8";break;case 2:A="S16";break;case 3:A="U16";break;case 4:A="S32";break;case 5:A="U32";break;case 6:A="F32";break;case 7:A="F64";break;default:A="F32"}return A},isValidPixelValue:function(E,A){if(A==null)return!1;var I;switch(E){case 0:I=A>=-128&&A<=127;break;case 1:I=A>=0&&A<=255;break;case 2:I=A>=-32768&&A<=32767;break;case 3:I=A>=0&&A<=65536;break;case 4:I=A>=-2147483648&&A<=2147483647;break;case 5:I=A>=0&&A<=4294967296;break;case 6:I=A>=-34027999387901484e22&&A<=34027999387901484e22;break;case 7:I=A>=-17976931348623157e292&&A<=17976931348623157e292;break;default:I=!1}return I},getDataTypeSize:function(E){var A=0;switch(E){case 0:case 1:A=1;break;case 2:case 3:A=2;break;case 4:case 5:case 6:A=4;break;case 7:A=8;break;default:A=E}return A},getDataTypeUsed:function(E,A){var I=E;switch(E){case 2:case 4:I=E-A;break;case 3:case 5:I=E-2*A;break;case 6:A===0?I=E:A===1?I=2:I=1;break;case 7:A===0?I=E:I=E-2*A+1;break;default:I=E;break}return I},getOnePixel:function(E,A,I,a){var Q=0;switch(I){case 0:Q=a.getInt8(A);break;case 1:Q=a.getUint8(A);break;case 2:Q=a.getInt16(A,!0);break;case 3:Q=a.getUint16(A,!0);break;case 4:Q=a.getInt32(A,!0);break;case 5:Q=a.getUInt32(A,!0);break;case 6:Q=a.getFloat32(A,!0);break;case 7:Q=a.getFloat64(A,!0);break;default:throw"the decoder does not understand this pixel type"}return Q},swapDimensionOrder:function(E,A,I,a,Q){var g=0,D=0,B=0,C=0,o=E;if(I>1)if(o=new a(A*I),Q)for(g=0;g<A;g++)for(C=g,B=0;B<I;B++,C+=A)o[C]=E[D++];else for(g=0;g<A;g++)for(C=g,B=0;B<I;B++,C+=A)o[D++]=E[C];return o}},m=function(E,A,I){this.val=E,this.left=A,this.right=I},z={decode:function(E,A){A=A||{};var I=A.noDataValue,a=0,Q={};if(Q.ptr=A.inputOffset||0,Q.pixels={},!!L.readHeaderInfo(E,Q)){var g=Q.headerInfo,D=g.fileVersion,B=L.getDataTypeArray(g.imageType);if(D>5)throw"unsupported lerc version 2."+D;L.readMask(E,Q),g.numValidPixel!==g.width*g.height&&!Q.pixels.resultMask&&(Q.pixels.resultMask=A.maskData);var C=g.width*g.height;Q.pixels.resultPixels=new B(C*g.numDims),Q.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0};var o=!A.returnPixelInterleavedDims;if(g.numValidPixel!==0)if(g.zMax===g.zMin)L.constructConstantSurface(Q,o);else if(D>=4&&L.checkMinMaxRanges(E,Q))L.constructConstantSurface(Q,o);else{var r=new DataView(E,Q.ptr,2),s=r.getUint8(0);if(Q.ptr++,s)L.readDataOneSweep(E,Q,B,o);else if(D>1&&g.imageType<=1&&Math.abs(g.maxZError-.5)<1e-5){var f=r.getUint8(1);if(Q.ptr++,Q.encodeMode=f,f>2||D<4&&f>1)throw"Invalid Huffman flag "+f;f?L.readHuffman(E,Q,B,o):L.readTiles(E,Q,B,o)}else L.readTiles(E,Q,B,o)}Q.eofOffset=Q.ptr;var e;A.inputOffset?(e=Q.headerInfo.blobSize+A.inputOffset-Q.ptr,Math.abs(e)>=1&&(Q.eofOffset=A.inputOffset+Q.headerInfo.blobSize)):(e=Q.headerInfo.blobSize-Q.ptr,Math.abs(e)>=1&&(Q.eofOffset=Q.headerInfo.blobSize));var i={width:g.width,height:g.height,pixelData:Q.pixels.resultPixels,minValue:g.zMin,maxValue:g.zMax,validPixelCount:g.numValidPixel,dimCount:g.numDims,dimStats:{minValues:g.minValues,maxValues:g.maxValues},maskData:Q.pixels.resultMask};if(Q.pixels.resultMask&&L.isValidPixelValue(g.imageType,I)){var t=Q.pixels.resultMask;for(a=0;a<C;a++)t[a]||(i.pixelData[a]=I);i.noDataValue=I}return Q.noDataValue=I,A.returnFileInfo&&(i.fileInfo=L.formatFileInfo(Q)),i}},getBandCount:function(E){var A=0,I=0,a={};for(a.ptr=0,a.pixels={};I<E.byteLength-58;)L.readHeaderInfo(E,a),I+=a.headerInfo.blobSize,A++,a.ptr=I;return A}};return z}(),Z=function(){var u=new ArrayBuffer(4),L=new Uint8Array(u),m=new Uint32Array(u);return m[0]=1,L[0]===1}(),O={decode:function(u,L){if(!Z)throw"Big endian system is not supported.";L=L||{};var m=L.inputOffset||0,z=new Uint8Array(u,m,10),E=String.fromCharCode.apply(null,z),A,I;if(E.trim()==="CntZImage")A=J,I=1;else if(E.substring(0,5)==="Lerc2")A=X,I=2;else throw"Unexpected file identifier string: "+E;for(var a=0,Q=u.byteLength-10,g,D=[],B,C,o={width:0,height:0,pixels:[],pixelType:L.pixelType,mask:null,statistics:[]},r=0;m<Q;){var s=A.decode(u,{inputOffset:m,encodedMaskData:g,maskData:C,returnMask:a===0,returnEncodedMask:a===0,returnFileInfo:!0,returnPixelInterleavedDims:L.returnPixelInterleavedDims,pixelType:L.pixelType||null,noDataValue:L.noDataValue||null});m=s.fileInfo.eofOffset,C=s.maskData,a===0&&(g=s.encodedMaskData,o.width=s.width,o.height=s.height,o.dimCount=s.dimCount||1,o.pixelType=s.pixelType||s.fileInfo.pixelType,o.mask=C),I>1&&(C&&D.push(C),s.fileInfo.mask&&s.fileInfo.mask.numBytes>0&&r++),a++,o.pixels.push(s.pixelData),o.statistics.push({minValue:s.minValue,maxValue:s.maxValue,noDataValue:s.noDataValue,dimStats:s.dimStats})}var f,e,i;if(I>1&&r>1){for(i=o.width*o.height,o.bandMasks=D,C=new Uint8Array(i),C.set(D[0]),f=1;f<D.length;f++)for(B=D[f],e=0;e<i;e++)C[e]=C[e]&B[e];o.maskData=C}return o}};T.exports?T.exports=O:this.Lerc=O})()})(DA);let $,x,CA;const BA={env:{emscripten_notify_memory_growth:function(T){CA=new Uint8Array(x.exports.memory.buffer)}}};class nA{init(){return $||(typeof fetch<"u"?$=fetch("data:application/wasm;base64,"+iA).then(J=>J.arrayBuffer()).then(J=>WebAssembly.instantiate(J,BA)).then(this._init):$=WebAssembly.instantiate(Buffer.from(iA,"base64"),BA).then(this._init),$)}_init(J){x=J.instance,BA.env.emscripten_notify_memory_growth(0)}decode(J,X=0){if(!x)throw new Error("ZSTDDecoder: Await .init() before decoding.");const Z=J.byteLength,O=x.exports.malloc(Z);CA.set(J,O),X=X||Number(x.exports.ZSTD_findDecompressedSize(O,Z));const u=x.exports.malloc(X),L=x.exports.ZSTD_decompress(u,X,O,Z),m=CA.slice(u,u+L);return x.exports.free(O),x.exports.free(u),m}}const iA="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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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",eA=new nA;class fA extends sA.BaseDecoder{constructor(J){super(),this.planarConfiguration=typeof J.PlanarConfiguration<"u"?J.PlanarConfiguration:1,this.samplesPerPixel=typeof J.SamplesPerPixel<"u"?J.SamplesPerPixel:1,this.addCompression=J.LercParameters[_.LercParameters.AddCompression]}decodeBlock(J){switch(this.addCompression){case _.LercAddCompression.None:break;case _.LercAddCompression.Deflate:J=_.inflate_1(new Uint8Array(J)).buffer;break;case _.LercAddCompression.Zstandard:J=eA.decode(new Uint8Array(J)).buffer;break;default:throw new Error(`Unsupported LERC additional compression method identifier: ${this.addCompression}`)}return QA.decode(J,{returnPixelInterleavedDims:this.planarConfiguration===1}).pixels[0].buffer}}exports.default=fA;exports.zstd=eA;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brainsmatics",
3
- "version": "1.0.40",
3
+ "version": "1.0.41",
4
4
  "description": "brainsmatics",
5
5
  "author": "ygwang",
6
6
  "license": "MIT",