jbrowse-plugin-msaview 2.5.0 → 2.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/LaunchMsaViewExtensionPoint/index.js +2 -1
  2. package/dist/MsaViewPanel/afterCreateAutoruns.d.ts +22 -1
  3. package/dist/MsaViewPanel/afterCreateAutoruns.js +83 -26
  4. package/dist/MsaViewPanel/loadProteinDomains.d.ts +16 -0
  5. package/dist/MsaViewPanel/loadProteinDomains.js +33 -0
  6. package/dist/MsaViewPanel/model.d.ts +189 -158
  7. package/dist/MsaViewPanel/model.js +17 -5
  8. package/dist/jbrowse-plugin-msaview.umd.production.min.js +28 -28
  9. package/dist/jbrowse-plugin-msaview.umd.production.min.js.map +4 -4
  10. package/dist/utils/domainCache.d.ts +8 -0
  11. package/dist/utils/domainCache.js +28 -0
  12. package/dist/utils/eutils.d.ts +3 -0
  13. package/dist/utils/eutils.js +14 -0
  14. package/dist/utils/msa.js +18 -15
  15. package/dist/utils/ncbiBlast.js +22 -24
  16. package/dist/utils/ncbiDomains.d.ts +39 -0
  17. package/dist/utils/ncbiDomains.js +156 -0
  18. package/dist/utils/poll.d.ts +11 -0
  19. package/dist/utils/poll.js +19 -0
  20. package/dist/utils/taxonomyNames.js +2 -1
  21. package/dist/version.d.ts +1 -1
  22. package/dist/version.js +1 -1
  23. package/package.json +22 -19
  24. package/src/LaunchMsaViewExtensionPoint/index.ts +3 -0
  25. package/src/MsaViewPanel/afterCreateAutoruns.ts +86 -29
  26. package/src/MsaViewPanel/loadProteinDomains.ts +57 -0
  27. package/src/MsaViewPanel/model.ts +22 -4
  28. package/src/utils/domainCache.ts +43 -0
  29. package/src/utils/eutils.ts +16 -0
  30. package/src/utils/msa.ts +18 -16
  31. package/src/utils/ncbiBlast.ts +27 -31
  32. package/src/utils/ncbiDomains.ts +173 -0
  33. package/src/utils/poll.ts +28 -0
  34. package/src/utils/taxonomyNames.ts +3 -1
  35. package/src/version.ts +1 -1
@@ -1,11 +1,11 @@
1
- "use strict";var JBrowsePluginMsaView=(()=>{var MQ=Object.create;var Vs=Object.defineProperty;var vQ=Object.getOwnPropertyDescriptor;var TQ=Object.getOwnPropertyNames;var _Q=Object.getPrototypeOf,kQ=Object.prototype.hasOwnProperty;var g=(e,t)=>()=>(e&&(t=e(e=0)),t);var U=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ye=(e,t)=>{for(var r in t)Vs(e,r,{get:t[r],enumerable:!0})},Sd=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of TQ(t))!kQ.call(e,o)&&o!==r&&Vs(e,o,{get:()=>t[o],enumerable:!(n=vQ(t,o))||n.enumerable});return e};var f=(e,t,r)=>(r=e!=null?MQ(_Q(e)):{},Sd(t||!e||!e.__esModule?Vs(r,"default",{value:e,enumerable:!0}):r,e)),DQ=e=>Sd(Vs({},"__esModule",{value:!0}),e);var Md=U((eL,Qd)=>{Qd.exports=JBrowseExports["@jbrowse/core/Plugin"]});var Eo=U((tL,vd)=>{vd.exports=JBrowseExports["@jbrowse/core/configuration"]});var Ce=U((rL,Td)=>{Td.exports=JBrowseExports["@jbrowse/core/util"]});var _t=U((nL,_d)=>{_d.exports=JBrowseExports["mobx-state-tree"]});var Dd=U((oL,kd)=>{kd.exports=JBrowseExports["@mui/material/utils"]});var _,W=g(()=>{"use client";_=f(Dd(),1)});var R=U((sL,Nd)=>{Nd.exports=JBrowseExports["react/jsx-runtime"]});var w=U((lL,Rd)=>{Rd.exports=JBrowseExports.react});var G=U((AL,Pd)=>{Pd.exports=JBrowseExports["mobx-react"]});var Se=U((uL,Od)=>{Od.exports=JBrowseExports["tss-react/mui"]});var Ul=U((gL,Hd)=>{Hd.exports=JBrowseExports["@jbrowse/core/pluggableElementTypes"]});var Gr=U((hL,qd)=>{qd.exports=JBrowseExports.mobx});var we=U((CL,Jd)=>{Jd.exports=JBrowseExports["@jbrowse/core/ui"]});var Vd,Yd,Io,Hl=g(()=>{Vd=f(R(),1),Yd=f(w(),1),Io=class extends Yd.Component{constructor(t){super(t),this.state={error:void 0}}componentDidCatch(t,r){console.error("ErrorBoundary caught an error:",t,r),this.setState({error:t})}render(){return this.state.error?(0,Vd.jsx)(this.props.FallbackComponent,{error:this.state.error}):this.props.children}}});var k=U((IL,Wd)=>{Wd.exports=JBrowseExports["@mui/material"]});var lt,jl,zd,$d,Kd=g(()=>{lt=f(w(),1),jl=f(G(),1),zd=(0,jl.observer)(function({model:e}){let{resizeHandleWidth:t}=e,[r,n]=(0,lt.useState)(!1),o=(0,lt.useRef)(!1),i=(0,lt.useRef)(0);return(0,lt.useEffect)(()=>{function s(c){c.preventDefault();let l=c.clientX;if(i.current===0)i.current=c.clientX;else{let A=l-i.current;A&&(o.current||(o.current=!0,window.requestAnimationFrame(()=>{e.setTreeAreaWidth(e.treeAreaWidth+A),o.current=!1,i.current=c.clientX})))}}function a(){i.current=0,r&&n(!1)}return r?(document.addEventListener("mousemove",s,!0),document.addEventListener("mouseup",a,!0),()=>{document.removeEventListener("mousemove",s,!0),document.removeEventListener("mouseup",a,!0)}):()=>{}},[r,e]),lt.default.createElement("div",null,lt.default.createElement("div",{onMouseDown:()=>{n(!0)},style:{cursor:"ew-resize",height:"100%",width:t,background:"rgba(200,200,200)",position:"relative"}}))}),$d=(0,jl.observer)(function({model:e}){let{resizeHandleWidth:t}=e,[r,n]=(0,lt.useState)(!1),o=(0,lt.useRef)(!1),i=(0,lt.useRef)(0);return(0,lt.useEffect)(()=>{function s(c){c.preventDefault();let l=c.clientY;if(i.current===0)i.current=c.clientY;else{let A=l-i.current;A&&(o.current||(o.current=!0,window.requestAnimationFrame(()=>{e.setHeight(e.height+A),o.current=!1,i.current=c.clientY})))}}function a(){i.current=0,r&&n(!1)}return r?(document.addEventListener("mousemove",s,!0),document.addEventListener("mouseup",a,!0),()=>{document.removeEventListener("mousemove",s,!0),document.removeEventListener("mouseup",a,!0)}):()=>{}},[r,e]),lt.default.createElement("div",null,lt.default.createElement("div",{onMouseDown:()=>{n(!0)},style:{cursor:"ns-resize",width:"100%",height:t,background:"rgba(200,200,200)",position:"relative"}}))})});var Xd,Zd,eg=g(()=>{"use client";W();Xd=f(R(),1),Zd=(0,_.createSvgIcon)((0,Xd.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown")});function xo({ref:e,onScrollX:t,onScrollY:r}){let n=(0,ir.useRef)(!1),o=(0,ir.useRef)(0),i=(0,ir.useRef)(0),s=(0,ir.useRef)(0),a=(0,ir.useRef)(0),[c,l]=(0,ir.useState)(!1);(0,ir.useEffect)(()=>{let m=e.current;if(!m)return;function d(p){t&&(o.current+=p.deltaX),r&&(i.current+=p.deltaY),n.current||(n.current=!0,requestAnimationFrame(()=>{t&&(t(-o.current),o.current=0),r&&(r(-i.current),i.current=0),n.current=!1})),p.preventDefault(),p.stopPropagation()}return m.addEventListener("wheel",d,{passive:!1}),()=>{m.removeEventListener("wheel",d)}},[e,t,r]),(0,ir.useEffect)(()=>{if(!c)return;function m(p){p.preventDefault();let E=p.clientX-s.current,x=p.clientY-a.current;(E&&t||x&&r)&&(n.current||(n.current=!0,requestAnimationFrame(()=>{t?.(E),r?.(x),n.current=!1,s.current=p.clientX,a.current=p.clientY})))}function d(){s.current=0,a.current=0,l(!1)}return window.addEventListener("mousemove",m,!0),window.addEventListener("mouseup",d,!0),()=>{window.removeEventListener("mousemove",m,!0),window.removeEventListener("mouseup",d,!0)}},[c,t,r]);function A(m){let d=m.target;d.draggable||d.dataset.resizer||m.button===0&&(s.current=m.clientX,a.current=m.clientY,l(!0))}function u(m){m.preventDefault(),l(!1)}return{onMouseDown:A,onMouseUp:u}}var ir,zs=g(()=>{ir=f(w(),1)});function ki(e){let t=navigator.clipboard;if(t?.writeText){t.writeText(e).catch(n=>{console.error("Failed to copy to clipboard:",n)});return}let r=document.createElement("textarea");r.value=e,r.style.position="fixed",r.style.opacity="0",document.body.append(r),r.select(),document.execCommand("copy"),r.remove()}var ql=g(()=>{});var og={};Ye(og,{default:()=>FQ});var Ur,tg,Nn,rg,ng,NQ,LQ,FQ,ig=g(()=>{Ur=f(w(),1),tg=f(we(),1),Nn=f(k(),1),rg=f(G(),1),ng=f(Se(),1);ql();NQ=(0,ng.makeStyles)()(e=>({textArea:{padding:e.spacing(2),overflow:"auto",background:"#ddd",wordBreak:"break-word"}})),LQ=(0,rg.observer)(function({model:e,onClose:t}){let[r,n]=(0,Ur.useState)("Copy to clipboard"),{classes:o}=NQ();return Ur.default.createElement(tg.Dialog,{open:!0,onClose:t,fullWidth:!0,maxWidth:"lg",title:`Track info - ${e.name}`},Ur.default.createElement(Nn.DialogContent,null,Ur.default.createElement(Nn.Button,{variant:"contained",color:"primary",onClick:()=>{ki(e.data),n("Copied!"),setTimeout(()=>{n("Copy to clipboard")},300)}},r),Ur.default.createElement("pre",{className:o.textArea},e.data)),Ur.default.createElement(Nn.DialogActions,null,Ur.default.createElement(Nn.Button,{variant:"contained",onClick:t,color:"secondary"},"Close")))}),FQ=LQ});var Pe,Ln,Jl,sg,RQ,PQ,OQ,GQ,ag,cg=g(()=>{Pe=f(w(),1);eg();Ln=f(k(),1),Jl=f(G(),1),sg=f(Se(),1);zs();RQ=(0,Pe.lazy)(()=>Promise.resolve().then(()=>(ig(),og))),PQ=(0,sg.makeStyles)()({button:{padding:0}}),OQ=(0,Jl.observer)(function({model:t,track:r}){let[n,o]=(0,Pe.useState)(),{drawLabels:i,rowHeight:s,treeAreaWidth:a}=t,{model:{name:c,height:l}}=r,{classes:A}=PQ(),u=Math.max(8,s-8);return Pe.default.createElement("div",{style:{width:a,height:l,flexShrink:0,textAlign:"right",fontSize:u}},i?c:""," ",Pe.default.createElement(Ln.IconButton,{className:A.button,style:{width:u,height:u},onClick:m=>{o(m.currentTarget)}},Pe.default.createElement(Zd,null)),n?Pe.default.createElement(Ln.Menu,{anchorEl:n,transitionDuration:0,open:!0,onClose:()=>{o(void 0)}},Pe.default.createElement(Ln.MenuItem,{dense:!0,onClick:()=>{t.toggleTrack(r.model.id),o(void 0)}},"Close"),Pe.default.createElement(Ln.MenuItem,{dense:!0,onClick:()=>{t.queueDialog(m=>[RQ,{onClose:m,model:r.model}]),o(void 0)}},"Get info")):null)}),GQ=(0,Jl.observer)(function({model:e,track:t}){let{resizeHandleWidth:r,colWidth:n,scrollX:o,numColumns:i}=e,{model:{height:s}}=t,a=(0,Pe.useRef)(null),c=(0,Pe.useCallback)(l=>{e.doScrollX(l)},[e]);return xo({ref:a,onScrollX:c}),Pe.default.createElement("div",{style:{display:"flex",height:s}},Pe.default.createElement(OQ,{model:e,track:t}),Pe.default.createElement("div",{style:{width:r,flexShrink:0}}),Pe.default.createElement("div",{ref:a,onMouseMove:l=>{if(!a.current)return;let{left:A}=a.current.getBoundingClientRect(),u=l.clientX-A-o,m=Math.floor(u/n);m>=0&&m<i?e.setMousePos(m,void 0):e.setMousePos(void 0,void 0)},onMouseLeave:()=>{e.setMousePos(void 0,void 0)}},Pe.default.createElement(t.ReactComponent,{model:e,track:t})))}),ag=GQ});function $s(e,t){let r=(0,yo.useRef)(!1),[n,o]=(0,yo.useState)();return(0,yo.useEffect)(()=>{if(n!==void 0){let a=function(l){r.current||(r.current=!0,requestAnimationFrame(()=>{let A=e==="x"?l.clientX:l.clientY;t(A-i,s),r.current=!1}))},c=function(){o(void 0)},{client:i,startScroll:s}=n;return document.addEventListener("mousemove",a),document.addEventListener("mouseup",c),()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",c)}}},[e,t,n]),{dragging:n!==void 0,startDrag:(i,s)=>{o({client:e==="x"?i.clientX:i.clientY,startScroll:s})}}}var yo,Vl=g(()=>{yo=f(w(),1)});var Fn,lg,Ag,UQ,ug,fg=g(()=>{Fn=f(w(),1),lg=f(Ce(),1),Ag=f(G(),1);Vl();UQ=(0,Ag.observer)(({model:e})=>{let{msaAreaHeight:t,scrollY:r,totalHeight:n}=e,[o,i]=(0,Fn.useState)(!1),s="rgba(66, 119, 127, 0.3)",a=t/n,c=-r,l=c+t,A=c*a,u=l*a,{startDrag:m}=$s("y",(0,Fn.useCallback)((d,p)=>{e.setScrollY((0,lg.clamp)(p-d/a,-n,0))},[e,a,n]));return Fn.default.createElement("div",{style:{position:"relative",width:20,height:t,borderLeft:"1px solid #555",borderTop:"1px solid #555",boxSizing:"border-box"}},Fn.default.createElement("div",{style:{position:"absolute",top:Math.max(0,A),left:0,background:o?"rgba(66,119,127,0.6)":s,cursor:"pointer",boxSizing:"border-box",width:20,height:Math.max(u-A,20),zIndex:100},onMouseOver:()=>{i(!0)},onMouseOut:()=>{i(!1)},onMouseDown:d=>{m(d,e.scrollY)}}))}),ug=UQ});function Yl(){let e=(0,bo.useRef)(null),[t,r]=(0,bo.useState)({width:void 0,height:void 0});return(0,bo.useEffect)(()=>{if(!e.current)return;let n=typeof window<"u"&&"ResizeObserver"in window?window.ResizeObserver:void 0;if(!n)return;let o=new n(i=>{r({width:i[0].contentRect.width,height:i[0].contentRect.height})});return o.observe(e.current),()=>{o.disconnect()}},[]),[e,t]}var bo,mg=g(()=>{bo=f(w(),1)});var dg,gg,pg=g(()=>{"use client";W();dg=f(R(),1),gg=(0,_.createSvgIcon)((0,dg.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}),"Help")});var hg,Cg,Eg=g(()=>{"use client";W();hg=f(R(),1),Cg=(0,_.createSvgIcon)((0,hg.jsx)("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"ChevronRight")});var Ig,xg,yg=g(()=>{"use client";W();Ig=f(R(),1),xg=(0,_.createSvgIcon)((0,Ig.jsx)("path",{d:"M11 18h2v-2h-2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4"}),"HelpOutline")});var bg,Ks,Wl=g(()=>{"use client";W();bg=f(R(),1),Ks=(0,_.createSvgIcon)((0,bg.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close")});var wg,Bg,Sg=g(()=>{"use client";W();wg=f(R(),1),Bg=(0,_.createSvgIcon)((0,wg.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh")});var Qg,Mg,vg=g(()=>{"use client";W();Qg=f(R(),1),Mg=(0,_.createSvgIcon)((0,Qg.jsx)("path",{d:"M15.73 3H8.27L3 8.27v7.46L8.27 21h7.46L21 15.73V8.27zM12 17.3c-.72 0-1.3-.58-1.3-1.3s.58-1.3 1.3-1.3 1.3.58 1.3 1.3-.58 1.3-1.3 1.3m1-4.3h-2V7h2z"}),"Report")});function jQ(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}function qQ(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),e.nonce!==void 0&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}var HQ,Tg,_g=g(()=>{HQ=!1;Tg=(function(){function e(r){var n=this;this._insertTag=function(o){var i;n.tags.length===0?n.insertionPoint?i=n.insertionPoint.nextSibling:n.prepend?i=n.container.firstChild:i=n.before:i=n.tags[n.tags.length-1].nextSibling,n.container.insertBefore(o,i),n.tags.push(o)},this.isSpeedy=r.speedy===void 0?!HQ:r.speedy,this.tags=[],this.ctr=0,this.nonce=r.nonce,this.key=r.key,this.container=r.container,this.prepend=r.prepend,this.insertionPoint=r.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(n){n.forEach(this._insertTag)},t.insert=function(n){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(qQ(this));var o=this.tags[this.tags.length-1];if(this.isSpeedy){var i=jQ(o);try{i.insertRule(n,i.cssRules.length)}catch{}}else o.appendChild(document.createTextNode(n));this.ctr++},t.flush=function(){this.tags.forEach(function(n){var o;return(o=n.parentNode)==null?void 0:o.removeChild(n)}),this.tags=[],this.ctr=0},e})()});var nt,Di,X,Xs,wo,Bo,kg,Zs,Dg,ea=g(()=>{nt="-ms-",Di="-moz-",X="-webkit-",Xs="comm",wo="rule",Bo="decl",kg="@import",Zs="@keyframes",Dg="@layer"});function Fg(e,t){return Ne(e,0)^45?(((t<<2^Ne(e,0))<<2^Ne(e,1))<<2^Ne(e,2))<<2^Ne(e,3):0}function ta(e){return e.trim()}function zl(e,t){return(e=t.exec(e))?e[0]:e}function Y(e,t,r){return e.replace(t,r)}function Ni(e,t){return e.indexOf(t)}function Ne(e,t){return e.charCodeAt(t)|0}function an(e,t,r){return e.slice(t,r)}function pt(e){return e.length}function So(e){return e.length}function Qo(e,t){return t.push(e),e}function $l(e,t){return e.map(t).join("")}var Ng,Rn,Lg,Mo=g(()=>{Ng=Math.abs,Rn=String.fromCharCode,Lg=Object.assign});function Li(e,t,r,n,o,i,s){return{value:e,root:t,parent:r,type:n,props:o,children:i,line:ra,column:vo,length:s,return:""}}function ko(e,t){return Lg(Li("",null,null,"",null,null,0),e,{length:-e.length},t)}function Pg(){return Oe}function Og(){return Oe=ht>0?Ne(_o,--ht):0,vo--,Oe===10&&(vo=1,ra--),Oe}function Ct(){return Oe=ht<Rg?Ne(_o,ht++):0,vo++,Oe===10&&(vo=1,ra++),Oe}function jt(){return Ne(_o,ht)}function Fi(){return ht}function Do(e,t){return an(_o,e,t)}function To(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function na(e){return ra=vo=1,Rg=pt(_o=e),ht=0,[]}function oa(e){return _o="",e}function No(e){return ta(Do(ht-1,Kl(e===91?e+2:e===40?e+1:e)))}function Gg(e){for(;(Oe=jt())&&Oe<33;)Ct();return To(e)>2||To(Oe)>3?"":" "}function Ug(e,t){for(;--t&&Ct()&&!(Oe<48||Oe>102||Oe>57&&Oe<65||Oe>70&&Oe<97););return Do(e,Fi()+(t<6&&jt()==32&&Ct()==32))}function Kl(e){for(;Ct();)switch(Oe){case e:return ht;case 34:case 39:e!==34&&e!==39&&Kl(Oe);break;case 40:e===41&&Kl(e);break;case 92:Ct();break}return ht}function Hg(e,t){for(;Ct()&&e+Oe!==57;)if(e+Oe===84&&jt()===47)break;return"/*"+Do(t,ht-1)+"*"+Rn(e===47?e:Ct())}function jg(e){for(;!To(jt());)Ct();return Do(e,ht)}var ra,vo,Rg,ht,Oe,_o,Xl=g(()=>{Mo();ra=1,vo=1,Rg=0,ht=0,Oe=0,_o=""});function Vg(e){return oa(ia("",null,null,null,[""],e=na(e),0,[0],e))}function ia(e,t,r,n,o,i,s,a,c){for(var l=0,A=0,u=s,m=0,d=0,p=0,E=1,x=1,I=1,h=0,y="",Q=o,M=i,B=n,v=y;x;)switch(p=h,h=Ct()){case 40:if(p!=108&&Ne(v,u-1)==58){Ni(v+=Y(No(h),"&","&\f"),"&\f")!=-1&&(I=-1);break}case 34:case 39:case 91:v+=No(h);break;case 9:case 10:case 13:case 32:v+=Gg(p);break;case 92:v+=Ug(Fi()-1,7);continue;case 47:switch(jt()){case 42:case 47:Qo(JQ(Hg(Ct(),Fi()),t,r),c);break;default:v+="/"}break;case 123*E:a[l++]=pt(v)*I;case 125*E:case 59:case 0:switch(h){case 0:case 125:x=0;case 59+A:I==-1&&(v=Y(v,/\f/g,"")),d>0&&pt(v)-u&&Qo(d>32?Jg(v+";",n,r,u-1):Jg(Y(v," ","")+";",n,r,u-2),c);break;case 59:v+=";";default:if(Qo(B=qg(v,t,r,l,A,o,a,y,Q=[],M=[],u),i),h===123)if(A===0)ia(v,t,B,B,Q,i,u,a,M);else switch(m===99&&Ne(v,3)===110?100:m){case 100:case 108:case 109:case 115:ia(e,B,B,n&&Qo(qg(e,B,B,0,0,o,a,y,o,Q=[],u),M),o,M,u,a,n?Q:M);break;default:ia(v,B,B,B,[""],M,0,a,M)}}l=A=d=0,E=I=1,y=v="",u=s;break;case 58:u=1+pt(v),d=p;default:if(E<1){if(h==123)--E;else if(h==125&&E++==0&&Og()==125)continue}switch(v+=Rn(h),h*E){case 38:I=A>0?1:(v+="\f",-1);break;case 44:a[l++]=(pt(v)-1)*I,I=1;break;case 64:jt()===45&&(v+=No(Ct())),m=jt(),A=u=pt(y=v+=jg(Fi())),h++;break;case 45:p===45&&pt(v)==2&&(E=0)}}return i}function qg(e,t,r,n,o,i,s,a,c,l,A){for(var u=o-1,m=o===0?i:[""],d=So(m),p=0,E=0,x=0;p<n;++p)for(var I=0,h=an(e,u+1,u=Ng(E=s[p])),y=e;I<d;++I)(y=ta(E>0?m[I]+" "+h:Y(h,/&\f/g,m[I])))&&(c[x++]=y);return Li(e,t,r,o===0?wo:a,c,l,A)}function JQ(e,t,r){return Li(e,t,r,Xs,Rn(Pg()),an(e,2,-2),0)}function Jg(e,t,r,n){return Li(e,t,r,Bo,an(e,0,n),an(e,n+1,-1),n)}var Yg=g(()=>{ea();Mo();Xl()});var Wg=g(()=>{});function Pn(e,t){for(var r="",n=So(e),o=0;o<n;o++)r+=t(e[o],o,e,t)||"";return r}function zg(e,t,r,n){switch(e.type){case Dg:if(e.children.length)break;case kg:case Bo:return e.return=e.return||e.value;case Xs:return"";case Zs:return e.return=e.value+"{"+Pn(e.children,n)+"}";case wo:e.value=e.props.join(",")}return pt(r=Pn(e.children,n))?e.return=e.value+"{"+r+"}":""}var $g=g(()=>{ea();Mo()});function Kg(e){var t=So(e);return function(r,n,o,i){for(var s="",a=0;a<t;a++)s+=e[a](r,n,o,i)||"";return s}}function Xg(e){return function(t){t.root||(t=t.return)&&e(t)}}var Zg=g(()=>{Mo()});var ep=g(()=>{ea();Mo();Yg();Wg();Xl();$g();Zg()});var sa=g(()=>{});function tp(e){var t=Object.create(null);return function(r){return t[r]===void 0&&(t[r]=e(r)),t[r]}}var Zl=g(()=>{});function np(e,t){switch(Fg(e,t)){case 5103:return X+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return X+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return X+e+Di+e+nt+e+e;case 6828:case 4268:return X+e+nt+e+e;case 6165:return X+e+nt+"flex-"+e+e;case 5187:return X+e+Y(e,/(\w+).+(:[^]+)/,X+"box-$1$2"+nt+"flex-$1$2")+e;case 5443:return X+e+nt+"flex-item-"+Y(e,/flex-|-self/,"")+e;case 4675:return X+e+nt+"flex-line-pack"+Y(e,/align-content|flex-|-self/,"")+e;case 5548:return X+e+nt+Y(e,"shrink","negative")+e;case 5292:return X+e+nt+Y(e,"basis","preferred-size")+e;case 6060:return X+"box-"+Y(e,"-grow","")+X+e+nt+Y(e,"grow","positive")+e;case 4554:return X+Y(e,/([^-])(transform)/g,"$1"+X+"$2")+e;case 6187:return Y(Y(Y(e,/(zoom-|grab)/,X+"$1"),/(image-set)/,X+"$1"),e,"")+e;case 5495:case 3959:return Y(e,/(image-set\([^]*)/,X+"$1$`$1");case 4968:return Y(Y(e,/(.+:)(flex-)?(.*)/,X+"box-pack:$3"+nt+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+X+e+e;case 4095:case 3583:case 4068:case 2532:return Y(e,/(.+)-inline(.+)/,X+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(pt(e)-1-t>6)switch(Ne(e,t+1)){case 109:if(Ne(e,t+4)!==45)break;case 102:return Y(e,/(.+:)(.+)-([^]+)/,"$1"+X+"$2-$3$1"+Di+(Ne(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~Ni(e,"stretch")?np(Y(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Ne(e,t+1)!==115)break;case 6444:switch(Ne(e,pt(e)-3-(~Ni(e,"!important")&&10))){case 107:return Y(e,":",":"+X)+e;case 101:return Y(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+X+(Ne(e,14)===45?"inline-":"")+"box$3$1"+X+"$2$3$1"+nt+"$2box$3")+e}break;case 5936:switch(Ne(e,t+11)){case 114:return X+e+nt+Y(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return X+e+nt+Y(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return X+e+nt+Y(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return X+e+nt+e+e}return e}var VQ,YQ,WQ,rp,zQ,$Q,KQ,XQ,op,eA=g(()=>{_g();ep();sa();Zl();VQ=function(t,r,n){for(var o=0,i=0;o=i,i=jt(),o===38&&i===12&&(r[n]=1),!To(i);)Ct();return Do(t,ht)},YQ=function(t,r){var n=-1,o=44;do switch(To(o)){case 0:o===38&&jt()===12&&(r[n]=1),t[n]+=VQ(ht-1,r,n);break;case 2:t[n]+=No(o);break;case 4:if(o===44){t[++n]=jt()===58?"&\f":"",r[n]=t[n].length;break}default:t[n]+=Rn(o)}while(o=Ct());return t},WQ=function(t,r){return oa(YQ(na(t),r))},rp=new WeakMap,zQ=function(t){if(!(t.type!=="rule"||!t.parent||t.length<1)){for(var r=t.value,n=t.parent,o=t.column===n.column&&t.line===n.line;n.type!=="rule";)if(n=n.parent,!n)return;if(!(t.props.length===1&&r.charCodeAt(0)!==58&&!rp.get(n))&&!o){rp.set(t,!0);for(var i=[],s=WQ(r,i),a=n.props,c=0,l=0;c<s.length;c++)for(var A=0;A<a.length;A++,l++)t.props[l]=i[c]?s[c].replace(/&\f/g,a[A]):a[A]+" "+s[c]}}},$Q=function(t){if(t.type==="decl"){var r=t.value;r.charCodeAt(0)===108&&r.charCodeAt(2)===98&&(t.return="",t.value="")}};KQ=function(t,r,n,o){if(t.length>-1&&!t.return)switch(t.type){case Bo:t.return=np(t.value,t.length);break;case Zs:return Pn([ko(t,{value:Y(t.value,"@","@"+X)})],o);case wo:if(t.length)return $l(t.props,function(i){switch(zl(i,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Pn([ko(t,{props:[Y(i,/:(read-\w+)/,":"+Di+"$1")]})],o);case"::placeholder":return Pn([ko(t,{props:[Y(i,/:(plac\w+)/,":"+X+"input-$1")]}),ko(t,{props:[Y(i,/:(plac\w+)/,":"+Di+"$1")]}),ko(t,{props:[Y(i,/:(plac\w+)/,nt+"input-$1")]})],o)}return""})}},XQ=[KQ],op=function(t){var r=t.key;if(r==="css"){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,function(E){var x=E.getAttribute("data-emotion");x.indexOf(" ")!==-1&&(document.head.appendChild(E),E.setAttribute("data-s",""))})}var o=t.stylisPlugins||XQ,i={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+r+' "]'),function(E){for(var x=E.getAttribute("data-emotion").split(" "),I=1;I<x.length;I++)i[x[I]]=!0;a.push(E)});var c,l=[zQ,$Q];{var A,u=[zg,Xg(function(E){A.insert(E)})],m=Kg(l.concat(o,u)),d=function(x){return Pn(Vg(x),m)};c=function(x,I,h,y){A=h,d(x?x+"{"+I.styles+"}":I.styles),y&&(p.inserted[I.name]=!0)}}var p={key:r,sheet:new Tg({key:r,container:s,nonce:t.nonce,speedy:t.speedy,prepend:t.prepend,insertionPoint:t.insertionPoint}),nonce:t.nonce,inserted:i,registered:{},insert:c};return p.sheet.hydrate(a),p}});var tA=g(()=>{});var sp=U(ie=>{"use strict";var We=typeof Symbol=="function"&&Symbol.for,rA=We?Symbol.for("react.element"):60103,nA=We?Symbol.for("react.portal"):60106,aa=We?Symbol.for("react.fragment"):60107,ca=We?Symbol.for("react.strict_mode"):60108,la=We?Symbol.for("react.profiler"):60114,Aa=We?Symbol.for("react.provider"):60109,ua=We?Symbol.for("react.context"):60110,oA=We?Symbol.for("react.async_mode"):60111,fa=We?Symbol.for("react.concurrent_mode"):60111,ma=We?Symbol.for("react.forward_ref"):60112,da=We?Symbol.for("react.suspense"):60113,ZQ=We?Symbol.for("react.suspense_list"):60120,ga=We?Symbol.for("react.memo"):60115,pa=We?Symbol.for("react.lazy"):60116,eM=We?Symbol.for("react.block"):60121,tM=We?Symbol.for("react.fundamental"):60117,rM=We?Symbol.for("react.responder"):60118,nM=We?Symbol.for("react.scope"):60119;function kt(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case rA:switch(e=e.type,e){case oA:case fa:case aa:case la:case ca:case da:return e;default:switch(e=e&&e.$$typeof,e){case ua:case ma:case pa:case ga:case Aa:return e;default:return t}}case nA:return t}}}function ip(e){return kt(e)===fa}ie.AsyncMode=oA;ie.ConcurrentMode=fa;ie.ContextConsumer=ua;ie.ContextProvider=Aa;ie.Element=rA;ie.ForwardRef=ma;ie.Fragment=aa;ie.Lazy=pa;ie.Memo=ga;ie.Portal=nA;ie.Profiler=la;ie.StrictMode=ca;ie.Suspense=da;ie.isAsyncMode=function(e){return ip(e)||kt(e)===oA};ie.isConcurrentMode=ip;ie.isContextConsumer=function(e){return kt(e)===ua};ie.isContextProvider=function(e){return kt(e)===Aa};ie.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===rA};ie.isForwardRef=function(e){return kt(e)===ma};ie.isFragment=function(e){return kt(e)===aa};ie.isLazy=function(e){return kt(e)===pa};ie.isMemo=function(e){return kt(e)===ga};ie.isPortal=function(e){return kt(e)===nA};ie.isProfiler=function(e){return kt(e)===la};ie.isStrictMode=function(e){return kt(e)===ca};ie.isSuspense=function(e){return kt(e)===da};ie.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===aa||e===fa||e===la||e===ca||e===da||e===ZQ||typeof e=="object"&&e!==null&&(e.$$typeof===pa||e.$$typeof===ga||e.$$typeof===Aa||e.$$typeof===ua||e.$$typeof===ma||e.$$typeof===tM||e.$$typeof===rM||e.$$typeof===nM||e.$$typeof===eM)};ie.typeOf=kt});var cp=U((wF,ap)=>{"use strict";ap.exports=sp()});var gp=U((BF,dp)=>{"use strict";var iA=cp(),oM={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},iM={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},sM={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},fp={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},sA={};sA[iA.ForwardRef]=sM;sA[iA.Memo]=fp;function lp(e){return iA.isMemo(e)?fp:sA[e.$$typeof]||oM}var aM=Object.defineProperty,cM=Object.getOwnPropertyNames,Ap=Object.getOwnPropertySymbols,lM=Object.getOwnPropertyDescriptor,AM=Object.getPrototypeOf,up=Object.prototype;function mp(e,t,r){if(typeof t!="string"){if(up){var n=AM(t);n&&n!==up&&mp(e,n,r)}var o=cM(t);Ap&&(o=o.concat(Ap(t)));for(var i=lp(e),s=lp(t),a=0;a<o.length;++a){var c=o[a];if(!iM[c]&&!(r&&r[c])&&!(s&&s[c])&&!(i&&i[c])){var l=lM(t,c);try{aM(e,c,l)}catch{}}}}return e}dp.exports=mp});function Ri(e,t,r){var n="";return r.split(" ").forEach(function(o){e[o]!==void 0?t.push(e[o]+";"):o&&(n+=o+" ")}),n}var uM,ha,Pi,Ca=g(()=>{uM=!0;ha=function(t,r,n){var o=t.key+"-"+r.name;(n===!1||uM===!1)&&t.registered[o]===void 0&&(t.registered[o]=r.styles)},Pi=function(t,r,n){ha(t,r,n);var o=t.key+"-"+r.name;if(t.inserted[r.name]===void 0){var i=r;do t.insert(r===i?"."+o:"",i,t.sheet,!0),i=i.next;while(i!==void 0)}}});function pp(e){for(var t=0,r,n=0,o=e.length;o>=4;++n,o-=4)r=e.charCodeAt(n)&255|(e.charCodeAt(++n)&255)<<8|(e.charCodeAt(++n)&255)<<16|(e.charCodeAt(++n)&255)<<24,r=(r&65535)*1540483477+((r>>>16)*59797<<16),r^=r>>>24,t=(r&65535)*1540483477+((r>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(o){case 3:t^=(e.charCodeAt(n+2)&255)<<16;case 2:t^=(e.charCodeAt(n+1)&255)<<8;case 1:t^=e.charCodeAt(n)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var hp=g(()=>{});var Cp,Ep=g(()=>{Cp={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1}});function Oi(e,t,r){if(r==null)return"";var n=r;if(n.__emotion_styles!==void 0)return n;switch(typeof r){case"boolean":return"";case"object":{var o=r;if(o.anim===1)return wr={name:o.name,styles:o.styles,next:wr},o.name;var i=r;if(i.styles!==void 0){var s=i.next;if(s!==void 0)for(;s!==void 0;)wr={name:s.name,styles:s.styles,next:wr},s=s.next;var a=i.styles+";";return a}return pM(e,t,r)}case"function":{if(e!==void 0){var c=wr,l=r(e);return wr=c,Oi(e,t,l)}break}}var A=r;if(t==null)return A;var u=t[A];return u!==void 0?u:A}function pM(e,t,r){var n="";if(Array.isArray(r))for(var o=0;o<r.length;o++)n+=Oi(e,t,r[o])+";";else for(var i in r){var s=r[i];if(typeof s!="object"){var a=s;t!=null&&t[a]!==void 0?n+=i+"{"+t[a]+"}":Ip(a)&&(n+=aA(i)+":"+xp(i,a)+";")}else{if(i==="NO_COMPONENT_SELECTOR"&&fM)throw new Error(gM);if(Array.isArray(s)&&typeof s[0]=="string"&&(t==null||t[s[0]]===void 0))for(var c=0;c<s.length;c++)Ip(s[c])&&(n+=aA(i)+":"+xp(i,s[c])+";");else{var l=Oi(e,t,s);switch(i){case"animation":case"animationName":{n+=aA(i)+":"+l+";";break}default:n+=i+"{"+l+"}"}}}}return n}function Lo(e,t,r){if(e.length===1&&typeof e[0]=="object"&&e[0]!==null&&e[0].styles!==void 0)return e[0];var n=!0,o="";wr=void 0;var i=e[0];if(i==null||i.raw===void 0)n=!1,o+=Oi(r,t,i);else{var s=i;o+=s[0]}for(var a=1;a<e.length;a++)if(o+=Oi(r,t,e[a]),n){var c=i;o+=c[a]}yp.lastIndex=0;for(var l="",A;(A=yp.exec(o))!==null;)l+="-"+A[1];var u=pp(o)+l;return{name:u,styles:o,next:wr}}var fM,mM,dM,bp,Ip,aA,xp,gM,yp,wr,Ea=g(()=>{hp();Ep();Zl();fM=!1,mM=/[A-Z]|^ms/g,dM=/_EMO_([^_]+?)_([^]*?)_EMO_/g,bp=function(t){return t.charCodeAt(1)===45},Ip=function(t){return t!=null&&typeof t!="boolean"},aA=tp(function(e){return bp(e)?e:e.replace(mM,"-$&").toLowerCase()}),xp=function(t,r){switch(t){case"animation":case"animationName":if(typeof r=="string")return r.replace(dM,function(n,o,i){return wr={name:o,styles:i,next:wr},o})}return Cp[t]!==1&&!bp(t)&&typeof r=="number"&&r!==0?r+"px":r},gM="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";yp=/label:\s*([^\s;{]+)\s*(;|$)/g});var Ia,hM,CM,cA,lA=g(()=>{Ia=f(w()),hM=function(t){return t()},CM=Ia.useInsertionEffect?Ia.useInsertionEffect:!1,cA=CM||hM});var qt,Gi,wp,uA,EM,fA,mA,dA,xa,AA,Bp,IM,xM,Sp,gA=g(()=>{qt=f(w()),Gi=f(w());eA();tA();sa();Ca();Ea();lA();wp=!1,uA=qt.createContext(typeof HTMLElement<"u"?op({key:"css"}):null),EM=uA.Provider,fA=function(){return(0,Gi.useContext)(uA)},mA=function(t){return(0,Gi.forwardRef)(function(r,n){var o=(0,Gi.useContext)(uA);return t(r,o,n)})},dA=qt.createContext({}),xa={}.hasOwnProperty,AA="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",Bp=function(t,r){var n={};for(var o in r)xa.call(r,o)&&(n[o]=r[o]);return n[AA]=t,n},IM=function(t){var r=t.cache,n=t.serialized,o=t.isStringTag;return ha(r,n,o),cA(function(){return Pi(r,n,o)}),null},xM=mA(function(e,t,r){var n=e.css;typeof n=="string"&&t.registered[n]!==void 0&&(n=t.registered[n]);var o=e[AA],i=[n],s="";typeof e.className=="string"?s=Ri(t.registered,i,e.className):e.className!=null&&(s=e.className+" ");var a=Lo(i,void 0,qt.useContext(dA));s+=t.key+"-"+a.name;var c={};for(var l in e)xa.call(e,l)&&l!=="css"&&l!==AA&&!wp&&(c[l]=e[l]);return c.className=s,r&&(c.ref=r),qt.createElement(qt.Fragment,null,qt.createElement(IM,{cache:t,serialized:a,isStringTag:typeof o=="string"}),qt.createElement(o,c))}),Sp=xM});function yM(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Lo(t)}function pA(){var e=yM.apply(void 0,arguments),t="animation-"+e.name;return{name:t,styles:"@keyframes "+t+"{"+e.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}}var Fo,eR,Qp,hA=g(()=>{gA();gA();Fo=f(w());Ca();lA();Ea();eA();tA();sa();eR=f(gp()),Qp=function(t,r){var n=arguments;if(r==null||!xa.call(r,"css"))return Fo.createElement.apply(void 0,n);var o=n.length,i=new Array(o);i[0]=Sp,i[1]=Bp(t,r);for(var s=2;s<o;s++)i[s]=n[s];return Fo.createElement.apply(null,i)};(function(e){var t;t||(t=e.JSX||(e.JSX={}))})(Qp||(Qp={}))});var CA=U((nR,Mp)=>{Mp.exports=JBrowseExports["@mui/material/styles"]});var Ro,EA=g(()=>{Ro=e=>{let t=e.length,r=0,n="";for(;r<t;r++){let o=e[r];if(o==null)continue;let i;switch(typeof o){case"boolean":break;case"object":{if(Array.isArray(o))i=Ro(o);else{let s=o;i="";for(let a in s)s[a]&&a&&(i&&(i+=" "),i+=a)}break}default:i=o}i&&(n&&(n+=" "),n+=i)}return n}});function vp(e){return e instanceof Object&&!("styles"in e)&&!("length"in e)&&!("__emotion_styles"in e)}var Tp=g(()=>{});function Dp(e){let{useCache:t}=e;function r(){let n=t(),{css:o,cx:i}=(0,kp.useMemo)(()=>bM({cache:n}),[n]);return{css:o,cx:i}}return{useCssAndCx:r}}var kp,bM,_p,Np=g(()=>{kp=f(w(),1);Ea();Ca();EA();Tp();({createCssAndCx:bM}=(()=>{function e(r,n,o){let i=[],s=Ri(r,i,o);return i.length<2?o:s+n(i)}function t(r){let{cache:n}=r,o=(...s)=>{let a=Lo(s,n.registered);Pi(n,a,!1);let c=`${n.key}-${a.name}`;e:{let l=s[0];if(!vp(l))break e;_p.saveClassNameCSSObjectMapping(n,c,l)}return c};return{css:o,cx:(...s)=>{let a=Ro(s),c=_p.fixClassName(n,a,o);return e(n.registered,o,c)}}}return{createCssAndCx:t}})());_p=(()=>{let e=new WeakMap;return{saveClassNameCSSObjectMapping:(t,r,n)=>{let o=e.get(t);o===void 0&&(o=new Map,e.set(t,o)),o.set(r,n)},fixClassName:(()=>{function t(r){let n=!1;return r.map(([o,i])=>{if(i===void 0)return o;let s;if(n)s={"&&":i};else{s=o;for(let a in i)if(a.startsWith("@media")){n=!0;break}}return s})}return(r,n,o)=>{if(!n.includes(" "))return n;let i=e.get(r);return Ro(t(n.split(" ").map(s=>[s,i?.get(s)])).map(s=>typeof s=="string"?s:o(s)))}})()}})()});function Lp(e,t,r){if(!(t instanceof Object))return e;let n=Object.keys(t);if(n.length===0)return e;let o={};for(let i of Object.keys(e))o[i]=r(e[i],t[i]);for(let i of n){if(i in e)continue;let s=t[i];typeof s=="string"&&(o[i]=s)}return o}var Fp=g(()=>{});function Rp(e){if(!(e instanceof Object)||typeof e=="function")return e;let t=[];for(let r in e){let n=e[r],o=typeof n;if(!(o==="string"||o==="number"&&!isNaN(n)||o==="boolean"||n===void 0||n===null))return e;t.push(`${r}:${o}_${n}`)}return`xSqLiJdLMd9s${t.join("|")}`}var Pp=g(()=>{});function Op(e){let{useTheme:t}=e,{useCssAndCx:r}=Dp({useCache:wM});function n(){return function(o){let i=typeof o=="function"?o:()=>o;return function(a,c){let l=t(),{css:A,cx:u}=r(),m=(0,IA.useMemo)(()=>{let x=i(l),I={};for(let h of Object.keys(x)){let y=x[h];I[h]=A(y)}return I},[A,l]),d=c?.props.classes,p=Rp(d);return{classes:(0,IA.useMemo)(()=>d?Lp(m,d,u):m,[m,p,u]),theme:l,css:A,cx:u}}}}return{makeStyles:n}}var IA,wM,Gp=g(()=>{"use client";IA=f(w(),1);hA();Np();Fp();Pp();wM=fA});var Up,te,Hp=g(()=>{Up=f(CA(),1);Gp();({makeStyles:te}=Op({useTheme:Up.useTheme}))});var jp=g(()=>{Hp()});function ya(...e){return Ro(e)}var Et=g(()=>{"use client";hA();jp();EA()});function xA({children:e}){let{classes:t}=BM();return(0,qp.jsx)("div",{className:t.bg,children:e})}var qp,BM,Jp=g(()=>{qp=f(R(),1);Et();BM=te()(e=>({bg:{padding:4,margin:4,overflow:"auto",maxHeight:200,background:e.palette.mode==="dark"?"#833":"#f88",border:`1px solid ${e.palette.divider}`}}))});var Yp=U(yA=>{var Vp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");yA.encode=function(e){if(0<=e&&e<Vp.length)return Vp[e];throw new TypeError("Must be between 0 and 63: "+e)};yA.decode=function(e){var t=65,r=90,n=97,o=122,i=48,s=57,a=43,c=47,l=26,A=52;return t<=e&&e<=r?e-t:n<=e&&e<=o?e-n+l:i<=e&&e<=s?e-i+A:e==a?62:e==c?63:-1}});var BA=U(wA=>{var Wp=Yp(),bA=5,zp=1<<bA,$p=zp-1,Kp=zp;function SM(e){return e<0?(-e<<1)+1:(e<<1)+0}function QM(e){var t=(e&1)===1,r=e>>1;return t?-r:r}wA.encode=function(t){var r="",n,o=SM(t);do n=o&$p,o>>>=bA,o>0&&(n|=Kp),r+=Wp.encode(n);while(o>0);return r};wA.decode=function(t,r,n){var o=t.length,i=0,s=0,a,c;do{if(r>=o)throw new Error("Expected more digits in base 64 VLQ value.");if(c=Wp.decode(t.charCodeAt(r++)),c===-1)throw new Error("Invalid base64 digit: "+t.charAt(r-1));a=!!(c&Kp),c&=$p,i=i+(c<<s),s+=bA}while(a);n.value=QM(i),n.rest=r}});var Oo=U(ze=>{function MM(e,t,r){if(t in e)return e[t];if(arguments.length===3)return r;throw new Error('"'+t+'" is a required argument.')}ze.getArg=MM;var Xp=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,vM=/^data:.+\,.+$/;function Ui(e){var t=e.match(Xp);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}ze.urlParse=Ui;function Po(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}ze.urlGenerate=Po;var TM=32;function _M(e){var t=[];return function(r){for(var n=0;n<t.length;n++)if(t[n].input===r){var o=t[0];return t[0]=t[n],t[n]=o,t[0].result}var i=e(r);return t.unshift({input:r,result:i}),t.length>TM&&t.pop(),i}}var SA=_M(function(t){var r=t,n=Ui(t);if(n){if(!n.path)return t;r=n.path}for(var o=ze.isAbsolute(r),i=[],s=0,a=0;;)if(s=a,a=r.indexOf("/",s),a===-1){i.push(r.slice(s));break}else for(i.push(r.slice(s,a));a<r.length&&r[a]==="/";)a++;for(var c,l=0,a=i.length-1;a>=0;a--)c=i[a],c==="."?i.splice(a,1):c===".."?l++:l>0&&(c===""?(i.splice(a+1,l),l=0):(i.splice(a,2),l--));return r=i.join("/"),r===""&&(r=o?"/":"."),n?(n.path=r,Po(n)):r});ze.normalize=SA;function Zp(e,t){e===""&&(e="."),t===""&&(t=".");var r=Ui(t),n=Ui(e);if(n&&(e=n.path||"/"),r&&!r.scheme)return n&&(r.scheme=n.scheme),Po(r);if(r||t.match(vM))return t;if(n&&!n.host&&!n.path)return n.host=t,Po(n);var o=t.charAt(0)==="/"?t:SA(e.replace(/\/+$/,"")+"/"+t);return n?(n.path=o,Po(n)):o}ze.join=Zp;ze.isAbsolute=function(e){return e.charAt(0)==="/"||Xp.test(e)};function kM(e,t){e===""&&(e="."),e=e.replace(/\/$/,"");for(var r=0;t.indexOf(e+"/")!==0;){var n=e.lastIndexOf("/");if(n<0||(e=e.slice(0,n),e.match(/^([^\/]+:\/)?\/*$/)))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)}ze.relative=kM;var eh=(function(){var e=Object.create(null);return!("__proto__"in e)})();function th(e){return e}function DM(e){return rh(e)?"$"+e:e}ze.toSetString=eh?th:DM;function NM(e){return rh(e)?e.slice(1):e}ze.fromSetString=eh?th:NM;function rh(e){if(!e)return!1;var t=e.length;if(t<9||e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(var r=t-10;r>=0;r--)if(e.charCodeAt(r)!==36)return!1;return!0}function LM(e,t,r){var n=Hr(e.source,t.source);return n!==0||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0||r)||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=e.generatedLine-t.generatedLine,n!==0)?n:Hr(e.name,t.name)}ze.compareByOriginalPositions=LM;function FM(e,t,r){var n;return n=e.originalLine-t.originalLine,n!==0||(n=e.originalColumn-t.originalColumn,n!==0||r)||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=e.generatedLine-t.generatedLine,n!==0)?n:Hr(e.name,t.name)}ze.compareByOriginalPositionsNoSource=FM;function RM(e,t,r){var n=e.generatedLine-t.generatedLine;return n!==0||(n=e.generatedColumn-t.generatedColumn,n!==0||r)||(n=Hr(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:Hr(e.name,t.name)}ze.compareByGeneratedPositionsDeflated=RM;function PM(e,t,r){var n=e.generatedColumn-t.generatedColumn;return n!==0||r||(n=Hr(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:Hr(e.name,t.name)}ze.compareByGeneratedPositionsDeflatedNoLine=PM;function Hr(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}function OM(e,t){var r=e.generatedLine-t.generatedLine;return r!==0||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=Hr(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:Hr(e.name,t.name)}ze.compareByGeneratedPositionsInflated=OM;function GM(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}ze.parseSourceMapInput=GM;function UM(e,t,r){if(t=t||"",e&&(e[e.length-1]!=="/"&&t[0]!=="/"&&(e+="/"),t=e+t),r){var n=Ui(r);if(!n)throw new Error("sourceMapURL could not be parsed");if(n.path){var o=n.path.lastIndexOf("/");o>=0&&(n.path=n.path.substring(0,o+1))}t=Zp(Po(n),t)}return SA(t)}ze.computeSourceURL=UM});var vA=U(nh=>{var QA=Oo(),MA=Object.prototype.hasOwnProperty,On=typeof Map<"u";function jr(){this._array=[],this._set=On?new Map:Object.create(null)}jr.fromArray=function(t,r){for(var n=new jr,o=0,i=t.length;o<i;o++)n.add(t[o],r);return n};jr.prototype.size=function(){return On?this._set.size:Object.getOwnPropertyNames(this._set).length};jr.prototype.add=function(t,r){var n=On?t:QA.toSetString(t),o=On?this.has(t):MA.call(this._set,n),i=this._array.length;(!o||r)&&this._array.push(t),o||(On?this._set.set(t,i):this._set[n]=i)};jr.prototype.has=function(t){if(On)return this._set.has(t);var r=QA.toSetString(t);return MA.call(this._set,r)};jr.prototype.indexOf=function(t){if(On){var r=this._set.get(t);if(r>=0)return r}else{var n=QA.toSetString(t);if(MA.call(this._set,n))return this._set[n]}throw new Error('"'+t+'" is not in the set.')};jr.prototype.at=function(t){if(t>=0&&t<this._array.length)return this._array[t];throw new Error("No element indexed by "+t)};jr.prototype.toArray=function(){return this._array.slice()};nh.ArraySet=jr});var sh=U(ih=>{var oh=Oo();function HM(e,t){var r=e.generatedLine,n=t.generatedLine,o=e.generatedColumn,i=t.generatedColumn;return n>r||n==r&&i>=o||oh.compareByGeneratedPositionsInflated(e,t)<=0}function ba(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}ba.prototype.unsortedForEach=function(t,r){this._array.forEach(t,r)};ba.prototype.add=function(t){HM(this._last,t)?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))};ba.prototype.toArray=function(){return this._sorted||(this._array.sort(oh.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};ih.MappingList=ba});var TA=U(ah=>{var Hi=BA(),Le=Oo(),wa=vA().ArraySet,jM=sh().MappingList;function Jt(e){e||(e={}),this._file=Le.getArg(e,"file",null),this._sourceRoot=Le.getArg(e,"sourceRoot",null),this._skipValidation=Le.getArg(e,"skipValidation",!1),this._ignoreInvalidMapping=Le.getArg(e,"ignoreInvalidMapping",!1),this._sources=new wa,this._names=new wa,this._mappings=new jM,this._sourcesContents=null}Jt.prototype._version=3;Jt.fromSourceMap=function(t,r){var n=t.sourceRoot,o=new Jt(Object.assign(r||{},{file:t.file,sourceRoot:n}));return t.eachMapping(function(i){var s={generated:{line:i.generatedLine,column:i.generatedColumn}};i.source!=null&&(s.source=i.source,n!=null&&(s.source=Le.relative(n,s.source)),s.original={line:i.originalLine,column:i.originalColumn},i.name!=null&&(s.name=i.name)),o.addMapping(s)}),t.sources.forEach(function(i){var s=i;n!==null&&(s=Le.relative(n,i)),o._sources.has(s)||o._sources.add(s);var a=t.sourceContentFor(i);a!=null&&o.setSourceContent(i,a)}),o};Jt.prototype.addMapping=function(t){var r=Le.getArg(t,"generated"),n=Le.getArg(t,"original",null),o=Le.getArg(t,"source",null),i=Le.getArg(t,"name",null);!this._skipValidation&&this._validateMapping(r,n,o,i)===!1||(o!=null&&(o=String(o),this._sources.has(o)||this._sources.add(o)),i!=null&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n!=null&&n.line,originalColumn:n!=null&&n.column,source:o,name:i}))};Jt.prototype.setSourceContent=function(t,r){var n=t;this._sourceRoot!=null&&(n=Le.relative(this._sourceRoot,n)),r!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[Le.toSetString(n)]=r):this._sourcesContents&&(delete this._sourcesContents[Le.toSetString(n)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))};Jt.prototype.applySourceMap=function(t,r,n){var o=r;if(r==null){if(t.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);o=t.file}var i=this._sourceRoot;i!=null&&(o=Le.relative(i,o));var s=new wa,a=new wa;this._mappings.unsortedForEach(function(c){if(c.source===o&&c.originalLine!=null){var l=t.originalPositionFor({line:c.originalLine,column:c.originalColumn});l.source!=null&&(c.source=l.source,n!=null&&(c.source=Le.join(n,c.source)),i!=null&&(c.source=Le.relative(i,c.source)),c.originalLine=l.line,c.originalColumn=l.column,l.name!=null&&(c.name=l.name))}var A=c.source;A!=null&&!s.has(A)&&s.add(A);var u=c.name;u!=null&&!a.has(u)&&a.add(u)},this),this._sources=s,this._names=a,t.sources.forEach(function(c){var l=t.sourceContentFor(c);l!=null&&(n!=null&&(c=Le.join(n,c)),i!=null&&(c=Le.relative(i,c)),this.setSourceContent(c,l))},this)};Jt.prototype._validateMapping=function(t,r,n,o){if(r&&typeof r.line!="number"&&typeof r.column!="number"){var i="original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.";if(this._ignoreInvalidMapping)return typeof console<"u"&&console.warn&&console.warn(i),!1;throw new Error(i)}if(!(t&&"line"in t&&"column"in t&&t.line>0&&t.column>=0&&!r&&!n&&!o)){if(t&&"line"in t&&"column"in t&&r&&"line"in r&&"column"in r&&t.line>0&&t.column>=0&&r.line>0&&r.column>=0&&n)return;var i="Invalid mapping: "+JSON.stringify({generated:t,source:n,original:r,name:o});if(this._ignoreInvalidMapping)return typeof console<"u"&&console.warn&&console.warn(i),!1;throw new Error(i)}};Jt.prototype._serializeMappings=function(){for(var t=0,r=1,n=0,o=0,i=0,s=0,a="",c,l,A,u,m=this._mappings.toArray(),d=0,p=m.length;d<p;d++){if(l=m[d],c="",l.generatedLine!==r)for(t=0;l.generatedLine!==r;)c+=";",r++;else if(d>0){if(!Le.compareByGeneratedPositionsInflated(l,m[d-1]))continue;c+=","}c+=Hi.encode(l.generatedColumn-t),t=l.generatedColumn,l.source!=null&&(u=this._sources.indexOf(l.source),c+=Hi.encode(u-s),s=u,c+=Hi.encode(l.originalLine-1-o),o=l.originalLine-1,c+=Hi.encode(l.originalColumn-n),n=l.originalColumn,l.name!=null&&(A=this._names.indexOf(l.name),c+=Hi.encode(A-i),i=A)),a+=c}return a};Jt.prototype._generateSourcesContent=function(t,r){return t.map(function(n){if(!this._sourcesContents)return null;r!=null&&(n=Le.relative(r,n));var o=Le.toSetString(n);return Object.prototype.hasOwnProperty.call(this._sourcesContents,o)?this._sourcesContents[o]:null},this)};Jt.prototype.toJSON=function(){var t={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(t.file=this._file),this._sourceRoot!=null&&(t.sourceRoot=this._sourceRoot),this._sourcesContents&&(t.sourcesContent=this._generateSourcesContent(t.sources,t.sourceRoot)),t};Jt.prototype.toString=function(){return JSON.stringify(this.toJSON())};ah.SourceMapGenerator=Jt});var ch=U(Gn=>{Gn.GREATEST_LOWER_BOUND=1;Gn.LEAST_UPPER_BOUND=2;function _A(e,t,r,n,o,i){var s=Math.floor((t-e)/2)+e,a=o(r,n[s],!0);return a===0?s:a>0?t-s>1?_A(s,t,r,n,o,i):i==Gn.LEAST_UPPER_BOUND?t<n.length?t:-1:s:s-e>1?_A(e,s,r,n,o,i):i==Gn.LEAST_UPPER_BOUND?s:e<0?-1:e}Gn.search=function(t,r,n,o){if(r.length===0)return-1;var i=_A(-1,r.length,t,r,n,o||Gn.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&n(r[i],r[i-1],!0)===0;)--i;return i}});var uh=U(Ah=>{function qM(e){function t(o,i,s){var a=o[i];o[i]=o[s],o[s]=a}function r(o,i){return Math.round(o+Math.random()*(i-o))}function n(o,i,s,a){if(s<a){var c=r(s,a),l=s-1;t(o,c,a);for(var A=o[a],u=s;u<a;u++)i(o[u],A,!1)<=0&&(l+=1,t(o,l,u));t(o,l+1,u);var m=l+1;n(o,i,s,m-1),n(o,i,m+1,a)}}return n}function JM(e){let t=qM.toString();return new Function(`return ${t}`)()(e)}var lh=new WeakMap;Ah.quickSort=function(e,t,r=0){let n=lh.get(t);n===void 0&&(n=JM(t),lh.set(t,n)),n(e,t,r,e.length-1)}});var dh=U(Ba=>{var D=Oo(),DA=ch(),Go=vA().ArraySet,VM=BA(),ji=uh().quickSort;function Ee(e,t){var r=e;return typeof e=="string"&&(r=D.parseSourceMapInput(e)),r.sections!=null?new sr(r,t):new ot(r,t)}Ee.fromSourceMap=function(e,t){return ot.fromSourceMap(e,t)};Ee.prototype._version=3;Ee.prototype.__generatedMappings=null;Object.defineProperty(Ee.prototype,"_generatedMappings",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}});Ee.prototype.__originalMappings=null;Object.defineProperty(Ee.prototype,"_originalMappings",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}});Ee.prototype._charIsMappingSeparator=function(t,r){var n=t.charAt(r);return n===";"||n===","};Ee.prototype._parseMappings=function(t,r){throw new Error("Subclasses must implement _parseMappings")};Ee.GENERATED_ORDER=1;Ee.ORIGINAL_ORDER=2;Ee.GREATEST_LOWER_BOUND=1;Ee.LEAST_UPPER_BOUND=2;Ee.prototype.eachMapping=function(t,r,n){var o=r||null,i=n||Ee.GENERATED_ORDER,s;switch(i){case Ee.GENERATED_ORDER:s=this._generatedMappings;break;case Ee.ORIGINAL_ORDER:s=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}for(var a=this.sourceRoot,c=t.bind(o),l=this._names,A=this._sources,u=this._sourceMapURL,m=0,d=s.length;m<d;m++){var p=s[m],E=p.source===null?null:A.at(p.source);E!==null&&(E=D.computeSourceURL(a,E,u)),c({source:E,generatedLine:p.generatedLine,generatedColumn:p.generatedColumn,originalLine:p.originalLine,originalColumn:p.originalColumn,name:p.name===null?null:l.at(p.name)})}};Ee.prototype.allGeneratedPositionsFor=function(t){var r=D.getArg(t,"line"),n={source:D.getArg(t,"source"),originalLine:r,originalColumn:D.getArg(t,"column",0)};if(n.source=this._findSourceIndex(n.source),n.source<0)return[];var o=[],i=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",D.compareByOriginalPositions,DA.LEAST_UPPER_BOUND);if(i>=0){var s=this._originalMappings[i];if(t.column===void 0)for(var a=s.originalLine;s&&s.originalLine===a;)o.push({line:D.getArg(s,"generatedLine",null),column:D.getArg(s,"generatedColumn",null),lastColumn:D.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i];else for(var c=s.originalColumn;s&&s.originalLine===r&&s.originalColumn==c;)o.push({line:D.getArg(s,"generatedLine",null),column:D.getArg(s,"generatedColumn",null),lastColumn:D.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i]}return o};Ba.SourceMapConsumer=Ee;function ot(e,t){var r=e;typeof e=="string"&&(r=D.parseSourceMapInput(e));var n=D.getArg(r,"version"),o=D.getArg(r,"sources"),i=D.getArg(r,"names",[]),s=D.getArg(r,"sourceRoot",null),a=D.getArg(r,"sourcesContent",null),c=D.getArg(r,"mappings"),l=D.getArg(r,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);s&&(s=D.normalize(s)),o=o.map(String).map(D.normalize).map(function(A){return s&&D.isAbsolute(s)&&D.isAbsolute(A)?D.relative(s,A):A}),this._names=Go.fromArray(i.map(String),!0),this._sources=Go.fromArray(o,!0),this._absoluteSources=this._sources.toArray().map(function(A){return D.computeSourceURL(s,A,t)}),this.sourceRoot=s,this.sourcesContent=a,this._mappings=c,this._sourceMapURL=t,this.file=l}ot.prototype=Object.create(Ee.prototype);ot.prototype.consumer=Ee;ot.prototype._findSourceIndex=function(e){var t=e;if(this.sourceRoot!=null&&(t=D.relative(this.sourceRoot,t)),this._sources.has(t))return this._sources.indexOf(t);var r;for(r=0;r<this._absoluteSources.length;++r)if(this._absoluteSources[r]==e)return r;return-1};ot.fromSourceMap=function(t,r){var n=Object.create(ot.prototype),o=n._names=Go.fromArray(t._names.toArray(),!0),i=n._sources=Go.fromArray(t._sources.toArray(),!0);n.sourceRoot=t._sourceRoot,n.sourcesContent=t._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=t._file,n._sourceMapURL=r,n._absoluteSources=n._sources.toArray().map(function(d){return D.computeSourceURL(n.sourceRoot,d,r)});for(var s=t._mappings.toArray().slice(),a=n.__generatedMappings=[],c=n.__originalMappings=[],l=0,A=s.length;l<A;l++){var u=s[l],m=new mh;m.generatedLine=u.generatedLine,m.generatedColumn=u.generatedColumn,u.source&&(m.source=i.indexOf(u.source),m.originalLine=u.originalLine,m.originalColumn=u.originalColumn,u.name&&(m.name=o.indexOf(u.name)),c.push(m)),a.push(m)}return ji(n.__originalMappings,D.compareByOriginalPositions),n};ot.prototype._version=3;Object.defineProperty(ot.prototype,"sources",{get:function(){return this._absoluteSources.slice()}});function mh(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}var kA=D.compareByGeneratedPositionsDeflatedNoLine;function fh(e,t){let r=e.length,n=e.length-t;if(!(n<=1))if(n==2){let o=e[t],i=e[t+1];kA(o,i)>0&&(e[t]=i,e[t+1]=o)}else if(n<20)for(let o=t;o<r;o++)for(let i=o;i>t;i--){let s=e[i-1],a=e[i];if(kA(s,a)<=0)break;e[i-1]=a,e[i]=s}else ji(e,kA,t)}ot.prototype._parseMappings=function(t,r){var n=1,o=0,i=0,s=0,a=0,c=0,l=t.length,A=0,u={},m={},d=[],p=[],E,x,I,h,y;let Q=0;for(;A<l;)if(t.charAt(A)===";")n++,A++,o=0,fh(p,Q),Q=p.length;else if(t.charAt(A)===",")A++;else{for(E=new mh,E.generatedLine=n,h=A;h<l&&!this._charIsMappingSeparator(t,h);h++);for(x=t.slice(A,h),I=[];A<h;)VM.decode(t,A,m),y=m.value,A=m.rest,I.push(y);if(I.length===2)throw new Error("Found a source, but no line and column");if(I.length===3)throw new Error("Found a source and line, but no column");if(E.generatedColumn=o+I[0],o=E.generatedColumn,I.length>1&&(E.source=a+I[1],a+=I[1],E.originalLine=i+I[2],i=E.originalLine,E.originalLine+=1,E.originalColumn=s+I[3],s=E.originalColumn,I.length>4&&(E.name=c+I[4],c+=I[4])),p.push(E),typeof E.originalLine=="number"){let B=E.source;for(;d.length<=B;)d.push(null);d[B]===null&&(d[B]=[]),d[B].push(E)}}fh(p,Q),this.__generatedMappings=p;for(var M=0;M<d.length;M++)d[M]!=null&&ji(d[M],D.compareByOriginalPositionsNoSource);this.__originalMappings=[].concat(...d)};ot.prototype._findMapping=function(t,r,n,o,i,s){if(t[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+t[n]);if(t[o]<0)throw new TypeError("Column must be greater than or equal to 0, got "+t[o]);return DA.search(t,r,i,s)};ot.prototype.computeColumnSpans=function(){for(var t=0;t<this._generatedMappings.length;++t){var r=this._generatedMappings[t];if(t+1<this._generatedMappings.length){var n=this._generatedMappings[t+1];if(r.generatedLine===n.generatedLine){r.lastGeneratedColumn=n.generatedColumn-1;continue}}r.lastGeneratedColumn=1/0}};ot.prototype.originalPositionFor=function(t){var r={generatedLine:D.getArg(t,"line"),generatedColumn:D.getArg(t,"column")},n=this._findMapping(r,this._generatedMappings,"generatedLine","generatedColumn",D.compareByGeneratedPositionsDeflated,D.getArg(t,"bias",Ee.GREATEST_LOWER_BOUND));if(n>=0){var o=this._generatedMappings[n];if(o.generatedLine===r.generatedLine){var i=D.getArg(o,"source",null);i!==null&&(i=this._sources.at(i),i=D.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var s=D.getArg(o,"name",null);return s!==null&&(s=this._names.at(s)),{source:i,line:D.getArg(o,"originalLine",null),column:D.getArg(o,"originalColumn",null),name:s}}}return{source:null,line:null,column:null,name:null}};ot.prototype.hasContentsOfAllSources=function(){return this.sourcesContent?this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(t){return t==null}):!1};ot.prototype.sourceContentFor=function(t,r){if(!this.sourcesContent)return null;var n=this._findSourceIndex(t);if(n>=0)return this.sourcesContent[n];var o=t;this.sourceRoot!=null&&(o=D.relative(this.sourceRoot,o));var i;if(this.sourceRoot!=null&&(i=D.urlParse(this.sourceRoot))){var s=o.replace(/^file:\/\//,"");if(i.scheme=="file"&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!i.path||i.path=="/")&&this._sources.has("/"+o))return this.sourcesContent[this._sources.indexOf("/"+o)]}if(r)return null;throw new Error('"'+o+'" is not in the SourceMap.')};ot.prototype.generatedPositionFor=function(t){var r=D.getArg(t,"source");if(r=this._findSourceIndex(r),r<0)return{line:null,column:null,lastColumn:null};var n={source:r,originalLine:D.getArg(t,"line"),originalColumn:D.getArg(t,"column")},o=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",D.compareByOriginalPositions,D.getArg(t,"bias",Ee.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===n.source)return{line:D.getArg(i,"generatedLine",null),column:D.getArg(i,"generatedColumn",null),lastColumn:D.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};Ba.BasicSourceMapConsumer=ot;function sr(e,t){var r=e;typeof e=="string"&&(r=D.parseSourceMapInput(e));var n=D.getArg(r,"version"),o=D.getArg(r,"sections");if(n!=this._version)throw new Error("Unsupported version: "+n);this._sources=new Go,this._names=new Go;var i={line:-1,column:0};this._sections=o.map(function(s){if(s.url)throw new Error("Support for url field in sections not implemented.");var a=D.getArg(s,"offset"),c=D.getArg(a,"line"),l=D.getArg(a,"column");if(c<i.line||c===i.line&&l<i.column)throw new Error("Section offsets must be ordered and non-overlapping.");return i=a,{generatedOffset:{generatedLine:c+1,generatedColumn:l+1},consumer:new Ee(D.getArg(s,"map"),t)}})}sr.prototype=Object.create(Ee.prototype);sr.prototype.constructor=Ee;sr.prototype._version=3;Object.defineProperty(sr.prototype,"sources",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var r=0;r<this._sections[t].consumer.sources.length;r++)e.push(this._sections[t].consumer.sources[r]);return e}});sr.prototype.originalPositionFor=function(t){var r={generatedLine:D.getArg(t,"line"),generatedColumn:D.getArg(t,"column")},n=DA.search(r,this._sections,function(i,s){var a=i.generatedLine-s.generatedOffset.generatedLine;return a||i.generatedColumn-s.generatedOffset.generatedColumn}),o=this._sections[n];return o?o.consumer.originalPositionFor({line:r.generatedLine-(o.generatedOffset.generatedLine-1),column:r.generatedColumn-(o.generatedOffset.generatedLine===r.generatedLine?o.generatedOffset.generatedColumn-1:0),bias:t.bias}):{source:null,line:null,column:null,name:null}};sr.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(t){return t.consumer.hasContentsOfAllSources()})};sr.prototype.sourceContentFor=function(t,r){for(var n=0;n<this._sections.length;n++){var o=this._sections[n],i=o.consumer.sourceContentFor(t,!0);if(i||i==="")return i}if(r)return null;throw new Error('"'+t+'" is not in the SourceMap.')};sr.prototype.generatedPositionFor=function(t){for(var r=0;r<this._sections.length;r++){var n=this._sections[r];if(n.consumer._findSourceIndex(D.getArg(t,"source"))!==-1){var o=n.consumer.generatedPositionFor(t);if(o){var i={line:o.line+(n.generatedOffset.generatedLine-1),column:o.column+(n.generatedOffset.generatedLine===o.line?n.generatedOffset.generatedColumn-1:0)};return i}}}return{line:null,column:null}};sr.prototype._parseMappings=function(t,r){this.__generatedMappings=[],this.__originalMappings=[];for(var n=0;n<this._sections.length;n++)for(var o=this._sections[n],i=o.consumer._generatedMappings,s=0;s<i.length;s++){var a=i[s],c=o.consumer._sources.at(a.source);c!==null&&(c=D.computeSourceURL(o.consumer.sourceRoot,c,this._sourceMapURL)),this._sources.add(c),c=this._sources.indexOf(c);var l=null;a.name&&(l=o.consumer._names.at(a.name),this._names.add(l),l=this._names.indexOf(l));var A={source:c,generatedLine:a.generatedLine+(o.generatedOffset.generatedLine-1),generatedColumn:a.generatedColumn+(o.generatedOffset.generatedLine===a.generatedLine?o.generatedOffset.generatedColumn-1:0),originalLine:a.originalLine,originalColumn:a.originalColumn,name:l};this.__generatedMappings.push(A),typeof A.originalLine=="number"&&this.__originalMappings.push(A)}ji(this.__generatedMappings,D.compareByGeneratedPositionsDeflated),ji(this.__originalMappings,D.compareByOriginalPositions)};Ba.IndexedSourceMapConsumer=sr});var ph=U(gh=>{var YM=TA().SourceMapGenerator,Sa=Oo(),WM=/(\r?\n)/,zM=10,Uo="$$$isSourceNode$$$";function Dt(e,t,r,n,o){this.children=[],this.sourceContents={},this.line=e??null,this.column=t??null,this.source=r??null,this.name=o??null,this[Uo]=!0,n!=null&&this.add(n)}Dt.fromStringWithSourceMap=function(t,r,n){var o=new Dt,i=t.split(WM),s=0,a=function(){var m=p(),d=p()||"";return m+d;function p(){return s<i.length?i[s++]:void 0}},c=1,l=0,A=null;return r.eachMapping(function(m){if(A!==null)if(c<m.generatedLine)u(A,a()),c++,l=0;else{var d=i[s]||"",p=d.substr(0,m.generatedColumn-l);i[s]=d.substr(m.generatedColumn-l),l=m.generatedColumn,u(A,p),A=m;return}for(;c<m.generatedLine;)o.add(a()),c++;if(l<m.generatedColumn){var d=i[s]||"";o.add(d.substr(0,m.generatedColumn)),i[s]=d.substr(m.generatedColumn),l=m.generatedColumn}A=m},this),s<i.length&&(A&&u(A,a()),o.add(i.splice(s).join(""))),r.sources.forEach(function(m){var d=r.sourceContentFor(m);d!=null&&(n!=null&&(m=Sa.join(n,m)),o.setSourceContent(m,d))}),o;function u(m,d){if(m===null||m.source===void 0)o.add(d);else{var p=n?Sa.join(n,m.source):m.source;o.add(new Dt(m.originalLine,m.originalColumn,p,d,m.name))}}};Dt.prototype.add=function(t){if(Array.isArray(t))t.forEach(function(r){this.add(r)},this);else if(t[Uo]||typeof t=="string")t&&this.children.push(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};Dt.prototype.prepend=function(t){if(Array.isArray(t))for(var r=t.length-1;r>=0;r--)this.prepend(t[r]);else if(t[Uo]||typeof t=="string")this.children.unshift(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};Dt.prototype.walk=function(t){for(var r,n=0,o=this.children.length;n<o;n++)r=this.children[n],r[Uo]?r.walk(t):r!==""&&t(r,{source:this.source,line:this.line,column:this.column,name:this.name})};Dt.prototype.join=function(t){var r,n,o=this.children.length;if(o>0){for(r=[],n=0;n<o-1;n++)r.push(this.children[n]),r.push(t);r.push(this.children[n]),this.children=r}return this};Dt.prototype.replaceRight=function(t,r){var n=this.children[this.children.length-1];return n[Uo]?n.replaceRight(t,r):typeof n=="string"?this.children[this.children.length-1]=n.replace(t,r):this.children.push("".replace(t,r)),this};Dt.prototype.setSourceContent=function(t,r){this.sourceContents[Sa.toSetString(t)]=r};Dt.prototype.walkSourceContents=function(t){for(var r=0,n=this.children.length;r<n;r++)this.children[r][Uo]&&this.children[r].walkSourceContents(t);for(var o=Object.keys(this.sourceContents),r=0,n=o.length;r<n;r++)t(Sa.fromSetString(o[r]),this.sourceContents[o[r]])};Dt.prototype.toString=function(){var t="";return this.walk(function(r){t+=r}),t};Dt.prototype.toStringWithSourceMap=function(t){var r={code:"",line:1,column:0},n=new YM(t),o=!1,i=null,s=null,a=null,c=null;return this.walk(function(l,A){r.code+=l,A.source!==null&&A.line!==null&&A.column!==null?((i!==A.source||s!==A.line||a!==A.column||c!==A.name)&&n.addMapping({source:A.source,original:{line:A.line,column:A.column},generated:{line:r.line,column:r.column},name:A.name}),i=A.source,s=A.line,a=A.column,c=A.name,o=!0):o&&(n.addMapping({generated:{line:r.line,column:r.column}}),i=null,o=!1);for(var u=0,m=l.length;u<m;u++)l.charCodeAt(u)===zM?(r.line++,r.column=0,u+1===m?(i=null,o=!1):o&&n.addMapping({source:A.source,original:{line:A.line,column:A.column},generated:{line:r.line,column:r.column},name:A.name})):r.column++}),this.walkSourceContents(function(l,A){n.setSourceContent(l,A)}),{code:r.code,map:n}};gh.SourceNode=Dt});var hh=U(Qa=>{Qa.SourceMapGenerator=TA().SourceMapGenerator;Qa.SourceMapConsumer=dh().SourceMapConsumer;Qa.SourceNode=ph().SourceNode});var Ch,Ma,NA=g(()=>{"use client";W();Ch=f(R(),1),Ma=(0,_.createSvgIcon)((0,Ch.jsx)("path",{d:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z"}),"OpenInNew")});function Ta(e){let{children:t,...r}=e;return(0,va.jsxs)(Eh.Link,{...r,target:"_blank",rel:"noopener noreferrer",children:[t," ",(0,va.jsx)(Ma,{fontSize:"small"})]})}var va,Eh,Ih=g(()=>{va=f(R(),1);NA();Eh=f(k(),1)});function LA({text:e,extra:t}){let{classes:r}=$M(),n=t?`supporting data: ${JSON.stringify(t,null,2)}`:"",o=[e,n].filter(Boolean).join(`
1
+ "use strict";var JBrowsePluginMsaView=(()=>{var VM=Object.create;var la=Object.defineProperty;var YM=Object.getOwnPropertyDescriptor;var WM=Object.getOwnPropertyNames;var zM=Object.getPrototypeOf,$M=Object.prototype.hasOwnProperty;var g=(e,t,r)=>()=>{if(r)throw r[0];try{return e&&(t=e(e=0)),t}catch(n){throw r=[n],n}};var j=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(r){throw t=0,r}},We=(e,t)=>{for(var r in t)la(e,r,{get:t[r],enumerable:!0})},cp=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of WM(t))!$M.call(e,o)&&o!==r&&la(e,o,{get:()=>t[o],enumerable:!(n=YM(t,o))||n.enumerable});return e};var f=(e,t,r)=>(r=e!=null?VM(zM(e)):{},cp(t||!e||!e.__esModule?la(r,"default",{value:e,enumerable:!0}):r,e)),KM=e=>cp(la({},"__esModule",{value:!0}),e);var Ap=j((OR,lp)=>{lp.exports=JBrowseExports["@jbrowse/core/Plugin"]});var Do=j((GR,up)=>{up.exports=JBrowseExports["@jbrowse/core/configuration"]});var de=j((UR,fp)=>{fp.exports=JBrowseExports["@jbrowse/core/util"]});var Ft=j((HR,dp)=>{dp.exports=JBrowseExports["mobx-state-tree"]});var pp=j((jR,mp)=>{mp.exports=JBrowseExports["@mui/material/utils"]});var D,V=g(()=>{"use client";D=f(pp(),1)});var P=j((JR,gp)=>{gp.exports=JBrowseExports["react/jsx-runtime"]});var Q=j((WR,Ep)=>{Ep.exports=JBrowseExports.react});var U=j((zR,Ip)=>{Ip.exports=JBrowseExports["mobx-react"]});var Qe=j(($R,xp)=>{xp.exports=JBrowseExports["tss-react/mui"]});var gA=j((eF,bp)=>{bp.exports=JBrowseExports["@jbrowse/core/pluggableElementTypes"]});var lr=j((rF,Sp)=>{Sp.exports=JBrowseExports.mobx});function fa(e){let{scrollX:t,msaAreaWidth:r,minimapHeight:n,colWidth:o,numColumns:i}=e,s=r/i/o,a=-t,c=a*s,l=(a+r)*s,A=Math.max(l-c,20),u=n-12,d=`${c+A},0 ${c},0 0,${u} ${r},${u}`;return{unit:s,s:c,w:A,polygonHeight:u,polygonPoints:d}}var hA=g(()=>{});var Jn,Qp,XM,Mp,vp=g(()=>{Jn=f(Q(),1),Qp=f(U(),1);hA();XM=(0,Qp.observer)(({model:e})=>{let{msaAreaWidth:t}=e,{s:r,w:n,polygonPoints:o}=fa(e),i="rgb(66, 119, 127)",s=.3;return Jn.default.createElement(Jn.default.Fragment,null,Jn.default.createElement("rect",{x:0,y:0,width:t,height:12,stroke:"#555",fill:"none"}),Jn.default.createElement("rect",{x:Math.max(0,r),y:0,width:n,height:12,fill:i,fillOpacity:s,stroke:"#555"}),Jn.default.createElement("g",{transform:`translate(0 ${12})`},Jn.default.createElement("polygon",{fill:i,fillOpacity:s,points:o})))}),Mp=XM});function da({model:e,offsetY:t,blockSizeY:r}){let{leaves:n,rowHeight:o}=e,i=Math.max(0,Math.floor((t-o)/o)),s=Math.max(0,Math.ceil((t+r+o)/o));return n.slice(i,s)}var CA=g(()=>{});function ma({model:e,offsetX:t,offsetY:r,ctx:n,highResScaleFactorOverride:o,blockSizeYOverride:i}){let{blockSize:s,rowHeight:a,highResScaleFactor:c,showDomains:l}=e;if(l){let A=o??c,u=i??s;n.resetTransform(),n.scale(A,A),n.translate(-t,a/2-r);let d=da({model:e,offsetY:r,blockSizeY:u});ZM({model:e,ctx:n,visibleLeaves:d})}}function ZM({model:e,ctx:t,visibleLeaves:r}){let{subFeatureRows:n,colWidth:o,rowHeight:i,fillPalette:s,strokePalette:a,tidyFilteredGatheredInterProAnnotations:c}=e;for(let l=0,A=r.length;l<A;l++){let u=r[l],{x:d,data:{name:m}}=u,C=d,E=c[m];if(E)for(let x=0,I=E.length;x<I;x++){let{start:p,end:y,accession:B}=E[x],b=e.seqPosToVisibleCol(m,p-1),S=e.seqPosToVisibleCol(m,y);if(b===void 0||S===void 0)continue;let M=b*o;t.fillStyle=s[B],t.strokeStyle=a[B];let G=n?4:i,R=C-i+(n?x*G:0),k=o*(S-b);t.fillRect(M,R,k,G),t.strokeRect(M,R,k,G)}}}var EA=g(()=>{CA()});function Vi({offsetX:e,blockWidth:t,colWidth:r}){return{xStart:Math.max(0,Math.floor(e/r)),xEnd:Math.max(0,Math.ceil((e+t)/r))}}var IA=g(()=>{});function Qr(e,t,r=!1){e.font=e.font.replace(/(?:bold )?[\d.]+px/,`${r?"bold ":""}${t}px`)}var No=g(()=>{});var e2,Wr,ze,Wt,Fp,Tp,xA,t2,pa,Pp,Op,_p,Dp,kp,Yi,r2,n2,o2,i2,bA,Np,s2,yA,wA,Lp,BA,nt,Rp,ga,ha=g(()=>{e2={grad:.9,turn:360,rad:360/(2*Math.PI)},Wr=function(e){return typeof e=="string"?e.length>0:typeof e=="number"},ze=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=Math.pow(10,t)),Math.round(r*e)/r+0},Wt=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=1),e>r?r:e>t?e:t},Fp=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},Tp=function(e){return{r:Wt(e.r,0,255),g:Wt(e.g,0,255),b:Wt(e.b,0,255),a:Wt(e.a)}},xA=function(e){return{r:ze(e.r),g:ze(e.g),b:ze(e.b),a:ze(e.a,3)}},t2=/^#([0-9a-f]{3,8})$/i,pa=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},Pp=function(e){var t=e.r,r=e.g,n=e.b,o=e.a,i=Math.max(t,r,n),s=i-Math.min(t,r,n),a=s?i===t?(r-n)/s:i===r?2+(n-t)/s:4+(t-r)/s:0;return{h:60*(a<0?a+6:a),s:i?s/i*100:0,v:i/255*100,a:o}},Op=function(e){var t=e.h,r=e.s,n=e.v,o=e.a;t=t/360*6,r/=100,n/=100;var i=Math.floor(t),s=n*(1-r),a=n*(1-(t-i)*r),c=n*(1-(1-t+i)*r),l=i%6;return{r:255*[n,a,s,s,c,n][l],g:255*[c,n,n,a,s,s][l],b:255*[s,s,c,n,n,a][l],a:o}},_p=function(e){return{h:Fp(e.h),s:Wt(e.s,0,100),l:Wt(e.l,0,100),a:Wt(e.a)}},Dp=function(e){return{h:ze(e.h),s:ze(e.s),l:ze(e.l),a:ze(e.a,3)}},kp=function(e){return Op((r=(t=e).s,{h:t.h,s:(r*=((n=t.l)<50?n:100-n)/100)>0?2*r/(n+r)*100:0,v:n+r,a:t.a}));var t,r,n},Yi=function(e){return{h:(t=Pp(e)).h,s:(o=(200-(r=t.s))*(n=t.v)/100)>0&&o<200?r*n/100/(o<=100?o:200-o)*100:0,l:o/2,a:t.a};var t,r,n,o},r2=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,n2=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,o2=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,i2=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,bA={string:[[function(e){var t=t2.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?ze(parseInt(e[3]+e[3],16)/255,2):1}:e.length===6||e.length===8?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:e.length===8?ze(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var t=o2.exec(e)||i2.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:Tp({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(e){var t=r2.exec(e)||n2.exec(e);if(!t)return null;var r,n,o=_p({h:(r=t[1],n=t[2],n===void 0&&(n="deg"),Number(r)*(e2[n]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return kp(o)},"hsl"]],object:[[function(e){var t=e.r,r=e.g,n=e.b,o=e.a,i=o===void 0?1:o;return Wr(t)&&Wr(r)&&Wr(n)?Tp({r:Number(t),g:Number(r),b:Number(n),a:Number(i)}):null},"rgb"],[function(e){var t=e.h,r=e.s,n=e.l,o=e.a,i=o===void 0?1:o;if(!Wr(t)||!Wr(r)||!Wr(n))return null;var s=_p({h:Number(t),s:Number(r),l:Number(n),a:Number(i)});return kp(s)},"hsl"],[function(e){var t=e.h,r=e.s,n=e.v,o=e.a,i=o===void 0?1:o;if(!Wr(t)||!Wr(r)||!Wr(n))return null;var s=(function(a){return{h:Fp(a.h),s:Wt(a.s,0,100),v:Wt(a.v,0,100),a:Wt(a.a)}})({h:Number(t),s:Number(r),v:Number(n),a:Number(i)});return Op(s)},"hsv"]]},Np=function(e,t){for(var r=0;r<t.length;r++){var n=t[r][0](e);if(n)return[n,t[r][1]]}return[null,void 0]},s2=function(e){return typeof e=="string"?Np(e.trim(),bA.string):typeof e=="object"&&e!==null?Np(e,bA.object):[null,void 0]},yA=function(e,t){var r=Yi(e);return{h:r.h,s:Wt(r.s+100*t,0,100),l:r.l,a:r.a}},wA=function(e){return(299*e.r+587*e.g+114*e.b)/1e3/255},Lp=function(e,t){var r=Yi(e);return{h:r.h,s:r.s,l:Wt(r.l+100*t,0,100),a:r.a}},BA=(function(){function e(t){this.parsed=s2(t)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return e.prototype.isValid=function(){return this.parsed!==null},e.prototype.brightness=function(){return ze(wA(this.rgba),2)},e.prototype.isDark=function(){return wA(this.rgba)<.5},e.prototype.isLight=function(){return wA(this.rgba)>=.5},e.prototype.toHex=function(){return t=xA(this.rgba),r=t.r,n=t.g,o=t.b,s=(i=t.a)<1?pa(ze(255*i)):"","#"+pa(r)+pa(n)+pa(o)+s;var t,r,n,o,i,s},e.prototype.toRgb=function(){return xA(this.rgba)},e.prototype.toRgbString=function(){return t=xA(this.rgba),r=t.r,n=t.g,o=t.b,(i=t.a)<1?"rgba("+r+", "+n+", "+o+", "+i+")":"rgb("+r+", "+n+", "+o+")";var t,r,n,o,i},e.prototype.toHsl=function(){return Dp(Yi(this.rgba))},e.prototype.toHslString=function(){return t=Dp(Yi(this.rgba)),r=t.h,n=t.s,o=t.l,(i=t.a)<1?"hsla("+r+", "+n+"%, "+o+"%, "+i+")":"hsl("+r+", "+n+"%, "+o+"%)";var t,r,n,o,i},e.prototype.toHsv=function(){return t=Pp(this.rgba),{h:ze(t.h),s:ze(t.s),v:ze(t.v),a:ze(t.a,3)};var t},e.prototype.invert=function(){return nt({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a});var t},e.prototype.saturate=function(t){return t===void 0&&(t=.1),nt(yA(this.rgba,t))},e.prototype.desaturate=function(t){return t===void 0&&(t=.1),nt(yA(this.rgba,-t))},e.prototype.grayscale=function(){return nt(yA(this.rgba,-1))},e.prototype.lighten=function(t){return t===void 0&&(t=.1),nt(Lp(this.rgba,t))},e.prototype.darken=function(t){return t===void 0&&(t=.1),nt(Lp(this.rgba,-t))},e.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(this.hue()+t)},e.prototype.alpha=function(t){return typeof t=="number"?nt({r:(r=this.rgba).r,g:r.g,b:r.b,a:t}):ze(this.rgba.a,3);var r},e.prototype.hue=function(t){var r=Yi(this.rgba);return typeof t=="number"?nt({h:t,s:r.s,l:r.l,a:r.a}):ze(r.h)},e.prototype.isEqual=function(t){return this.toHex()===nt(t).toHex()},e})(),nt=function(e){return e instanceof BA?e:new BA(e)},Rp=[],ga=function(e){e.forEach(function(t){Rp.indexOf(t)<0&&(t(BA,bA),Rp.push(t))})}});function Gp(e){e.prototype.luminance=function(){return t=QA(this.rgba),(r=2)===void 0&&(r=0),n===void 0&&(n=Math.pow(10,r)),Math.round(n*t)/n+0;var t,r,n},e.prototype.contrast=function(t){t===void 0&&(t="#FFF");var r,n,o,i,s,a,c,l=t instanceof e?t:new e(t);return i=this.rgba,s=l.toRgb(),a=QA(i),c=QA(s),r=a>c?(a+.05)/(c+.05):(c+.05)/(a+.05),(n=2)===void 0&&(n=0),o===void 0&&(o=Math.pow(10,n)),Math.floor(o*r)/o+0},e.prototype.isReadable=function(t,r){return t===void 0&&(t="#FFF"),r===void 0&&(r={}),this.contrast(t)>=(a=(s=(n=r).size)===void 0?"normal":s,(i=(o=n.level)===void 0?"AA":o)==="AAA"&&a==="normal"?7:i==="AA"&&a==="large"?3:4.5);var n,o,i,s,a}}var SA,QA,Up=g(()=>{SA=function(e){var t=e/255;return t<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)},QA=function(e){return .2126*SA(e.r)+.7152*SA(e.g)+.0722*SA(e.b)}});function Ca(e,t){var r={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},n={};for(var o in r)n[r[o]]=o;var i={};e.prototype.toName=function(s){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var a,c,l=n[this.toHex()];if(l)return l;if(s?.closest){var A=this.toRgb(),u=1/0,d="black";if(!i.length)for(var m in r)i[m]=new e(r[m]).toRgb();for(var C in r){var E=(a=A,c=i[C],Math.pow(a.r-c.r,2)+Math.pow(a.g-c.g,2)+Math.pow(a.b-c.b,2));E<u&&(u=E,d=C)}return d}},t.string.push([function(s){var a=s.toLowerCase(),c=a==="transparent"?"#0000":r[a];return c?new e(c).toRgb():null},"name"])}var MA=g(()=>{});function jp(e,t){let r=`${e}|${t}`,n=Hp.get(r);if(n!==void 0)return n;let o=nt(e);if(!o.isReadable(t)){let s=nt(t).luminance()<.5;for(let a=0;a<40&&!o.isReadable(t);a++)o=s?o.lighten(.05):o.darken(.05)}let i=o.toHex();return Hp.set(r,i),i}function Lo(e,t){return Object.fromEntries(Object.entries(e).map(t))}function Wi(e,t){return Lo(e,([r,n])=>[r,t.palette.getContrastText(nt(n).toHex())])}function vA(e,t){if(e.length===0)return t;let r=[],n=0;for(let o of e)o>n&&r.push(t.slice(n,o)),n=o+1;return n<t.length&&r.push(t.slice(n)),r.join("")}function qp(e,t){let r=[],n=e.length,o=0,i=0,s=-1,a=[];for(let c=0;c<t.length;c++)i<n&&e[i]===c?(t.charCodeAt(c)-45>>>0<=1||(s===o?a.push(t[c]):(a.length>0&&r.push({pos:s,letters:a.join("")}),s=o,a=[t[c]])),i++):o++;return a.length>0&&r.push({pos:s,letters:a.join("")}),r}function TA(e){return e.end-e.start}function zi(e){return e==="-"||e==="."}var Hp,mn=g(()=>{ha();Up();MA();ga([Ca,Gp]);Hp=new Map});function Ea({model:e,offsetX:t,offsetY:r,contrastScheme:n,ctx:o,theme:i,highResScaleFactorOverride:s,blockSizeXOverride:a,blockSizeYOverride:c}){let{colWidth:l,blockSize:A,rowHeight:u,fontSize:d,highResScaleFactor:m,actuallyShowDomains:C,bgColor:E}=e,x=s??m,I=a??A,p=c??A;o.resetTransform(),o.scale(x,x),o.translate(-t,u/2-r),o.textAlign="center",Qr(o,d,!E);let{xStart:y,xEnd:B}=Vi({offsetX:t,blockWidth:I,colWidth:l}),b=da({model:e,offsetY:r,blockSizeY:p}),{relativeTo:S,columns:M}=e,G=S?M.get(S)?.slice(y,B):null;C?c2({model:e,ctx:o,xStart:y,xEnd:B,visibleLeaves:b,referenceSeq:G}):a2({model:e,ctx:o,theme:i,contrastScheme:n,xStart:y,xEnd:B,visibleLeaves:b,referenceSeq:G}),l2({model:e,ctx:o,xStart:y,xEnd:B,visibleLeaves:b}),o.resetTransform()}function a2({model:e,ctx:t,theme:r,contrastScheme:n,visibleLeaves:o,xStart:i,xEnd:s,referenceSeq:a}){let{bgColor:c,colorSchemeName:l,colorScheme:A,columns:u,colWidth:d,rowHeight:m,relativeTo:C,showMsaLetters:E,colClustalX:x,colConsensus:I}=e,p=l==="clustalx_protein_dynamic",y=l==="percent_identity_dynamic",B=c||p||y;if(!B&&!E)return;let b=i*d,S=d/2,M=m/4;for(let G=0,R=o.length;G<R;G++){let k=o[G],{name:v}=k.data,F=k.x,H=u.get(v)?.slice(i,s);if(!H)continue;let ee=F-m,Ve=F-M;for(let ge=0,Et=H.length;ge<Et;ge++){let Dt=H[ge],Hn=ge*d+b,sr=a&&v!==C&&Dt===a[ge],te;if(p)te=x[i+ge][Dt];else if(y){let ar=I[i+ge];te=Dt===ar.letter?ar.color:void 0}else te=A[Dt];B&&(t.fillStyle=sr?r.palette.action.hover:te||r.palette.background.default,t.fillRect(Hn,ee,d,m)),E&&(t.fillStyle=c?n[Dt]??"black":te?jp(te,r.palette.background.default):r.palette.text.primary,t.fillText(sr?".":Dt,Hn+S,Ve))}}}function c2({model:e,ctx:t,visibleLeaves:r,xStart:n,xEnd:o,referenceSeq:i}){let{showMsaLetters:s,columns:a,colWidth:c,rowHeight:l,relativeTo:A}=e;if(!s)return;let u=n*c,d=c/2,m=l/4;t.fillStyle="black";for(let C=0,E=r.length;C<E;C++){let x=r[C],{name:I}=x.data,p=x.x-m,y=a.get(I)?.slice(n,o);if(y)for(let B=0,b=y.length;B<b;B++){let S=y[B],M=i&&I!==A&&S===i[B];t.fillText(M?".":S,B*c+u+d,p)}}}function l2({model:e,ctx:t,visibleLeaves:r,xStart:n,xEnd:o}){let{bgColor:i,hideGapsEffective:s}=e;s&&(t.lineWidth=1,t.strokeStyle="#f0f",Jp({visibleLeaves:r,xStart:n,ctx:t,model:e,xEnd:o,offset:0}),t.strokeStyle=i?"#fff":"#000",Jp({visibleLeaves:r,xStart:n,ctx:t,model:e,xEnd:o,offset:-1}))}function Jp({model:e,ctx:t,visibleLeaves:r,xStart:n,xEnd:o,offset:i}){let{colWidth:a,rowHeight:c,insertionPositions:l}=e;for(let A of r){let{name:u}=A.data,d=l.get(u);if(d){let m=A.x;for(let{pos:C}of d)if(C>=n&&C<o){let E=C*a,x=m-c,I=m;t.beginPath(),t.moveTo(E+i,x+i);let p=x,y=!0;for(;p<I;){let B=Math.min(p+2,I),b=y?E+1:E-1;t.lineTo(b+i,B+i),p=B,y=!y}t.stroke()}}}}var _A=g(()=>{CA();IA();No();mn()});function DA({ctx:e,conservation:t,colWidth:r,trackHeight:n,offsetX:o,blockSize:i}){let{xStart:s,xEnd:a}=Vi({offsetX:o,blockWidth:i,colWidth:r});e.fillStyle="gray";for(let c=s;c<a&&c<t.length;c++){let A=t[c]*n,u=c*r;e.fillRect(u,n-A,r,A)}}function kA({ctx:e,data:t,colorScheme:r,contrastScheme:n,bgColor:o,colWidth:i,rowHeight:s,offsetX:a,blockSize:c}){let{xStart:l,xEnd:A}=Vi({offsetX:a,blockWidth:c,colWidth:i}),u=t?.slice(l,A);for(let d=0;u&&d<u.length;d++){let m=u[d],C=r[m.toUpperCase()];if(o){let E=(l+d)*i;e.fillStyle=C||"white",e.fillRect(E,0,i,s),s>=10&&i>=s/2&&(e.fillStyle=n[m.toUpperCase()]||"black",e.fillText(m,E+i/2,s/2+1))}}}function A2({model:e,ctx:t,offsetX:r,offsetY:n,trackHeight:o,blockSizeXOverride:i,highResScaleFactorOverride:s}){let{blockSize:a,colWidth:c,highResScaleFactor:l,conservation:A}=e,u=i??a,d=s??l;t.resetTransform(),t.scale(d,d),t.translate(-r,n),DA({ctx:t,conservation:A,colWidth:c,trackHeight:o,offsetX:r,blockSize:u}),t.resetTransform()}function u2({model:e,ctx:t,track:r,offsetX:n,offsetY:o,contrastScheme:i,blockSizeXOverride:s,highResScaleFactorOverride:a}){let{blockSize:c,bgColor:l,colorScheme:A,colWidth:u,fontSize:d,rowHeight:m,highResScaleFactor:C}=e,{customColorScheme:E,data:x}=r.model,I=E??A,p=s??c,y=a??C;t.resetTransform(),t.scale(y,y),t.translate(-n,o),t.textAlign="center",Qr(t,d),kA({ctx:t,data:x,colorScheme:I,contrastScheme:i,bgColor:l,colWidth:u,rowHeight:m,offsetX:n,blockSize:p}),t.resetTransform()}function Vp({model:e,ctx:t,offsetX:r,contrastScheme:n,blockSizeXOverride:o,highResScaleFactorOverride:i}){let{turnedOnTracks:s}=e,a=0;for(let c of s){let l=c.model.height;c.model.id==="conservation"?A2({model:e,ctx:t,offsetX:r,offsetY:a,trackHeight:l,blockSizeXOverride:o,highResScaleFactorOverride:i}):u2({model:e,ctx:t,track:c,offsetX:r,offsetY:a,contrastScheme:n,blockSizeXOverride:o,highResScaleFactorOverride:i}),a+=l}}var Ia=g(()=>{No();IA()});function Vn(e){let t=[],r=[e];for(;r.length>0;){let n=r.pop();if(t.push(n),n.children)for(let o=n.children.length-1;o>=0;o--)r.push(n.children[o])}return t}function f2(e){let t=Vn(e);for(let r=t.length-1;r>=0;r--){let n=t[r],o=0;if(n.children)for(let i of n.children)i.height+1>o&&(o=i.height+1);n.height=o}}function Yp(e,t){let r={data:e,children:null,parent:null,depth:0,height:0},n=[r];for(;n.length>0;){let o=n.pop(),i=t(o.data);if(i?.length){o.children=i.map(s=>({data:s,children:null,parent:o,depth:o.depth+1,height:0}));for(let s of o.children)n.push(s)}}return f2(r),r}function Wp(e,t){let r=Vn(e);for(let n=r.length-1;n>=0;n--){let o=r[n],i=t(o.data);if(o.children)for(let s of o.children)i+=s.value;o.value=i}return e}function zp(e,t){let r=[e];for(;r.length>0;){let n=r.pop();if(n.children){n.children.sort(t);for(let o of n.children)r.push(o)}}return e}function xa(e,t){let r=[e],n;for(;r.length>0&&n===void 0;){let o=r.pop();if(t(o))n=o;else if(o.children)for(let i=o.children.length-1;i>=0;i--)r.push(o.children[i])}return n}function $i(e){let t=[],r=[e];for(;r.length>0;){let n=r.pop();if(n.children)for(let o=n.children.length-1;o>=0;o--)r.push(n.children[o]);else t.push(n)}return t}function $p(e){let t=[];return NA(e,(r,n)=>{t.push({source:r,target:n})}),t}function NA(e,t){let r=[e];for(;r.length>0;){let n=r.pop();if(n.children)for(let o=n.children.length-1;o>=0;o--){let i=n.children[o];t(n,i),r.push(i)}}}function Ki(e,t){for(let r of Vn(e))t(r)}function Kp(e,t,r){let n=$i(e),o=n.length,i=t/o;for(let l=0;l<o;l++)n[l].x=(l+.5)*i;let s=Vn(e);for(let l=s.length-1;l>=0;l--){let A=s[l];if(A.children){let u=0;for(let d of A.children)u+=d.x;A.x=u/A.children.length}}let a=e.height,c=[{node:e,depth:0}];for(;c.length>0;){let{node:l,depth:A}=c.pop();if(l.y=a===0?r:A/a*r,l.children)for(let u of l.children)c.push({node:u,depth:A+1})}}function Xp(e){e.children&&(Xi(e),e._children=e.children,e.children=null)}function Zp(e){let t=e._children??e.children,r=1/0,n=0;if(t){let o=t.map(i=>({node:i,acc:Math.max(i.data.length??0,0)}));for(;o.length>0;){let{node:i,acc:s}=o.pop(),a=i.children??i._children;if(a?.length)for(let c of a)o.push({node:c,acc:s+Math.max(c.data.length??0,0)});else r=Math.min(r,s),n=Math.max(n,s)}}return{min:r===1/0?0:r,max:n}}function Xi(e){let t=Vn(e);for(let r=t.length-1;r>=0;r--){let n=t[r];if(n.depthToLeaf===void 0){let o=0;if(n.children)for(let i of n.children)o=Math.max(o,1+i.depthToLeaf);n.depthToLeaf=o}}return e.depthToLeaf}function eg(e){let t=0;for(let r of Vn(e))t=Math.max(t,r.len||0);return t}function tg(e){let t=Vn(e),r=new Map;for(let n=t.length-1;n>=0;n--){let o=t[n],i=0;if(o.children)for(let s of o.children)i=Math.max(i,r.get(s));r.set(o,(o.data.length||0)+i)}return r.get(e)}function rg(e,t,r){let n=[{node:e,y0:t}];for(;n.length>0;){let{node:o,y0:i}=n.pop(),s=i+Math.max(o.data.length||0,0);if(o.len=s*r,o.children)for(let a of o.children)n.push({node:a,y0:s})}}var LA=g(()=>{});function Zi(e,t,r,n){if(t)return e.len;if(n===0)return 0;let o=Xi(e);return(n-o)/n*r}function d2({offsetY:e,ctx:t,model:r,theme:n,maxBranchLen:o,maxDepthToLeaf:i,blockSizeYOverride:s}){let{hierarchy:a,showBranchLenEffective:c,blockSize:l}=r,A=s??l;t.strokeStyle=n.palette.text.primary,NA(a,(u,d)=>{let m=u.x,C=d.x,E=Zi(d,c,o,i),x=Zi(u,c,o,i);if(E===void 0||x===void 0)return;let I=Math.min(m,C),p=Math.max(m,C);e+A>=I&&p>=e&&(t.beginPath(),t.moveTo(x,m),t.lineTo(x,C),t.lineTo(E,C),t.stroke())})}function m2({ctx:e,clickMap:t,offsetY:r,model:n,theme:o,maxBranchLen:i,maxDepthToLeaf:s,blockSizeYOverride:a}){let{hierarchy:c,showBranchLenEffective:l,collapsed:A,blockSize:u,rowHeight:d,fontSize:m,marginLeft:C}=n,E=a??u,x=Math.max(2,d*.42);Ki(c,I=>{let{id:p,name:y}=I.data;if(A.includes(p)){let B=Zi(I,l,i,s),b=I.x,S=b>r-Ro&&b<r+E+Ro,M=l?I.collapsedTipXFar??i:i;if(B!==void 0&&S&&M>B){e.beginPath(),e.moveTo(B,b),e.lineTo(M,b-x),e.lineTo(M,b+x),e.closePath(),e.fillStyle=o.palette.action.disabled,e.fill(),e.strokeStyle=o.palette.text.primary,e.stroke();let G=I.value;G!==void 0&&d>=8&&(e.fillStyle=o.palette.text.primary,e.textAlign="left",e.fillText(`${G}`,M+3,b+m/4));let R=y===p?"Collapsed clade":y;t?.insert({minX:B+C,maxX:M+C,minY:b-x,maxY:b+x,branch:!0,id:p,name:G===void 0?R:`${R} (${G} tips)`})}}})}function p2({ctx:e,clickMap:t,offsetY:r,model:n,maxBranchLen:o,maxDepthToLeaf:i,blockSizeYOverride:s}){let{hierarchy:a,showBranchLenEffective:c,collapsed:l,blockSize:A,marginLeft:u}=n,d=s??A;Ki(a,m=>{let C=Zi(m,c,o,i);if(C===void 0)return;let{data:E}=m,x=m.x,{id:I,name:p}=E;if(m.height>=1&&x>r-Ro&&x<r+d+Ro){let y=l.includes(I);e.strokeStyle="black",e.fillStyle=y?"black":"white",e.beginPath(),e.arc(C,x,Yn,0,2*Math.PI),e.fill(),e.stroke(),y||t?.insert({minX:C-Yn+u,maxX:C-Yn+RA+u,minY:x-Yn,maxY:x-Yn+RA,branch:!0,id:I,name:p})}})}function g2({theme:e,model:t,offsetY:r,ctx:n,clickMap:o,maxBranchLen:i,maxDepthToLeaf:s,blockSizeYOverride:a}){let{fontSize:c,showBranchLenEffective:l,treeMetadata:A,blockSize:u,labelsAlignRight:d,drawTree:m,treeAreaWidth:C,treeAreaWidthMinusMargin:E,marginLeft:x,leaves:I,noTree:p,labelWidthMap:y,collapsed:B}=t,b=a??u,S=n.measureText("M").width;d?(n.textAlign="right",n.setLineDash([1,3])):n.textAlign="start";for(let M of I){let{data:{name:G,id:R}}=M,k=M.x,v=A[G]?.genome||G;if(!(B.includes(R)&&G===R)&&k>r-Ro&&k<r+b+Ro){let H=k+c/4,ee=0;p||(ee=Zi(M,l,i,s)??0);let Ve=y.get(G)??n.measureText(v).width;if(n.fillStyle=e.palette.text.primary,d){let Et=E-2;m&&!p&&(n.moveTo(ee+Yn+2,k),n.lineTo(Et-2-Ve,k),n.stroke()),n.fillText(v,Et,H),o?.insert({minX:C-Ve,maxX:C,minY:H-S,maxY:H,name:G,id:R})}else{let ge=p?2:ee+RA;n.fillText(v,ge,H),o?.insert({minX:ge+x,maxX:ge+Ve+x,minY:H-S,maxY:H,name:G,id:R})}}}n.setLineDash([])}function ya({model:e,clickMap:t,ctx:r,offsetY:n,theme:o,highResScaleFactorOverride:i,blockSizeYOverride:s}){t?.clear();let{noTree:a,drawTree:c,drawNodeBubbles:l,highResScaleFactor:A,fontSize:u,showTreeText:d,marginLeft:m,rowHeight:C}=e;r.resetTransform();let E=i??A;r.scale(E,E),r.translate(m,-n),Qr(r,u);let{maxBranchLength:x,maxDepthToLeaf:I}=e;!a&&c&&(d2({ctx:r,offsetY:n,model:e,theme:o,maxBranchLen:x,maxDepthToLeaf:I,blockSizeYOverride:s}),m2({ctx:r,clickMap:t,offsetY:n,model:e,theme:o,maxBranchLen:x,maxDepthToLeaf:I,blockSizeYOverride:s}),l&&p2({ctx:r,offsetY:n,clickMap:t,model:e,maxBranchLen:x,maxDepthToLeaf:I,blockSizeYOverride:s})),d&&g2({ctx:r,offsetY:n,model:e,clickMap:t,theme:o,maxBranchLen:x,maxDepthToLeaf:I,blockSizeYOverride:s}),t?.finish()}var Fo,Ro,Yn,RA,wa=g(()=>{LA();No();Fo=600,Ro=5,Yn=2.5,RA=Yn*2});var ig={};We(ig,{Context:()=>OA});function ng(e){return!e||typeof e=="string"?e:e+""}function Ar(e,t){let r=Object.keys(t);for(let n of r)e=e.replace(new RegExp("\\{"+n+"\\}","gi"),t[n]);return e}function FA(e){if(!e)throw new Error("cannot create a random attribute name for an undefined object");let t="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",r="";do{r="";for(let n=0;n<12;n++)r+=t[Math.floor(Math.random()*t.length)]}while(e[r]);return r}function h2(e,t=10){let r={},n=e.split(",");for(let o=0;o<n.length;o+=2){let i="&"+n[o+1]+";",s=parseInt(n[o],t);r[i]="&#"+s+";"}return r["\\xa0"]="&#160;",r}function C2(e){let t={left:"start",right:"end",center:"middle",start:"start",end:"end"};return t[e]||t.start}function E2(e){let t={alphabetic:"alphabetic",hanging:"hanging",top:"text-before-edge",bottom:"text-after-edge",middle:"central"};return t[e]||t.alphabetic}var og,es,ts,PA,OA,sg=g(()=>{og=h2("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32),es={strokeStyle:{svgAttr:"stroke",canvas:"#000000",svg:"none",apply:"stroke"},fillStyle:{svgAttr:"fill",canvas:"#000000",svg:null,apply:"fill"},lineCap:{svgAttr:"stroke-linecap",canvas:"butt",svg:"butt",apply:"stroke"},lineJoin:{svgAttr:"stroke-linejoin",canvas:"miter",svg:"miter",apply:"stroke"},miterLimit:{svgAttr:"stroke-miterlimit",canvas:10,svg:4,apply:"stroke"},lineWidth:{svgAttr:"stroke-width",canvas:1,svg:1,apply:"stroke"},globalAlpha:{svgAttr:"opacity",canvas:1,svg:1,apply:"fill stroke"},font:{canvas:"10px sans-serif"},shadowColor:{canvas:"#000000"},shadowOffsetX:{canvas:0},shadowOffsetY:{canvas:0},shadowBlur:{canvas:0},textAlign:{canvas:"start"},textBaseline:{canvas:"alphabetic"},lineDash:{svgAttr:"stroke-dasharray",canvas:[],svg:null,apply:"stroke"}},ts=class{__root;__ctx;constructor(t,r){this.__root=t,this.__ctx=r}addColorStop(t,r){let n=this.__ctx.__createElement("stop");if(n.setAttribute("offset",String(t)),ng(r).includes("rgba")){let i=/rgba\(\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi.exec(r);i&&(n.setAttribute("stop-color",Ar("rgb({r},{g},{b})",{r:i[1],g:i[2],b:i[3]})),n.setAttribute("stop-opacity",i[4]))}else n.setAttribute("stop-color",ng(r));this.__root.appendChild(n)}},PA=class{__root;__ctx;constructor(t,r){this.__root=t,this.__ctx=r}},OA=class{width;height;enableMirroring;canvas;__document;__ctx;__canvas;__root;__ids;__defs;__currentElement;__styleStack;__groupStack;__currentDefaultPath;__currentPosition;__transformMatrix;__transformMatrixStack;__currentElementsToStyle;__options;__id;__fontUnderline;__fontHref;strokeStyle;fillStyle;lineCap;lineJoin;miterLimit;lineWidth;globalAlpha;font;shadowColor;shadowOffsetX;shadowOffsetY;shadowBlur;textAlign;textBaseline;lineDash;constructor(t,r){let n={width:500,height:500,enableMirroring:!1},o;typeof t=="number"&&r!==void 0?o={...n,width:t,height:r}:t&&typeof t=="object"?o=t:o=n,this.width=o.width||n.width,this.height=o.height||n.height,this.enableMirroring=o.enableMirroring!==void 0?o.enableMirroring:n.enableMirroring,this.canvas=this,this.__document=o.document||document,o.ctx?this.__ctx=o.ctx:(this.__canvas=this.__document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d")),this.__setDefaultStyles(),this.__styleStack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version","1.1"),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.__root.setAttribute("width",String(this.width)),this.__root.setAttribute("height",String(this.height)),this.__ids={},this.__defs=this.__document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement),this.__currentDefaultPath="",this.__currentPosition={},this.__transformMatrix=new DOMMatrix,this.resetTransform(),this.__options=o,this.__id=Math.random().toString(16).substring(2,8)}__createElement(t,r={},n){let o=this.__document.createElementNS("http://www.w3.org/2000/svg",t);n&&(o.setAttribute("fill","none"),o.setAttribute("stroke","none"));for(let i of Object.keys(r))o.setAttribute(i,r[i]);return o}__setDefaultStyles(){for(let t of Object.keys(es))this[t]=es[t].canvas}__applyStyleState(t){for(let r of Object.keys(t))this[r]=t[r]}__getStyleState(){let t={};for(let r of Object.keys(es))t[r]=this[r];return t}__applyTransformation(t,r){let{a:n,b:o,c:i,d:s,e:a,f:c}=r||this.getTransform();t.setAttribute("transform",`matrix(${n} ${o} ${i} ${s} ${a} ${c})`)}__applyStyleToCurrentElement(t){let r=this.__currentElement,n=this.__currentElementsToStyle;if(n){r.setAttribute(t,""),r=n.element;for(let i of n.children)i.setAttribute(t,"")}let o=Object.keys(es);for(let i of o){let s=es[i],a=this[i];if(s.apply){if(a instanceof PA){if(a.__ctx)for(let c of Array.from(a.__ctx.__defs.childNodes)){let l=c.getAttribute("id");l&&(this.__ids[l]=l,this.__defs.appendChild(c))}r.setAttribute(s.apply,Ar("url(#{id})",{id:a.__root.getAttribute("id")}))}else if(a instanceof ts)r.setAttribute(s.apply,Ar("url(#{id})",{id:a.__root.getAttribute("id")}));else if(s.apply.includes(t)&&s.svg!==a)if((s.svgAttr==="stroke"||s.svgAttr==="fill")&&a&&a.includes("rgba")){let l=/rgba\(\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi.exec(a);if(l){r.setAttribute(s.svgAttr,Ar("rgb({r},{g},{b})",{r:l[1],g:l[2],b:l[3]}));let A=Number(l[4]),u=this.globalAlpha;u!=null&&(A*=u),r.setAttribute(s.svgAttr+"-opacity",String(A))}}else{let c=s.svgAttr,l=a;if(i==="globalAlpha"){if(c=t+"-"+s.svgAttr,r.getAttribute(c))continue}else if(i==="lineWidth"){let A=this.__getTransformScale();l=a*Math.max(A.x,A.y)}r.setAttribute(c,l)}}}}__closestGroupOrSvg(t){return t=t||this.__currentElement,t.nodeName==="g"||t.nodeName==="svg"?t:this.__closestGroupOrSvg(t.parentNode)}getSerializedSvg(t){let r=new XMLSerializer().serializeToString(this.__root);if(/xmlns="http:\/\/www\.w3\.org\/2000\/svg".+xmlns="http:\/\/www\.w3\.org\/2000\/svg/gi.test(r)&&(r=r.replace('xmlns="http://www.w3.org/2000/svg','xmlns:xlink="http://www.w3.org/1999/xlink')),t)for(let o of Object.keys(og)){let i=new RegExp(o,"gi");i.test(r)&&(r=r.replace(i,og[o]))}return r}getSvg(){return this.__root}save(){let t=this.__createElement("g"),r=this.__closestGroupOrSvg();this.__groupStack.push(r),r.appendChild(t),this.__currentElement=t;let n=this.__getStyleState();this.__styleStack.push(n),this.__transformMatrixStack||(this.__transformMatrixStack=[]),this.__transformMatrixStack.push(this.getTransform())}restore(){this.__currentElement=this.__groupStack.pop(),this.__currentElementsToStyle=void 0,this.__currentElement||(this.__currentElement=this.__root.childNodes[1]);let t=this.__styleStack.pop();this.__applyStyleState(t),this.__transformMatrixStack&&this.__transformMatrixStack.length>0&&this.setTransform(this.__transformMatrixStack.pop())}beginPath(){this.__currentDefaultPath="",this.__currentPosition={};let t=this.__createElement("path",{},!0);this.__closestGroupOrSvg().appendChild(t),this.__currentElement=t}__applyCurrentDefaultPath(){let t=this.__currentElement;t.nodeName==="path"&&t.setAttribute("d",this.__currentDefaultPath)}__addPathCommand(t){this.__currentDefaultPath+=" ",this.__currentDefaultPath+=t}moveTo(t,r){this.__currentElement.nodeName!=="path"&&this.beginPath(),this.__currentPosition={x:t,y:r},this.__addPathCommand(Ar("M {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y}))}closePath(){this.__currentDefaultPath&&this.__addPathCommand("Z")}lineTo(t,r){this.__currentPosition={x:t,y:r},this.__currentDefaultPath.includes("M")?this.__addPathCommand(Ar("L {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y})):this.__addPathCommand(Ar("M {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y}))}bezierCurveTo(t,r,n,o,i,s){this.__currentPosition={x:i,y:s},this.__addPathCommand(Ar("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:this.__matrixTransform(t,r).x,cp1y:this.__matrixTransform(t,r).y,cp2x:this.__matrixTransform(n,o).x,cp2y:this.__matrixTransform(n,o).y,x:this.__matrixTransform(i,s).x,y:this.__matrixTransform(i,s).y}))}quadraticCurveTo(t,r,n,o){this.__currentPosition={x:n,y:o},this.__addPathCommand(Ar("Q {cpx} {cpy} {x} {y}",{cpx:this.__matrixTransform(t,r).x,cpy:this.__matrixTransform(t,r).y,x:this.__matrixTransform(n,o).x,y:this.__matrixTransform(n,o).y}))}stroke(){this.__currentElement.nodeName==="path"&&this.__currentElement.setAttribute("paint-order","fill stroke markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("stroke")}fill(){this.__currentElement.nodeName==="path"&&this.__currentElement.setAttribute("paint-order","stroke fill markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("fill")}rect(t,r,n,o){this.__currentElement.nodeName!=="path"&&this.beginPath(),this.moveTo(t,r),this.lineTo(t+n,r),this.lineTo(t+n,r+o),this.lineTo(t,r+o),this.lineTo(t,r),this.closePath()}__clearCanvas(){let t=this.__root.childNodes[1];this.__root.removeChild(t),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement),this.__groupStack=[]}fillRect(t,r,n,o){let{a:i,b:s,c:a,d:c,e:l,f:A}=this.getTransform();JSON.stringify([i,s,a,c,l,A])===JSON.stringify([1,0,0,1,0,0])&&t===0&&r===0&&n===this.width&&o===this.height&&this.__clearCanvas();let u=this.__createElement("rect",{x:t,y:r,width:n,height:o},!0);this.__closestGroupOrSvg().appendChild(u),this.__currentElement=u,this.__applyTransformation(u),this.__applyStyleToCurrentElement("fill")}strokeRect(t,r,n,o){let i=this.__createElement("rect",{x:t,y:r,width:n,height:o},!0);this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyTransformation(i),this.__applyStyleToCurrentElement("stroke")}clearRect(t,r,n,o){let{a:i,b:s,c:a,d:c,e:l,f:A}=this.getTransform();if(JSON.stringify([i,s,a,c,l,A])===JSON.stringify([1,0,0,1,0,0])&&t===0&&r===0&&n===this.width&&o===this.height){this.__clearCanvas();return}let u=this.__createElement("rect",{x:t,y:r,width:n,height:o,fill:"#FFFFFF"},!0);this.__applyTransformation(u),this.__closestGroupOrSvg().appendChild(u)}createLinearGradient(t,r,n,o){let i=this.__createElement("linearGradient",{id:FA(this.__ids),x1:t+"px",x2:n+"px",y1:r+"px",y2:o+"px",gradientUnits:"userSpaceOnUse"});return this.__defs.appendChild(i),new ts(i,this)}createRadialGradient(t,r,n,o,i,s){let a=this.__createElement("radialGradient",{id:FA(this.__ids),cx:o+"px",cy:i+"px",r:s+"px",fx:t+"px",fy:r+"px",gradientUnits:"userSpaceOnUse"});return this.__defs.appendChild(a),new ts(a,this)}__applyText(t,r,n,o){let i=document.createElement("span");i.setAttribute("style","font:"+this.font);let s=i.style,a=this.__closestGroupOrSvg(),c=this.__createElement("text",{"font-family":s.fontFamily,"font-size":s.fontSize,"font-style":s.fontStyle,"font-weight":s.fontWeight,"text-decoration":this.__fontUnderline,x:r,y:n,"text-anchor":C2(this.textAlign),"dominant-baseline":E2(this.textBaseline)},!0);c.appendChild(this.__document.createTextNode(t)),this.__currentElement=c,this.__applyTransformation(c),this.__applyStyleToCurrentElement(o);let l=c;if(this.__fontHref){let A=this.__createElement("a");A.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.__fontHref),A.appendChild(c),l=A}a.appendChild(l)}fillText(t,r,n){this.__applyText(t,r,n,"fill")}strokeText(t,r,n){this.__applyText(t,r,n,"stroke")}measureText(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)}arc(t,r,n,o,i,s){if(o===i)return;o=o%(2*Math.PI),i=i%(2*Math.PI),o===i&&(i=(i+2*Math.PI-.001*(s?-1:1))%(2*Math.PI));let a=t+n*Math.cos(i),c=r+n*Math.sin(i),l=t+n*Math.cos(o),A=r+n*Math.sin(o),u=s?0:1,d=0,m=i-o;m<0&&(m+=2*Math.PI),s?d=m>Math.PI?0:1:d=m>Math.PI?1:0;let C=Math.hypot(this.__transformMatrix.a,this.__transformMatrix.b),E=Math.hypot(this.__transformMatrix.c,this.__transformMatrix.d);this.lineTo(l,A),this.__addPathCommand(Ar("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:n*C,ry:n*E,xAxisRotation:0,largeArcFlag:d,sweepFlag:u,endX:this.__matrixTransform(a,c).x,endY:this.__matrixTransform(a,c).y})),this.__currentPosition={x:a,y:c}}clip(){let t=this.__closestGroupOrSvg(),r=this.__createElement("clipPath"),n=FA(this.__ids),o=this.__createElement("g");this.__applyCurrentDefaultPath(),t.removeChild(this.__currentElement),r.setAttribute("id",n),r.appendChild(this.__currentElement),this.__defs.appendChild(r),t.setAttribute("clip-path",Ar("url(#{id})",{id:n})),t.appendChild(o),this.__currentElement=o}setLineDash(t){t&&t.length>0?this.lineDash=t.join(","):this.lineDash=null}setTransform(t,r,n,o,i,s){t instanceof DOMMatrix?this.__transformMatrix=new DOMMatrix([t.a,t.b,t.c,t.d,t.e,t.f]):this.__transformMatrix=new DOMMatrix([t,r,n,o,i,s])}getTransform(){let{a:t,b:r,c:n,d:o,e:i,f:s}=this.__transformMatrix;return new DOMMatrix([t,r,n,o,i,s])}resetTransform(){this.setTransform(1,0,0,1,0,0)}scale(t,r){if(r===void 0&&(r=t),isNaN(t)||isNaN(r)||!isFinite(t)||!isFinite(r))return;let n=this.getTransform().scale(t,r);this.setTransform(n)}rotate(t){let r=this.getTransform().multiply(new DOMMatrix([Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0]));this.setTransform(r)}translate(t,r){let n=this.getTransform().translate(t,r);this.setTransform(n)}transform(t,r,n,o,i,s){let a=this.getTransform().multiply(new DOMMatrix([t,r,n,o,i,s]));this.setTransform(a)}__matrixTransform(t,r){return new DOMPoint(t,r).matrixTransform(this.__transformMatrix)}__getTransformScale(){return{x:Math.hypot(this.__transformMatrix.a,this.__transformMatrix.b),y:Math.hypot(this.__transformMatrix.c,this.__transformMatrix.d)}}__getTransformRotation(){return Math.atan2(this.__transformMatrix.b,this.__transformMatrix.a)}drawFocusRing(){}createImageData(){}putImageData(){}globalCompositeOperation(){}drawImage(){}createPattern(){return null}}});var ug={};We(ug,{renderToSvg:()=>Ag});async function Ag(e,t){await(0,lg.when)(()=>e.dataInitialized);let{width:r,height:n,scrollX:o,scrollY:i,totalTrackAreaHeight:s,minimapHeight:a}=e,{exportType:c,theme:l,includeTracks:A}=t,u=A?s:0,d=c==="viewport"&&!!t.includeMinimap;return ag(c==="entire"?{width:e.totalWidth+e.treeAreaWidth,height:e.totalHeight+u,contentHeight:e.totalHeight,trackHeight:u,theme:l,model:e,offsetY:0,offsetX:0,includeMinimap:d,includeTracks:A}:{width:r,height:n+(d?a:0)+u,contentHeight:n,trackHeight:u,theme:l,model:e,offsetY:-i,offsetX:-o,includeMinimap:d,includeTracks:A})}async function ag({width:e,height:t,contentHeight:r,trackHeight:n,offsetX:o,offsetY:i,theme:s,model:a,includeMinimap:c,includeTracks:l}){let{Context:A}=await Promise.resolve().then(()=>(sg(),ig)),{treeAreaWidth:u,minimapHeight:d}=a,m=se.default.createElement(se.default.Fragment,null,l&&n>0?se.default.createElement(x2,{Context:A,model:a,theme:s,offsetX:o,msaAreaWidth:e-u,trackHeight:n}):null,se.default.createElement("g",{transform:n>0?`translate(0 ${n})`:void 0},se.default.createElement(I2,{Context:A,model:a,theme:s,offsetX:o,offsetY:i,msaAreaWidth:e-u,contentHeight:r})));return(0,cg.renderToStaticMarkup)(se.default.createElement(y2,{width:e,height:t},c?se.default.createElement(se.default.Fragment,null,se.default.createElement("g",{transform:`translate(${u} 0)`},se.default.createElement(Mp,{model:a})),se.default.createElement("g",{transform:`translate(0 ${d})`},m)):m))}function I2({model:e,theme:t,msaAreaWidth:r,contentHeight:n,offsetX:o,offsetY:i,Context:s}){let{treeAreaWidth:a,colorScheme:c,id:l}=e,A=`tree-${l}`,u=`msa-${l}`,d=Wi(c,t),m=new s(a,n),C=new s(r,n);return ma({ctx:C,offsetX:o,offsetY:i,model:e,blockSizeYOverride:n,highResScaleFactorOverride:1}),ya({model:e,offsetY:i,ctx:m,theme:t,blockSizeYOverride:n,highResScaleFactorOverride:1}),Ea({model:e,theme:t,offsetY:i,offsetX:o,contrastScheme:d,ctx:C,blockSizeXOverride:r,blockSizeYOverride:n,highResScaleFactorOverride:1}),se.default.createElement(se.default.Fragment,null,se.default.createElement("defs",null,se.default.createElement("clipPath",{id:A},se.default.createElement("rect",{x:0,y:0,width:a,height:n})),se.default.createElement("clipPath",{id:u},se.default.createElement("rect",{x:0,y:0,width:r,height:n}))),se.default.createElement(GA,{clipId:A,html:m.getSvg().innerHTML}),se.default.createElement(GA,{clipId:u,transform:`translate(${a} 0)`,html:C.getSvg().innerHTML}))}function GA({clipId:e,html:t,transform:r}){return se.default.createElement("g",{clipPath:`url(#${e})`,transform:r,dangerouslySetInnerHTML:{__html:t}})}function x2({model:e,theme:t,msaAreaWidth:r,trackHeight:n,offsetX:o,Context:i}){let{treeAreaWidth:s,colorScheme:a,id:c}=e,l=`tracks-${c}`,A=Wi(a,t),u=new i(r,n);return Vp({model:e,ctx:u,offsetX:o,contrastScheme:A,blockSizeXOverride:r,highResScaleFactorOverride:1}),se.default.createElement("g",{transform:`translate(${s} 0)`},se.default.createElement("defs",null,se.default.createElement("clipPath",{id:l},se.default.createElement("rect",{x:0,y:0,width:r,height:n}))),se.default.createElement(GA,{clipId:l,html:u.getSvg().innerHTML}))}function y2({width:e,height:t,children:r}){return se.default.createElement("svg",{width:e,height:t,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:`0 0 ${e} ${t}`},se.default.createElement("rect",{width:"100%",height:"100%",fill:"white"}),r)}var se,cg,lg,UA=g(()=>{se=f(Q(),1),cg=f(de(),1),lg=f(lr(),1);vp();EA();_A();Ia();wa();mn()});var Me=j((RF,fg)=>{fg.exports=JBrowseExports["@jbrowse/core/ui"]});var dg,mg,Po,HA=g(()=>{dg=f(P(),1),mg=f(Q(),1),Po=class extends mg.Component{constructor(t){super(t),this.state={error:void 0}}componentDidCatch(t,r){console.error("ErrorBoundary caught an error:",t,r),this.setState({error:t})}render(){return this.state.error?(0,dg.jsx)(this.props.FallbackComponent,{error:this.state.error}):this.props.children}}});var N=j((PF,pg)=>{pg.exports=JBrowseExports["@mui/material"]});function w2(e){if(typeof window>"u")return()=>{};let t=window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);function r(){e(),t.removeEventListener("change",r),t=window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),t.addEventListener("change",r)}return t.addEventListener("change",r),()=>{t.removeEventListener("change",r)}}function b2(){return typeof window>"u"?1:window.devicePixelRatio}function hg(){return(0,gg.useSyncExternalStore)(w2,b2,()=>1)}var gg,Cg=g(()=>{gg=f(Q(),1)});function pn(e,t){let r=(0,Oo.useRef)(!1),[n,o]=(0,Oo.useState)();return(0,Oo.useEffect)(()=>{if(n!==void 0){let a=function(l){r.current||(r.current=!0,requestAnimationFrame(()=>{let A=e==="x"?l.clientX:l.clientY;t(A-i,s),r.current=!1}))},c=function(){o(void 0)},{client:i,startScroll:s}=n;return document.addEventListener("mousemove",a),document.addEventListener("mouseup",c),()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",c)}}},[e,t,n]),{dragging:n!==void 0,startDrag:(i,s)=>{o({client:e==="x"?i.clientX:i.clientY,startScroll:s})}}}var Oo,ba=g(()=>{Oo=f(Q(),1)});var zt,Ba,jA,qA,Eg,Ig,xg,JA=g(()=>{zt=f(Q(),1),Ba=f(U(),1);ba();jA="rgba(200,200,200)",qA="rgba(150,150,150)",Eg=(0,Ba.observer)(function({model:e}){let{resizeHandleWidth:t}=e,[r,n]=(0,zt.useState)(!1),{startDrag:o}=pn("x",(0,zt.useCallback)((i,s)=>{e.setTreeAreaWidth(s+i)},[e]));return zt.default.createElement("div",{onMouseDown:i=>{o(i,e.treeAreaWidth)},onMouseEnter:()=>{n(!0)},onMouseLeave:()=>{n(!1)},style:{cursor:"ew-resize",width:t,background:r?qA:jA,position:"relative"}})}),Ig=(0,Ba.observer)(function({model:e}){let{resizeHandleWidth:t}=e,[r,n]=(0,zt.useState)(!1),{startDrag:o}=pn("y",(0,zt.useCallback)((i,s)=>{e.setHeight(s+i)},[e]));return zt.default.createElement("div",{onMouseDown:i=>{o(i,e.height)},onMouseEnter:()=>{n(!0)},onMouseLeave:()=>{n(!1)},style:{cursor:"ns-resize",width:"100%",height:t,background:r?qA:jA,position:"relative"}})}),xg=(0,Ba.observer)(function({model:e}){let{resizeHandleWidth:t}=e,[r,n]=(0,zt.useState)(!1),{startDrag:o}=pn("y",(0,zt.useCallback)((i,s)=>{e.setConservationTrackHeight(Math.max(10,s+i))},[e]));return zt.default.createElement("div",{onMouseDown:i=>{o(i,e.conservationTrackHeight)},onMouseEnter:()=>{n(!0)},onMouseLeave:()=>{n(!1)},style:{position:"absolute",bottom:0,left:0,cursor:"ns-resize",width:"100%",height:t,zIndex:1,background:r?qA:jA}})})});var yg,wg,bg=g(()=>{"use client";V();yg=f(P(),1),wg=(0,D.createSvgIcon)((0,yg.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown")});function Bg(e,t){return t===1?e*16:t===2?e*100:e}function Sg(e){let t=Math.abs(e);return t<6?25:t>150?500:t>30?150:75}function Qg(e,t){let r=B2*t,n=Math.max(-r,Math.min(r,e));return n>0?1/(1+n):1-n}var B2,Mg=g(()=>{B2=.011997600479904018});function Go({ref:e,onScrollX:t,onScrollY:r,onZoom:n,scrollZoom:o}){let i=(0,dt.useRef)(!1),s=(0,dt.useRef)(!1),a=(0,dt.useRef)(0),c=(0,dt.useRef)(0),l=(0,dt.useRef)(0),A=(0,dt.useRef)(0),u=(0,dt.useRef)(0),d=(0,dt.useRef)(null),m=(0,dt.useRef)(0),C=(0,dt.useRef)(0),[E,x]=(0,dt.useState)(!1);(0,dt.useEffect)(()=>{let y=e.current;if(!y)return;function B(b){let S=b.ctrlKey||b.metaKey,M=o&&!b.shiftKey&&Math.abs(b.deltaY)>=Math.abs(b.deltaX);if(n&&(S||M)){let k=y.getBoundingClientRect(),v=Bg(b.deltaY,b.deltaMode),F=S?Sg(v):500;l.current+=v/F,A.current=b.clientX-k.left,u.current=b.clientY-k.top,s.current||(s.current=!0,requestAnimationFrame(H=>{let ee=d.current===null?16.67:H-d.current;d.current=H,n(Qg(l.current,Math.min(100,ee)),A.current,u.current),l.current=0,s.current=!1})),b.preventDefault(),b.stopPropagation();return}let G=!!t&&b.deltaX!==0,R=!!r&&b.deltaY!==0;(G||R)&&(t&&(a.current+=b.deltaX),r&&(c.current+=b.deltaY),i.current||(i.current=!0,requestAnimationFrame(()=>{t&&(t(-a.current),a.current=0),r&&(r(-c.current),c.current=0),i.current=!1})),b.preventDefault(),b.stopPropagation())}return y.addEventListener("wheel",B,{passive:!1}),()=>{y.removeEventListener("wheel",B)}},[e,t,r,n,o]),(0,dt.useEffect)(()=>{if(!E)return;function y(b){b.preventDefault();let S=b.clientX-m.current,M=b.clientY-C.current;(S&&t||M&&r)&&(i.current||(i.current=!0,requestAnimationFrame(()=>{t?.(S),r?.(M),i.current=!1,m.current=b.clientX,C.current=b.clientY})))}function B(){m.current=0,C.current=0,x(!1)}return window.addEventListener("mousemove",y,!0),window.addEventListener("mouseup",B,!0),()=>{window.removeEventListener("mousemove",y,!0),window.removeEventListener("mouseup",B,!0)}},[E,t,r]);function I(y){let B=y.target;B.draggable||B.dataset.resizer||y.button===0&&(m.current=y.clientX,C.current=y.clientY,x(!0))}function p(y){y.preventDefault(),x(!1)}return{onMouseDown:I,onMouseUp:p}}var dt,Sa=g(()=>{dt=f(Q(),1);Mg()});function rs(e){let t=navigator.clipboard;if(t?.writeText){t.writeText(e).catch(n=>{console.error("Failed to copy to clipboard:",n)});return}let r=document.createElement("textarea");r.value=e,r.style.position="fixed",r.style.opacity="0",document.body.append(r),r.select(),document.execCommand("copy"),r.remove()}var VA=g(()=>{});var Dg={};We(Dg,{default:()=>v2});var zr,vg,Wn,Tg,_g,Q2,M2,v2,kg=g(()=>{zr=f(Q(),1),vg=f(Me(),1),Wn=f(N(),1),Tg=f(U(),1),_g=f(Qe(),1);VA();Q2=(0,_g.makeStyles)()(e=>({textArea:{padding:e.spacing(2),overflow:"auto",background:"#ddd",wordBreak:"break-word"}})),M2=(0,Tg.observer)(function({model:e,onClose:t}){let[r,n]=(0,zr.useState)("Copy to clipboard"),{classes:o}=Q2();return zr.default.createElement(vg.Dialog,{open:!0,onClose:t,fullWidth:!0,maxWidth:"lg",title:`Track info - ${e.name}`},zr.default.createElement(Wn.DialogContent,null,zr.default.createElement(Wn.Button,{variant:"contained",color:"primary",onClick:()=>{rs(e.data),n("Copied!"),setTimeout(()=>{n("Copy to clipboard")},300)}},r),zr.default.createElement("pre",{className:o.textArea},e.data)),zr.default.createElement(Wn.DialogActions,null,zr.default.createElement(Wn.Button,{variant:"contained",onClick:t,color:"secondary"},"Close")))}),v2=M2});var Fe,zn,YA,Ng,T2,_2,D2,k2,Lg,Rg=g(()=>{Fe=f(Q(),1);bg();zn=f(N(),1),YA=f(U(),1),Ng=f(Qe(),1);Sa();T2=(0,Fe.lazy)(()=>Promise.resolve().then(()=>(kg(),Dg))),_2=(0,Ng.makeStyles)()({button:{padding:0}}),D2=(0,YA.observer)(function({model:t,track:r}){let[n,o]=(0,Fe.useState)(),{drawLabels:i,rowHeight:s,treeAreaWidth:a}=t,{model:{name:c,height:l}}=r,{classes:A}=_2(),u=Math.min(l,Math.max(8,s-8));return Fe.default.createElement("div",{style:{width:a,height:l,flexShrink:0,textAlign:"right",fontSize:u}},i?c:""," ",Fe.default.createElement(zn.IconButton,{className:A.button,style:{width:u,height:u},onClick:d=>{o(d.currentTarget)}},Fe.default.createElement(wg,null)),n?Fe.default.createElement(zn.Menu,{anchorEl:n,transitionDuration:0,open:!0,onClose:()=>{o(void 0)}},Fe.default.createElement(zn.MenuItem,{dense:!0,onClick:()=>{t.toggleTrack(r.model.id),o(void 0)}},"Close"),Fe.default.createElement(zn.MenuItem,{dense:!0,onClick:()=>{t.queueDialog(d=>[T2,{onClose:d,model:r.model}]),o(void 0)}},"Get info")):null)}),k2=(0,YA.observer)(function({model:e,track:t}){let{resizeHandleWidth:r,colWidth:n,scrollX:o,numColumns:i}=e,{model:{height:s}}=t,a=(0,Fe.useRef)(null),c=(0,Fe.useCallback)(l=>{e.doScrollX(l)},[e]);return Go({ref:a,onScrollX:c}),Fe.default.createElement("div",{style:{display:"flex",height:s}},Fe.default.createElement(D2,{model:e,track:t}),Fe.default.createElement("div",{style:{width:r,flexShrink:0}}),Fe.default.createElement("div",{ref:a,onMouseMove:l=>{if(!a.current)return;let{left:A}=a.current.getBoundingClientRect(),u=l.clientX-A-o,d=Math.floor(u/n);d>=0&&d<i?e.setMousePos(d,void 0):e.setMousePos(void 0,void 0)},onMouseLeave:()=>{e.setMousePos(void 0,void 0)}},Fe.default.createElement(t.ReactComponent,{model:e,track:t})))}),Lg=k2});var $n,Fg,Pg,N2,Og,Gg=g(()=>{$n=f(Q(),1),Fg=f(de(),1),Pg=f(U(),1);ba();N2=(0,Pg.observer)(({model:e})=>{let{msaAreaHeight:t,scrollY:r,totalHeight:n}=e,[o,i]=(0,$n.useState)(!1),s="rgba(66, 119, 127, 0.3)",a=t/n,c=-r,l=c+t,A=c*a,u=l*a,{startDrag:d}=pn("y",(0,$n.useCallback)((m,C)=>{e.setScrollY((0,Fg.clamp)(C-m/a,e.maxScrollY,0))},[e,a]));return $n.default.createElement("div",{style:{position:"relative",width:20,height:t,borderLeft:"1px solid #555",borderTop:"1px solid #555",boxSizing:"border-box"}},$n.default.createElement("div",{style:{position:"absolute",top:Math.max(0,A),left:0,background:o?"rgba(66,119,127,0.6)":s,cursor:"pointer",boxSizing:"border-box",width:20,height:Math.max(u-A,20),zIndex:100},onMouseOver:()=>{i(!0)},onMouseOut:()=>{i(!1)},onMouseDown:m=>{d(m,e.scrollY)}}))}),Og=N2});function WA(){let e=(0,Uo.useRef)(null),[t,r]=(0,Uo.useState)({width:void 0,height:void 0});return(0,Uo.useEffect)(()=>{if(!e.current)return;let n=typeof window<"u"&&"ResizeObserver"in window?window.ResizeObserver:void 0;if(!n)return;let o=new n(i=>{r({width:i[0].contentRect.width,height:i[0].contentRect.height})});return o.observe(e.current),()=>{o.disconnect()}},[]),[e,t]}var Uo,Ug=g(()=>{Uo=f(Q(),1)});var Hg,jg,qg=g(()=>{"use client";V();Hg=f(P(),1),jg=(0,D.createSvgIcon)((0,Hg.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}),"Help")});var Jg,Vg,Yg=g(()=>{"use client";V();Jg=f(P(),1),Vg=(0,D.createSvgIcon)((0,Jg.jsx)("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"ChevronRight")});var Wg,zg,$g=g(()=>{"use client";V();Wg=f(P(),1),zg=(0,D.createSvgIcon)((0,Wg.jsx)("path",{d:"M11 18h2v-2h-2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4"}),"HelpOutline")});var Kg,Qa,zA=g(()=>{"use client";V();Kg=f(P(),1),Qa=(0,D.createSvgIcon)((0,Kg.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close")});var Xg,Zg,eh=g(()=>{"use client";V();Xg=f(P(),1),Zg=(0,D.createSvgIcon)((0,Xg.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh")});var th,rh,nh=g(()=>{"use client";V();th=f(P(),1),rh=(0,D.createSvgIcon)((0,th.jsx)("path",{d:"M15.73 3H8.27L3 8.27v7.46L8.27 21h7.46L21 15.73V8.27zM12 17.3c-.72 0-1.3-.58-1.3-1.3s.58-1.3 1.3-1.3 1.3.58 1.3 1.3-.58 1.3-1.3 1.3m1-4.3h-2V7h2z"}),"Report")});function R2(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}function F2(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),e.nonce!==void 0&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}var L2,oh,ih=g(()=>{L2=!1;oh=(function(){function e(r){var n=this;this._insertTag=function(o){var i;n.tags.length===0?n.insertionPoint?i=n.insertionPoint.nextSibling:n.prepend?i=n.container.firstChild:i=n.before:i=n.tags[n.tags.length-1].nextSibling,n.container.insertBefore(o,i),n.tags.push(o)},this.isSpeedy=r.speedy===void 0?!L2:r.speedy,this.tags=[],this.ctr=0,this.nonce=r.nonce,this.key=r.key,this.container=r.container,this.prepend=r.prepend,this.insertionPoint=r.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(n){n.forEach(this._insertTag)},t.insert=function(n){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(F2(this));var o=this.tags[this.tags.length-1];if(this.isSpeedy){var i=R2(o);try{i.insertRule(n,i.cssRules.length)}catch{}}else o.appendChild(document.createTextNode(n));this.ctr++},t.flush=function(){this.tags.forEach(function(n){var o;return(o=n.parentNode)==null?void 0:o.removeChild(n)}),this.tags=[],this.ctr=0},e})()});var ot,ns,X,Ma,Ho,jo,sh,va,ah,Ta=g(()=>{ot="-ms-",ns="-moz-",X="-webkit-",Ma="comm",Ho="rule",jo="decl",sh="@import",va="@keyframes",ah="@layer"});function Ah(e,t){return ke(e,0)^45?(((t<<2^ke(e,0))<<2^ke(e,1))<<2^ke(e,2))<<2^ke(e,3):0}function _a(e){return e.trim()}function $A(e,t){return(e=t.exec(e))?e[0]:e}function Y(e,t,r){return e.replace(t,r)}function os(e,t){return e.indexOf(t)}function ke(e,t){return e.charCodeAt(t)|0}function gn(e,t,r){return e.slice(t,r)}function yt(e){return e.length}function qo(e){return e.length}function Jo(e,t){return t.push(e),e}function KA(e,t){return e.map(t).join("")}var ch,Kn,lh,Vo=g(()=>{ch=Math.abs,Kn=String.fromCharCode,lh=Object.assign});function is(e,t,r,n,o,i,s){return{value:e,root:t,parent:r,type:n,props:o,children:i,line:Da,column:Yo,length:s,return:""}}function $o(e,t){return lh(is("",null,null,"",null,null,0),e,{length:-e.length},t)}function fh(){return Pe}function dh(){return Pe=wt>0?ke(zo,--wt):0,Yo--,Pe===10&&(Yo=1,Da--),Pe}function bt(){return Pe=wt<uh?ke(zo,wt++):0,Yo++,Pe===10&&(Yo=1,Da++),Pe}function $t(){return ke(zo,wt)}function ss(){return wt}function Ko(e,t){return gn(zo,e,t)}function Wo(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function ka(e){return Da=Yo=1,uh=yt(zo=e),wt=0,[]}function Na(e){return zo="",e}function Xo(e){return _a(Ko(wt-1,XA(e===91?e+2:e===40?e+1:e)))}function mh(e){for(;(Pe=$t())&&Pe<33;)bt();return Wo(e)>2||Wo(Pe)>3?"":" "}function ph(e,t){for(;--t&&bt()&&!(Pe<48||Pe>102||Pe>57&&Pe<65||Pe>70&&Pe<97););return Ko(e,ss()+(t<6&&$t()==32&&bt()==32))}function XA(e){for(;bt();)switch(Pe){case e:return wt;case 34:case 39:e!==34&&e!==39&&XA(Pe);break;case 40:e===41&&XA(e);break;case 92:bt();break}return wt}function gh(e,t){for(;bt()&&e+Pe!==57;)if(e+Pe===84&&$t()===47)break;return"/*"+Ko(t,wt-1)+"*"+Kn(e===47?e:bt())}function hh(e){for(;!Wo($t());)bt();return Ko(e,wt)}var Da,Yo,uh,wt,Pe,zo,ZA=g(()=>{Vo();Da=1,Yo=1,uh=0,wt=0,Pe=0,zo=""});function Ih(e){return Na(La("",null,null,null,[""],e=ka(e),0,[0],e))}function La(e,t,r,n,o,i,s,a,c){for(var l=0,A=0,u=s,d=0,m=0,C=0,E=1,x=1,I=1,p=0,y="",B=o,b=i,S=n,M=y;x;)switch(C=p,p=bt()){case 40:if(C!=108&&ke(M,u-1)==58){os(M+=Y(Xo(p),"&","&\f"),"&\f")!=-1&&(I=-1);break}case 34:case 39:case 91:M+=Xo(p);break;case 9:case 10:case 13:case 32:M+=mh(C);break;case 92:M+=ph(ss()-1,7);continue;case 47:switch($t()){case 42:case 47:Jo(P2(gh(bt(),ss()),t,r),c);break;default:M+="/"}break;case 123*E:a[l++]=yt(M)*I;case 125*E:case 59:case 0:switch(p){case 0:case 125:x=0;case 59+A:I==-1&&(M=Y(M,/\f/g,"")),m>0&&yt(M)-u&&Jo(m>32?Eh(M+";",n,r,u-1):Eh(Y(M," ","")+";",n,r,u-2),c);break;case 59:M+=";";default:if(Jo(S=Ch(M,t,r,l,A,o,a,y,B=[],b=[],u),i),p===123)if(A===0)La(M,t,S,S,B,i,u,a,b);else switch(d===99&&ke(M,3)===110?100:d){case 100:case 108:case 109:case 115:La(e,S,S,n&&Jo(Ch(e,S,S,0,0,o,a,y,o,B=[],u),b),o,b,u,a,n?B:b);break;default:La(M,S,S,S,[""],b,0,a,b)}}l=A=m=0,E=I=1,y=M="",u=s;break;case 58:u=1+yt(M),m=C;default:if(E<1){if(p==123)--E;else if(p==125&&E++==0&&dh()==125)continue}switch(M+=Kn(p),p*E){case 38:I=A>0?1:(M+="\f",-1);break;case 44:a[l++]=(yt(M)-1)*I,I=1;break;case 64:$t()===45&&(M+=Xo(bt())),d=$t(),A=u=yt(y=M+=hh(ss())),p++;break;case 45:C===45&&yt(M)==2&&(E=0)}}return i}function Ch(e,t,r,n,o,i,s,a,c,l,A){for(var u=o-1,d=o===0?i:[""],m=qo(d),C=0,E=0,x=0;C<n;++C)for(var I=0,p=gn(e,u+1,u=ch(E=s[C])),y=e;I<m;++I)(y=_a(E>0?d[I]+" "+p:Y(p,/&\f/g,d[I])))&&(c[x++]=y);return is(e,t,r,o===0?Ho:a,c,l,A)}function P2(e,t,r){return is(e,t,r,Ma,Kn(fh()),gn(e,2,-2),0)}function Eh(e,t,r,n){return is(e,t,r,jo,gn(e,0,n),gn(e,n+1,-1),n)}var xh=g(()=>{Ta();Vo();ZA()});var yh=g(()=>{});function Xn(e,t){for(var r="",n=qo(e),o=0;o<n;o++)r+=t(e[o],o,e,t)||"";return r}function wh(e,t,r,n){switch(e.type){case ah:if(e.children.length)break;case sh:case jo:return e.return=e.return||e.value;case Ma:return"";case va:return e.return=e.value+"{"+Xn(e.children,n)+"}";case Ho:e.value=e.props.join(",")}return yt(r=Xn(e.children,n))?e.return=e.value+"{"+r+"}":""}var bh=g(()=>{Ta();Vo()});function Bh(e){var t=qo(e);return function(r,n,o,i){for(var s="",a=0;a<t;a++)s+=e[a](r,n,o,i)||"";return s}}function Sh(e){return function(t){t.root||(t=t.return)&&e(t)}}var Qh=g(()=>{Vo()});var Mh=g(()=>{Ta();Vo();xh();yh();ZA();bh();Qh()});var Ra=g(()=>{});function vh(e){var t=Object.create(null);return function(r){return t[r]===void 0&&(t[r]=e(r)),t[r]}}var eu=g(()=>{});function _h(e,t){switch(Ah(e,t)){case 5103:return X+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return X+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return X+e+ns+e+ot+e+e;case 6828:case 4268:return X+e+ot+e+e;case 6165:return X+e+ot+"flex-"+e+e;case 5187:return X+e+Y(e,/(\w+).+(:[^]+)/,X+"box-$1$2"+ot+"flex-$1$2")+e;case 5443:return X+e+ot+"flex-item-"+Y(e,/flex-|-self/,"")+e;case 4675:return X+e+ot+"flex-line-pack"+Y(e,/align-content|flex-|-self/,"")+e;case 5548:return X+e+ot+Y(e,"shrink","negative")+e;case 5292:return X+e+ot+Y(e,"basis","preferred-size")+e;case 6060:return X+"box-"+Y(e,"-grow","")+X+e+ot+Y(e,"grow","positive")+e;case 4554:return X+Y(e,/([^-])(transform)/g,"$1"+X+"$2")+e;case 6187:return Y(Y(Y(e,/(zoom-|grab)/,X+"$1"),/(image-set)/,X+"$1"),e,"")+e;case 5495:case 3959:return Y(e,/(image-set\([^]*)/,X+"$1$`$1");case 4968:return Y(Y(e,/(.+:)(flex-)?(.*)/,X+"box-pack:$3"+ot+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+X+e+e;case 4095:case 3583:case 4068:case 2532:return Y(e,/(.+)-inline(.+)/,X+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(yt(e)-1-t>6)switch(ke(e,t+1)){case 109:if(ke(e,t+4)!==45)break;case 102:return Y(e,/(.+:)(.+)-([^]+)/,"$1"+X+"$2-$3$1"+ns+(ke(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~os(e,"stretch")?_h(Y(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(ke(e,t+1)!==115)break;case 6444:switch(ke(e,yt(e)-3-(~os(e,"!important")&&10))){case 107:return Y(e,":",":"+X)+e;case 101:return Y(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+X+(ke(e,14)===45?"inline-":"")+"box$3$1"+X+"$2$3$1"+ot+"$2box$3")+e}break;case 5936:switch(ke(e,t+11)){case 114:return X+e+ot+Y(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return X+e+ot+Y(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return X+e+ot+Y(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return X+e+ot+e+e}return e}var O2,G2,U2,Th,H2,j2,q2,J2,Dh,tu=g(()=>{ih();Mh();Ra();eu();O2=function(t,r,n){for(var o=0,i=0;o=i,i=$t(),o===38&&i===12&&(r[n]=1),!Wo(i);)bt();return Ko(t,wt)},G2=function(t,r){var n=-1,o=44;do switch(Wo(o)){case 0:o===38&&$t()===12&&(r[n]=1),t[n]+=O2(wt-1,r,n);break;case 2:t[n]+=Xo(o);break;case 4:if(o===44){t[++n]=$t()===58?"&\f":"",r[n]=t[n].length;break}default:t[n]+=Kn(o)}while(o=bt());return t},U2=function(t,r){return Na(G2(ka(t),r))},Th=new WeakMap,H2=function(t){if(!(t.type!=="rule"||!t.parent||t.length<1)){for(var r=t.value,n=t.parent,o=t.column===n.column&&t.line===n.line;n.type!=="rule";)if(n=n.parent,!n)return;if(!(t.props.length===1&&r.charCodeAt(0)!==58&&!Th.get(n))&&!o){Th.set(t,!0);for(var i=[],s=U2(r,i),a=n.props,c=0,l=0;c<s.length;c++)for(var A=0;A<a.length;A++,l++)t.props[l]=i[c]?s[c].replace(/&\f/g,a[A]):a[A]+" "+s[c]}}},j2=function(t){if(t.type==="decl"){var r=t.value;r.charCodeAt(0)===108&&r.charCodeAt(2)===98&&(t.return="",t.value="")}};q2=function(t,r,n,o){if(t.length>-1&&!t.return)switch(t.type){case jo:t.return=_h(t.value,t.length);break;case va:return Xn([$o(t,{value:Y(t.value,"@","@"+X)})],o);case Ho:if(t.length)return KA(t.props,function(i){switch($A(i,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Xn([$o(t,{props:[Y(i,/:(read-\w+)/,":"+ns+"$1")]})],o);case"::placeholder":return Xn([$o(t,{props:[Y(i,/:(plac\w+)/,":"+X+"input-$1")]}),$o(t,{props:[Y(i,/:(plac\w+)/,":"+ns+"$1")]}),$o(t,{props:[Y(i,/:(plac\w+)/,ot+"input-$1")]})],o)}return""})}},J2=[q2],Dh=function(t){var r=t.key;if(r==="css"){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,function(E){var x=E.getAttribute("data-emotion");x.indexOf(" ")!==-1&&(document.head.appendChild(E),E.setAttribute("data-s",""))})}var o=t.stylisPlugins||J2,i={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+r+' "]'),function(E){for(var x=E.getAttribute("data-emotion").split(" "),I=1;I<x.length;I++)i[x[I]]=!0;a.push(E)});var c,l=[H2,j2];{var A,u=[wh,Sh(function(E){A.insert(E)})],d=Bh(l.concat(o,u)),m=function(x){return Xn(Ih(x),d)};c=function(x,I,p,y){A=p,m(x?x+"{"+I.styles+"}":I.styles),y&&(C.inserted[I.name]=!0)}}var C={key:r,sheet:new oh({key:r,container:s,nonce:t.nonce,speedy:t.speedy,prepend:t.prepend,insertionPoint:t.insertionPoint}),nonce:t.nonce,inserted:i,registered:{},insert:c};return C.sheet.hydrate(a),C}});var ru=g(()=>{});var Nh=j(ae=>{"use strict";var $e=typeof Symbol=="function"&&Symbol.for,nu=$e?Symbol.for("react.element"):60103,ou=$e?Symbol.for("react.portal"):60106,Fa=$e?Symbol.for("react.fragment"):60107,Pa=$e?Symbol.for("react.strict_mode"):60108,Oa=$e?Symbol.for("react.profiler"):60114,Ga=$e?Symbol.for("react.provider"):60109,Ua=$e?Symbol.for("react.context"):60110,iu=$e?Symbol.for("react.async_mode"):60111,Ha=$e?Symbol.for("react.concurrent_mode"):60111,ja=$e?Symbol.for("react.forward_ref"):60112,qa=$e?Symbol.for("react.suspense"):60113,V2=$e?Symbol.for("react.suspense_list"):60120,Ja=$e?Symbol.for("react.memo"):60115,Va=$e?Symbol.for("react.lazy"):60116,Y2=$e?Symbol.for("react.block"):60121,W2=$e?Symbol.for("react.fundamental"):60117,z2=$e?Symbol.for("react.responder"):60118,$2=$e?Symbol.for("react.scope"):60119;function Pt(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case nu:switch(e=e.type,e){case iu:case Ha:case Fa:case Oa:case Pa:case qa:return e;default:switch(e=e&&e.$$typeof,e){case Ua:case ja:case Va:case Ja:case Ga:return e;default:return t}}case ou:return t}}}function kh(e){return Pt(e)===Ha}ae.AsyncMode=iu;ae.ConcurrentMode=Ha;ae.ContextConsumer=Ua;ae.ContextProvider=Ga;ae.Element=nu;ae.ForwardRef=ja;ae.Fragment=Fa;ae.Lazy=Va;ae.Memo=Ja;ae.Portal=ou;ae.Profiler=Oa;ae.StrictMode=Pa;ae.Suspense=qa;ae.isAsyncMode=function(e){return kh(e)||Pt(e)===iu};ae.isConcurrentMode=kh;ae.isContextConsumer=function(e){return Pt(e)===Ua};ae.isContextProvider=function(e){return Pt(e)===Ga};ae.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===nu};ae.isForwardRef=function(e){return Pt(e)===ja};ae.isFragment=function(e){return Pt(e)===Fa};ae.isLazy=function(e){return Pt(e)===Va};ae.isMemo=function(e){return Pt(e)===Ja};ae.isPortal=function(e){return Pt(e)===ou};ae.isProfiler=function(e){return Pt(e)===Oa};ae.isStrictMode=function(e){return Pt(e)===Pa};ae.isSuspense=function(e){return Pt(e)===qa};ae.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Fa||e===Ha||e===Oa||e===Pa||e===qa||e===V2||typeof e=="object"&&e!==null&&(e.$$typeof===Va||e.$$typeof===Ja||e.$$typeof===Ga||e.$$typeof===Ua||e.$$typeof===ja||e.$$typeof===W2||e.$$typeof===z2||e.$$typeof===$2||e.$$typeof===Y2)};ae.typeOf=Pt});var Rh=j((V3,Lh)=>{"use strict";Lh.exports=Nh()});var jh=j((Y3,Hh)=>{"use strict";var su=Rh(),K2={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},X2={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Z2={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Gh={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},au={};au[su.ForwardRef]=Z2;au[su.Memo]=Gh;function Fh(e){return su.isMemo(e)?Gh:au[e.$$typeof]||K2}var ev=Object.defineProperty,tv=Object.getOwnPropertyNames,Ph=Object.getOwnPropertySymbols,rv=Object.getOwnPropertyDescriptor,nv=Object.getPrototypeOf,Oh=Object.prototype;function Uh(e,t,r){if(typeof t!="string"){if(Oh){var n=nv(t);n&&n!==Oh&&Uh(e,n,r)}var o=tv(t);Ph&&(o=o.concat(Ph(t)));for(var i=Fh(e),s=Fh(t),a=0;a<o.length;++a){var c=o[a];if(!X2[c]&&!(r&&r[c])&&!(s&&s[c])&&!(i&&i[c])){var l=rv(t,c);try{ev(e,c,l)}catch{}}}}return e}Hh.exports=Uh});function as(e,t,r){var n="";return r.split(" ").forEach(function(o){e[o]!==void 0?t.push(e[o]+";"):o&&(n+=o+" ")}),n}var ov,Ya,cs,Wa=g(()=>{ov=!0;Ya=function(t,r,n){var o=t.key+"-"+r.name;(n===!1||ov===!1)&&t.registered[o]===void 0&&(t.registered[o]=r.styles)},cs=function(t,r,n){Ya(t,r,n);var o=t.key+"-"+r.name;if(t.inserted[r.name]===void 0){var i=r;do t.insert(r===i?"."+o:"",i,t.sheet,!0),i=i.next;while(i!==void 0)}}});function qh(e){for(var t=0,r,n=0,o=e.length;o>=4;++n,o-=4)r=e.charCodeAt(n)&255|(e.charCodeAt(++n)&255)<<8|(e.charCodeAt(++n)&255)<<16|(e.charCodeAt(++n)&255)<<24,r=(r&65535)*1540483477+((r>>>16)*59797<<16),r^=r>>>24,t=(r&65535)*1540483477+((r>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(o){case 3:t^=(e.charCodeAt(n+2)&255)<<16;case 2:t^=(e.charCodeAt(n+1)&255)<<8;case 1:t^=e.charCodeAt(n)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var Jh=g(()=>{});var Vh,Yh=g(()=>{Vh={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1}});function ls(e,t,r){if(r==null)return"";var n=r;if(n.__emotion_styles!==void 0)return n;switch(typeof r){case"boolean":return"";case"object":{var o=r;if(o.anim===1)return Mr={name:o.name,styles:o.styles,next:Mr},o.name;var i=r;if(i.styles!==void 0){var s=i.next;if(s!==void 0)for(;s!==void 0;)Mr={name:s.name,styles:s.styles,next:Mr},s=s.next;var a=i.styles+";";return a}return lv(e,t,r)}case"function":{if(e!==void 0){var c=Mr,l=r(e);return Mr=c,ls(e,t,l)}break}}var A=r;if(t==null)return A;var u=t[A];return u!==void 0?u:A}function lv(e,t,r){var n="";if(Array.isArray(r))for(var o=0;o<r.length;o++)n+=ls(e,t,r[o])+";";else for(var i in r){var s=r[i];if(typeof s!="object"){var a=s;t!=null&&t[a]!==void 0?n+=i+"{"+t[a]+"}":Wh(a)&&(n+=cu(i)+":"+zh(i,a)+";")}else{if(i==="NO_COMPONENT_SELECTOR"&&iv)throw new Error(cv);if(Array.isArray(s)&&typeof s[0]=="string"&&(t==null||t[s[0]]===void 0))for(var c=0;c<s.length;c++)Wh(s[c])&&(n+=cu(i)+":"+zh(i,s[c])+";");else{var l=ls(e,t,s);switch(i){case"animation":case"animationName":{n+=cu(i)+":"+l+";";break}default:n+=i+"{"+l+"}"}}}}return n}function Zo(e,t,r){if(e.length===1&&typeof e[0]=="object"&&e[0]!==null&&e[0].styles!==void 0)return e[0];var n=!0,o="";Mr=void 0;var i=e[0];if(i==null||i.raw===void 0)n=!1,o+=ls(r,t,i);else{var s=i;o+=s[0]}for(var a=1;a<e.length;a++)if(o+=ls(r,t,e[a]),n){var c=i;o+=c[a]}$h.lastIndex=0;for(var l="",A;(A=$h.exec(o))!==null;)l+="-"+A[1];var u=qh(o)+l;return{name:u,styles:o,next:Mr}}var iv,sv,av,Kh,Wh,cu,zh,cv,$h,Mr,za=g(()=>{Jh();Yh();eu();iv=!1,sv=/[A-Z]|^ms/g,av=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Kh=function(t){return t.charCodeAt(1)===45},Wh=function(t){return t!=null&&typeof t!="boolean"},cu=vh(function(e){return Kh(e)?e:e.replace(sv,"-$&").toLowerCase()}),zh=function(t,r){switch(t){case"animation":case"animationName":if(typeof r=="string")return r.replace(av,function(n,o,i){return Mr={name:o,styles:i,next:Mr},o})}return Vh[t]!==1&&!Kh(t)&&typeof r=="number"&&r!==0?r+"px":r},cv="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";$h=/label:\s*([^\s;{]+)\s*(;|$)/g});var $a,Av,uv,lu,Au=g(()=>{$a=f(Q()),Av=function(t){return t()},uv=$a.useInsertionEffect?$a.useInsertionEffect:!1,lu=uv||Av});var Kt,As,Xh,fu,fv,du,mu,pu,Ka,uu,Zh,dv,mv,e0,gu=g(()=>{Kt=f(Q()),As=f(Q());tu();ru();Ra();Wa();za();Au();Xh=!1,fu=Kt.createContext(typeof HTMLElement<"u"?Dh({key:"css"}):null),fv=fu.Provider,du=function(){return(0,As.useContext)(fu)},mu=function(t){return(0,As.forwardRef)(function(r,n){var o=(0,As.useContext)(fu);return t(r,o,n)})},pu=Kt.createContext({}),Ka={}.hasOwnProperty,uu="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",Zh=function(t,r){var n={};for(var o in r)Ka.call(r,o)&&(n[o]=r[o]);return n[uu]=t,n},dv=function(t){var r=t.cache,n=t.serialized,o=t.isStringTag;return Ya(r,n,o),lu(function(){return cs(r,n,o)}),null},mv=mu(function(e,t,r){var n=e.css;typeof n=="string"&&t.registered[n]!==void 0&&(n=t.registered[n]);var o=e[uu],i=[n],s="";typeof e.className=="string"?s=as(t.registered,i,e.className):e.className!=null&&(s=e.className+" ");var a=Zo(i,void 0,Kt.useContext(pu));s+=t.key+"-"+a.name;var c={};for(var l in e)Ka.call(e,l)&&l!=="css"&&l!==uu&&!Xh&&(c[l]=e[l]);return c.className=s,r&&(c.ref=r),Kt.createElement(Kt.Fragment,null,Kt.createElement(dv,{cache:t,serialized:a,isStringTag:typeof o=="string"}),Kt.createElement(o,c))}),e0=mv});function pv(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Zo(t)}function hu(){var e=pv.apply(void 0,arguments),t="animation-"+e.name;return{name:t,styles:"@keyframes "+t+"{"+e.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}}var ei,y5,t0,Cu=g(()=>{gu();gu();ei=f(Q());Wa();Au();za();tu();ru();Ra();y5=f(jh()),t0=function(t,r){var n=arguments;if(r==null||!Ka.call(r,"css"))return ei.createElement.apply(void 0,n);var o=n.length,i=new Array(o);i[0]=e0,i[1]=Zh(t,r);for(var s=2;s<o;s++)i[s]=n[s];return ei.createElement.apply(null,i)};(function(e){var t;t||(t=e.JSX||(e.JSX={}))})(t0||(t0={}))});var Eu=j((B5,r0)=>{r0.exports=JBrowseExports["@mui/material/styles"]});var ti,Iu=g(()=>{ti=e=>{let t=e.length,r=0,n="";for(;r<t;r++){let o=e[r];if(o==null)continue;let i;switch(typeof o){case"boolean":break;case"object":{if(Array.isArray(o))i=ti(o);else{let s=o;i="";for(let a in s)s[a]&&a&&(i&&(i+=" "),i+=a)}break}default:i=o}i&&(n&&(n+=" "),n+=i)}return n}});function n0(e){return e instanceof Object&&!("styles"in e)&&!("length"in e)&&!("__emotion_styles"in e)}var o0=g(()=>{});function a0(e){let{useCache:t}=e;function r(){let n=t(),{css:o,cx:i}=(0,s0.useMemo)(()=>gv({cache:n}),[n]);return{css:o,cx:i}}return{useCssAndCx:r}}var s0,gv,i0,c0=g(()=>{s0=f(Q(),1);za();Wa();Iu();o0();({createCssAndCx:gv}=(()=>{function e(r,n,o){let i=[],s=as(r,i,o);return i.length<2?o:s+n(i)}function t(r){let{cache:n}=r,o=(...s)=>{let a=Zo(s,n.registered);cs(n,a,!1);let c=`${n.key}-${a.name}`;e:{let l=s[0];if(!n0(l))break e;i0.saveClassNameCSSObjectMapping(n,c,l)}return c};return{css:o,cx:(...s)=>{let a=ti(s),c=i0.fixClassName(n,a,o);return e(n.registered,o,c)}}}return{createCssAndCx:t}})());i0=(()=>{let e=new WeakMap;return{saveClassNameCSSObjectMapping:(t,r,n)=>{let o=e.get(t);o===void 0&&(o=new Map,e.set(t,o)),o.set(r,n)},fixClassName:(()=>{function t(r){let n=!1;return r.map(([o,i])=>{if(i===void 0)return o;let s;if(n)s={"&&":i};else{s=o;for(let a in i)if(a.startsWith("@media")){n=!0;break}}return s})}return(r,n,o)=>{if(!n.includes(" "))return n;let i=e.get(r);return ti(t(n.split(" ").map(s=>[s,i?.get(s)])).map(s=>typeof s=="string"?s:o(s)))}})()}})()});function l0(e,t,r){if(!(t instanceof Object))return e;let n=Object.keys(t);if(n.length===0)return e;let o={};for(let i of Object.keys(e))o[i]=r(e[i],t[i]);for(let i of n){if(i in e)continue;let s=t[i];typeof s=="string"&&(o[i]=s)}return o}var A0=g(()=>{});function u0(e){if(!(e instanceof Object)||typeof e=="function")return e;let t=[];for(let r in e){let n=e[r],o=typeof n;if(!(o==="string"||o==="number"&&!isNaN(n)||o==="boolean"||n===void 0||n===null))return e;t.push(`${r}:${o}_${n}`)}return`xSqLiJdLMd9s${t.join("|")}`}var f0=g(()=>{});function d0(e){let{useTheme:t}=e,{useCssAndCx:r}=a0({useCache:hv});function n(){return function(o){let i=typeof o=="function"?o:()=>o;return function(a,c){let l=t(),{css:A,cx:u}=r(),d=(0,xu.useMemo)(()=>{let x=i(l),I={};for(let p of Object.keys(x)){let y=x[p];I[p]=A(y)}return I},[A,l]),m=c?.props.classes,C=u0(m);return{classes:(0,xu.useMemo)(()=>m?l0(d,m,u):d,[d,C,u]),theme:l,css:A,cx:u}}}}return{makeStyles:n}}var xu,hv,m0=g(()=>{"use client";xu=f(Q(),1);Cu();c0();A0();f0();hv=du});var p0,ne,g0=g(()=>{p0=f(Eu(),1);m0();({makeStyles:ne}=d0({useTheme:p0.useTheme}))});var h0=g(()=>{g0()});function Xa(...e){return ti(e)}var Bt=g(()=>{"use client";Cu();h0();Iu()});function yu({children:e}){let{classes:t}=Cv();return(0,C0.jsx)("div",{className:t.bg,children:e})}var C0,Cv,E0=g(()=>{C0=f(P(),1);Bt();Cv=ne()(e=>({bg:{padding:4,margin:4,overflow:"auto",maxHeight:200,background:e.palette.mode==="dark"?"#833":"#f88",border:`1px solid ${e.palette.divider}`}}))});var x0=j(wu=>{var I0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");wu.encode=function(e){if(0<=e&&e<I0.length)return I0[e];throw new TypeError("Must be between 0 and 63: "+e)};wu.decode=function(e){var t=65,r=90,n=97,o=122,i=48,s=57,a=43,c=47,l=26,A=52;return t<=e&&e<=r?e-t:n<=e&&e<=o?e-n+l:i<=e&&e<=s?e-i+A:e==a?62:e==c?63:-1}});var Su=j(Bu=>{var y0=x0(),bu=5,w0=1<<bu,b0=w0-1,B0=w0;function Ev(e){return e<0?(-e<<1)+1:(e<<1)+0}function Iv(e){var t=(e&1)===1,r=e>>1;return t?-r:r}Bu.encode=function(t){var r="",n,o=Ev(t);do n=o&b0,o>>>=bu,o>0&&(n|=B0),r+=y0.encode(n);while(o>0);return r};Bu.decode=function(t,r,n){var o=t.length,i=0,s=0,a,c;do{if(r>=o)throw new Error("Expected more digits in base 64 VLQ value.");if(c=y0.decode(t.charCodeAt(r++)),c===-1)throw new Error("Invalid base64 digit: "+t.charAt(r-1));a=!!(c&B0),c&=b0,i=i+(c<<s),s+=bu}while(a);n.value=Iv(i),n.rest=r}});var ni=j(Ke=>{function xv(e,t,r){if(t in e)return e[t];if(arguments.length===3)return r;throw new Error('"'+t+'" is a required argument.')}Ke.getArg=xv;var S0=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,yv=/^data:.+\,.+$/;function us(e){var t=e.match(S0);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}Ke.urlParse=us;function ri(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}Ke.urlGenerate=ri;var wv=32;function bv(e){var t=[];return function(r){for(var n=0;n<t.length;n++)if(t[n].input===r){var o=t[0];return t[0]=t[n],t[n]=o,t[0].result}var i=e(r);return t.unshift({input:r,result:i}),t.length>wv&&t.pop(),i}}var Qu=bv(function(t){var r=t,n=us(t);if(n){if(!n.path)return t;r=n.path}for(var o=Ke.isAbsolute(r),i=[],s=0,a=0;;)if(s=a,a=r.indexOf("/",s),a===-1){i.push(r.slice(s));break}else for(i.push(r.slice(s,a));a<r.length&&r[a]==="/";)a++;for(var c,l=0,a=i.length-1;a>=0;a--)c=i[a],c==="."?i.splice(a,1):c===".."?l++:l>0&&(c===""?(i.splice(a+1,l),l=0):(i.splice(a,2),l--));return r=i.join("/"),r===""&&(r=o?"/":"."),n?(n.path=r,ri(n)):r});Ke.normalize=Qu;function Q0(e,t){e===""&&(e="."),t===""&&(t=".");var r=us(t),n=us(e);if(n&&(e=n.path||"/"),r&&!r.scheme)return n&&(r.scheme=n.scheme),ri(r);if(r||t.match(yv))return t;if(n&&!n.host&&!n.path)return n.host=t,ri(n);var o=t.charAt(0)==="/"?t:Qu(e.replace(/\/+$/,"")+"/"+t);return n?(n.path=o,ri(n)):o}Ke.join=Q0;Ke.isAbsolute=function(e){return e.charAt(0)==="/"||S0.test(e)};function Bv(e,t){e===""&&(e="."),e=e.replace(/\/$/,"");for(var r=0;t.indexOf(e+"/")!==0;){var n=e.lastIndexOf("/");if(n<0||(e=e.slice(0,n),e.match(/^([^\/]+:\/)?\/*$/)))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)}Ke.relative=Bv;var M0=(function(){var e=Object.create(null);return!("__proto__"in e)})();function v0(e){return e}function Sv(e){return T0(e)?"$"+e:e}Ke.toSetString=M0?v0:Sv;function Qv(e){return T0(e)?e.slice(1):e}Ke.fromSetString=M0?v0:Qv;function T0(e){if(!e)return!1;var t=e.length;if(t<9||e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(var r=t-10;r>=0;r--)if(e.charCodeAt(r)!==36)return!1;return!0}function Mv(e,t,r){var n=$r(e.source,t.source);return n!==0||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0||r)||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=e.generatedLine-t.generatedLine,n!==0)?n:$r(e.name,t.name)}Ke.compareByOriginalPositions=Mv;function vv(e,t,r){var n;return n=e.originalLine-t.originalLine,n!==0||(n=e.originalColumn-t.originalColumn,n!==0||r)||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=e.generatedLine-t.generatedLine,n!==0)?n:$r(e.name,t.name)}Ke.compareByOriginalPositionsNoSource=vv;function Tv(e,t,r){var n=e.generatedLine-t.generatedLine;return n!==0||(n=e.generatedColumn-t.generatedColumn,n!==0||r)||(n=$r(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:$r(e.name,t.name)}Ke.compareByGeneratedPositionsDeflated=Tv;function _v(e,t,r){var n=e.generatedColumn-t.generatedColumn;return n!==0||r||(n=$r(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:$r(e.name,t.name)}Ke.compareByGeneratedPositionsDeflatedNoLine=_v;function $r(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}function Dv(e,t){var r=e.generatedLine-t.generatedLine;return r!==0||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=$r(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:$r(e.name,t.name)}Ke.compareByGeneratedPositionsInflated=Dv;function kv(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}Ke.parseSourceMapInput=kv;function Nv(e,t,r){if(t=t||"",e&&(e[e.length-1]!=="/"&&t[0]!=="/"&&(e+="/"),t=e+t),r){var n=us(r);if(!n)throw new Error("sourceMapURL could not be parsed");if(n.path){var o=n.path.lastIndexOf("/");o>=0&&(n.path=n.path.substring(0,o+1))}t=Q0(ri(n),t)}return Qu(t)}Ke.computeSourceURL=Nv});var Tu=j(_0=>{var Mu=ni(),vu=Object.prototype.hasOwnProperty,Zn=typeof Map<"u";function Kr(){this._array=[],this._set=Zn?new Map:Object.create(null)}Kr.fromArray=function(t,r){for(var n=new Kr,o=0,i=t.length;o<i;o++)n.add(t[o],r);return n};Kr.prototype.size=function(){return Zn?this._set.size:Object.getOwnPropertyNames(this._set).length};Kr.prototype.add=function(t,r){var n=Zn?t:Mu.toSetString(t),o=Zn?this.has(t):vu.call(this._set,n),i=this._array.length;(!o||r)&&this._array.push(t),o||(Zn?this._set.set(t,i):this._set[n]=i)};Kr.prototype.has=function(t){if(Zn)return this._set.has(t);var r=Mu.toSetString(t);return vu.call(this._set,r)};Kr.prototype.indexOf=function(t){if(Zn){var r=this._set.get(t);if(r>=0)return r}else{var n=Mu.toSetString(t);if(vu.call(this._set,n))return this._set[n]}throw new Error('"'+t+'" is not in the set.')};Kr.prototype.at=function(t){if(t>=0&&t<this._array.length)return this._array[t];throw new Error("No element indexed by "+t)};Kr.prototype.toArray=function(){return this._array.slice()};_0.ArraySet=Kr});var N0=j(k0=>{var D0=ni();function Lv(e,t){var r=e.generatedLine,n=t.generatedLine,o=e.generatedColumn,i=t.generatedColumn;return n>r||n==r&&i>=o||D0.compareByGeneratedPositionsInflated(e,t)<=0}function Za(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}Za.prototype.unsortedForEach=function(t,r){this._array.forEach(t,r)};Za.prototype.add=function(t){Lv(this._last,t)?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))};Za.prototype.toArray=function(){return this._sorted||(this._array.sort(D0.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};k0.MappingList=Za});var _u=j(L0=>{var fs=Su(),Ne=ni(),ec=Tu().ArraySet,Rv=N0().MappingList;function Xt(e){e||(e={}),this._file=Ne.getArg(e,"file",null),this._sourceRoot=Ne.getArg(e,"sourceRoot",null),this._skipValidation=Ne.getArg(e,"skipValidation",!1),this._ignoreInvalidMapping=Ne.getArg(e,"ignoreInvalidMapping",!1),this._sources=new ec,this._names=new ec,this._mappings=new Rv,this._sourcesContents=null}Xt.prototype._version=3;Xt.fromSourceMap=function(t,r){var n=t.sourceRoot,o=new Xt(Object.assign(r||{},{file:t.file,sourceRoot:n}));return t.eachMapping(function(i){var s={generated:{line:i.generatedLine,column:i.generatedColumn}};i.source!=null&&(s.source=i.source,n!=null&&(s.source=Ne.relative(n,s.source)),s.original={line:i.originalLine,column:i.originalColumn},i.name!=null&&(s.name=i.name)),o.addMapping(s)}),t.sources.forEach(function(i){var s=i;n!==null&&(s=Ne.relative(n,i)),o._sources.has(s)||o._sources.add(s);var a=t.sourceContentFor(i);a!=null&&o.setSourceContent(i,a)}),o};Xt.prototype.addMapping=function(t){var r=Ne.getArg(t,"generated"),n=Ne.getArg(t,"original",null),o=Ne.getArg(t,"source",null),i=Ne.getArg(t,"name",null);!this._skipValidation&&this._validateMapping(r,n,o,i)===!1||(o!=null&&(o=String(o),this._sources.has(o)||this._sources.add(o)),i!=null&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n!=null&&n.line,originalColumn:n!=null&&n.column,source:o,name:i}))};Xt.prototype.setSourceContent=function(t,r){var n=t;this._sourceRoot!=null&&(n=Ne.relative(this._sourceRoot,n)),r!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[Ne.toSetString(n)]=r):this._sourcesContents&&(delete this._sourcesContents[Ne.toSetString(n)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))};Xt.prototype.applySourceMap=function(t,r,n){var o=r;if(r==null){if(t.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);o=t.file}var i=this._sourceRoot;i!=null&&(o=Ne.relative(i,o));var s=new ec,a=new ec;this._mappings.unsortedForEach(function(c){if(c.source===o&&c.originalLine!=null){var l=t.originalPositionFor({line:c.originalLine,column:c.originalColumn});l.source!=null&&(c.source=l.source,n!=null&&(c.source=Ne.join(n,c.source)),i!=null&&(c.source=Ne.relative(i,c.source)),c.originalLine=l.line,c.originalColumn=l.column,l.name!=null&&(c.name=l.name))}var A=c.source;A!=null&&!s.has(A)&&s.add(A);var u=c.name;u!=null&&!a.has(u)&&a.add(u)},this),this._sources=s,this._names=a,t.sources.forEach(function(c){var l=t.sourceContentFor(c);l!=null&&(n!=null&&(c=Ne.join(n,c)),i!=null&&(c=Ne.relative(i,c)),this.setSourceContent(c,l))},this)};Xt.prototype._validateMapping=function(t,r,n,o){if(r&&typeof r.line!="number"&&typeof r.column!="number"){var i="original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.";if(this._ignoreInvalidMapping)return typeof console<"u"&&console.warn&&console.warn(i),!1;throw new Error(i)}if(!(t&&"line"in t&&"column"in t&&t.line>0&&t.column>=0&&!r&&!n&&!o)){if(t&&"line"in t&&"column"in t&&r&&"line"in r&&"column"in r&&t.line>0&&t.column>=0&&r.line>0&&r.column>=0&&n)return;var i="Invalid mapping: "+JSON.stringify({generated:t,source:n,original:r,name:o});if(this._ignoreInvalidMapping)return typeof console<"u"&&console.warn&&console.warn(i),!1;throw new Error(i)}};Xt.prototype._serializeMappings=function(){for(var t=0,r=1,n=0,o=0,i=0,s=0,a="",c,l,A,u,d=this._mappings.toArray(),m=0,C=d.length;m<C;m++){if(l=d[m],c="",l.generatedLine!==r)for(t=0;l.generatedLine!==r;)c+=";",r++;else if(m>0){if(!Ne.compareByGeneratedPositionsInflated(l,d[m-1]))continue;c+=","}c+=fs.encode(l.generatedColumn-t),t=l.generatedColumn,l.source!=null&&(u=this._sources.indexOf(l.source),c+=fs.encode(u-s),s=u,c+=fs.encode(l.originalLine-1-o),o=l.originalLine-1,c+=fs.encode(l.originalColumn-n),n=l.originalColumn,l.name!=null&&(A=this._names.indexOf(l.name),c+=fs.encode(A-i),i=A)),a+=c}return a};Xt.prototype._generateSourcesContent=function(t,r){return t.map(function(n){if(!this._sourcesContents)return null;r!=null&&(n=Ne.relative(r,n));var o=Ne.toSetString(n);return Object.prototype.hasOwnProperty.call(this._sourcesContents,o)?this._sourcesContents[o]:null},this)};Xt.prototype.toJSON=function(){var t={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(t.file=this._file),this._sourceRoot!=null&&(t.sourceRoot=this._sourceRoot),this._sourcesContents&&(t.sourcesContent=this._generateSourcesContent(t.sources,t.sourceRoot)),t};Xt.prototype.toString=function(){return JSON.stringify(this.toJSON())};L0.SourceMapGenerator=Xt});var R0=j(eo=>{eo.GREATEST_LOWER_BOUND=1;eo.LEAST_UPPER_BOUND=2;function Du(e,t,r,n,o,i){var s=Math.floor((t-e)/2)+e,a=o(r,n[s],!0);return a===0?s:a>0?t-s>1?Du(s,t,r,n,o,i):i==eo.LEAST_UPPER_BOUND?t<n.length?t:-1:s:s-e>1?Du(e,s,r,n,o,i):i==eo.LEAST_UPPER_BOUND?s:e<0?-1:e}eo.search=function(t,r,n,o){if(r.length===0)return-1;var i=Du(-1,r.length,t,r,n,o||eo.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&n(r[i],r[i-1],!0)===0;)--i;return i}});var O0=j(P0=>{function Fv(e){function t(o,i,s){var a=o[i];o[i]=o[s],o[s]=a}function r(o,i){return Math.round(o+Math.random()*(i-o))}function n(o,i,s,a){if(s<a){var c=r(s,a),l=s-1;t(o,c,a);for(var A=o[a],u=s;u<a;u++)i(o[u],A,!1)<=0&&(l+=1,t(o,l,u));t(o,l+1,u);var d=l+1;n(o,i,s,d-1),n(o,i,d+1,a)}}return n}function Pv(e){let t=Fv.toString();return new Function(`return ${t}`)()(e)}var F0=new WeakMap;P0.quickSort=function(e,t,r=0){let n=F0.get(t);n===void 0&&(n=Pv(t),F0.set(t,n)),n(e,t,r,e.length-1)}});var H0=j(tc=>{var L=ni(),Nu=R0(),oi=Tu().ArraySet,Ov=Su(),ds=O0().quickSort;function Ie(e,t){var r=e;return typeof e=="string"&&(r=L.parseSourceMapInput(e)),r.sections!=null?new ur(r,t):new it(r,t)}Ie.fromSourceMap=function(e,t){return it.fromSourceMap(e,t)};Ie.prototype._version=3;Ie.prototype.__generatedMappings=null;Object.defineProperty(Ie.prototype,"_generatedMappings",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}});Ie.prototype.__originalMappings=null;Object.defineProperty(Ie.prototype,"_originalMappings",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}});Ie.prototype._charIsMappingSeparator=function(t,r){var n=t.charAt(r);return n===";"||n===","};Ie.prototype._parseMappings=function(t,r){throw new Error("Subclasses must implement _parseMappings")};Ie.GENERATED_ORDER=1;Ie.ORIGINAL_ORDER=2;Ie.GREATEST_LOWER_BOUND=1;Ie.LEAST_UPPER_BOUND=2;Ie.prototype.eachMapping=function(t,r,n){var o=r||null,i=n||Ie.GENERATED_ORDER,s;switch(i){case Ie.GENERATED_ORDER:s=this._generatedMappings;break;case Ie.ORIGINAL_ORDER:s=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}for(var a=this.sourceRoot,c=t.bind(o),l=this._names,A=this._sources,u=this._sourceMapURL,d=0,m=s.length;d<m;d++){var C=s[d],E=C.source===null?null:A.at(C.source);E!==null&&(E=L.computeSourceURL(a,E,u)),c({source:E,generatedLine:C.generatedLine,generatedColumn:C.generatedColumn,originalLine:C.originalLine,originalColumn:C.originalColumn,name:C.name===null?null:l.at(C.name)})}};Ie.prototype.allGeneratedPositionsFor=function(t){var r=L.getArg(t,"line"),n={source:L.getArg(t,"source"),originalLine:r,originalColumn:L.getArg(t,"column",0)};if(n.source=this._findSourceIndex(n.source),n.source<0)return[];var o=[],i=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",L.compareByOriginalPositions,Nu.LEAST_UPPER_BOUND);if(i>=0){var s=this._originalMappings[i];if(t.column===void 0)for(var a=s.originalLine;s&&s.originalLine===a;)o.push({line:L.getArg(s,"generatedLine",null),column:L.getArg(s,"generatedColumn",null),lastColumn:L.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i];else for(var c=s.originalColumn;s&&s.originalLine===r&&s.originalColumn==c;)o.push({line:L.getArg(s,"generatedLine",null),column:L.getArg(s,"generatedColumn",null),lastColumn:L.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i]}return o};tc.SourceMapConsumer=Ie;function it(e,t){var r=e;typeof e=="string"&&(r=L.parseSourceMapInput(e));var n=L.getArg(r,"version"),o=L.getArg(r,"sources"),i=L.getArg(r,"names",[]),s=L.getArg(r,"sourceRoot",null),a=L.getArg(r,"sourcesContent",null),c=L.getArg(r,"mappings"),l=L.getArg(r,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);s&&(s=L.normalize(s)),o=o.map(String).map(L.normalize).map(function(A){return s&&L.isAbsolute(s)&&L.isAbsolute(A)?L.relative(s,A):A}),this._names=oi.fromArray(i.map(String),!0),this._sources=oi.fromArray(o,!0),this._absoluteSources=this._sources.toArray().map(function(A){return L.computeSourceURL(s,A,t)}),this.sourceRoot=s,this.sourcesContent=a,this._mappings=c,this._sourceMapURL=t,this.file=l}it.prototype=Object.create(Ie.prototype);it.prototype.consumer=Ie;it.prototype._findSourceIndex=function(e){var t=e;if(this.sourceRoot!=null&&(t=L.relative(this.sourceRoot,t)),this._sources.has(t))return this._sources.indexOf(t);var r;for(r=0;r<this._absoluteSources.length;++r)if(this._absoluteSources[r]==e)return r;return-1};it.fromSourceMap=function(t,r){var n=Object.create(it.prototype),o=n._names=oi.fromArray(t._names.toArray(),!0),i=n._sources=oi.fromArray(t._sources.toArray(),!0);n.sourceRoot=t._sourceRoot,n.sourcesContent=t._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=t._file,n._sourceMapURL=r,n._absoluteSources=n._sources.toArray().map(function(m){return L.computeSourceURL(n.sourceRoot,m,r)});for(var s=t._mappings.toArray().slice(),a=n.__generatedMappings=[],c=n.__originalMappings=[],l=0,A=s.length;l<A;l++){var u=s[l],d=new U0;d.generatedLine=u.generatedLine,d.generatedColumn=u.generatedColumn,u.source&&(d.source=i.indexOf(u.source),d.originalLine=u.originalLine,d.originalColumn=u.originalColumn,u.name&&(d.name=o.indexOf(u.name)),c.push(d)),a.push(d)}return ds(n.__originalMappings,L.compareByOriginalPositions),n};it.prototype._version=3;Object.defineProperty(it.prototype,"sources",{get:function(){return this._absoluteSources.slice()}});function U0(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}var ku=L.compareByGeneratedPositionsDeflatedNoLine;function G0(e,t){let r=e.length,n=e.length-t;if(!(n<=1))if(n==2){let o=e[t],i=e[t+1];ku(o,i)>0&&(e[t]=i,e[t+1]=o)}else if(n<20)for(let o=t;o<r;o++)for(let i=o;i>t;i--){let s=e[i-1],a=e[i];if(ku(s,a)<=0)break;e[i-1]=a,e[i]=s}else ds(e,ku,t)}it.prototype._parseMappings=function(t,r){var n=1,o=0,i=0,s=0,a=0,c=0,l=t.length,A=0,u={},d={},m=[],C=[],E,x,I,p,y;let B=0;for(;A<l;)if(t.charAt(A)===";")n++,A++,o=0,G0(C,B),B=C.length;else if(t.charAt(A)===",")A++;else{for(E=new U0,E.generatedLine=n,p=A;p<l&&!this._charIsMappingSeparator(t,p);p++);for(x=t.slice(A,p),I=[];A<p;)Ov.decode(t,A,d),y=d.value,A=d.rest,I.push(y);if(I.length===2)throw new Error("Found a source, but no line and column");if(I.length===3)throw new Error("Found a source and line, but no column");if(E.generatedColumn=o+I[0],o=E.generatedColumn,I.length>1&&(E.source=a+I[1],a+=I[1],E.originalLine=i+I[2],i=E.originalLine,E.originalLine+=1,E.originalColumn=s+I[3],s=E.originalColumn,I.length>4&&(E.name=c+I[4],c+=I[4])),C.push(E),typeof E.originalLine=="number"){let S=E.source;for(;m.length<=S;)m.push(null);m[S]===null&&(m[S]=[]),m[S].push(E)}}G0(C,B),this.__generatedMappings=C;for(var b=0;b<m.length;b++)m[b]!=null&&ds(m[b],L.compareByOriginalPositionsNoSource);this.__originalMappings=[].concat(...m)};it.prototype._findMapping=function(t,r,n,o,i,s){if(t[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+t[n]);if(t[o]<0)throw new TypeError("Column must be greater than or equal to 0, got "+t[o]);return Nu.search(t,r,i,s)};it.prototype.computeColumnSpans=function(){for(var t=0;t<this._generatedMappings.length;++t){var r=this._generatedMappings[t];if(t+1<this._generatedMappings.length){var n=this._generatedMappings[t+1];if(r.generatedLine===n.generatedLine){r.lastGeneratedColumn=n.generatedColumn-1;continue}}r.lastGeneratedColumn=1/0}};it.prototype.originalPositionFor=function(t){var r={generatedLine:L.getArg(t,"line"),generatedColumn:L.getArg(t,"column")},n=this._findMapping(r,this._generatedMappings,"generatedLine","generatedColumn",L.compareByGeneratedPositionsDeflated,L.getArg(t,"bias",Ie.GREATEST_LOWER_BOUND));if(n>=0){var o=this._generatedMappings[n];if(o.generatedLine===r.generatedLine){var i=L.getArg(o,"source",null);i!==null&&(i=this._sources.at(i),i=L.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var s=L.getArg(o,"name",null);return s!==null&&(s=this._names.at(s)),{source:i,line:L.getArg(o,"originalLine",null),column:L.getArg(o,"originalColumn",null),name:s}}}return{source:null,line:null,column:null,name:null}};it.prototype.hasContentsOfAllSources=function(){return this.sourcesContent?this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(t){return t==null}):!1};it.prototype.sourceContentFor=function(t,r){if(!this.sourcesContent)return null;var n=this._findSourceIndex(t);if(n>=0)return this.sourcesContent[n];var o=t;this.sourceRoot!=null&&(o=L.relative(this.sourceRoot,o));var i;if(this.sourceRoot!=null&&(i=L.urlParse(this.sourceRoot))){var s=o.replace(/^file:\/\//,"");if(i.scheme=="file"&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!i.path||i.path=="/")&&this._sources.has("/"+o))return this.sourcesContent[this._sources.indexOf("/"+o)]}if(r)return null;throw new Error('"'+o+'" is not in the SourceMap.')};it.prototype.generatedPositionFor=function(t){var r=L.getArg(t,"source");if(r=this._findSourceIndex(r),r<0)return{line:null,column:null,lastColumn:null};var n={source:r,originalLine:L.getArg(t,"line"),originalColumn:L.getArg(t,"column")},o=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",L.compareByOriginalPositions,L.getArg(t,"bias",Ie.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===n.source)return{line:L.getArg(i,"generatedLine",null),column:L.getArg(i,"generatedColumn",null),lastColumn:L.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};tc.BasicSourceMapConsumer=it;function ur(e,t){var r=e;typeof e=="string"&&(r=L.parseSourceMapInput(e));var n=L.getArg(r,"version"),o=L.getArg(r,"sections");if(n!=this._version)throw new Error("Unsupported version: "+n);this._sources=new oi,this._names=new oi;var i={line:-1,column:0};this._sections=o.map(function(s){if(s.url)throw new Error("Support for url field in sections not implemented.");var a=L.getArg(s,"offset"),c=L.getArg(a,"line"),l=L.getArg(a,"column");if(c<i.line||c===i.line&&l<i.column)throw new Error("Section offsets must be ordered and non-overlapping.");return i=a,{generatedOffset:{generatedLine:c+1,generatedColumn:l+1},consumer:new Ie(L.getArg(s,"map"),t)}})}ur.prototype=Object.create(Ie.prototype);ur.prototype.constructor=Ie;ur.prototype._version=3;Object.defineProperty(ur.prototype,"sources",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var r=0;r<this._sections[t].consumer.sources.length;r++)e.push(this._sections[t].consumer.sources[r]);return e}});ur.prototype.originalPositionFor=function(t){var r={generatedLine:L.getArg(t,"line"),generatedColumn:L.getArg(t,"column")},n=Nu.search(r,this._sections,function(i,s){var a=i.generatedLine-s.generatedOffset.generatedLine;return a||i.generatedColumn-s.generatedOffset.generatedColumn}),o=this._sections[n];return o?o.consumer.originalPositionFor({line:r.generatedLine-(o.generatedOffset.generatedLine-1),column:r.generatedColumn-(o.generatedOffset.generatedLine===r.generatedLine?o.generatedOffset.generatedColumn-1:0),bias:t.bias}):{source:null,line:null,column:null,name:null}};ur.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(t){return t.consumer.hasContentsOfAllSources()})};ur.prototype.sourceContentFor=function(t,r){for(var n=0;n<this._sections.length;n++){var o=this._sections[n],i=o.consumer.sourceContentFor(t,!0);if(i||i==="")return i}if(r)return null;throw new Error('"'+t+'" is not in the SourceMap.')};ur.prototype.generatedPositionFor=function(t){for(var r=0;r<this._sections.length;r++){var n=this._sections[r];if(n.consumer._findSourceIndex(L.getArg(t,"source"))!==-1){var o=n.consumer.generatedPositionFor(t);if(o){var i={line:o.line+(n.generatedOffset.generatedLine-1),column:o.column+(n.generatedOffset.generatedLine===o.line?n.generatedOffset.generatedColumn-1:0)};return i}}}return{line:null,column:null}};ur.prototype._parseMappings=function(t,r){this.__generatedMappings=[],this.__originalMappings=[];for(var n=0;n<this._sections.length;n++)for(var o=this._sections[n],i=o.consumer._generatedMappings,s=0;s<i.length;s++){var a=i[s],c=o.consumer._sources.at(a.source);c!==null&&(c=L.computeSourceURL(o.consumer.sourceRoot,c,this._sourceMapURL)),this._sources.add(c),c=this._sources.indexOf(c);var l=null;a.name&&(l=o.consumer._names.at(a.name),this._names.add(l),l=this._names.indexOf(l));var A={source:c,generatedLine:a.generatedLine+(o.generatedOffset.generatedLine-1),generatedColumn:a.generatedColumn+(o.generatedOffset.generatedLine===a.generatedLine?o.generatedOffset.generatedColumn-1:0),originalLine:a.originalLine,originalColumn:a.originalColumn,name:l};this.__generatedMappings.push(A),typeof A.originalLine=="number"&&this.__originalMappings.push(A)}ds(this.__generatedMappings,L.compareByGeneratedPositionsDeflated),ds(this.__originalMappings,L.compareByOriginalPositions)};tc.IndexedSourceMapConsumer=ur});var q0=j(j0=>{var Gv=_u().SourceMapGenerator,rc=ni(),Uv=/(\r?\n)/,Hv=10,ii="$$$isSourceNode$$$";function Ot(e,t,r,n,o){this.children=[],this.sourceContents={},this.line=e??null,this.column=t??null,this.source=r??null,this.name=o??null,this[ii]=!0,n!=null&&this.add(n)}Ot.fromStringWithSourceMap=function(t,r,n){var o=new Ot,i=t.split(Uv),s=0,a=function(){var d=C(),m=C()||"";return d+m;function C(){return s<i.length?i[s++]:void 0}},c=1,l=0,A=null;return r.eachMapping(function(d){if(A!==null)if(c<d.generatedLine)u(A,a()),c++,l=0;else{var m=i[s]||"",C=m.substr(0,d.generatedColumn-l);i[s]=m.substr(d.generatedColumn-l),l=d.generatedColumn,u(A,C),A=d;return}for(;c<d.generatedLine;)o.add(a()),c++;if(l<d.generatedColumn){var m=i[s]||"";o.add(m.substr(0,d.generatedColumn)),i[s]=m.substr(d.generatedColumn),l=d.generatedColumn}A=d},this),s<i.length&&(A&&u(A,a()),o.add(i.splice(s).join(""))),r.sources.forEach(function(d){var m=r.sourceContentFor(d);m!=null&&(n!=null&&(d=rc.join(n,d)),o.setSourceContent(d,m))}),o;function u(d,m){if(d===null||d.source===void 0)o.add(m);else{var C=n?rc.join(n,d.source):d.source;o.add(new Ot(d.originalLine,d.originalColumn,C,m,d.name))}}};Ot.prototype.add=function(t){if(Array.isArray(t))t.forEach(function(r){this.add(r)},this);else if(t[ii]||typeof t=="string")t&&this.children.push(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};Ot.prototype.prepend=function(t){if(Array.isArray(t))for(var r=t.length-1;r>=0;r--)this.prepend(t[r]);else if(t[ii]||typeof t=="string")this.children.unshift(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};Ot.prototype.walk=function(t){for(var r,n=0,o=this.children.length;n<o;n++)r=this.children[n],r[ii]?r.walk(t):r!==""&&t(r,{source:this.source,line:this.line,column:this.column,name:this.name})};Ot.prototype.join=function(t){var r,n,o=this.children.length;if(o>0){for(r=[],n=0;n<o-1;n++)r.push(this.children[n]),r.push(t);r.push(this.children[n]),this.children=r}return this};Ot.prototype.replaceRight=function(t,r){var n=this.children[this.children.length-1];return n[ii]?n.replaceRight(t,r):typeof n=="string"?this.children[this.children.length-1]=n.replace(t,r):this.children.push("".replace(t,r)),this};Ot.prototype.setSourceContent=function(t,r){this.sourceContents[rc.toSetString(t)]=r};Ot.prototype.walkSourceContents=function(t){for(var r=0,n=this.children.length;r<n;r++)this.children[r][ii]&&this.children[r].walkSourceContents(t);for(var o=Object.keys(this.sourceContents),r=0,n=o.length;r<n;r++)t(rc.fromSetString(o[r]),this.sourceContents[o[r]])};Ot.prototype.toString=function(){var t="";return this.walk(function(r){t+=r}),t};Ot.prototype.toStringWithSourceMap=function(t){var r={code:"",line:1,column:0},n=new Gv(t),o=!1,i=null,s=null,a=null,c=null;return this.walk(function(l,A){r.code+=l,A.source!==null&&A.line!==null&&A.column!==null?((i!==A.source||s!==A.line||a!==A.column||c!==A.name)&&n.addMapping({source:A.source,original:{line:A.line,column:A.column},generated:{line:r.line,column:r.column},name:A.name}),i=A.source,s=A.line,a=A.column,c=A.name,o=!0):o&&(n.addMapping({generated:{line:r.line,column:r.column}}),i=null,o=!1);for(var u=0,d=l.length;u<d;u++)l.charCodeAt(u)===Hv?(r.line++,r.column=0,u+1===d?(i=null,o=!1):o&&n.addMapping({source:A.source,original:{line:A.line,column:A.column},generated:{line:r.line,column:r.column},name:A.name})):r.column++}),this.walkSourceContents(function(l,A){n.setSourceContent(l,A)}),{code:r.code,map:n}};j0.SourceNode=Ot});var J0=j(nc=>{nc.SourceMapGenerator=_u().SourceMapGenerator;nc.SourceMapConsumer=H0().SourceMapConsumer;nc.SourceNode=q0().SourceNode});var V0,oc,Lu=g(()=>{"use client";V();V0=f(P(),1),oc=(0,D.createSvgIcon)((0,V0.jsx)("path",{d:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z"}),"OpenInNew")});function sc(e){let{children:t,...r}=e;return(0,ic.jsxs)(Y0.Link,{...r,target:"_blank",rel:"noopener noreferrer",children:[t," ",(0,ic.jsx)(oc,{fontSize:"small"})]})}var ic,Y0,W0=g(()=>{ic=f(P(),1);Lu();Y0=f(N(),1)});function Ru({text:e,extra:t}){let{classes:r}=jv(),n=t?`supporting data: ${JSON.stringify(t,null,2)}`:"",o=[e,n].filter(Boolean).join(`
2
2
  `),i=encodeURIComponent(`I got this error from JBrowse, here is the stack trace:
3
3
 
4
4
  \`\`\`
5
5
  ${e}
6
6
  \`\`\`
7
7
  ${n}
8
- `),s=`https://github.com/GMOD/jbrowse-components/issues/new?labels=bug&title=JBrowse+issue&body=${i}`,a=`mailto:${xh}?subject=JBrowse%202%20error&body=${i}`;return(0,qr.jsxs)(qr.Fragment,{children:[(0,qr.jsxs)(_a.Typography,{children:["Post a new issue at"," ",(0,qr.jsx)(Ta,{href:s,children:"GitHub"})," or send an email to ",(0,qr.jsx)(Ta,{href:a,children:xh})]}),(0,qr.jsx)("pre",{className:r.pre,children:o})]})}var qr,_a,xh,$M,yh=g(()=>{qr=f(R(),1),_a=f(k(),1);Ih();Et();xh="jbrowse2@berkeley.edu",$M=te()(e=>({pre:{background:(0,_a.alpha)(e.palette.error.main,.2),border:`1px solid ${e.palette.divider}`,overflow:"auto",margin:20,maxHeight:300}}))});function FA({message:e,children:t,variant:r="body2",...n}){let{classes:o}=KM();return(0,bh.jsx)(wh.Typography,{className:ya(o.dots,n.className),...n,variant:r,children:e||"Loading"})}var bh,wh,KM,Bh=g(()=>{bh=f(R(),1),wh=f(k(),1);Et();KM=te()({dots:{"&::after":{display:"inline-block",content:'""',width:"1em",textAlign:"left",animation:`${pA`
8
+ `),s=`https://github.com/GMOD/jbrowse-components/issues/new?labels=bug&title=JBrowse+issue&body=${i}`,a=`mailto:${z0}?subject=JBrowse%202%20error&body=${i}`;return(0,Xr.jsxs)(Xr.Fragment,{children:[(0,Xr.jsxs)(ac.Typography,{children:["Post a new issue at"," ",(0,Xr.jsx)(sc,{href:s,children:"GitHub"})," or send an email to ",(0,Xr.jsx)(sc,{href:a,children:z0})]}),(0,Xr.jsx)("pre",{className:r.pre,children:o})]})}var Xr,ac,z0,jv,$0=g(()=>{Xr=f(P(),1),ac=f(N(),1);W0();Bt();z0="jbrowse2@berkeley.edu",jv=ne()(e=>({pre:{background:(0,ac.alpha)(e.palette.error.main,.2),border:`1px solid ${e.palette.divider}`,overflow:"auto",margin:20,maxHeight:300}}))});function Fu({message:e,children:t,variant:r="body2",...n}){let{classes:o}=qv();return(0,K0.jsx)(X0.Typography,{className:Xa(o.dots,n.className),...n,variant:r,children:e||"Loading"})}var K0,X0,qv,Z0=g(()=>{K0=f(P(),1),X0=f(N(),1);Bt();qv=ne()({dots:{"&::after":{display:"inline-block",content:'""',width:"1em",textAlign:"left",animation:`${hu`
9
9
  0% {
10
10
  content: '';
11
11
  }
@@ -18,18 +18,26 @@ ${n}
18
18
  75% {
19
19
  content: '...';
20
20
  }
21
- `} 1.2s infinite ease-in-out`}}})});var Qh=U((WR,Sh)=>{Sh.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,r=[],n=0;n<e.rangeCount;n++)r.push(e.getRangeAt(n));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null;break}return e.removeAllRanges(),function(){e.type==="Caret"&&e.removeAllRanges(),e.rangeCount||r.forEach(function(o){e.addRange(o)}),t&&t.focus()}}});var Th=U((zR,vh)=>{"use strict";var XM=Qh(),Mh={"text/plain":"Text","text/html":"Url",default:"Text"},ZM="Copy to clipboard: #{key}, Enter";function e2(e){var t=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}function t2(e,t){var r,n,o,i,s,a,c=!1;t||(t={}),r=t.debug||!1;try{o=XM(),i=document.createRange(),s=document.getSelection(),a=document.createElement("span"),a.textContent=e,a.ariaHidden="true",a.style.all="unset",a.style.position="fixed",a.style.top=0,a.style.clip="rect(0, 0, 0, 0)",a.style.whiteSpace="pre",a.style.webkitUserSelect="text",a.style.MozUserSelect="text",a.style.msUserSelect="text",a.style.userSelect="text",a.addEventListener("copy",function(A){if(A.stopPropagation(),t.format)if(A.preventDefault(),typeof A.clipboardData>"u"){r&&console.warn("unable to use e.clipboardData"),r&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var u=Mh[t.format]||Mh.default;window.clipboardData.setData(u,e)}else A.clipboardData.clearData(),A.clipboardData.setData(t.format,e);t.onCopy&&(A.preventDefault(),t.onCopy(A.clipboardData))}),document.body.appendChild(a),i.selectNodeContents(a),s.addRange(i);var l=document.execCommand("copy");if(!l)throw new Error("copy command was unsuccessful");c=!0}catch(A){r&&console.error("unable to copy using execCommand: ",A),r&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),c=!0}catch(u){r&&console.error("unable to copy using clipboardData: ",u),r&&console.error("falling back to prompt"),n=e2("message"in t?t.message:ZM),window.prompt(n,e)}}finally{s&&(typeof s.removeRange=="function"?s.removeRange(i):s.removeAllRanges()),a&&document.body.removeChild(a),o()}return c}vh.exports=t2});var Lh={};Ye(Lh,{default:()=>Nh});async function Dh(e){let t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status} fetching ${e}: ${await t.text()}`);return t.text()}async function r2(e){return JSON.parse(await Dh(e))}async function i2(e){if(RA[e])return RA[e];let t=new URL(e).search,r=await Dh(e),n=n2.exec(r)?.[1]??"",o=await r2(new URL(n,e).href+t),i=new kh.SourceMapConsumer(o);return RA[e]=i,i}async function s2(e){let t=[];for(let r of e.split(`
22
- `)){let n=o2.exec(r);if(!n){t.push(r);continue}let o=n[2],s=(await i2(o)).originalPositionFor({line:+n[3],column:+n[4]});if(!s.source||!s.line||!s.column){t.push(r);continue}t.push(`${s.source}:${s.line}:${s.column+1} (${n[1].trim()})`)}return t.join(`
23
- `)}function a2(e,t){return e.startsWith("Error:")?e.slice(`${t}`.length):e}function c2(e){return typeof e=="object"&&e!==null&&"stack"in e?`${e.stack}`:""}function Nh({error:e,onClose:t,extra:r}){let[n,o]=(0,Ho.useState)(),[i,s]=(0,Ho.useState)(),[a,c]=(0,Ho.useState)(!1),l=e?`${e}`:"",A=a2(c2(e),l);(0,Ho.useEffect)(()=>{(async()=>{try{o(await s2(A))}catch(d){console.error(d),o(A),s(d)}})()},[A]);let u=window.JBrowseSession?.version,m=[i?"Error loading source map, showing raw stack trace below:":"",l.length>_h?`${l.slice(0,_h)}...`:l,n||"No stack trace available",u?`JBrowse ${u}`:""].filter(Boolean).join(`
24
- `);return(0,Vt.jsxs)(Nt.Dialog,{open:!0,onClose:t,maxWidth:"xl",children:[(0,Vt.jsxs)(Nt.DialogTitle,{children:["Stack trace",(0,Vt.jsx)(Nt.IconButton,{onClick:t,sx:{position:"absolute",right:8,top:8},children:(0,Vt.jsx)(Ks,{})})]}),(0,Vt.jsx)(Nt.DialogContent,{children:n===void 0?(0,Vt.jsx)(FA,{variant:"h6"}):(0,Vt.jsx)(LA,{text:m,extra:r})}),(0,Vt.jsxs)(Nt.DialogActions,{children:[(0,Vt.jsx)(Nt.Button,{variant:"contained",color:"secondary",onClick:async()=>{let{default:d}=await Promise.resolve().then(()=>f(Th(),1));d(m),c(!0),setTimeout(()=>{c(!1)},1e3)},children:a?"Copied!":"Copy stack trace to clipboard"}),(0,Vt.jsx)(Nt.Button,{variant:"contained",color:"primary",onClick:t,children:"Close"})]})]})}var Vt,Ho,Nt,kh,RA,n2,o2,_h,Fh=g(()=>{Vt=f(R(),1),Ho=f(w(),1);Wl();Nt=f(k(),1),kh=f(hh(),1);yh();Bh();RA={},n2=/\/\/# sourceMappingURL=(.*)/,o2=/(.*)((?:https?|file):\/\/.*):(\d+):(\d+)/;_h=1e4});function A2(e){let t="",r="is not assignable",n=e.indexOf(r);if(n!==-1){let o=e.slice(0,n+r.length),i=/.*at path "(.*)" snapshot `(.*)` is not assignable/m.exec(o);i&&(e=`Failed to load element at ${i[1]}...Failed element had snapshot`,t=i[2]);let s=/.*snapshot `(.*)` is not assignable/.exec(o);s&&(e="Failed to load element...Failed element had snapshot",t=s[1])}return t}function u2({error:e,onReset:t}){let{classes:r}=Rh(),[n,o]=(0,qo.useState)(!1);return(0,Mt.jsxs)("div",{className:r.iconFloat,children:[typeof e=="object"&&e&&"stack"in e?(0,Mt.jsx)(jo.Tooltip,{title:"Get stack trace",children:(0,Mt.jsx)(jo.IconButton,{onClick:()=>{o(!0)},color:"primary",children:(0,Mt.jsx)(Mg,{})})}):null,t?(0,Mt.jsx)(jo.Tooltip,{title:"Retry",children:(0,Mt.jsx)(jo.IconButton,{onClick:t,color:"primary",children:(0,Mt.jsx)(Bg,{})})}):null,n?(0,Mt.jsx)(qo.Suspense,{fallback:null,children:(0,Mt.jsx)(l2,{error:e,onClose:()=>{o(!1)}})}):null]})}function f2({error:e,onReset:t}){let{classes:r}=Rh(),n=`${e}`,o=n.indexOf("expected an instance of"),i=o!==-1?n.slice(0,o):n,s=A2(n);return(0,Mt.jsxs)(xA,{children:[i.slice(0,1e4),(0,Mt.jsx)(u2,{error:e,onReset:t}),s?(0,Mt.jsx)("pre",{className:r.bg,children:JSON.stringify(JSON.parse(s),null,2)}):null]})}var Mt,qo,jo,l2,Rh,Ph,Oh=g(()=>{Mt=f(R(),1),qo=f(w(),1);Sg();vg();jo=f(k(),1);Jp();Et();l2=(0,qo.lazy)(()=>Promise.resolve().then(()=>(Fh(),Lh))),Rh=te()(e=>({bg:{background:e.palette.divider,border:"1px solid black",margin:20},iconFloat:{float:"right",marginLeft:100}}));Ph=f2});var Uh=U((o3,Gh)=>{"use strict";var m2=/["'&<>]/;Gh.exports=d2;function d2(e){var t=""+e,r=m2.exec(t);if(!r)return t;var n,o="",i=0,s=0;for(i=r.index;i<t.length;i++){switch(t.charCodeAt(i)){case 34:n="&quot;";break;case 38:n="&amp;";break;case 39:n="&#39;";break;case 60:n="&lt;";break;case 62:n="&gt;";break;default:continue}s!==i&&(o+=t.substring(s,i)),s=i+1,o+=n}return s!==i?o+t.substring(s,i):o}});var Hh=g(()=>{});var jh=g(()=>{Hh()});function g2(e){try{let s=j.__wbindgen_add_to_stack_pointer(-16),a=UA(e,j.__wbindgen_export2),c=La;j.decompress_all(s,a,c);var t=$e().getInt32(s+0,!0),r=$e().getInt32(s+4,!0),n=$e().getInt32(s+8,!0),o=$e().getInt32(s+12,!0);if(o)throw HA(n);var i=OA(t,r).slice();return j.__wbindgen_export(t,r*1,1),i}finally{j.__wbindgen_add_to_stack_pointer(16)}}function p2(e){try{let o=j.__wbindgen_add_to_stack_pointer(-16),i=UA(e,j.__wbindgen_export2),s=La;j.decompress_block(o,i,s);var t=$e().getInt32(o+0,!0),r=$e().getInt32(o+4,!0),n=$e().getInt32(o+8,!0);if(n)throw HA(r);return Yo.__wrap(t)}finally{j.__wbindgen_add_to_stack_pointer(16)}}function h2(e,t,r,n,o){try{let c=j.__wbindgen_add_to_stack_pointer(-16),l=UA(e,j.__wbindgen_export2),A=La;j.decompress_chunk_slice(c,l,A,t,r,n,o);var i=$e().getInt32(c+0,!0),s=$e().getInt32(c+4,!0),a=$e().getInt32(c+8,!0);if(a)throw HA(s);return Vo.__wrap(i)}finally{j.__wbindgen_add_to_stack_pointer(16)}}function C2(e,t){let r=Error(Wh(e,t));return I2(r)}function E2(e,t){throw new Error(Wh(e,t))}function I2(e){qi===Jr.length&&Jr.push(Jr.length+1);let t=qi;return qi=Jr[t],Jr[t]=e,t}function x2(e){e<1028||(Jr[e]=qi,qi=e)}function Vh(e,t){return e=e>>>0,y2().subarray(e/8,e/8+t)}function OA(e,t){return e=e>>>0,GA().subarray(e/1,e/1+t)}function $e(){return(Jo===null||Jo.buffer.detached===!0||Jo.buffer.detached===void 0&&Jo.buffer!==j.memory.buffer)&&(Jo=new DataView(j.memory.buffer)),Jo}function y2(){return(ka===null||ka.byteLength===0)&&(ka=new Float64Array(j.memory.buffer)),ka}function Wh(e,t){return B2(e>>>0,t)}function GA(){return(Da===null||Da.byteLength===0)&&(Da=new Uint8Array(j.memory.buffer)),Da}function b2(e){return Jr[e]}function UA(e,t){let r=t(e.length*1,1)>>>0;return GA().set(e,r/1),La=e.length,r}function HA(e){let t=b2(e);return x2(e),t}function B2(e,t){return PA+=t,PA>=w2&&(Na=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),Na.decode(),PA=t),Na.decode(GA().subarray(e,e+t))}function S2(e){j=e}var Un,Yh,Vo,Yo,qh,Jh,Jo,ka,Da,Jr,qi,Na,w2,PA,La,j,zh=g(()=>{Un={};Un.d=(e,t)=>{for(var r in t)Un.o(t,r)&&!Un.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})};Un.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);Un.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};Yh={};Un.r(Yh);Un.d(Yh,{ChunkSliceResult:()=>Vo,DecompressResult:()=>Yo,__wbg_Error_ef53bc310eb298a0:()=>C2,__wbg___wbindgen_throw_1506f2235d1bdba0:()=>E2,__wbg_set_wasm:()=>S2,decompress_all:()=>g2,decompress_block:()=>p2,decompress_chunk_slice:()=>h2});Vo=class e{static __wrap(t){let r=Object.create(e.prototype);return r.__wbg_ptr=t,qh.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,qh.unregister(this),t}free(){let t=this.__destroy_into_raw();j.__wbg_chunksliceresult_free(t,0)}take_buffer(){try{let o=j.__wbindgen_add_to_stack_pointer(-16);j.chunksliceresult_take_buffer(o,this.__wbg_ptr);var t=$e().getInt32(o+0,!0),r=$e().getInt32(o+4,!0),n=OA(t,r).slice();return j.__wbindgen_export(t,r*1,1),n}finally{j.__wbindgen_add_to_stack_pointer(16)}}take_cpositions(){try{let o=j.__wbindgen_add_to_stack_pointer(-16);j.chunksliceresult_take_cpositions(o,this.__wbg_ptr);var t=$e().getInt32(o+0,!0),r=$e().getInt32(o+4,!0),n=Vh(t,r).slice();return j.__wbindgen_export(t,r*8,8),n}finally{j.__wbindgen_add_to_stack_pointer(16)}}take_dpositions(){try{let o=j.__wbindgen_add_to_stack_pointer(-16);j.chunksliceresult_take_dpositions(o,this.__wbg_ptr);var t=$e().getInt32(o+0,!0),r=$e().getInt32(o+4,!0),n=Vh(t,r).slice();return j.__wbindgen_export(t,r*8,8),n}finally{j.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(Vo.prototype[Symbol.dispose]=Vo.prototype.free);Yo=class e{static __wrap(t){let r=Object.create(e.prototype);return r.__wbg_ptr=t,Jh.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,Jh.unregister(this),t}free(){let t=this.__destroy_into_raw();j.__wbg_decompressresult_free(t,0)}get bytes_read(){return j.decompressresult_bytes_read(this.__wbg_ptr)>>>0}take_data(){try{let o=j.__wbindgen_add_to_stack_pointer(-16);j.decompressresult_take_data(o,this.__wbg_ptr);var t=$e().getInt32(o+0,!0),r=$e().getInt32(o+4,!0),n=OA(t,r).slice();return j.__wbindgen_export(t,r*1,1),n}finally{j.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(Yo.prototype[Symbol.dispose]=Yo.prototype.free);qh=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>j.__wbg_chunksliceresult_free(e,1)),Jh=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>j.__wbg_decompressresult_free(e,1));Jo=null;ka=null;Da=null;Jr=new Array(1024).fill(void 0);Jr.push(void 0,null,!0,!1);qi=Jr.length;Na=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});Na.decode();w2=2146435072,PA=0;La=0});var jA=g(()=>{zh()});var $h=g(()=>{});var Xh=g(()=>{jh();jA();$h()});var Zh=g(()=>{Xh();jA()});var t0=U((S3,e0)=>{e0.exports=JBrowseExports["react-dom"]});var n0=U((Q3,r0)=>{r0.exports=JBrowseExports["react-dom/client"]});function o0(e){let t="",r=!1;for(let n=0,o=e.length;n<o;n++){let i=e[n];i==="<"?r=!0:i===">"?r=!1:r||(t+=i)}return t}var qA=g(()=>{});var i0=g(()=>{});var s0=g(()=>{});var a0=g(()=>{});function Fa(e){return typeof e=="object"&&e!==null&&"uri"in e&&!!e.uri}var Q2,JA=g(()=>{Q2=f(_t(),1);a0()});var M2,c0=g(()=>{M2=f(Gr(),1)});var l0=g(()=>{});var A0=g(()=>{});var Wo,Ra,VA,YA,v2,Ji,Pa,u0=g(()=>{Wo={METHOD:"method",PROPERTY:"property"},Ra=class{constructor(t,r){this.inst=t,this.args=r}},VA=class extends Ra{constructor(t,r){super(t,r),this.type=Wo.METHOD}execute(t){t[this.inst](...this.args)}},YA=class extends Ra{constructor(t,r){super(t,r),this.type=Wo.PROPERTY}execute(t){t[this.inst]=this.args[0]}},v2={[Wo.METHOD]:VA,[Wo.PROPERTY]:YA},Ji=class{constructor(t,r,n){return new v2[t](r,n)}};Ji.METHOD=Wo.METHOD;Ji.PROPERTY=Wo.PROPERTY;Pa=Ji});var f0,Br,Oa,WA=g(()=>{u0();f0=Object.freeze({METHODS:["addHitRegion","arc","arcTo","beginPath","bezierCurveTo","clearHitRegions","clearRect","clip","closePath","drawFocusIfNeeded","drawImage","ellipse","fill","fillRect","fillText","lineTo","moveTo","putImageData","quadraticCurveTo","rect","removeHitRegion","resetTransform","restore","rotate","save","scale","scrollPathIntoView","setLineDash","setTransform","stroke","strokeRect","strokeText","transform","translate"],PROPERTIES:["direction","fillStyle","filter","font","globalAlpha","globalCompositeOperation","imageSmoothingEnabled","imageSmoothingQuality","lineCap","lineDashOffset","lineJoin","lineWidth","miterLimit","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","strokeStyle","textAlign","textBaseline"]}),Br=Object.freeze({sequence:Symbol.for("sequence"),push:Symbol.for("push"),fromJSON:Symbol.for("fromJSON")}),Oa=class{constructor(t=null){this[Br.sequence]=[],t&&this[Br.fromJSON](t)}[Br.fromJSON](t={sequence:[]}){t.sequence.forEach(({type:r,inst:n,args:o})=>{this[Br.push](r,n,o)})}[Br.push](t,r,n){this[Br.sequence].push(new Pa(t,r,n))}execute(t){t.save(),this[Br.sequence].forEach(r=>r.execute(t)),t.restore()}toJSON(){return{sequence:this[Br.sequence]}}};f0.METHODS.forEach(e=>{Object.defineProperty(Oa.prototype,e,{value:function(...r){this[Br.push](Pa.METHOD,e,r)},writable:!1,enumerable:!0,configurable:!1})});f0.PROPERTIES.forEach(e=>{Object.defineProperty(Oa.prototype,e,{get(){throw`Invalid canvas sequencer interaction, cannot get ${e}.`},set(t){this[Br.push](Pa.PROPERTY,e,[t])},enumerable:!0,configurable:!1})})});var G3,d0=g(()=>{WA();G3=Object.freeze({sequence:Symbol.for("sequence"),push:Symbol.for("push")})});var g0=g(()=>{d0();WA()});var h0=U((V3,p0)=>{p0.exports=!1});var T2,C0=g(()=>{g0();T2=f(h0(),1)});var _2,k2,E0=g(()=>{_2=f(R(),1),k2=f(w(),1)});var I0=g(()=>{});var K3,X3,Z3,e5,x0=g(()=>{K3=new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22]),X3=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]),Z3=new Uint8Array([1,2,4,8,16,32,64,128,27,54]),e5=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298])});function Vi(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");zA(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}function $A(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function zo(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,i=[],s;try{for(;(t===void 0||t-- >0)&&!(o=n.next()).done;)i.push(o.value)}catch(a){s={error:a}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return i}function $o(e,t,r){if(r||arguments.length===2)for(var n=0,o=t.length,i;n<o;n++)(i||!(n in t))&&(i||(i=Array.prototype.slice.call(t,0,n)),i[n]=t[n]);return e.concat(i||Array.prototype.slice.call(t))}var zA,Yi=g(()=>{zA=function(e,t){return zA=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[o]=n[o])},zA(e,t)}});function Sr(e){return typeof e=="function"}var Ga=g(()=>{});function Ua(e){var t=function(n){Error.call(n),n.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var KA=g(()=>{});var Ha,y0=g(()=>{KA();Ha=Ua(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription:
21
+ `} 1.2s infinite ease-in-out`}}})});var tC=j((gP,eC)=>{eC.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,r=[],n=0;n<e.rangeCount;n++)r.push(e.getRangeAt(n));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null;break}return e.removeAllRanges(),function(){e.type==="Caret"&&e.removeAllRanges(),e.rangeCount||r.forEach(function(o){e.addRange(o)}),t&&t.focus()}}});var oC=j((hP,nC)=>{"use strict";var Jv=tC(),rC={"text/plain":"Text","text/html":"Url",default:"Text"},Vv="Copy to clipboard: #{key}, Enter";function Yv(e){var t=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}function Wv(e,t){var r,n,o,i,s,a,c=!1;t||(t={}),r=t.debug||!1;try{o=Jv(),i=document.createRange(),s=document.getSelection(),a=document.createElement("span"),a.textContent=e,a.ariaHidden="true",a.style.all="unset",a.style.position="fixed",a.style.top=0,a.style.clip="rect(0, 0, 0, 0)",a.style.whiteSpace="pre",a.style.webkitUserSelect="text",a.style.MozUserSelect="text",a.style.msUserSelect="text",a.style.userSelect="text",a.addEventListener("copy",function(A){if(A.stopPropagation(),t.format)if(A.preventDefault(),typeof A.clipboardData>"u"){r&&console.warn("unable to use e.clipboardData"),r&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var u=rC[t.format]||rC.default;window.clipboardData.setData(u,e)}else A.clipboardData.clearData(),A.clipboardData.setData(t.format,e);t.onCopy&&(A.preventDefault(),t.onCopy(A.clipboardData))}),document.body.appendChild(a),i.selectNodeContents(a),s.addRange(i);var l=document.execCommand("copy");if(!l)throw new Error("copy command was unsuccessful");c=!0}catch(A){r&&console.error("unable to copy using execCommand: ",A),r&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),c=!0}catch(u){r&&console.error("unable to copy using clipboardData: ",u),r&&console.error("falling back to prompt"),n=Yv("message"in t?t.message:Vv),window.prompt(n,e)}}finally{s&&(typeof s.removeRange=="function"?s.removeRange(i):s.removeAllRanges()),a&&document.body.removeChild(a),o()}return c}nC.exports=Wv});var lC={};We(lC,{default:()=>cC});async function aC(e){let t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status} fetching ${e}: ${await t.text()}`);return t.text()}async function zv(e){return JSON.parse(await aC(e))}async function Xv(e){if(Pu[e])return Pu[e];let t=new URL(e).search,r=await aC(e),n=$v.exec(r)?.[1]??"",o=await zv(new URL(n,e).href+t),i=new sC.SourceMapConsumer(o);return Pu[e]=i,i}async function Zv(e){let t=[];for(let r of e.split(`
22
+ `)){let n=Kv.exec(r);if(!n){t.push(r);continue}let o=n[2],s=(await Xv(o)).originalPositionFor({line:+n[3],column:+n[4]});if(!s.source||!s.line||!s.column){t.push(r);continue}t.push(`${s.source}:${s.line}:${s.column+1} (${n[1].trim()})`)}return t.join(`
23
+ `)}function eT(e,t){return e.startsWith("Error:")?e.slice(`${t}`.length):e}function tT(e){return typeof e=="object"&&e!==null&&"stack"in e?`${e.stack}`:""}function cC({error:e,onClose:t,extra:r}){let[n,o]=(0,si.useState)(),[i,s]=(0,si.useState)(),[a,c]=(0,si.useState)(!1),l=e?`${e}`:"",A=eT(tT(e),l);(0,si.useEffect)(()=>{(async()=>{try{o(await Zv(A))}catch(m){console.error(m),o(A),s(m)}})()},[A]);let u=window.JBrowseSession?.version,d=[i?"Error loading source map, showing raw stack trace below:":"",l.length>iC?`${l.slice(0,iC)}...`:l,n||"No stack trace available",u?`JBrowse ${u}`:""].filter(Boolean).join(`
24
+ `);return(0,Zt.jsxs)(Gt.Dialog,{open:!0,onClose:t,maxWidth:"xl",children:[(0,Zt.jsxs)(Gt.DialogTitle,{children:["Stack trace",(0,Zt.jsx)(Gt.IconButton,{onClick:t,sx:{position:"absolute",right:8,top:8},children:(0,Zt.jsx)(Qa,{})})]}),(0,Zt.jsx)(Gt.DialogContent,{children:n===void 0?(0,Zt.jsx)(Fu,{variant:"h6"}):(0,Zt.jsx)(Ru,{text:d,extra:r})}),(0,Zt.jsxs)(Gt.DialogActions,{children:[(0,Zt.jsx)(Gt.Button,{variant:"contained",color:"secondary",onClick:async()=>{let{default:m}=await Promise.resolve().then(()=>f(oC(),1));m(d),c(!0),setTimeout(()=>{c(!1)},1e3)},children:a?"Copied!":"Copy stack trace to clipboard"}),(0,Zt.jsx)(Gt.Button,{variant:"contained",color:"primary",onClick:t,children:"Close"})]})]})}var Zt,si,Gt,sC,Pu,$v,Kv,iC,AC=g(()=>{Zt=f(P(),1),si=f(Q(),1);zA();Gt=f(N(),1),sC=f(J0(),1);$0();Z0();Pu={},$v=/\/\/# sourceMappingURL=(.*)/,Kv=/(.*)((?:https?|file):\/\/.*):(\d+):(\d+)/;iC=1e4});function nT(e){let t="",r="is not assignable",n=e.indexOf(r);if(n!==-1){let o=e.slice(0,n+r.length),i=/.*at path "(.*)" snapshot `(.*)` is not assignable/m.exec(o);i&&(e=`Failed to load element at ${i[1]}...Failed element had snapshot`,t=i[2]);let s=/.*snapshot `(.*)` is not assignable/.exec(o);s&&(e="Failed to load element...Failed element had snapshot",t=s[1])}return t}function oT({error:e,onReset:t}){let{classes:r}=uC(),[n,o]=(0,ci.useState)(!1);return(0,kt.jsxs)("div",{className:r.iconFloat,children:[typeof e=="object"&&e&&"stack"in e?(0,kt.jsx)(ai.Tooltip,{title:"Get stack trace",children:(0,kt.jsx)(ai.IconButton,{onClick:()=>{o(!0)},color:"primary",children:(0,kt.jsx)(rh,{})})}):null,t?(0,kt.jsx)(ai.Tooltip,{title:"Retry",children:(0,kt.jsx)(ai.IconButton,{onClick:t,color:"primary",children:(0,kt.jsx)(Zg,{})})}):null,n?(0,kt.jsx)(ci.Suspense,{fallback:null,children:(0,kt.jsx)(rT,{error:e,onClose:()=>{o(!1)}})}):null]})}function iT({error:e,onReset:t}){let{classes:r}=uC(),n=`${e}`,o=n.indexOf("expected an instance of"),i=o!==-1?n.slice(0,o):n,s=nT(n);return(0,kt.jsxs)(yu,{children:[i.slice(0,1e4),(0,kt.jsx)(oT,{error:e,onReset:t}),s?(0,kt.jsx)("pre",{className:r.bg,children:JSON.stringify(JSON.parse(s),null,2)}):null]})}var kt,ci,ai,rT,uC,fC,dC=g(()=>{kt=f(P(),1),ci=f(Q(),1);eh();nh();ai=f(N(),1);E0();Bt();rT=(0,ci.lazy)(()=>Promise.resolve().then(()=>(AC(),lC))),uC=ne()(e=>({bg:{background:e.palette.divider,border:"1px solid black",margin:20},iconFloat:{float:"right",marginLeft:100}}));fC=iT});var pC=j((SP,mC)=>{"use strict";var sT=/["'&<>]/;mC.exports=aT;function aT(e){var t=""+e,r=sT.exec(t);if(!r)return t;var n,o="",i=0,s=0;for(i=r.index;i<t.length;i++){switch(t.charCodeAt(i)){case 34:n="&quot;";break;case 38:n="&amp;";break;case 39:n="&#39;";break;case 60:n="&lt;";break;case 62:n="&gt;";break;default:continue}s!==i&&(o+=t.substring(s,i)),s=i+1,o+=n}return s!==i?o+t.substring(s,i):o}});var gC=g(()=>{});var hC=g(()=>{gC()});function cT(e){try{let s=le.__wbindgen_add_to_stack_pointer(-16),a=wC(e,le.__wbindgen_export2),c=Uu;le.decompress_all(s,a,c);var t=Ut().getInt32(s+0,!0),r=Ut().getInt32(s+4,!0),n=Ut().getInt32(s+8,!0),o=Ut().getInt32(s+12,!0);if(o)throw bC(n);var i=xC(t,r).slice();return le.__wbindgen_export(t,r*1,1),i}finally{le.__wbindgen_add_to_stack_pointer(16)}}function lT(e,t,r,n,o){try{let c=le.__wbindgen_add_to_stack_pointer(-16),l=wC(e,le.__wbindgen_export2),A=Uu;le.decompress_chunk_slice(c,l,A,t,r,n,o);var i=Ut().getInt32(c+0,!0),s=Ut().getInt32(c+4,!0),a=Ut().getInt32(c+8,!0);if(a)throw bC(s);return Ai.__wrap(i)}finally{le.__wbindgen_add_to_stack_pointer(16)}}function AT(e,t){let r=Error(yC(e,t));return fT(r)}function uT(e,t){throw new Error(yC(e,t))}function fT(e){ms===Zr.length&&Zr.push(Zr.length+1);let t=ms;return ms=Zr[t],Zr[t]=e,t}function dT(e){e<1028||(Zr[e]=ms,ms=e)}function EC(e,t){return e=e>>>0,mT().subarray(e/8,e/8+t)}function xC(e,t){return e=e>>>0,Gu().subarray(e/1,e/1+t)}function Ut(){return(li===null||li.buffer.detached===!0||li.buffer.detached===void 0&&li.buffer!==le.memory.buffer)&&(li=new DataView(le.memory.buffer)),li}function mT(){return(cc===null||cc.byteLength===0)&&(cc=new Float64Array(le.memory.buffer)),cc}function yC(e,t){return hT(e>>>0,t)}function Gu(){return(lc===null||lc.byteLength===0)&&(lc=new Uint8Array(le.memory.buffer)),lc}function pT(e){return Zr[e]}function wC(e,t){let r=t(e.length*1,1)>>>0;return Gu().set(e,r/1),Uu=e.length,r}function bC(e){let t=pT(e);return dT(e),t}function hT(e,t){return Ou+=t,Ou>=gT&&(Ac=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),Ac.decode(),Ou=t),Ac.decode(Gu().subarray(e,e+t))}function CT(e){le=e}var to,IC,Ai,CC,li,cc,lc,Zr,ms,Ac,gT,Ou,Uu,le,BC=g(()=>{to={};to.d=(e,t)=>{for(var r in t)to.o(t,r)&&!to.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})};to.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);to.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};IC={};to.r(IC);to.d(IC,{ChunkSliceResult:()=>Ai,__wbg_Error_ef53bc310eb298a0:()=>AT,__wbg___wbindgen_throw_1506f2235d1bdba0:()=>uT,__wbg_set_wasm:()=>CT,decompress_all:()=>cT,decompress_chunk_slice:()=>lT});Ai=class e{static __wrap(t){let r=Object.create(e.prototype);return r.__wbg_ptr=t,CC.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,CC.unregister(this),t}free(){let t=this.__destroy_into_raw();le.__wbg_chunksliceresult_free(t,0)}take_buffer(){try{let o=le.__wbindgen_add_to_stack_pointer(-16);le.chunksliceresult_take_buffer(o,this.__wbg_ptr);var t=Ut().getInt32(o+0,!0),r=Ut().getInt32(o+4,!0),n=xC(t,r).slice();return le.__wbindgen_export(t,r*1,1),n}finally{le.__wbindgen_add_to_stack_pointer(16)}}take_cpositions(){try{let o=le.__wbindgen_add_to_stack_pointer(-16);le.chunksliceresult_take_cpositions(o,this.__wbg_ptr);var t=Ut().getInt32(o+0,!0),r=Ut().getInt32(o+4,!0),n=EC(t,r).slice();return le.__wbindgen_export(t,r*8,8),n}finally{le.__wbindgen_add_to_stack_pointer(16)}}take_dpositions(){try{let o=le.__wbindgen_add_to_stack_pointer(-16);le.chunksliceresult_take_dpositions(o,this.__wbg_ptr);var t=Ut().getInt32(o+0,!0),r=Ut().getInt32(o+4,!0),n=EC(t,r).slice();return le.__wbindgen_export(t,r*8,8),n}finally{le.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(Ai.prototype[Symbol.dispose]=Ai.prototype.free);CC=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>le.__wbg_chunksliceresult_free(e,1));li=null;cc=null;lc=null;Zr=new Array(1024).fill(void 0);Zr.push(void 0,null,!0,!1);ms=Zr.length;Ac=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});Ac.decode();gT=2146435072,Ou=0;Uu=0});var Hu=g(()=>{BC()});var SC=g(()=>{});var MC=g(()=>{hC();Hu();SC()});var vC=g(()=>{MC();Hu()});var _C=j((WP,TC)=>{TC.exports=JBrowseExports["react-dom"]});var kC=j((zP,DC)=>{DC.exports=JBrowseExports["react-dom/client"]});function NC(e){let t="",r=!1;for(let n=0,o=e.length;n<o;n++){let i=e[n];i==="<"?r=!0:i===">"?r=!1:r||(t+=i)}return t}var ju=g(()=>{});var LC=g(()=>{});var RC=g(()=>{});var FC=g(()=>{});function uc(e){return typeof e=="object"&&e!==null&&"uri"in e&&!!e.uri}var ET,qu=g(()=>{ET=f(Ft(),1);FC()});var IT,PC=g(()=>{IT=f(lr(),1)});var OC=g(()=>{});var GC=g(()=>{});var ui,fc,Ju,Vu,xT,ps,dc,UC=g(()=>{ui={METHOD:"method",PROPERTY:"property"},fc=class{constructor(t,r){this.inst=t,this.args=r}},Ju=class extends fc{constructor(t,r){super(t,r),this.type=ui.METHOD}execute(t){t[this.inst](...this.args)}},Vu=class extends fc{constructor(t,r){super(t,r),this.type=ui.PROPERTY}execute(t){t[this.inst]=this.args[0]}},xT={[ui.METHOD]:Ju,[ui.PROPERTY]:Vu},ps=class{constructor(t,r,n){return new xT[t](r,n)}};ps.METHOD=ui.METHOD;ps.PROPERTY=ui.PROPERTY;dc=ps});var HC,vr,mc,Yu=g(()=>{UC();HC=Object.freeze({METHODS:["addHitRegion","arc","arcTo","beginPath","bezierCurveTo","clearHitRegions","clearRect","clip","closePath","drawFocusIfNeeded","drawImage","ellipse","fill","fillRect","fillText","lineTo","moveTo","putImageData","quadraticCurveTo","rect","removeHitRegion","resetTransform","restore","rotate","save","scale","scrollPathIntoView","setLineDash","setTransform","stroke","strokeRect","strokeText","transform","translate"],PROPERTIES:["direction","fillStyle","filter","font","globalAlpha","globalCompositeOperation","imageSmoothingEnabled","imageSmoothingQuality","lineCap","lineDashOffset","lineJoin","lineWidth","miterLimit","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","strokeStyle","textAlign","textBaseline"]}),vr=Object.freeze({sequence:Symbol.for("sequence"),push:Symbol.for("push"),fromJSON:Symbol.for("fromJSON")}),mc=class{constructor(t=null){this[vr.sequence]=[],t&&this[vr.fromJSON](t)}[vr.fromJSON](t={sequence:[]}){t.sequence.forEach(({type:r,inst:n,args:o})=>{this[vr.push](r,n,o)})}[vr.push](t,r,n){this[vr.sequence].push(new dc(t,r,n))}execute(t){t.save(),this[vr.sequence].forEach(r=>r.execute(t)),t.restore()}toJSON(){return{sequence:this[vr.sequence]}}};HC.METHODS.forEach(e=>{Object.defineProperty(mc.prototype,e,{value:function(...r){this[vr.push](dc.METHOD,e,r)},writable:!1,enumerable:!0,configurable:!1})});HC.PROPERTIES.forEach(e=>{Object.defineProperty(mc.prototype,e,{get(){throw`Invalid canvas sequencer interaction, cannot get ${e}.`},set(t){this[vr.push](dc.PROPERTY,e,[t])},enumerable:!0,configurable:!1})})});var c4,qC=g(()=>{Yu();c4=Object.freeze({sequence:Symbol.for("sequence"),push:Symbol.for("push")})});var JC=g(()=>{qC();Yu()});var YC=j((m4,VC)=>{VC.exports=!1});var yT,WC=g(()=>{JC();yT=f(YC(),1)});var wT,bT,zC=g(()=>{wT=f(P(),1),bT=f(Q(),1)});var $C=g(()=>{});var E4,I4,x4,y4,KC=g(()=>{E4=new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22]),I4=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]),x4=new Uint8Array([1,2,4,8,16,32,64,128,27,54]),y4=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298])});function gs(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Wu(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}function zu(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function fi(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,i=[],s;try{for(;(t===void 0||t-- >0)&&!(o=n.next()).done;)i.push(o.value)}catch(a){s={error:a}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return i}function di(e,t,r){if(r||arguments.length===2)for(var n=0,o=t.length,i;n<o;n++)(i||!(n in t))&&(i||(i=Array.prototype.slice.call(t,0,n)),i[n]=t[n]);return e.concat(i||Array.prototype.slice.call(t))}var Wu,hs=g(()=>{Wu=function(e,t){return Wu=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[o]=n[o])},Wu(e,t)}});function Tr(e){return typeof e=="function"}var pc=g(()=>{});function gc(e){var t=function(n){Error.call(n),n.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var $u=g(()=>{});var hc,XC=g(()=>{$u();hc=gc(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription:
25
25
  `+r.map(function(n,o){return o+1+") "+n.toString()}).join(`
26
- `):"",this.name="UnsubscriptionError",this.errors=r}})});function XA(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var b0=g(()=>{});function B0(e){return e instanceof ja||e&&"closed"in e&&Sr(e.remove)&&Sr(e.add)&&Sr(e.unsubscribe)}function w0(e){Sr(e)?e():e.unsubscribe()}var ja,f5,S0=g(()=>{Yi();Ga();y0();b0();ja=(function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,n,o,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=$A(s),c=a.next();!c.done;c=a.next()){var l=c.value;l.remove(this)}}catch(E){t={error:E}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}else s.remove(this);var A=this.initialTeardown;if(Sr(A))try{A()}catch(E){i=E instanceof Ha?E.errors:[E]}var u=this._finalizers;if(u){this._finalizers=null;try{for(var m=$A(u),d=m.next();!d.done;d=m.next()){var p=d.value;try{w0(p)}catch(E){i=i??[],E instanceof Ha?i=$o($o([],zo(i)),zo(E.errors)):i.push(E)}}}catch(E){n={error:E}}finally{try{d&&!d.done&&(o=m.return)&&o.call(m)}finally{if(n)throw n.error}}}if(i)throw new Ha(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)w0(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&XA(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&XA(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=(function(){var t=new e;return t.closed=!0,t})(),e})(),f5=ja.EMPTY});var cn,qa=g(()=>{cn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}});var Ko,ZA=g(()=>{Yi();Ko={setTimeout:function(e,t){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];var o=Ko.delegate;return o?.setTimeout?o.setTimeout.apply(o,$o([e,t],zo(r))):setTimeout.apply(void 0,$o([e,t],zo(r)))},clearTimeout:function(e){var t=Ko.delegate;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0}});function Q0(e){Ko.setTimeout(function(){var t=cn.onUnhandledError;if(t)t(e);else throw e})}var M0=g(()=>{qa();ZA()});function eu(){}var v0=g(()=>{});function _0(e){return tu("E",void 0,e)}function k0(e){return tu("N",e,void 0)}function tu(e,t,r){return{kind:e,value:t,error:r}}var T0,D0=g(()=>{T0=(function(){return tu("C",void 0,void 0)})()});function N0(e){cn.useDeprecatedSynchronousErrorHandling&&ru&&(ru.errorThrown=!0,ru.error=e)}var ru,L0=g(()=>{qa();ru=null});function nu(e,t){return D2.call(e,t)}function Ja(e){cn.useDeprecatedSynchronousErrorHandling?N0(e):Q0(e)}function L2(e){throw e}function ou(e,t){var r=cn.onStoppedNotification;r&&Ko.setTimeout(function(){return r(e,t)})}var iu,D2,N2,su,F2,au=g(()=>{Yi();Ga();S0();qa();M0();v0();D0();ZA();L0();iu=(function(e){Vi(t,e);function t(r){var n=e.call(this)||this;return n.isStopped=!1,r?(n.destination=r,B0(r)&&r.add(n)):n.destination=F2,n}return t.create=function(r,n,o){return new su(r,n,o)},t.prototype.next=function(r){this.isStopped?ou(k0(r),this):this._next(r)},t.prototype.error=function(r){this.isStopped?ou(_0(r),this):(this.isStopped=!0,this._error(r))},t.prototype.complete=function(){this.isStopped?ou(T0,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(r){this.destination.next(r)},t.prototype._error=function(r){try{this.destination.error(r)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t})(ja),D2=Function.prototype.bind;N2=(function(){function e(t){this.partialObserver=t}return e.prototype.next=function(t){var r=this.partialObserver;if(r.next)try{r.next(t)}catch(n){Ja(n)}},e.prototype.error=function(t){var r=this.partialObserver;if(r.error)try{r.error(t)}catch(n){Ja(n)}else Ja(t)},e.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(r){Ja(r)}},e})(),su=(function(e){Vi(t,e);function t(r,n,o){var i=e.call(this)||this,s;if(Sr(r)||!r)s={next:r??void 0,error:n??void 0,complete:o??void 0};else{var a;i&&cn.useDeprecatedNextContext?(a=Object.create(r),a.unsubscribe=function(){return i.unsubscribe()},s={next:r.next&&nu(r.next,a),error:r.error&&nu(r.error,a),complete:r.complete&&nu(r.complete,a)}):s=r}return i.destination=new N2(s),i}return t})(iu);F2={closed:!0,next:eu,error:L2,complete:eu}});function R2(e){return Sr(e?.lift)}function Va(e){return function(t){if(R2(t))return t.lift(function(r){try{return e(r,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}var cu=g(()=>{Ga()});function F0(e,t,r,n,o){return new P2(e,t,r,n,o)}var P2,R0=g(()=>{Yi();au();P2=(function(e){Vi(t,e);function t(r,n,o,i,s,a){var c=e.call(this,r)||this;return c.onFinalize=s,c.shouldUnsubscribe=a,c._next=n?function(l){try{n(l)}catch(A){r.error(A)}}:e.prototype._next,c._error=i?function(l){try{i(l)}catch(A){r.error(A)}finally{this.unsubscribe()}}:e.prototype._error,c._complete=o?function(){try{o()}catch(l){r.error(l)}finally{this.unsubscribe()}}:e.prototype._complete,c}return t.prototype.unsubscribe=function(){var r;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&((r=this.onFinalize)===null||r===void 0||r.call(this))}},t})(iu)});var P0,O0=g(()=>{KA();P0=Ua(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}})});function lu(e,t){var r=typeof t=="object";return new Promise(function(n,o){var i=new su({next:function(s){n(s),i.unsubscribe()},error:o,complete:function(){r?n(t.defaultValue):o(new P0)}});e.subscribe(i)})}var G0=g(()=>{O0();au()});var U0=g(()=>{});function H0(e,t,r,n,o){return function(i,s){var a=r,c=t,l=0;i.subscribe(F0(s,function(A){var u=l++;c=a?e(c,A,u):(a=!0,A),n&&s.next(c)},o&&(function(){a&&s.next(c),s.complete()})))}}var j0=g(()=>{R0()});function q0(e,t){return Va(H0(e,t,arguments.length>=2,!1,!0))}var J0=g(()=>{j0();cu()});function Au(){return Va(function(e,t){q0(O2,[])(e).subscribe(t)})}var O2,V0=g(()=>{J0();cu();O2=function(e,t){return e.push(t),e}});var Y0=g(()=>{G0();U0();V0()});var W0=g(()=>{});var z0=g(()=>{});function G2(){return $0||($0=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function U2(){return K0||(K0=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}function H2(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Hn(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return Ya.set(t,e),t}function j2(e){if(du.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});du.set(e,t)}function tC(e){gu=e(gu)}function q2(e){return U2().includes(e)?function(...t){return e.apply(pu(this),t),Hn(this.request)}:function(...t){return Hn(e.apply(pu(this),t))}}function J2(e){return typeof e=="function"?q2(e):(e instanceof IDBTransaction&&j2(e),mu(e,G2())?new Proxy(e,gu):e)}function Hn(e){if(e instanceof IDBRequest)return H2(e);if(uu.has(e))return uu.get(e);let t=J2(e);return t!==e&&(uu.set(e,t),Ya.set(t,e)),t}function jn(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Hn(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Hn(s.result),c.oldVersion,c.newVersion,Hn(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",l=>o(l.oldVersion,l.newVersion,l))}).catch(()=>{}),a}function X0(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(fu.get(t))return fu.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=Y2.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||V2.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),l=c.store;return n&&(l=l.index(a.shift())),(await Promise.all([l[r](...a),o&&c.done]))[0]};return fu.set(t,i),i}async function*$2(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;let r=new Proxy(t,z2);for(rC.set(r,t),Ya.set(r,pu(t));t;)yield r,t=await(hu.get(r)||t.continue()),hu.delete(r)}function eC(e,t){return t===Symbol.asyncIterator&&mu(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&mu(e,[IDBIndex,IDBObjectStore])}var mu,$0,K0,du,uu,Ya,gu,pu,V2,Y2,fu,W2,Z0,hu,rC,z2,Wi=g(()=>{mu=(e,t)=>t.some(r=>e instanceof r);du=new WeakMap,uu=new WeakMap,Ya=new WeakMap;gu={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return du.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Hn(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};pu=e=>Ya.get(e);V2=["get","getKey","getAll","getAllKeys","count"],Y2=["put","add","delete","clear"],fu=new Map;tC(e=>({...e,get:(t,r,n)=>X0(t,r)||e.get(t,r,n),has:(t,r)=>!!X0(t,r)||e.has(t,r)}));W2=["continue","continuePrimaryKey","advance"],Z0={},hu=new WeakMap,rC=new WeakMap,z2={get(e,t){if(!W2.includes(t))return e[t];let r=Z0[t];return r||(r=Z0[t]=function(...n){hu.set(this,rC.get(this)[t](...n))}),r}};tC(e=>({...e,get(t,r,n){return eC(t,r)?$2:e.get(t,r,n)},has(t,r){return eC(t,r)||e.has(t,r)}}))});var nC=g(()=>{Wi()});var Wa,oC=g(()=>{Wa=f(_t(),1)});function Eu(e,t=10){let r=String(e),n=0;for(let o=0,i=r.length;o<i;o++)n+=Z2[r.charCodeAt(o)]??ev;return n*t}function Iu(e){let t=0;if(e.length===0)return t;for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);t=(t<<5)-t+n,t|=0}return t}function tv(e){let{uri:t,baseUri:r=""}=e,n;try{n=new URL(t,r).href}catch{n=t}return n}function xu(e){return Yt(e)?Fa(e)?tv(e):JSON.stringify(e):String(e)}function iC(e){let t=/(^|[\s\n]|<[A-Za-z]*\/?>)((?:https?|ftp):\/\/[-A-Z0-9+\u0026\u2019@#/%?=()~_|!:,.;]*[-A-Z0-9+\u0026@#/%=~()_|])/gi;return e.replaceAll(t,`$1<a href='$2' target="_blank">$2</a>`)}function sC(e,t){let{padding:r=30,minWidth:n=80,fontSize:o=12,maxWidth:i=1e3,stripHTML:s=!1}=t||{};return yu(e.map(a=>xu(a)).map(a=>s?o0(a):a).map(a=>Eu(a,o)).map(a=>Math.min(Math.max(a+r,n),i)))}function yu(e,t=Number.NEGATIVE_INFINITY){let r=t;for(let n of e)r=Math.max(n,r);return r}function Yt(e){return typeof e=="object"&&e!==null}var Cu,Xo,K2,X2,gP,pP,hP,CP,Z2,ev,ln=g(()=>{Cu=f(w(),1);Zh();Xo=f(_t(),1),K2=f(t0(),1),X2=f(n0(),1);qA();JA();JA();c0();l0();A0();qA();C0();E0();I0();x0();W0();z0();i0();s0();oC();nC();gP=180/Math.PI,pP=Math.PI/180,hP=/electron/i.test(typeof navigator<"u"?navigator.userAgent:""),CP=typeof jest>"u"?typeof window<"u"&&window.requestIdleCallback?window.requestIdleCallback:e=>setTimeout(()=>{e()},1):e=>{e()},Z2=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.2796875,.2765625,.3546875,.5546875,.5546875,.8890625,.665625,.190625,.3328125,.3328125,.3890625,.5828125,.2765625,.3328125,.2765625,.3015625,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.2765625,.2765625,.584375,.5828125,.584375,.5546875,1.0140625,.665625,.665625,.721875,.721875,.665625,.609375,.7765625,.721875,.2765625,.5,.665625,.5546875,.8328125,.721875,.7765625,.665625,.7765625,.721875,.665625,.609375,.721875,.665625,.94375,.665625,.665625,.609375,.2765625,.3546875,.2765625,.4765625,.5546875,.3328125,.5546875,.5546875,.5,.5546875,.5546875,.2765625,.5546875,.5546875,.221875,.240625,.5,.221875,.8328125,.5546875,.5546875,.5546875,.5546875,.3328125,.5,.2765625,.5546875,.5,.721875,.5,.5,.5,.3546875,.259375,.353125,.5890625],ev=.5279276315789471});function aC(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function rv(e){if(Array.isArray(e))return e}function nv(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,s,a=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,t!==0)for(;!(c=(n=i.call(r)).done)&&(a.push(n.value),a.length!==t);c=!0);}catch(A){l=!0,o=A}finally{try{if(!c&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(l)throw o}}return a}}function ov(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
27
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function iv(e,t){return rv(e)||nv(e,t)||sv(e,t)||ov()}function sv(e,t){if(e){if(typeof e=="string")return aC(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?aC(e,t):void 0}}function Ge(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return Mu(e,t,n)}}function gv(e){return function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return vu(e,r)}}function H(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ki;if(cC&&cC(e,null),!It(t))return e;let n=t.length;for(;n--;){let o=t[n];if(typeof o=="string"){let i=r(o);i!==o&&(av(t)||(t[n]=i),o=i)}e[o]=!0}return e}function pv(e){for(let t=0;t<e.length;t++)_e(e,t)||(e[t]=null);return e}function At(e){let t=ri(null);for(let n of IC(e)){var r=iv(n,2);let o=r[0],i=r[1];_e(e,o)&&(It(i)?t[o]=pv(i):i&&typeof i=="object"&&i.constructor===Object?t[o]=At(i):t[o]=i)}return t}function hv(e){switch(typeof e){case"string":return e;case"number":return mv(e);case"boolean":return dv(e);case"bigint":return fC?fC(e):"0";case"symbol":return mC?mC(e):"Symbol()";case"undefined":return zi(e);case"function":case"object":{if(e===null)return zi(e);let t=e,r=Mr(t,"toString");if(typeof r=="function"){let n=r(t);return typeof n=="string"?n:zi(n)}return zi(e)}default:return zi(e)}}function Mr(e,t){for(;e!==null;){let n=lv(e,t);if(n){if(n.get)return Ge(n.get);if(typeof n.value=="function")return Ge(n.value)}e=cv(e)}function r(){return null}return r}function Cv(e){try{return it(e,""),!0}catch{return!1}}function yC(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Tv(),t=F=>yC(F);if(t.version="3.4.7",t.removed=[],!e||!e.document||e.document.nodeType!==Qr.document||!e.Element)return t.isSupported=!1,t;let r=e.document,n=r,o=n.currentScript;e.DocumentFragment;let i=e.HTMLTemplateElement,s=e.Node,a=e.Element,c=e.NodeFilter,l=e.NamedNodeMap;l===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let A=e.DOMParser,u=e.trustedTypes,m=a.prototype,d=Mr(m,"cloneNode"),p=Mr(m,"remove"),E=Mr(m,"nextSibling"),x=Mr(m,"childNodes"),I=Mr(m,"parentNode"),h=Mr(m,"shadowRoot"),y=Mr(m,"attributes"),Q=s&&s.prototype?Mr(s.prototype,"nodeType"):null,M=s&&s.prototype?Mr(s.prototype,"nodeName"):null;if(typeof i=="function"){let F=r.createElement("template");F.content&&F.content.ownerDocument&&(r=F.content.ownerDocument)}let B,v="",P=r,N=P.implementation,$=P.createNodeIterator,S=P.createDocumentFragment,L=P.getElementsByTagName,J=n.importNode,O=EC();t.isSupported=typeof IC=="function"&&typeof I=="function"&&N&&N.createHTMLDocument!==void 0;let Te=xv,Tt=yv,Ut=bv,Qn=wv,Rs=Bv,en=Sv,Ps=Qv,tn=vv,xr=CC,ue=null,Mn=H({},[...dC,...wu,...Bu,...Su,...gC]),de=null,tr=H({},[...pC,...Qu,...hC,...za]),se=Object.seal(ri(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),vn=null,Tn=null,rr=Object.seal(ri(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Os=!0,Mi=!0,rn=!1,vi=!0,Pr=!1,K=!0,oe=!1,ge=!1,pe=!1,tt=!1,rt=!1,be=!1,Qt=!0,nn=!1,on="user-content-",mo=!0,sn=!1,Ue={},Re=null,_n=H({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Gs=null,go=H({},["audio","video","img","source","image","track"]),Nl=null,md=H({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Us="http://www.w3.org/1998/Math/MathML",Hs="http://www.w3.org/2000/svg",yr="http://www.w3.org/1999/xhtml",po=yr,Ll=!1,Fl=null,xQ=H({},[Us,Hs,yr],bu),Rl=H({},["mi","mo","mn","ms","mtext"]),Pl=H({},["annotation-xml"]),yQ=H({},["title","style","font","a","script"]),Ti=null,bQ=["application/xhtml+xml","text/html"],wQ="text/html",De=null,ho=null,BQ=r.createElement("form"),dd=function(C){return C instanceof RegExp||C instanceof Function},Ol=function(){let C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(ho&&ho===C)return;(!C||typeof C!="object")&&(C={}),C=At(C),Ti=bQ.indexOf(C.PARSER_MEDIA_TYPE)===-1?wQ:C.PARSER_MEDIA_TYPE,De=Ti==="application/xhtml+xml"?bu:Ki,ue=_e(C,"ALLOWED_TAGS")&&It(C.ALLOWED_TAGS)?H({},C.ALLOWED_TAGS,De):Mn,de=_e(C,"ALLOWED_ATTR")&&It(C.ALLOWED_ATTR)?H({},C.ALLOWED_ATTR,De):tr,Fl=_e(C,"ALLOWED_NAMESPACES")&&It(C.ALLOWED_NAMESPACES)?H({},C.ALLOWED_NAMESPACES,bu):xQ,Nl=_e(C,"ADD_URI_SAFE_ATTR")&&It(C.ADD_URI_SAFE_ATTR)?H(At(md),C.ADD_URI_SAFE_ATTR,De):md,Gs=_e(C,"ADD_DATA_URI_TAGS")&&It(C.ADD_DATA_URI_TAGS)?H(At(go),C.ADD_DATA_URI_TAGS,De):go,Re=_e(C,"FORBID_CONTENTS")&&It(C.FORBID_CONTENTS)?H({},C.FORBID_CONTENTS,De):_n,vn=_e(C,"FORBID_TAGS")&&It(C.FORBID_TAGS)?H({},C.FORBID_TAGS,De):At({}),Tn=_e(C,"FORBID_ATTR")&&It(C.FORBID_ATTR)?H({},C.FORBID_ATTR,De):At({}),Ue=_e(C,"USE_PROFILES")?C.USE_PROFILES&&typeof C.USE_PROFILES=="object"?At(C.USE_PROFILES):C.USE_PROFILES:!1,Os=C.ALLOW_ARIA_ATTR!==!1,Mi=C.ALLOW_DATA_ATTR!==!1,rn=C.ALLOW_UNKNOWN_PROTOCOLS||!1,vi=C.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Pr=C.SAFE_FOR_TEMPLATES||!1,K=C.SAFE_FOR_XML!==!1,oe=C.WHOLE_DOCUMENT||!1,tt=C.RETURN_DOM||!1,rt=C.RETURN_DOM_FRAGMENT||!1,be=C.RETURN_TRUSTED_TYPE||!1,pe=C.FORCE_BODY||!1,Qt=C.SANITIZE_DOM!==!1,nn=C.SANITIZE_NAMED_PROPS||!1,mo=C.KEEP_CONTENT!==!1,sn=C.IN_PLACE||!1,xr=Cv(C.ALLOWED_URI_REGEXP)?C.ALLOWED_URI_REGEXP:CC,po=typeof C.NAMESPACE=="string"?C.NAMESPACE:yr,Rl=_e(C,"MATHML_TEXT_INTEGRATION_POINTS")&&C.MATHML_TEXT_INTEGRATION_POINTS&&typeof C.MATHML_TEXT_INTEGRATION_POINTS=="object"?At(C.MATHML_TEXT_INTEGRATION_POINTS):H({},["mi","mo","mn","ms","mtext"]),Pl=_e(C,"HTML_INTEGRATION_POINTS")&&C.HTML_INTEGRATION_POINTS&&typeof C.HTML_INTEGRATION_POINTS=="object"?At(C.HTML_INTEGRATION_POINTS):H({},["annotation-xml"]);let b=_e(C,"CUSTOM_ELEMENT_HANDLING")&&C.CUSTOM_ELEMENT_HANDLING&&typeof C.CUSTOM_ELEMENT_HANDLING=="object"?At(C.CUSTOM_ELEMENT_HANDLING):ri(null);if(se=ri(null),_e(b,"tagNameCheck")&&dd(b.tagNameCheck)&&(se.tagNameCheck=b.tagNameCheck),_e(b,"attributeNameCheck")&&dd(b.attributeNameCheck)&&(se.attributeNameCheck=b.attributeNameCheck),_e(b,"allowCustomizedBuiltInElements")&&typeof b.allowCustomizedBuiltInElements=="boolean"&&(se.allowCustomizedBuiltInElements=b.allowCustomizedBuiltInElements),Pr&&(Mi=!1),rt&&(tt=!0),Ue&&(ue=H({},gC),de=ri(null),Ue.html===!0&&(H(ue,dC),H(de,pC)),Ue.svg===!0&&(H(ue,wu),H(de,Qu),H(de,za)),Ue.svgFilters===!0&&(H(ue,Bu),H(de,Qu),H(de,za)),Ue.mathMl===!0&&(H(ue,Su),H(de,hC),H(de,za))),rr.tagCheck=null,rr.attributeCheck=null,_e(C,"ADD_TAGS")&&(typeof C.ADD_TAGS=="function"?rr.tagCheck=C.ADD_TAGS:It(C.ADD_TAGS)&&(ue===Mn&&(ue=At(ue)),H(ue,C.ADD_TAGS,De))),_e(C,"ADD_ATTR")&&(typeof C.ADD_ATTR=="function"?rr.attributeCheck=C.ADD_ATTR:It(C.ADD_ATTR)&&(de===tr&&(de=At(de)),H(de,C.ADD_ATTR,De))),_e(C,"ADD_URI_SAFE_ATTR")&&It(C.ADD_URI_SAFE_ATTR)&&H(Nl,C.ADD_URI_SAFE_ATTR,De),_e(C,"FORBID_CONTENTS")&&It(C.FORBID_CONTENTS)&&(Re===_n&&(Re=At(Re)),H(Re,C.FORBID_CONTENTS,De)),_e(C,"ADD_FORBID_CONTENTS")&&It(C.ADD_FORBID_CONTENTS)&&(Re===_n&&(Re=At(Re)),H(Re,C.ADD_FORBID_CONTENTS,De)),mo&&(ue["#text"]=!0),oe&&H(ue,["html","head","body"]),ue.table&&(H(ue,["tbody"]),delete vn.tbody),C.TRUSTED_TYPES_POLICY){if(typeof C.TRUSTED_TYPES_POLICY.createHTML!="function")throw $i('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof C.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw $i('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');B=C.TRUSTED_TYPES_POLICY,v=B.createHTML("")}else B===void 0&&(B=_v(u,o)),B!==null&&typeof v=="string"&&(v=B.createHTML(""));(O.uponSanitizeElement.length>0||O.uponSanitizeAttribute.length>0)&&ue===Mn&&(ue=At(ue)),O.uponSanitizeAttribute.length>0&&de===tr&&(de=At(de)),xt&&xt(C),ho=C},gd=H({},[...wu,...Bu,...Ev]),pd=H({},[...Su,...Iv]),SQ=function(C){let b=I(C);(!b||!b.tagName)&&(b={namespaceURI:po,tagName:"template"});let T=Ki(C.tagName),ee=Ki(b.tagName);return Fl[C.namespaceURI]?C.namespaceURI===Hs?b.namespaceURI===yr?T==="svg":b.namespaceURI===Us?T==="svg"&&(ee==="annotation-xml"||Rl[ee]):!!gd[T]:C.namespaceURI===Us?b.namespaceURI===yr?T==="math":b.namespaceURI===Hs?T==="math"&&Pl[ee]:!!pd[T]:C.namespaceURI===yr?b.namespaceURI===Hs&&!Pl[ee]||b.namespaceURI===Us&&!Rl[ee]?!1:!pd[T]&&(yQ[T]||!gd[T]):!!(Ti==="application/xhtml+xml"&&Fl[C.namespaceURI]):!1},nr=function(C){ei(t.removed,{element:C});try{I(C).removeChild(C)}catch{p(C)}},kn=function(C,b){try{ei(t.removed,{attribute:b.getAttributeNode(C),from:b})}catch{ei(t.removed,{attribute:null,from:b})}if(b.removeAttribute(C),C==="is")if(tt||rt)try{nr(b)}catch{}else try{b.setAttribute(C,"")}catch{}},hd=function(C){let b=null,T=null;if(pe)C="<remove></remove>"+C;else{let he=AC(C,/^[\r\n\t ]+/);T=he&&he[0]}Ti==="application/xhtml+xml"&&po===yr&&(C='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+C+"</body></html>");let ee=B?B.createHTML(C):C;if(po===yr)try{b=new A().parseFromString(ee,Ti)}catch{}if(!b||!b.documentElement){b=N.createDocument(po,"template",null);try{b.documentElement.innerHTML=Ll?v:ee}catch{}}let V=b.body||b.documentElement;return C&&T&&V.insertBefore(r.createTextNode(T),V.childNodes[0]||null),po===yr?L.call(b,oe?"html":"body")[0]:oe?b.documentElement:V},Cd=function(C){return $.call(C.ownerDocument||C,C,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Ed=function(C){C.normalize();let b=$.call(C.ownerDocument||C,C,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null),T=b.nextNode();for(;T;){let ee=T.data;Zo([Te,Tt,Ut],V=>{ee=ti(ee,V," ")}),T.data=ee,T=b.nextNode()}},js=function(C){let b=M?M(C):null;return typeof b!="string"||De(b)!=="form"?!1:typeof C.nodeName!="string"||typeof C.textContent!="string"||typeof C.removeChild!="function"||C.attributes!==y(C)||typeof C.removeAttribute!="function"||typeof C.setAttribute!="function"||typeof C.namespaceURI!="string"||typeof C.insertBefore!="function"||typeof C.hasChildNodes!="function"||C.nodeType!==Q(C)||C.childNodes!==x(C)},_i=function(C){if(!Q||typeof C!="object"||C===null)return!1;try{return Q(C)===Qr.documentFragment}catch{return!1}},qs=function(C){if(!Q||typeof C!="object"||C===null)return!1;try{return typeof Q(C)=="number"}catch{return!1}};function Or(F,C,b){Zo(F,T=>{T.call(t,C,b,ho)})}let Id=function(C){let b=null;if(Or(O.beforeSanitizeElements,C,null),js(C))return nr(C),!0;let T=De(C.nodeName);if(Or(O.uponSanitizeElement,C,{tagName:T,allowedTags:ue}),K&&C.hasChildNodes()&&!qs(C.firstElementChild)&&it(/<[/\w!]/g,C.innerHTML)&&it(/<[/\w!]/g,C.textContent)||K&&C.namespaceURI===yr&&T==="style"&&qs(C.firstElementChild)||C.nodeType===Qr.progressingInstruction||K&&C.nodeType===Qr.comment&&it(/<[/\w]/g,C.data))return nr(C),!0;if(vn[T]||!(rr.tagCheck instanceof Function&&rr.tagCheck(T))&&!ue[T]){if(!vn[T]&&yd(T)&&(se.tagNameCheck instanceof RegExp&&it(se.tagNameCheck,T)||se.tagNameCheck instanceof Function&&se.tagNameCheck(T)))return!1;if(mo&&!Re[T]){let V=I(C),he=x(C);if(he&&V){let Ht=he.length;for(let br=Ht-1;br>=0;--br){let or=d(he[br],!0);V.insertBefore(or,E(C))}}}return nr(C),!0}return(Q?Q(C):C.nodeType)===Qr.element&&!SQ(C)||(T==="noscript"||T==="noembed"||T==="noframes")&&it(/<\/no(script|embed|frames)/i,C.innerHTML)?(nr(C),!0):(Pr&&C.nodeType===Qr.text&&(b=C.textContent,Zo([Te,Tt,Ut],V=>{b=ti(b,V," ")}),C.textContent!==b&&(ei(t.removed,{element:C.cloneNode()}),C.textContent=b)),Or(O.afterSanitizeElements,C,null),!1)},xd=function(C,b,T){if(Tn[b]||Qt&&(b==="id"||b==="name")&&(T in r||T in BQ))return!1;let ee=de[b]||rr.attributeCheck instanceof Function&&rr.attributeCheck(b,C);if(!(Mi&&!Tn[b]&&it(Qn,b))){if(!(Os&&it(Rs,b))){if(!ee||Tn[b]){if(!(yd(C)&&(se.tagNameCheck instanceof RegExp&&it(se.tagNameCheck,C)||se.tagNameCheck instanceof Function&&se.tagNameCheck(C))&&(se.attributeNameCheck instanceof RegExp&&it(se.attributeNameCheck,b)||se.attributeNameCheck instanceof Function&&se.attributeNameCheck(b,C))||b==="is"&&se.allowCustomizedBuiltInElements&&(se.tagNameCheck instanceof RegExp&&it(se.tagNameCheck,T)||se.tagNameCheck instanceof Function&&se.tagNameCheck(T))))return!1}else if(!Nl[b]){if(!it(xr,ti(T,Ps,""))){if(!((b==="src"||b==="xlink:href"||b==="href")&&C!=="script"&&uC(T,"data:")===0&&Gs[C])){if(!(rn&&!it(en,ti(T,Ps,"")))){if(T)return!1}}}}}}return!0},QQ=H({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),yd=function(C){return!QQ[Ki(C)]&&it(tn,C)},bd=function(C){Or(O.beforeSanitizeAttributes,C,null);let b=C.attributes;if(!b||js(C))return;let T={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:de,forceKeepAttr:void 0},ee=b.length;for(;ee--;){let V=b[ee],he=V.name,Ht=V.namespaceURI,br=V.value,or=De(he),Gl=br,Ve=he==="value"?Gl:fv(Gl);if(T.attrName=or,T.attrValue=Ve,T.keepAttr=!0,T.forceKeepAttr=void 0,Or(O.uponSanitizeAttribute,C,T),Ve=T.attrValue,nn&&(or==="id"||or==="name")&&uC(Ve,on)!==0&&(kn(he,C),Ve=on+Ve),K&&it(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ve)){kn(he,C);continue}if(or==="attributename"&&AC(Ve,"href")){kn(he,C);continue}if(T.forceKeepAttr)continue;if(!T.keepAttr){kn(he,C);continue}if(!vi&&it(/\/>/i,Ve)){kn(he,C);continue}Pr&&Zo([Te,Tt,Ut],Bd=>{Ve=ti(Ve,Bd," ")});let wd=De(C.nodeName);if(!xd(wd,or,Ve)){kn(he,C);continue}if(B&&typeof u=="object"&&typeof u.getAttributeType=="function"&&!Ht)switch(u.getAttributeType(wd,or)){case"TrustedHTML":{Ve=B.createHTML(Ve);break}case"TrustedScriptURL":{Ve=B.createScriptURL(Ve);break}}if(Ve!==Gl)try{Ht?C.setAttributeNS(Ht,he,Ve):C.setAttribute(he,Ve),js(C)?nr(C):lC(t.removed)}catch{kn(he,C)}}Or(O.afterSanitizeAttributes,C,null)},Js=function(C){let b=null,T=Cd(C);for(Or(O.beforeSanitizeShadowDOM,C,null);b=T.nextNode();)if(Or(O.uponSanitizeShadowNode,b,null),Id(b),bd(b),_i(b.content)&&Js(b.content),(Q?Q(b):b.nodeType)===Qr.element){let V=h?h(b):b.shadowRoot;_i(V)&&(Co(V),Js(V))}Or(O.afterSanitizeShadowDOM,C,null)},Co=function(C){let b=Q?Q(C):C.nodeType;if(b===Qr.element){let V=h?h(C):C.shadowRoot;_i(V)&&(Co(V),Js(V))}let T=x?x(C):C.childNodes;if(!T)return;let ee=[];Zo(T,V=>{ei(ee,V)});for(let V of ee)Co(V);if(b===Qr.element){let V=M?M(C):null;if(typeof V=="string"&&De(V)==="template"){let he=C.content;_i(he)&&Co(he)}}};return t.sanitize=function(F){let C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},b=null,T=null,ee=null,V=null;if(Ll=!F,Ll&&(F="<!-->"),typeof F!="string"&&!qs(F)&&(F=hv(F),typeof F!="string"))throw $i("dirty is not a string, aborting");if(!t.isSupported)return F;if(ge||Ol(C),t.removed=[],typeof F=="string"&&(sn=!1),sn){let br=M?M(F):F.nodeName;if(typeof br=="string"){let or=De(br);if(!ue[or]||vn[or])throw $i("root node is forbidden and cannot be sanitized in-place")}if(js(F))throw $i("root node is clobbered and cannot be sanitized in-place");Co(F)}else if(qs(F))b=hd("<!---->"),T=b.ownerDocument.importNode(F,!0),T.nodeType===Qr.element&&T.nodeName==="BODY"||T.nodeName==="HTML"?b=T:b.appendChild(T),Co(T);else{if(!tt&&!Pr&&!oe&&F.indexOf("<")===-1)return B&&be?B.createHTML(F):F;if(b=hd(F),!b)return tt?null:be?v:""}b&&pe&&nr(b.firstChild);let he=Cd(sn?F:b);for(;ee=he.nextNode();)Id(ee),bd(ee),_i(ee.content)&&Js(ee.content);if(sn)return Pr&&Ed(F),F;if(tt){if(Pr&&Ed(b),rt)for(V=S.call(b.ownerDocument);b.firstChild;)V.appendChild(b.firstChild);else V=b;return(de.shadowroot||de.shadowrootmode)&&(V=J.call(n,V,!0)),V}let Ht=oe?b.outerHTML:b.innerHTML;return oe&&ue["!doctype"]&&b.ownerDocument&&b.ownerDocument.doctype&&b.ownerDocument.doctype.name&&it(Mv,b.ownerDocument.doctype.name)&&(Ht="<!DOCTYPE "+b.ownerDocument.doctype.name+`>
28
- `+Ht),Pr&&Zo([Te,Tt,Ut],br=>{Ht=ti(Ht,br," ")}),B&&be?B.createHTML(Ht):Ht},t.setConfig=function(){let F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Ol(F),ge=!0},t.clearConfig=function(){ho=null,ge=!1},t.isValidAttribute=function(F,C,b){ho||Ol({});let T=De(F),ee=De(C);return xd(T,ee,b)},t.addHook=function(F,C){typeof C=="function"&&ei(O[F],C)},t.removeHook=function(F,C){if(C!==void 0){let b=Av(O[F],C);return b===-1?void 0:uv(O[F],b,1)[0]}return lC(O[F])},t.removeHooks=function(F){O[F]=[]},t.removeAllHooks=function(){O=EC()},t}var IC,cC,av,cv,lv,xt,Wt,ri,xC,Mu,vu,Zo,Av,lC,ei,uv,It,Ki,bu,AC,ti,uC,fv,mv,dv,fC,mC,_e,zi,it,$i,dC,wu,Bu,Ev,Su,Iv,gC,pC,Qu,hC,za,xv,yv,bv,wv,Bv,CC,Sv,Qv,Mv,vv,Qr,Tv,_v,EC,bC,wC=g(()=>{IC=Object.entries,cC=Object.setPrototypeOf,av=Object.isFrozen,cv=Object.getPrototypeOf,lv=Object.getOwnPropertyDescriptor,xt=Object.freeze,Wt=Object.seal,ri=Object.create,xC=typeof Reflect<"u"&&Reflect,Mu=xC.apply,vu=xC.construct;xt||(xt=function(t){return t});Wt||(Wt=function(t){return t});Mu||(Mu=function(t,r){for(var n=arguments.length,o=new Array(n>2?n-2:0),i=2;i<n;i++)o[i-2]=arguments[i];return t.apply(r,o)});vu||(vu=function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return new t(...n)});Zo=Ge(Array.prototype.forEach),Av=Ge(Array.prototype.lastIndexOf),lC=Ge(Array.prototype.pop),ei=Ge(Array.prototype.push),uv=Ge(Array.prototype.splice),It=Array.isArray,Ki=Ge(String.prototype.toLowerCase),bu=Ge(String.prototype.toString),AC=Ge(String.prototype.match),ti=Ge(String.prototype.replace),uC=Ge(String.prototype.indexOf),fv=Ge(String.prototype.trim),mv=Ge(Number.prototype.toString),dv=Ge(Boolean.prototype.toString),fC=typeof BigInt>"u"?null:Ge(BigInt.prototype.toString),mC=typeof Symbol>"u"?null:Ge(Symbol.prototype.toString),_e=Ge(Object.prototype.hasOwnProperty),zi=Ge(Object.prototype.toString),it=Ge(RegExp.prototype.test),$i=gv(TypeError);dC=xt(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),wu=xt(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Bu=xt(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Ev=xt(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Su=xt(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Iv=xt(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),gC=xt(["#text"]),pC=xt(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Qu=xt(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),hC=xt(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),za=xt(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),xv=Wt(/{{[\w\W]*|^[\w\W]*}}/g),yv=Wt(/<%[\w\W]*|^[\w\W]*%>/g),bv=Wt(/\${[\w\W]*/g),wv=Wt(/^data-[\-\w.\u00B7-\uFFFF]+$/),Bv=Wt(/^aria-[\-\w]+$/),CC=Wt(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Sv=Wt(/^(?:\w+script|data):/i),Qv=Wt(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Mv=Wt(/^html$/i),vv=Wt(/^[a-z][.\w]*(-[.\w]+)+$/i),Qr={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Tv=function(){return typeof window>"u"?null:window},_v=function(t,r){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let n=null,o="data-tt-policy-suffix";r&&r.hasAttribute(o)&&(n=r.getAttribute(o));let i="dompurify"+(n?"#"+n:"");try{return t.createPolicy(i,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},EC=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};bC=yC()});var QC={};Ye(QC,{default:()=>SC});function SC({value:e,className:t}){let r=(0,$a.useRef)(null);return(0,$a.useLayoutEffect)(()=>{let n=r.current;if(n)for(let o of n.querySelectorAll("a"))o.setAttribute("rel","noopener noreferrer"),o.setAttribute("target","_blank")},[e]),(0,BC.jsx)("span",{ref:r,className:t,dangerouslySetInnerHTML:{__html:bC.sanitize(e)}})}var BC,$a,MC=g(()=>{BC=f(R(),1),$a=f(w(),1);wC()});function Lv(e){return Nv.test(e)}function Fv(e){return e.includes("<")||e.includes("://")}function Rv({value:e,className:t}){let r=(0,An.useRef)(null);return(0,An.useLayoutEffect)(()=>{let n=r.current;if(n)try{n.setHTML(e);for(let o of n.querySelectorAll("a"))o.setAttribute("rel","noopener noreferrer"),o.setAttribute("target","_blank")}catch(o){console.error(o)}},[e]),(0,qn.jsx)("span",{ref:r,className:t})}function un({html:e,className:t}){let r=`${e}`;if(!Fv(r))return(0,qn.jsx)("span",{className:t,children:r});let n=iC(r),o=Lv(n)?n:(0,vC.default)(n);return typeof Element<"u"&&Element.prototype.setHTML?(0,qn.jsx)(Rv,{value:o,className:t}):(0,qn.jsx)(An.Suspense,{fallback:(0,qn.jsx)("span",{className:t}),children:(0,qn.jsx)(Dv,{value:o,className:t})})}var qn,An,vC,kv,Dv,Nv,Tu=g(()=>{qn=f(R(),1),An=f(w(),1),vC=f(Uh(),1);ln();kv=["a","b","br","code","div","em","h1","h2","h3","h4","h5","h6","i","img","li","mark","p","pre","span","small","strong","table","tbody","sup","sub","td","tfoot","th","thead","tr","u","ul"],Dv=(0,An.lazy)(()=>Promise.resolve().then(()=>(MC(),QC))),Nv=new RegExp(kv.map(e=>String.raw`<${e}\b[^>]*>`).join("|"),"i")});function Pv({error:e}){let{classes:t}=kC();return(0,Lt.jsx)("div",{className:t.errorBox,children:(0,Lt.jsx)(Ph,{error:e})})}var Lt,TC,ut,_C,kC,Ov,DC,NC=g(()=>{Lt=f(R(),1),TC=f(w(),1);Wl();ut=f(k(),1),_C=f(G(),1);Hl();Oh();Tu();Et();kC=te()(e=>({closeButton:{position:"absolute",right:e.spacing(1),top:e.spacing(1),color:e.palette.grey[500]},errorBox:{width:800,margin:40}}));Ov=(0,_C.observer)(function(t){let{classes:r}=kC(),{titleNode:n,...o}=t,{title:i,header:s,children:a,onClose:c}=o,l=(0,ut.useTheme)();return(0,Lt.jsx)(ut.Dialog,{...o,children:(0,Lt.jsxs)(ut.ScopedCssBaseline,{children:[(0,TC.isValidElement)(s)?s:(0,Lt.jsxs)(ut.DialogTitle,{children:[n||(0,Lt.jsx)(un,{html:i||""}),c?(0,Lt.jsx)(ut.IconButton,{className:r.closeButton,onClick:A=>{c(A,"backdropClick")},children:(0,Lt.jsx)(Ks,{})}):null]}),(0,Lt.jsx)(ut.Divider,{}),(0,Lt.jsx)(Io,{FallbackComponent:Pv,children:(0,Lt.jsx)(ut.ThemeProvider,{theme:(0,ut.createTheme)(l,{components:{MuiInputBase:{styleOverrides:{input:{boxSizing:"content-box!important"}}}}}),children:a})})]})})}),DC=Ov});function _u({onClose:e,helpText:t,label:r}){return(0,Jn.jsx)(DC,{open:!0,onClose:e,title:"Help",titleNode:r?(0,Jn.jsxs)(Jn.Fragment,{children:["Help: ",r]}):void 0,onClick:n=>{n.stopPropagation()},onMouseDown:n=>{n.stopPropagation()},children:(0,Jn.jsx)(LC.DialogContent,{children:t})})}var Jn,LC,FC=g(()=>{Jn=f(R(),1),LC=f(k(),1);NC()});function ku({helpText:e,label:t}){let[r,n]=(0,Ka.useState)(!1);return(0,Vr.jsxs)(Vr.Fragment,{children:[(0,Vr.jsx)(RC.IconButton,{size:"small",onClick:o=>{o.stopPropagation(),n(!0)},style:{marginLeft:4,padding:4},children:(0,Vr.jsx)(xg,{fontSize:"small"})}),r?(0,Vr.jsxs)(Ka.Suspense,{fallback:null,children:[(0,Vr.jsx)(_u,{helpText:e,label:t,onClose:o=>{o.stopPropagation(),n(!1)}})," "]}):null]})}var Vr,Ka,RC,PC=g(()=>{Vr=f(R(),1),Ka=f(w(),1);yg();RC=f(k(),1);FC()});var OC,GC,UC,Gv,HC,jC=g(()=>{OC=f(R(),1),GC=f(w(),1),UC=f(k(),1),Gv=GC.forwardRef(function(t,r){return(0,OC.jsx)(UC.Menu,{...t,ref:r,style:{pointerEvents:"none",...t.style},slotProps:{...t.slotProps,paper:{style:{pointerEvents:"auto"}}}})}),HC=Gv});var qC,JC,VC=g(()=>{"use client";W();qC=f(R(),1),JC=(0,_.createSvgIcon)((0,qC.jsx)("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight")});var YC,WC,zC=g(()=>{"use client";W();YC=f(R(),1),WC=(0,_.createSvgIcon)((0,YC.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2m-9 14-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"}),"CheckBox")});var $C,KC,XC=g(()=>{"use client";W();$C=f(R(),1),KC=(0,_.createSvgIcon)((0,$C.jsx)("path",{d:"M19 5v14H5V5zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2"}),"CheckBoxOutlineBlank")});var ZC,eE,tE=g(()=>{"use client";W();ZC=f(R(),1),eE=(0,_.createSvgIcon)((0,ZC.jsx)("path",{d:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5m0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"RadioButtonChecked")});var rE,nE,oE=g(()=>{"use client";W();rE=f(R(),1),nE=(0,_.createSvgIcon)((0,rE.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"RadioButtonUnchecked")});function iE(e){let{classes:t}=Uv(),{type:r}=e,n,o;"checked"in e&&({checked:n,disabled:o}=e);let i;switch(r){case"subMenu":{i=(0,fn.jsx)(JC,{color:"action"});break}case"checkbox":{n?i=(0,fn.jsx)(WC,{color:o?"inherit":void 0}):i=(0,fn.jsx)(KC,{color:"action"});break}case"radio":{n?i=(0,fn.jsx)(eE,{color:o?"inherit":void 0}):i=(0,fn.jsx)(nE,{color:"action"});break}}return(0,fn.jsx)("div",{className:t.menuItemEndDecoration,children:i})}var fn,Xa,Uv,sE=g(()=>{fn=f(R(),1);VC();zC();XC();tE();oE();Xa=f(k(),1);Et();Uv=te()({menuItemEndDecoration:{padding:0,margin:0,height:16}})});function aE(e){if(typeof e=="string")return e.toLowerCase().replace(/\s+/g,"_")}function Hv({title:e,Icon:t,inset:r,menuItems:n,onMenuItemClick:o,closeAfterItemClick:i,onCloseRoot:s,isOpen:a,onOpen:c,onClose:l}){let[A,u]=(0,Du.useState)(null),m=aE(e);return(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsxs)(yt.MenuItem,{ref:u,"data-testid":m?`cascading-submenu-${m}`:void 0,onMouseOver:c,onFocus:c,onClick:c,children:[t?(0,ae.jsx)(yt.ListItemIcon,{children:(0,ae.jsx)(t,{})}):null,(0,ae.jsx)(yt.ListItemText,{primary:e,inset:r}),(0,ae.jsx)(Cg,{})]}),(0,ae.jsx)(HC,{open:a,anchorEl:A,onClose:l,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"},children:(0,ae.jsx)(cE,{closeAfterItemClick:i,onMenuItemClick:o,menuItems:n,onCloseRoot:s})})]})}function cE({onMenuItemClick:e,closeAfterItemClick:t,menuItems:r,onCloseRoot:n}){let[o,i]=(0,Du.useState)(),s=()=>{i(void 0)},a=r.some(A=>"icon"in A&&A.icon),c=r.some(A=>(A.type==="checkbox"||A.type==="radio")&&"helpText"in A&&A.helpText),l=r.toSorted((A,u)=>(u.priority||0)-(A.priority||0));return(0,ae.jsx)(ae.Fragment,{children:l.map((A,u)=>{if("subMenu"in A)return(0,ae.jsx)(Hv,{title:A.label,Icon:A.icon,inset:a&&!A.icon,onMenuItemClick:e,menuItems:A.subMenu,closeAfterItemClick:t,onCloseRoot:n,isOpen:o===u,onOpen:()=>{i(u)},onClose:s},`subMenu-${A.label}-${u}`);if(A.type==="divider")return(0,ae.jsx)(yt.Divider,{component:"li"},`divider-${u}`);if(A.type==="subHeader")return(0,ae.jsx)(yt.ListSubheader,{children:A.label},`subHeader-${A.label}-${u}`);let m=A,d=m.helpText,p=m.type==="checkbox"||m.type==="radio",E=aE(m.label);return(0,ae.jsxs)(yt.MenuItem,{"data-testid":E?`cascading-menuitem-${E}`:void 0,disabled:!!m.disabled,onClick:x=>{t&&n(),e(x,m.onClick)},onMouseOver:s,children:[m.icon?(0,ae.jsx)(yt.ListItemIcon,{children:(0,ae.jsx)(m.icon,{})}):null,(0,ae.jsx)(yt.ListItemText,{primary:m.label,secondary:m.subLabel,inset:a&&!m.icon}),(0,ae.jsx)("div",{style:{flexGrow:1,minWidth:10}}),p?(0,ae.jsx)(iE,{type:m.type,checked:m.checked,disabled:m.disabled}):null,d?(0,ae.jsx)(ku,{helpText:d,label:m.label}):p&&c?(0,ae.jsx)("div",{style:{marginLeft:4,padding:4,width:28,height:28}}):null]},`${m.label}-${u}`)})})}function Nu({onMenuItemClick:e,closeAfterItemClick:t=!0,menuItems:r,open:n,onClose:o,anchorEl:i,anchorOrigin:s,transformOrigin:a,anchorReference:c,anchorPosition:l,slotProps:A,marginThreshold:u,style:m}){let d=Array.isArray(r)?r:r();return(0,ae.jsx)(yt.Menu,{anchorEl:i,open:n,onClose:o,anchorOrigin:s,transformOrigin:a,anchorReference:c,anchorPosition:l,slotProps:A,marginThreshold:u??void 0,style:m,children:(0,ae.jsx)(cE,{menuItems:d,closeAfterItemClick:t,onMenuItemClick:e,onCloseRoot:o})})}var ae,Du,yt,lE=g(()=>{ae=f(R(),1),Du=f(w(),1);Eg();yt=f(k(),1);PC();jC();sE()});function jv({children:e,menuItems:t,closeAfterItemClick:r=!0,stopPropagation:n,disabled:o,setOpen:i,ButtonComponent:s=AE.IconButton,onClick:a,anchorOrigin:c,transformOrigin:l,marginThreshold:A,...u}){let[m,d]=(0,Za.useState)(null),p=!!m;(0,Za.useEffect)(()=>{i?.(p)},[p,i]);let E=o??(Array.isArray(t)&&t.length===0);return(0,Vn.jsxs)(Vn.Fragment,{children:[(0,Vn.jsx)(s,{onClick:x=>{n&&x.stopPropagation(),d(x.currentTarget),a?.(x)},...u,disabled:E,children:e}),p?(0,Vn.jsx)(Nu,{open:p,onClose:()=>{d(null)},anchorEl:m,anchorOrigin:c,transformOrigin:l,marginThreshold:A,menuItems:t,closeAfterItemClick:r,onMenuItemClick:(x,I)=>{I()}}):null]})}var Vn,Za,AE,vr,ni=g(()=>{Vn=f(R(),1),Za=f(w(),1),AE=f(k(),1);lE();vr=jv});var uE,fE,mE=g(()=>{"use client";W();uE=f(R(),1),fE=(0,_.createSvgIcon)((0,uE.jsx)("path",{d:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10c1.38 0 2.5-1.12 2.5-2.5 0-.61-.23-1.2-.64-1.67-.08-.1-.13-.21-.13-.33 0-.28.22-.5.5-.5H16c3.31 0 6-2.69 6-6 0-4.96-4.49-9-10-9m5.5 11c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5m-3-4c-.83 0-1.5-.67-1.5-1.5S13.67 6 14.5 6s1.5.67 1.5 1.5S15.33 9 14.5 9M5 11.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5S7.33 13 6.5 13 5 12.33 5 11.5m6-4c0 .83-.67 1.5-1.5 1.5S8 8.33 8 7.5 8.67 6 9.5 6s1.5.67 1.5 1.5"}),"Palette")});var qv,oi,dE=g(()=>{qv={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},oi=qv});var Jv,Xi,gE=g(()=>{Jv={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},Xi=Jv});var Vv,Zi,pE=g(()=>{Vv={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},Zi=Vv});var Yv,es,hE=g(()=>{Yv={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},es=Yv});var Wv,mn,CE=g(()=>{Wv={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},mn=Wv});var Lu=g(()=>{dE();gE();pE();hE();CE()});var zv,Yr,Ke,zt,SE,EE,Fu,$v,ec,QE,ME,IE,xE,yE,ts,Kv,Xv,Zv,eT,Ou,bE,tT,Ru,Pu,wE,Gu,bt,BE,tc,rc=g(()=>{zv={grad:.9,turn:360,rad:360/(2*Math.PI)},Yr=function(e){return typeof e=="string"?e.length>0:typeof e=="number"},Ke=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=Math.pow(10,t)),Math.round(r*e)/r+0},zt=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=1),e>r?r:e>t?e:t},SE=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},EE=function(e){return{r:zt(e.r,0,255),g:zt(e.g,0,255),b:zt(e.b,0,255),a:zt(e.a)}},Fu=function(e){return{r:Ke(e.r),g:Ke(e.g),b:Ke(e.b),a:Ke(e.a,3)}},$v=/^#([0-9a-f]{3,8})$/i,ec=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},QE=function(e){var t=e.r,r=e.g,n=e.b,o=e.a,i=Math.max(t,r,n),s=i-Math.min(t,r,n),a=s?i===t?(r-n)/s:i===r?2+(n-t)/s:4+(t-r)/s:0;return{h:60*(a<0?a+6:a),s:i?s/i*100:0,v:i/255*100,a:o}},ME=function(e){var t=e.h,r=e.s,n=e.v,o=e.a;t=t/360*6,r/=100,n/=100;var i=Math.floor(t),s=n*(1-r),a=n*(1-(t-i)*r),c=n*(1-(1-t+i)*r),l=i%6;return{r:255*[n,a,s,s,c,n][l],g:255*[c,n,n,a,s,s][l],b:255*[s,s,c,n,n,a][l],a:o}},IE=function(e){return{h:SE(e.h),s:zt(e.s,0,100),l:zt(e.l,0,100),a:zt(e.a)}},xE=function(e){return{h:Ke(e.h),s:Ke(e.s),l:Ke(e.l),a:Ke(e.a,3)}},yE=function(e){return ME((r=(t=e).s,{h:t.h,s:(r*=((n=t.l)<50?n:100-n)/100)>0?2*r/(n+r)*100:0,v:n+r,a:t.a}));var t,r,n},ts=function(e){return{h:(t=QE(e)).h,s:(o=(200-(r=t.s))*(n=t.v)/100)>0&&o<200?r*n/100/(o<=100?o:200-o)*100:0,l:o/2,a:t.a};var t,r,n,o},Kv=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Xv=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Zv=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,eT=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Ou={string:[[function(e){var t=$v.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?Ke(parseInt(e[3]+e[3],16)/255,2):1}:e.length===6||e.length===8?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:e.length===8?Ke(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var t=Zv.exec(e)||eT.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:EE({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(e){var t=Kv.exec(e)||Xv.exec(e);if(!t)return null;var r,n,o=IE({h:(r=t[1],n=t[2],n===void 0&&(n="deg"),Number(r)*(zv[n]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return yE(o)},"hsl"]],object:[[function(e){var t=e.r,r=e.g,n=e.b,o=e.a,i=o===void 0?1:o;return Yr(t)&&Yr(r)&&Yr(n)?EE({r:Number(t),g:Number(r),b:Number(n),a:Number(i)}):null},"rgb"],[function(e){var t=e.h,r=e.s,n=e.l,o=e.a,i=o===void 0?1:o;if(!Yr(t)||!Yr(r)||!Yr(n))return null;var s=IE({h:Number(t),s:Number(r),l:Number(n),a:Number(i)});return yE(s)},"hsl"],[function(e){var t=e.h,r=e.s,n=e.v,o=e.a,i=o===void 0?1:o;if(!Yr(t)||!Yr(r)||!Yr(n))return null;var s=(function(a){return{h:SE(a.h),s:zt(a.s,0,100),v:zt(a.v,0,100),a:zt(a.a)}})({h:Number(t),s:Number(r),v:Number(n),a:Number(i)});return ME(s)},"hsv"]]},bE=function(e,t){for(var r=0;r<t.length;r++){var n=t[r][0](e);if(n)return[n,t[r][1]]}return[null,void 0]},tT=function(e){return typeof e=="string"?bE(e.trim(),Ou.string):typeof e=="object"&&e!==null?bE(e,Ou.object):[null,void 0]},Ru=function(e,t){var r=ts(e);return{h:r.h,s:zt(r.s+100*t,0,100),l:r.l,a:r.a}},Pu=function(e){return(299*e.r+587*e.g+114*e.b)/1e3/255},wE=function(e,t){var r=ts(e);return{h:r.h,s:r.s,l:zt(r.l+100*t,0,100),a:r.a}},Gu=(function(){function e(t){this.parsed=tT(t)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return e.prototype.isValid=function(){return this.parsed!==null},e.prototype.brightness=function(){return Ke(Pu(this.rgba),2)},e.prototype.isDark=function(){return Pu(this.rgba)<.5},e.prototype.isLight=function(){return Pu(this.rgba)>=.5},e.prototype.toHex=function(){return t=Fu(this.rgba),r=t.r,n=t.g,o=t.b,s=(i=t.a)<1?ec(Ke(255*i)):"","#"+ec(r)+ec(n)+ec(o)+s;var t,r,n,o,i,s},e.prototype.toRgb=function(){return Fu(this.rgba)},e.prototype.toRgbString=function(){return t=Fu(this.rgba),r=t.r,n=t.g,o=t.b,(i=t.a)<1?"rgba("+r+", "+n+", "+o+", "+i+")":"rgb("+r+", "+n+", "+o+")";var t,r,n,o,i},e.prototype.toHsl=function(){return xE(ts(this.rgba))},e.prototype.toHslString=function(){return t=xE(ts(this.rgba)),r=t.h,n=t.s,o=t.l,(i=t.a)<1?"hsla("+r+", "+n+"%, "+o+"%, "+i+")":"hsl("+r+", "+n+"%, "+o+"%)";var t,r,n,o,i},e.prototype.toHsv=function(){return t=QE(this.rgba),{h:Ke(t.h),s:Ke(t.s),v:Ke(t.v),a:Ke(t.a,3)};var t},e.prototype.invert=function(){return bt({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a});var t},e.prototype.saturate=function(t){return t===void 0&&(t=.1),bt(Ru(this.rgba,t))},e.prototype.desaturate=function(t){return t===void 0&&(t=.1),bt(Ru(this.rgba,-t))},e.prototype.grayscale=function(){return bt(Ru(this.rgba,-1))},e.prototype.lighten=function(t){return t===void 0&&(t=.1),bt(wE(this.rgba,t))},e.prototype.darken=function(t){return t===void 0&&(t=.1),bt(wE(this.rgba,-t))},e.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(this.hue()+t)},e.prototype.alpha=function(t){return typeof t=="number"?bt({r:(r=this.rgba).r,g:r.g,b:r.b,a:t}):Ke(this.rgba.a,3);var r},e.prototype.hue=function(t){var r=ts(this.rgba);return typeof t=="number"?bt({h:t,s:r.s,l:r.l,a:r.a}):Ke(r.h)},e.prototype.isEqual=function(t){return this.toHex()===bt(t).toHex()},e})(),bt=function(e){return e instanceof Gu?e:new Gu(e)},BE=[],tc=function(e){e.forEach(function(t){BE.indexOf(t)<0&&(t(Gu,Ou),BE.push(t))})}});function nc(e,t){var r={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},n={};for(var o in r)n[r[o]]=o;var i={};e.prototype.toName=function(s){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var a,c,l=n[this.toHex()];if(l)return l;if(s?.closest){var A=this.toRgb(),u=1/0,m="black";if(!i.length)for(var d in r)i[d]=new e(r[d]).toRgb();for(var p in r){var E=(a=A,c=i[p],Math.pow(a.r-c.r,2)+Math.pow(a.g-c.g,2)+Math.pow(a.b-c.b,2));E<u&&(u=E,m=p)}return m}},t.string.push([function(s){var a=s.toLowerCase(),c=a==="transparent"?"#0000":r[a];return c?new e(c).toRgb():null},"name"])}var Uu=g(()=>{});function oc(e,t){return Object.fromEntries(Object.entries(e).map(t))}function rs(e,t){return oc(e,([r,n])=>[r,t.palette.getContrastText(bt(n).toHex())])}function Hu(e,t){if(e.length===0)return t;let r=[],n=0;for(let o of e)o>n&&r.push(t.slice(n,o)),n=o+1;return n<t.length&&r.push(t.slice(n)),r.join("")}function ju(e){return e.end-e.start}function ns(e){return e==="-"||e==="."}var Yn=g(()=>{rc();Uu();tc([nc])});var rT,ii,ic=g(()=>{Lu();rc();Uu();Yn();tc([nc]);rT={none:{},clustal:{G:"orange",P:"orange",S:"orange",T:"orange",H:"red",K:"red",R:"red",F:"blue",W:"blue",Y:"blue",I:"green",L:"green",M:"green",V:"green"},lesk:{G:"orange",A:"orange",S:"orange",T:"orange",C:"green",V:"green",I:"green",L:"green",P:"green",F:"green",Y:"green",M:"green",W:"green",N:"magenta",Q:"magenta",H:"magenta",D:"red",E:"red",K:"blue",R:"blue"},maeditor:{A:"lightgreen",G:"lightgreen",C:"green",D:"darkgreen",E:"darkgreen",N:"darkgreen",Q:"darkgreen",I:"blue",L:"blue",M:"blue",V:"blue",F:"#c8a2c8",W:"#c8a2c8",Y:"#c8a2c8",H:"darkblue",K:"orange",R:"orange",P:"pink",S:"red",T:"red"},percent_identity_dynamic:{},flower:{A:"#b18a51",C:"#ff5701",D:"#01a578",E:"#2da0a1",F:"#fa559d",G:"#b1c23c",H:"#0194f9",I:"#f27663",K:"#7fc3d7",L:"#df6e75",M:"#fe9daf",N:"#0bcec6",P:"#4fa32a",Q:"#7295ae",R:"#83bff1",S:"#b4bd9b",T:"#d2b576",V:"#fd997b",W:"#ff2ded",Y:"#c96ecf"},rainbow_dna:{A:"#3737f5",C:"#37f537",G:"#f5f537",T:"#f53737",U:"#f53737"},clustalx_protein:{A:"#197fe5",C:"#e57f7f",D:"#cc4ccc",E:"#cc4ccc",F:"#197fe5",G:"#e5994c",H:"#19b2b2",I:"#197fe5",K:"#e53319",L:"#197fe5",M:"#197fe5",N:"#19cc19",P:"#cccc00",Q:"#19cc19",R:"#e53319",S:"#19cc19",T:"#19cc19",V:"#197fe5",W:"#197fe5",Y:"#19b2b2"},clustalx_protein_dynamic:{},clustalx_dna:{A:"#e53319",C:"#197fe5",G:"#e5994c",T:"#19cc19",U:"#19cc19"},jbrowse_dna:{A:Zi[500],C:Xi[500],G:es[500],T:oi[500],U:oi[500]},jalview_buried:{A:"#00a35c",R:"#00fc03",N:"#00eb14",D:"#00eb14",C:"#0000ff",Q:"#00f10e",E:"#00f10e",G:"#009d62",H:"#00d52a",I:"#0054ab",L:"#007b84",K:"#00ff00",M:"#009768",F:"#008778",P:"#00e01f",S:"#00d52a",T:"#00db24",W:"#00a857",Y:"#00e619",V:"#005fa0",B:"#00eb14",X:"#00b649",Z:"#00f10e"},jalview_hydrophobicity:{A:"#ad0052",R:"#0000ff",N:"#0c00f3",D:"#0c00f3",C:"#c2003d",Q:"#0c00f3",E:"#0c00f3",G:"#6a0095",H:"#1500ea",I:"#ff0000",L:"#ea0015",K:"#0000ff",M:"#b0004f",F:"#cb0034",P:"#4600b9",S:"#5e00a1",T:"#61009e",W:"#5b00a4",Y:"#4f00b0",V:"#f60009",B:"#0c00f3",X:"#680097",Z:"#0c00f3"},jalview_prophelix:{A:"#e718e7",R:"#6f906f",N:"#1be41b",D:"#778877",C:"#23dc23",Q:"#926d92",E:"#ff00ff",G:"#00ff00",H:"#758a75",I:"#8a758a",L:"#ae51ae",K:"#a05fa0",M:"#ef10ef",F:"#986798",P:"#00ff00",S:"#36c936",T:"#47b847",W:"#8a758a",Y:"#21de21",V:"#857a85",B:"#49b649",X:"#758a75",Z:"#c936c9"},jalview_propstrand:{A:"#5858a7",R:"#6b6b94",N:"#64649b",D:"#2121de",C:"#9d9d62",Q:"#8c8c73",E:"#0000ff",G:"#4949b6",H:"#60609f",I:"#ecec13",L:"#b2b24d",K:"#4747b8",M:"#82827d",F:"#c2c23d",P:"#2323dc",S:"#4949b6",T:"#9d9d62",W:"#c0c03f",Y:"#d3d32c",V:"#ffff00",B:"#4343bc",X:"#797986",Z:"#4747b8"},jalview_propturn:{A:"#2cd3d3",R:"#708f8f",N:"#ff0000",D:"#e81717",C:"#a85757",Q:"#3fc0c0",E:"#778888",G:"#ff0000",H:"#708f8f",I:"#00ffff",L:"#1ce3e3",K:"#7e8181",M:"#1ee1e1",F:"#1ee1e1",P:"#f60909",S:"#e11e1e",T:"#738c8c",W:"#738c8c",Y:"#9d6262",V:"#07f8f8",B:"#f30c0c",X:"#7c8383",Z:"#5ba4a4"},jalview_taylor:{A:"#ccff00",R:"#0000ff",N:"#cc00ff",D:"#ff0000",C:"#ffff00",Q:"#ff00cc",E:"#ff0066",G:"#ff9900",H:"#0066ff",I:"#66ff00",L:"#33ff00",K:"#6600ff",M:"#00ff00",F:"#00ff66",P:"#ffcc00",S:"#ff3300",T:"#ff6600",W:"#00ccff",Y:"#00ffcc",V:"#99ff00"},jalview_zappo:{A:"#ffafaf",R:"#6464ff",N:"#00ff00",D:"#ff0000",C:"#ffff00",Q:"#00ff00",E:"#ff0000",G:"#ff00ff",H:"#6464ff",I:"#ffafaf",L:"#ffafaf",K:"#6464ff",M:"#ffafaf",F:"#ffc800",P:"#ff00ff",S:"#00ff00",T:"#00ff00",W:"#ffc800",Y:"#ffc800",V:"#ffafaf"},cinema:{H:"blue",K:"blue",R:"blue",D:"red",E:"red",S:"green",T:"green",N:"green",Q:"green",A:"white",V:"white",L:"white",I:"white",M:"white",F:"magenta",W:"magenta",Y:"magenta",P:"brown",G:"brown",C:"yellow",B:"gray",Z:"gray",X:"gray","-":"gray",".":"gray"}},ii=oc(rT,([e,t])=>[e,oc(t,([r,n])=>[r,bt(n).toHex()])])});var qu,vE,nT,TE,_E=g(()=>{qu=f(w(),1);ni();mE();vE=f(G(),1);ic();nT=(0,vE.observer)(function({model:e}){let{colorSchemeName:t}=e;return qu.default.createElement(vr,{closeAfterItemClick:!0,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},menuItems:Object.keys(ii).map(r=>({label:r,type:"radio",checked:t===r,onClick:()=>{e.setColorSchemeName(r)}}))},qu.default.createElement(fE,null))}),TE=nT});var kE,DE,NE=g(()=>{"use client";W();kE=f(R(),1),DE=(0,_.createSvgIcon)((0,kE.jsx)("path",{d:"M19 3h-4.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m2 14H7v-2h7zm3-4H7v-2h10zm0-4H7V7h10z"}),"Assignment")});var LE,os,Ju=g(()=>{"use client";W();LE=f(R(),1),os=(0,_.createSvgIcon)((0,LE.jsx)("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V8h16z"}),"FolderOpen")});var Vu,FE,RE=g(()=>{"use client";W();Vu=f(R(),1),FE=(0,_.createSvgIcon)([(0,Vu.jsx)("circle",{cx:"12",cy:"12",r:"3.2"},"0"),(0,Vu.jsx)("path",{d:"M9 2 7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5"},"1")],"PhotoCamera")});var PE,sc,Yu=g(()=>{"use client";W();PE=f(R(),1),sc=(0,_.createSvgIcon)((0,PE.jsx)("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings")});var OE,GE,UE=g(()=>{"use client";W();OE=f(R(),1),GE=(0,_.createSvgIcon)((0,OE.jsx)("path",{d:"M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39c.51-.66.04-1.61-.79-1.61H5.04c-.83 0-1.3.95-.79 1.61"}),"FilterAlt")});var HE,jE,qE=g(()=>{"use client";W();HE=f(R(),1),jE=(0,_.createSvgIcon)((0,HE.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"}),"Search")});var JE,VE,YE=g(()=>{"use client";W();JE=f(R(),1),VE=(0,_.createSvgIcon)((0,JE.jsx)("path",{d:"M3 18h6v-2H3zM3 6v2h18V6zm0 7h12v-2H3z"}),"Sort")});var WE,zE,$E=g(()=>{"use client";W();WE=f(R(),1),zE=(0,_.createSvgIcon)((0,WE.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility")});function KE(e){return Wu[Math.min(e,Wu.length-1)]}var Wu,zu,$u=g(()=>{Wu=[["#F8766D"],["#F8766D","#00BFC4"],["#F8766D","#00BA38","#619CFF"],["#F8766D","#7CAE00","#00BFC4","#C77CFF"],["#F8766D","#A3A500","#00BF7D","#00B0F6","#E76BF3"],["#F8766D","#B79F00","#00BA38","#00BFC4","#619CFF","#F564E3"],["#F8766D","#C49A00","#53B400","#00C094","#00B6EB","#A58AFF","#FB61D7"],["#F8766D","#CD9600","#7CAE00","#00BE67","#00BFC4","#00A9FF","#C77CFF","#FF61CC"]];zu=Wu});var ZE={};Ye(ZE,{default:()=>aT});var fe,XE,is,ac,oT,iT,sT,aT,eI=g(()=>{fe=f(w(),1),XE=f(we(),1),is=f(k(),1),ac=f(G(),1);$u();oT=(0,ac.observer)(function({model:e}){let{featureFilters:t}=e;return fe.default.createElement("div",null,fe.default.createElement(is.Button,{onClick:()=>{for(let r of t.keys())e.setFilter(r,!0)}},"Toggle all on"),fe.default.createElement(is.Button,{onClick:()=>{for(let r of t.keys())e.setFilter(r,!1)}},"Toggle all off"))}),iT=(0,ac.observer)(function({model:e}){let{tidyInterProAnnotationTypes:t,featureFilters:r}=e,n=[...t.values()],o=KE(n.length-1);return fe.default.createElement(fe.default.Fragment,null,fe.default.createElement(oT,{model:e}),fe.default.createElement("table",null,fe.default.createElement("thead",null,fe.default.createElement("tr",null,fe.default.createElement("td",null),fe.default.createElement("td",null,"accession"),fe.default.createElement("td",null,"name"),fe.default.createElement("td",null,"description"))),fe.default.createElement("tbody",null,n.map(({accession:i,name:s,description:a},c)=>fe.default.createElement("tr",{key:i},fe.default.createElement("td",null,fe.default.createElement("input",{type:"checkbox",checked:r.get(i)??!1,onChange:()=>{e.setFilter(i,!e.featureFilters.get(i))}})),fe.default.createElement("td",null,i),fe.default.createElement("td",null,s),fe.default.createElement("td",null,a),fe.default.createElement("td",null,fe.default.createElement("div",{style:{width:20,height:20,background:o[c]||"black"}})))))))}),sT=(0,ac.observer)(function({onClose:e,model:t}){return fe.default.createElement(XE.Dialog,{onClose:()=>{e()},open:!0,title:"Feature filters",maxWidth:"xl"},fe.default.createElement(is.DialogContent,null,fe.default.createElement(iT,{model:t})))}),aT=sT});async function tI(e,t){let r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP ${r.status} fetching ${e} ${await r.text()}`);return r}async function Ku(e,t){return(await tI(e,t)).text()}async function cc(e,t){return(await tI(e,t)).json()}function rI(e,t){return new Promise((r,n)=>{if(t?.aborted)n(new DOMException("Aborted","AbortError"));else{let o=setTimeout(r,e);t?.addEventListener("abort",()=>{clearTimeout(o),n(new DOMException("Aborted","AbortError"))})}})}function Xu(e){return e instanceof DOMException&&e.name==="AbortError"}var Zu=g(()=>{});var iI={};Ye(iI,{default:()=>lT});var Ie,nI,ef,Qe,oI,cT,lT,sI=g(()=>{Ie=f(w(),1),nI=f(we(),1),ef=f(Ce(),1),Qe=f(k(),1),oI=f(G(),1);Zu();cT=(0,oI.observer)(function({handleClose:e,model:t}){let[r,n]=(0,Ie.useState)(),[o,i]=(0,Ie.useState)("file"),[s,a]=(0,Ie.useState)("");return Ie.default.createElement(nI.Dialog,{maxWidth:"xl",title:"Open protein domains from file",onClose:()=>{e()},open:!0},Ie.default.createElement(Qe.DialogContent,null,Ie.default.createElement("div",null,Ie.default.createElement(Qe.Typography,null,"Open a JSON file of InterProScan results that you run remotely on EBI servers or locally"),Ie.default.createElement("div",{style:{display:"flex",margin:30}},Ie.default.createElement(Qe.FormControl,{component:"fieldset"},Ie.default.createElement(Qe.RadioGroup,{value:o,onChange:c=>{i(c.target.value)}},Ie.default.createElement(Qe.FormControlLabel,{value:"url",control:Ie.default.createElement(Qe.Radio,null),label:"URL"}),Ie.default.createElement(Qe.FormControlLabel,{value:"file",control:Ie.default.createElement(Qe.Radio,null),label:"File"}))),o==="url"?Ie.default.createElement("div",null,Ie.default.createElement(Qe.Typography,null,"Open a InterProScan JSON file remote URL"),Ie.default.createElement(Qe.TextField,{label:"URL",value:s,onChange:c=>{a(c.target.value)}})):null,o==="file"?Ie.default.createElement("div",{style:{paddingTop:20}},Ie.default.createElement(Qe.Typography,null,"Open a InterProScan JSON file file from your local drive"),Ie.default.createElement(Qe.Button,{variant:"outlined",component:"label"},"Choose File",Ie.default.createElement("input",{type:"file",hidden:!0,onChange:({target:c})=>{let l=c.files?.[0];l&&n(l)}}))):null))),Ie.default.createElement(Qe.DialogActions,null,Ie.default.createElement(Qe.Button,{variant:"contained",color:"primary",onClick:()=>{(async()=>{try{let c=r?JSON.parse(await r.text()):await cc(s);t.setInterProAnnotations(Object.fromEntries(c.results.map(l=>[l.xref[0].id,l]))),t.setShowDomains(!0),(0,ef.getSession)(t).notify("Loaded interproscan results","success")}catch(c){console.error(c),(0,ef.getSession)(t).notifyError(`${c}`,c)}finally{t.setStatus()}})(),e()}},"Open results")))}),lT=cT});async function AT({seq:e,onProgress:t,onJobId:r,programs:n,model:o,signal:i}){let s=await Ku(`${tf}/iprscan5/run`,{method:"POST",body:new URLSearchParams({email:"colin.diesh@gmail.com",sequence:e,programs:n.join(",")}),signal:i});r?.(s),await fT({jobId:s,onProgress:t,signal:i}),await mT({jobId:s,model:o,onProgress:t,signal:i})}function uT(e,t){return cc(`${tf}/iprscan5/result/${e}/json`,{signal:t})}async function fT({onProgress:e,jobId:t,signal:r}){let n=`${tf}/iprscan5/status/${t}`;try{for(;;){for(let i=0;i<10;i++)await rI(1e3,r),e({msg:`Checking status ${10-i}`,url:n});let o=await Ku(n,{signal:r});if(o.includes("FINISHED"))break;if(o.includes("FAILURE"))throw new Error(`Failed to run: jobId ${t}`)}}finally{e()}}async function aI({algorithm:e,seq:t,programs:r,onJobId:n,onProgress:o,model:i,signal:s}){try{if(o({msg:`Launching ${e} MSA`}),e==="interproscan")await AT({seq:t,onJobId:n,onProgress:o,programs:r,model:i,signal:s});else throw new Error("unknown algorithm")}catch(a){if(Xu(a))(0,ss.getSession)(i).notify("Cancelled InterProScan query","info");else throw a}finally{o()}}async function mT({jobId:e,model:t,onProgress:r,signal:n}){try{r({msg:`Downloading results of ${e} (for larger sequences this can be slow, click status to download and upload in the manual tab)`,url:`https://www.ebi.ac.uk/Tools/services/rest/iprscan5/result/${e}/json`});let o=await uT(e,n);t.setInterProAnnotations(Object.fromEntries(o.results.map(i=>[i.xref[0].id,i]))),t.setShowDomains(!0),(0,ss.getSession)(t).notify(`Loaded interproscan ${e} results`,"success")}catch(o){Xu(o)?(0,ss.getSession)(t).notify("Cancelled InterProScan query","info"):(console.error(o),(0,ss.getSession)(t).notifyError(`${o}`,o))}finally{r()}}var ss,tf,cI=g(()=>{ss=f(Ce(),1);Zu();tf="https://www.ebi.ac.uk/Tools/services/rest"});var fI={};Ye(fI,{default:()=>gT});var Me,lI,AI,Ft,uI,dT,gT,mI=g(()=>{Me=f(w(),1),lI=f(we(),1),AI=f(Ce(),1),Ft=f(k(),1),uI=f(G(),1);cI();dT=(0,uI.observer)(function({handleClose:e,model:t}){let[r,n]=(0,Me.useState)([{name:"NCBIfam",description:"NCBI RefSeq FAMs including TIGRFAMs",category:"Families, domains, sites & repeats",checked:!0},{name:"SFLD",description:"Structure function linkage database",category:"Families, domains, sites & repeats",checked:!0},{name:"Phobius",checked:!0,description:"A combined transmembrane topology and signal peptide predictor",category:"Other sequence features"},{name:"SignalP",checked:!0,category:"Other sequence features"},{name:"SignalP_EUK",category:"Other category",checked:!0},{name:"SignalP_GRAM_POSITIVE",category:"Other category",checked:!0},{name:"SignalP_GRAM_NEGATIVE",checked:!0,category:"Other category"},{name:"SuperFamily",category:"Structural domains",checked:!0},{name:"Panther",category:"Families, domains, sites & repeats",checked:!0},{name:"Gene3d",category:"Structural domains",checked:!0},{name:"HAMAP",category:"Families, domains, sites & repeats",checked:!0},{name:"PrositeProfiles",category:"Families, domains, sites & repeats",checked:!0},{name:"PrositePatterns",category:"Families, domains, sites & repeats",checked:!0},{name:"Coils",category:"Other sequence features",checked:!0},{name:"SMART",category:"Families, domains, sites & repeats",checked:!0},{name:"CDD",description:"Conserved Domains Database",category:"Families, domains, sites & repeats",checked:!0},{name:"PRINTS",category:"Families, domains, sites & repeats",checked:!0},{name:"PfamA",category:"Families, domains, sites & repeats",checked:!0},{name:"MobiDBLite",checked:!0,category:"Other sequence features"},{name:"PIRSF",checked:!0,category:"Other category"},{name:"TMHMM",checked:!0,category:"Other sequence features"},{name:"AntiFam",checked:!0,category:"Other category"},{name:"FunFam",checked:!0,category:"Other category"},{name:"PIRSR",checked:!0,category:"Families, domains, sites & repeats"}]),o=r.filter(a=>a.checked).map(a=>a.name),[i,s]=(0,Me.useState)(!1);return Me.default.createElement(lI.Dialog,{maxWidth:"xl",title:"Query InterProScan API for domains",onClose:()=>{e()},open:!0},Me.default.createElement(Ft.DialogContent,null,Me.default.createElement(Ft.Typography,null,"This will run InterProScan via the InterProScan API on all rows of the current MSA"),Me.default.createElement(Ft.Button,{onClick:()=>{s(!i)}},i?"Hide":"Show"," advanced options"),i?Me.default.createElement("div",null,Me.default.createElement(Ft.Typography,null,"Select algorithms for InterProScan to run"),Me.default.createElement("div",null,Me.default.createElement(Ft.Button,{variant:"contained",color:"secondary",onClick:()=>{n(r.map(a=>({...a,checked:!1})))}},"Select none"),Me.default.createElement(Ft.Button,{variant:"contained",color:"primary",onClick:()=>{n(r.map(a=>({...a,checked:!0})))}},"Select all")),Me.default.createElement("table",null,Me.default.createElement("tbody",null,r.toSorted((a,c)=>a.category.localeCompare(c.category)).map(({name:a,checked:c,category:l})=>Me.default.createElement("tr",{key:a},Me.default.createElement("td",null,Me.default.createElement("input",{type:"checkbox",key:a,checked:c,onChange:()=>{n(r.map(A=>A.name===a?{...A,checked:!A.checked}:A))}})),Me.default.createElement("td",null,a),Me.default.createElement("td",null,l)))))):null),Me.default.createElement(Ft.DialogActions,null,Me.default.createElement(Ft.Button,{variant:"contained",color:"secondary",onClick:()=>{e()}},"Cancel"),Me.default.createElement(Ft.Button,{variant:"contained",color:"primary",onClick:()=>{let a=new AbortController;(async()=>{try{let{rows:c}=t;if(c.length>140)throw new Error("Too many sequences, please run InterProScan offline");await aI({algorithm:"interproscan",programs:o,seq:c.map(l=>[l[0],l[1].replaceAll("-","")]).filter(l=>!!l[1]).map(l=>`>${l[0]}
26
+ `):"",this.name="UnsubscriptionError",this.errors=r}})});function Ku(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var ZC=g(()=>{});function tE(e){return e instanceof Cc||e&&"closed"in e&&Tr(e.remove)&&Tr(e.add)&&Tr(e.unsubscribe)}function eE(e){Tr(e)?e():e.unsubscribe()}var Cc,N4,rE=g(()=>{hs();pc();XC();ZC();Cc=(function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,n,o,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=zu(s),c=a.next();!c.done;c=a.next()){var l=c.value;l.remove(this)}}catch(E){t={error:E}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}else s.remove(this);var A=this.initialTeardown;if(Tr(A))try{A()}catch(E){i=E instanceof hc?E.errors:[E]}var u=this._finalizers;if(u){this._finalizers=null;try{for(var d=zu(u),m=d.next();!m.done;m=d.next()){var C=m.value;try{eE(C)}catch(E){i=i??[],E instanceof hc?i=di(di([],fi(i)),fi(E.errors)):i.push(E)}}}catch(E){n={error:E}}finally{try{m&&!m.done&&(o=d.return)&&o.call(d)}finally{if(n)throw n.error}}}if(i)throw new hc(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)eE(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Ku(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Ku(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=(function(){var t=new e;return t.closed=!0,t})(),e})(),N4=Cc.EMPTY});var hn,Ec=g(()=>{hn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}});var mi,Xu=g(()=>{hs();mi={setTimeout:function(e,t){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];var o=mi.delegate;return o?.setTimeout?o.setTimeout.apply(o,di([e,t],fi(r))):setTimeout.apply(void 0,di([e,t],fi(r)))},clearTimeout:function(e){var t=mi.delegate;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0}});function nE(e){mi.setTimeout(function(){var t=hn.onUnhandledError;if(t)t(e);else throw e})}var oE=g(()=>{Ec();Xu()});function Zu(){}var iE=g(()=>{});function aE(e){return ef("E",void 0,e)}function cE(e){return ef("N",e,void 0)}function ef(e,t,r){return{kind:e,value:t,error:r}}var sE,lE=g(()=>{sE=(function(){return ef("C",void 0,void 0)})()});function AE(e){hn.useDeprecatedSynchronousErrorHandling&&tf&&(tf.errorThrown=!0,tf.error=e)}var tf,uE=g(()=>{Ec();tf=null});function rf(e,t){return BT.call(e,t)}function Ic(e){hn.useDeprecatedSynchronousErrorHandling?AE(e):nE(e)}function QT(e){throw e}function nf(e,t){var r=hn.onStoppedNotification;r&&mi.setTimeout(function(){return r(e,t)})}var of,BT,ST,sf,MT,af=g(()=>{hs();pc();rE();Ec();oE();iE();lE();Xu();uE();of=(function(e){gs(t,e);function t(r){var n=e.call(this)||this;return n.isStopped=!1,r?(n.destination=r,tE(r)&&r.add(n)):n.destination=MT,n}return t.create=function(r,n,o){return new sf(r,n,o)},t.prototype.next=function(r){this.isStopped?nf(cE(r),this):this._next(r)},t.prototype.error=function(r){this.isStopped?nf(aE(r),this):(this.isStopped=!0,this._error(r))},t.prototype.complete=function(){this.isStopped?nf(sE,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(r){this.destination.next(r)},t.prototype._error=function(r){try{this.destination.error(r)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t})(Cc),BT=Function.prototype.bind;ST=(function(){function e(t){this.partialObserver=t}return e.prototype.next=function(t){var r=this.partialObserver;if(r.next)try{r.next(t)}catch(n){Ic(n)}},e.prototype.error=function(t){var r=this.partialObserver;if(r.error)try{r.error(t)}catch(n){Ic(n)}else Ic(t)},e.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(r){Ic(r)}},e})(),sf=(function(e){gs(t,e);function t(r,n,o){var i=e.call(this)||this,s;if(Tr(r)||!r)s={next:r??void 0,error:n??void 0,complete:o??void 0};else{var a;i&&hn.useDeprecatedNextContext?(a=Object.create(r),a.unsubscribe=function(){return i.unsubscribe()},s={next:r.next&&rf(r.next,a),error:r.error&&rf(r.error,a),complete:r.complete&&rf(r.complete,a)}):s=r}return i.destination=new ST(s),i}return t})(of);MT={closed:!0,next:Zu,error:QT,complete:Zu}});function vT(e){return Tr(e?.lift)}function xc(e){return function(t){if(vT(t))return t.lift(function(r){try{return e(r,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}var cf=g(()=>{pc()});function fE(e,t,r,n,o){return new TT(e,t,r,n,o)}var TT,dE=g(()=>{hs();af();TT=(function(e){gs(t,e);function t(r,n,o,i,s,a){var c=e.call(this,r)||this;return c.onFinalize=s,c.shouldUnsubscribe=a,c._next=n?function(l){try{n(l)}catch(A){r.error(A)}}:e.prototype._next,c._error=i?function(l){try{i(l)}catch(A){r.error(A)}finally{this.unsubscribe()}}:e.prototype._error,c._complete=o?function(){try{o()}catch(l){r.error(l)}finally{this.unsubscribe()}}:e.prototype._complete,c}return t.prototype.unsubscribe=function(){var r;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&((r=this.onFinalize)===null||r===void 0||r.call(this))}},t})(of)});var mE,pE=g(()=>{$u();mE=gc(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}})});function lf(e,t){var r=typeof t=="object";return new Promise(function(n,o){var i=new sf({next:function(s){n(s),i.unsubscribe()},error:o,complete:function(){r?n(t.defaultValue):o(new mE)}});e.subscribe(i)})}var gE=g(()=>{pE();af()});var hE=g(()=>{});function CE(e,t,r,n,o){return function(i,s){var a=r,c=t,l=0;i.subscribe(fE(s,function(A){var u=l++;c=a?e(c,A,u):(a=!0,A),n&&s.next(c)},o&&(function(){a&&s.next(c),s.complete()})))}}var EE=g(()=>{dE()});function IE(e,t){return xc(CE(e,t,arguments.length>=2,!1,!0))}var xE=g(()=>{EE();cf()});function Af(){return xc(function(e,t){IE(_T,[])(e).subscribe(t)})}var _T,yE=g(()=>{xE();cf();_T=function(e,t){return e.push(t),e}});var wE=g(()=>{gE();hE();yE()});var bE=g(()=>{});var BE=g(()=>{});function DT(){return SE||(SE=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function kT(){return QE||(QE=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}function NT(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(ro(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return yc.set(t,e),t}function LT(e){if(mf.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});mf.set(e,t)}function _E(e){pf=e(pf)}function RT(e){return kT().includes(e)?function(...t){return e.apply(gf(this),t),ro(this.request)}:function(...t){return ro(e.apply(gf(this),t))}}function FT(e){return typeof e=="function"?RT(e):(e instanceof IDBTransaction&&LT(e),df(e,DT())?new Proxy(e,pf):e)}function ro(e){if(e instanceof IDBRequest)return NT(e);if(uf.has(e))return uf.get(e);let t=FT(e);return t!==e&&(uf.set(e,t),yc.set(t,e)),t}function en(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=ro(s);return n&&s.addEventListener("upgradeneeded",c=>{n(ro(s.result),c.oldVersion,c.newVersion,ro(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",l=>o(l.oldVersion,l.newVersion,l))}).catch(()=>{}),a}function ME(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(ff.get(t))return ff.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=OT.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||PT.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),l=c.store;return n&&(l=l.index(a.shift())),(await Promise.all([l[r](...a),o&&c.done]))[0]};return ff.set(t,i),i}async function*HT(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;let r=new Proxy(t,UT);for(DE.set(r,t),yc.set(r,gf(t));t;)yield r,t=await(hf.get(r)||t.continue()),hf.delete(r)}function TE(e,t){return t===Symbol.asyncIterator&&df(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&df(e,[IDBIndex,IDBObjectStore])}var df,SE,QE,mf,uf,yc,pf,gf,PT,OT,ff,GT,vE,hf,DE,UT,pi=g(()=>{df=(e,t)=>t.some(r=>e instanceof r);mf=new WeakMap,uf=new WeakMap,yc=new WeakMap;pf={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return mf.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return ro(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};gf=e=>yc.get(e);PT=["get","getKey","getAll","getAllKeys","count"],OT=["put","add","delete","clear"],ff=new Map;_E(e=>({...e,get:(t,r,n)=>ME(t,r)||e.get(t,r,n),has:(t,r)=>!!ME(t,r)||e.has(t,r)}));GT=["continue","continuePrimaryKey","advance"],vE={},hf=new WeakMap,DE=new WeakMap,UT={get(e,t){if(!GT.includes(t))return e[t];let r=vE[t];return r||(r=vE[t]=function(...n){hf.set(this,DE.get(this)[t](...n))}),r}};_E(e=>({...e,get(t,r,n){return TE(t,r)?HT:e.get(t,r,n)},has(t,r){return TE(t,r)||e.has(t,r)}}))});var kE=g(()=>{pi()});var wc,NE=g(()=>{wc=f(Ft(),1)});function Ef(e,t=10){let r=String(e),n=0;for(let o=0,i=r.length;o<i;o++)n+=JT[r.charCodeAt(o)]??VT;return n*t}function If(e){let t=0;if(e.length===0)return t;for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);t=(t<<5)-t+n,t|=0}return t}function YT(e){let{uri:t,baseUri:r=""}=e,n;try{n=new URL(t,r).href}catch{n=t}return n}function xf(e){return er(e)?uc(e)?YT(e):JSON.stringify(e):String(e)}function LE(e){let t=/(^|[\s\n]|<[A-Za-z]*\/?>)((?:https?|ftp):\/\/[-A-Z0-9+\u0026\u2019@#/%?=()~_|!:,.;]*[-A-Z0-9+\u0026@#/%=~()_|])/gi;return e.replaceAll(t,`$1<a href='$2' target="_blank">$2</a>`)}function RE(e,t){let{padding:r=30,minWidth:n=80,fontSize:o=12,maxWidth:i=1e3,stripHTML:s=!1}=t||{};return yf(e.map(a=>xf(a)).map(a=>s?NC(a):a).map(a=>Ef(a,o)).map(a=>Math.min(Math.max(a+r,n),i)))}function yf(e,t=Number.NEGATIVE_INFINITY){let r=t;for(let n of e)r=Math.max(n,r);return r}function er(e){return typeof e=="object"&&e!==null}var Cf,gi,jT,qT,FO,PO,OO,GO,JT,VT,Cn=g(()=>{Cf=f(Q(),1);vC();gi=f(Ft(),1),jT=f(_C(),1),qT=f(kC(),1);ju();qu();qu();PC();OC();GC();ju();WC();zC();$C();KC();bE();BE();LC();RC();NE();kE();FO=180/Math.PI,PO=Math.PI/180,OO=/electron/i.test(typeof navigator<"u"?navigator.userAgent:""),GO=typeof jest>"u"?typeof window<"u"&&window.requestIdleCallback?window.requestIdleCallback:e=>setTimeout(()=>{e()},1):e=>{e()},JT=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.2796875,.2765625,.3546875,.5546875,.5546875,.8890625,.665625,.190625,.3328125,.3328125,.3890625,.5828125,.2765625,.3328125,.2765625,.3015625,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.2765625,.2765625,.584375,.5828125,.584375,.5546875,1.0140625,.665625,.665625,.721875,.721875,.665625,.609375,.7765625,.721875,.2765625,.5,.665625,.5546875,.8328125,.721875,.7765625,.665625,.7765625,.721875,.665625,.609375,.721875,.665625,.94375,.665625,.665625,.609375,.2765625,.3546875,.2765625,.4765625,.5546875,.3328125,.5546875,.5546875,.5,.5546875,.5546875,.2765625,.5546875,.5546875,.221875,.240625,.5,.221875,.8328125,.5546875,.5546875,.5546875,.5546875,.3328125,.5,.2765625,.5546875,.5,.721875,.5,.5,.5,.3546875,.259375,.353125,.5890625],VT=.5279276315789471});function FE(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function WT(e){if(Array.isArray(e))return e}function zT(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,o,i,s,a=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,t!==0)for(;!(c=(n=i.call(r)).done)&&(a.push(n.value),a.length!==t);c=!0);}catch(A){l=!0,o=A}finally{try{if(!c&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(l)throw o}}return a}}function $T(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
27
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function KT(e,t){return WT(e)||zT(e,t)||XT(e,t)||$T()}function XT(e,t){if(e){if(typeof e=="string")return FE(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?FE(e,t):void 0}}function Oe(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return Mf(e,t,n)}}function a_(e){return function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return vf(e,r)}}function W(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:xs;if(PE&&PE(e,null),!In(t))return e;let n=t.length;for(;n--;){let o=t[n];if(typeof o=="string"){let i=r(o);i!==o&&(ZT(t)||(t[n]=i),o=i)}e[o]=!0}return e}function c_(e){for(let t=0;t<e.length;t++)Xe(e,t)||(e[t]=null);return e}function St(e){let t=Ci(null);for(let n of KE(e)){var r=KT(n,2);let o=r[0],i=r[1];Xe(e,o)&&(In(i)?t[o]=c_(i):i&&typeof i=="object"&&i.constructor===Object?t[o]=St(i):t[o]=i)}return t}function l_(e){switch(typeof e){case"string":return e;case"number":return i_(e);case"boolean":return s_(e);case"bigint":return HE?HE(e):"0";case"symbol":return jE?jE(e):"Symbol()";case"undefined":return Is(e);case"function":case"object":{if(e===null)return Is(e);let t=e,r=Dr(t,"toString");if(typeof r=="function"){let n=r(t);return typeof n=="string"?n:Is(n)}return Is(e)}default:return Is(e)}}function Dr(e,t){for(;e!==null;){let n=t_(e,t);if(n){if(n.get)return Oe(n.get);if(typeof n.value=="function")return Oe(n.value)}e=e_(e)}function r(){return null}return r}function A_(e){try{return st(e,""),!0}catch{return!1}}function ZE(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:B_(),t=_=>ZE(_);if(t.version="3.4.11",t.removed=[],!e||!e.document||e.document.nodeType!==_r.document||!e.Element)return t.isSupported=!1,t;let r=e.document,n=r,o=n.currentScript;e.DocumentFragment;let i=e.HTMLTemplateElement,s=e.Node,a=e.Element,c=e.NodeFilter,l=e.NamedNodeMap;l===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;let A=e.DOMParser,u=e.trustedTypes,d=a.prototype,m=Dr(d,"cloneNode"),C=Dr(d,"remove"),E=Dr(d,"nextSibling"),x=Dr(d,"childNodes"),I=Dr(d,"parentNode"),p=Dr(d,"shadowRoot"),y=Dr(d,"attributes"),B=s&&s.prototype?Dr(s.prototype,"nodeType"):null,b=s&&s.prototype?Dr(s.prototype,"nodeName"):null;if(typeof i=="function"){let _=r.createElement("template");_.content&&_.content.ownerDocument&&(r=_.content.ownerDocument)}let S,M="",G,R=!1,k=0,v=function(){if(k>0)throw no('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},F=function(h){v(),k++;try{return S.createHTML(h)}finally{k--}},H=function(h){v(),k++;try{return S.createScriptURL(h)}finally{k--}},ee=function(){return R||(G=S_(u,o),R=!0),G},Ve=r,ge=Ve.implementation,Et=Ve.createNodeIterator,Dt=Ve.createDocumentFragment,Hn=Ve.getElementsByTagName,sr=n.importNode,te=$E();t.isSupported=typeof KE=="function"&&typeof I=="function"&&ge&&ge.createHTMLDocument!==void 0;let ar=d_,qr=m_,xo=p_,Hi=g_,yo=h_,Jr=C_,An=E_,nA=x_,ji=WE,he=null,na=W({},[...qE,...bf,...Bf,...Sf,...JE]),be=null,un=W({},[...VE,...Qf,...YE,...bc]),Ce=Object.seal(Ci(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),wo=null,ie=null,re=Object.seal(Ci(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Be=!0,Ee=!0,Lt=!1,It=!0,ce=!1,rt=!0,Rt=!1,Vr=!1,bo=null,Bo=null,ut=!1,ft=!1,fn=!1,So=!1,Qo=!0,Jm=!1,Vm="user-content-",oA=!0,iA=!1,Mo={},Br=null,sA=W({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),Ym=null,Wm=W({},["audio","video","img","source","image","track"]),aA=null,zm=W({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),oa="http://www.w3.org/1998/Math/MathML",ia="http://www.w3.org/2000/svg",Sr="http://www.w3.org/1999/xhtml",vo=Sr,cA=!1,lA=null,TM=W({},[oa,ia,Sr],wf),$m=at(["mi","mo","mn","ms","mtext"]),AA=W({},$m),Km=at(["annotation-xml"]),uA=W({},Km),_M=W({},["title","style","font","a","script"]),qi=null,DM=["application/xhtml+xml","text/html"],kM="text/html",De=null,To=null,NM=r.createElement("form"),Xm=function(h){return h instanceof RegExp||h instanceof Function},fA=function(){let h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(To&&To===h)return;(!h||typeof h!="object")&&(h={}),h=St(h),qi=DM.indexOf(h.PARSER_MEDIA_TYPE)===-1?kM:h.PARSER_MEDIA_TYPE,De=qi==="application/xhtml+xml"?wf:xs,he=En(h,"ALLOWED_TAGS",na,{transform:De}),be=En(h,"ALLOWED_ATTR",un,{transform:De}),lA=En(h,"ALLOWED_NAMESPACES",TM,{transform:wf}),aA=En(h,"ADD_URI_SAFE_ATTR",zm,{transform:De,base:zm}),Ym=En(h,"ADD_DATA_URI_TAGS",Wm,{transform:De,base:Wm}),Br=En(h,"FORBID_CONTENTS",sA,{transform:De}),wo=En(h,"FORBID_TAGS",St({}),{transform:De}),ie=En(h,"FORBID_ATTR",St({}),{transform:De}),Mo=Xe(h,"USE_PROFILES")?h.USE_PROFILES&&typeof h.USE_PROFILES=="object"?St(h.USE_PROFILES):h.USE_PROFILES:!1,Be=h.ALLOW_ARIA_ATTR!==!1,Ee=h.ALLOW_DATA_ATTR!==!1,Lt=h.ALLOW_UNKNOWN_PROTOCOLS||!1,It=h.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ce=h.SAFE_FOR_TEMPLATES||!1,rt=h.SAFE_FOR_XML!==!1,Rt=h.WHOLE_DOCUMENT||!1,ft=h.RETURN_DOM||!1,fn=h.RETURN_DOM_FRAGMENT||!1,So=h.RETURN_TRUSTED_TYPE||!1,ut=h.FORCE_BODY||!1,Qo=h.SANITIZE_DOM!==!1,Jm=h.SANITIZE_NAMED_PROPS||!1,oA=h.KEEP_CONTENT!==!1,iA=h.IN_PLACE||!1,ji=A_(h.ALLOWED_URI_REGEXP)?h.ALLOWED_URI_REGEXP:WE,vo=typeof h.NAMESPACE=="string"?h.NAMESPACE:Sr,AA=Xe(h,"MATHML_TEXT_INTEGRATION_POINTS")&&h.MATHML_TEXT_INTEGRATION_POINTS&&typeof h.MATHML_TEXT_INTEGRATION_POINTS=="object"?St(h.MATHML_TEXT_INTEGRATION_POINTS):W({},$m),uA=Xe(h,"HTML_INTEGRATION_POINTS")&&h.HTML_INTEGRATION_POINTS&&typeof h.HTML_INTEGRATION_POINTS=="object"?St(h.HTML_INTEGRATION_POINTS):W({},Km);let w=Xe(h,"CUSTOM_ELEMENT_HANDLING")&&h.CUSTOM_ELEMENT_HANDLING&&typeof h.CUSTOM_ELEMENT_HANDLING=="object"?St(h.CUSTOM_ELEMENT_HANDLING):Ci(null);if(Ce=Ci(null),Xe(w,"tagNameCheck")&&Xm(w.tagNameCheck)&&(Ce.tagNameCheck=w.tagNameCheck),Xe(w,"attributeNameCheck")&&Xm(w.attributeNameCheck)&&(Ce.attributeNameCheck=w.attributeNameCheck),Xe(w,"allowCustomizedBuiltInElements")&&typeof w.allowCustomizedBuiltInElements=="boolean"&&(Ce.allowCustomizedBuiltInElements=w.allowCustomizedBuiltInElements),ct(Ce),ce&&(Ee=!1),fn&&(ft=!0),Mo&&(he=W({},JE),be=Ci(null),Mo.html===!0&&(W(he,qE),W(be,VE)),Mo.svg===!0&&(W(he,bf),W(be,Qf),W(be,bc)),Mo.svgFilters===!0&&(W(he,Bf),W(be,Qf),W(be,bc)),Mo.mathMl===!0&&(W(he,Sf),W(be,YE),W(be,bc))),re.tagCheck=null,re.attributeCheck=null,Xe(h,"ADD_TAGS")&&(typeof h.ADD_TAGS=="function"?re.tagCheck=h.ADD_TAGS:In(h.ADD_TAGS)&&(he===na&&(he=St(he)),W(he,h.ADD_TAGS,De))),Xe(h,"ADD_ATTR")&&(typeof h.ADD_ATTR=="function"?re.attributeCheck=h.ADD_ATTR:In(h.ADD_ATTR)&&(be===un&&(be=St(be)),W(be,h.ADD_ATTR,De))),Xe(h,"ADD_URI_SAFE_ATTR")&&In(h.ADD_URI_SAFE_ATTR)&&W(aA,h.ADD_URI_SAFE_ATTR,De),Xe(h,"FORBID_CONTENTS")&&In(h.FORBID_CONTENTS)&&(Br===sA&&(Br=St(Br)),W(Br,h.FORBID_CONTENTS,De)),Xe(h,"ADD_FORBID_CONTENTS")&&In(h.ADD_FORBID_CONTENTS)&&(Br===sA&&(Br=St(Br)),W(Br,h.ADD_FORBID_CONTENTS,De)),oA&&(he["#text"]=!0),Rt&&W(he,["html","head","body"]),he.table&&(W(he,["tbody"]),delete wo.tbody),h.TRUSTED_TYPES_POLICY){if(typeof h.TRUSTED_TYPES_POLICY.createHTML!="function")throw no('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof h.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw no('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let T=S;S=h.TRUSTED_TYPES_POLICY;try{M=F("")}catch(O){throw S=T,O}}else h.TRUSTED_TYPES_POLICY===null?(S=void 0,M=""):(S===void 0&&(S=ee()),S&&typeof M=="string"&&(M=F("")));at&&at(h),To=h},Zm=W({},[...bf,...Bf,...u_]),ep=W({},[...Sf,...f_]),LM=function(h,w,T){return w.namespaceURI===Sr?h==="svg":w.namespaceURI===oa?h==="svg"&&(T==="annotation-xml"||AA[T]):!!Zm[h]},RM=function(h,w,T){return w.namespaceURI===Sr?h==="math":w.namespaceURI===ia?h==="math"&&uA[T]:!!ep[h]},FM=function(h,w,T){return w.namespaceURI===ia&&!uA[T]||w.namespaceURI===oa&&!AA[T]?!1:!ep[h]&&(_M[h]||!Zm[h])},PM=function(h){let w=I(h);(!w||!w.tagName)&&(w={namespaceURI:vo,tagName:"template"});let T=xs(h.tagName),O=xs(w.tagName);return lA[h.namespaceURI]?h.namespaceURI===ia?LM(T,w,O):h.namespaceURI===oa?RM(T,w,O):h.namespaceURI===Sr?FM(T,w,O):!!(qi==="application/xhtml+xml"&&lA[h.namespaceURI]):!1},dn=function(h){hi(t.removed,{element:h});try{I(h).removeChild(h)}catch{if(C(h),!I(h))throw no("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},tp=function(h){let w=x(h);if(w){let O=[];Cs(w,q=>{hi(O,q)}),Cs(O,q=>{try{C(q)}catch{}})}let T=y(h);if(T)for(let O=T.length-1;O>=0;--O){let q=T[O],z=q&&q.name;if(typeof z=="string")try{h.removeAttribute(z)}catch{}}},jn=function(h,w){try{hi(t.removed,{attribute:w.getAttributeNode(h),from:w})}catch{hi(t.removed,{attribute:null,from:w})}if(w.removeAttribute(h),h==="is")if(ft||fn)try{dn(w)}catch{}else try{w.setAttribute(h,"")}catch{}},OM=function(h){let w=y(h);if(w)for(let T=w.length-1;T>=0;--T){let O=w[T],q=O&&O.name;if(!(typeof q!="string"||be[De(q)]))try{h.removeAttribute(q)}catch{}}},GM=function(h){let w=[h];for(;w.length>0;){let T=w.pop();(B?B(T):T.nodeType)===_r.element&&OM(T);let q=x(T);if(q)for(let z=q.length-1;z>=0;--z)w.push(q[z])}},rp=function(h){let w=null,T=null;if(ut)h="<remove></remove>"+h;else{let z=GE(h,/^[\r\n\t ]+/);T=z&&z[0]}qi==="application/xhtml+xml"&&vo===Sr&&(h='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+h+"</body></html>");let O=S?F(h):h;if(vo===Sr)try{w=new A().parseFromString(O,qi)}catch{}if(!w||!w.documentElement){w=ge.createDocument(vo,"template",null);try{w.documentElement.innerHTML=cA?M:O}catch{}}let q=w.body||w.documentElement;return h&&T&&q.insertBefore(r.createTextNode(T),q.childNodes[0]||null),vo===Sr?Hn.call(w,Rt?"html":"body")[0]:Rt?w.documentElement:q},np=function(h){return Et.call(h.ownerDocument||h,h,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},sa=function(h){return h=Es(h,ar," "),h=Es(h,qr," "),h=Es(h,xo," "),h},dA=function(h){var w;h.normalize();let T=Et.call(h.ownerDocument||h,h,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null),O=T.nextNode();for(;O;)O.data=sa(O.data),O=T.nextNode();let q=(w=h.querySelectorAll)===null||w===void 0?void 0:w.call(h,"template");q&&Cs(q,z=>{_o(z.content)&&dA(z.content)})},aa=function(h){let w=b?b(h):null;return typeof w!="string"||De(w)!=="form"?!1:typeof h.nodeName!="string"||typeof h.textContent!="string"||typeof h.removeChild!="function"||h.attributes!==y(h)||typeof h.removeAttribute!="function"||typeof h.setAttribute!="function"||typeof h.namespaceURI!="string"||typeof h.insertBefore!="function"||typeof h.hasChildNodes!="function"||h.nodeType!==B(h)||h.childNodes!==x(h)},_o=function(h){if(!B||typeof h!="object"||h===null)return!1;try{return B(h)===_r.documentFragment}catch{return!1}},Ji=function(h){if(!B||typeof h!="object"||h===null)return!1;try{return typeof B(h)=="number"}catch{return!1}};function Yr(_,h,w){_.length!==0&&Cs(_,T=>{T.call(t,h,w,To)})}let UM=function(h,w){return!!(rt&&h.hasChildNodes()&&!Ji(h.firstElementChild)&&st(zE,h.textContent)&&st(zE,h.innerHTML)||rt&&h.namespaceURI===Sr&&w==="style"&&Ji(h.firstElementChild)||h.nodeType===_r.processingInstruction||rt&&h.nodeType===_r.comment&&st(y_,h.data))},HM=function(h,w){if(!wo[w]&&sp(w)&&(Ce.tagNameCheck instanceof RegExp&&st(Ce.tagNameCheck,w)||Ce.tagNameCheck instanceof Function&&Ce.tagNameCheck(w)))return!1;if(oA&&!Br[w]){let T=I(h),O=x(h);if(O&&T){let q=O.length;for(let z=q-1;z>=0;--z){let Ye=iA?O[z]:m(O[z],!0);T.insertBefore(Ye,E(h))}}}return dn(h),!0},op=function(h){if(Yr(te.beforeSanitizeElements,h,null),aa(h))return dn(h),!0;let w=De(b?b(h):h.nodeName);if(Yr(te.uponSanitizeElement,h,{tagName:w,allowedTags:he}),UM(h,w))return dn(h),!0;if(wo[w]||!(re.tagCheck instanceof Function&&re.tagCheck(w))&&!he[w])return HM(h,w);if((B?B(h):h.nodeType)===_r.element&&!PM(h)||(w==="noscript"||w==="noembed"||w==="noframes")&&st(w_,h.innerHTML))return dn(h),!0;if(ce&&h.nodeType===_r.text){let O=sa(h.textContent);h.textContent!==O&&(hi(t.removed,{element:h.cloneNode()}),h.textContent=O)}return Yr(te.afterSanitizeElements,h,null),!1},ip=function(h,w,T){if(ie[w]||Qo&&(w==="id"||w==="name")&&(T in r||T in NM))return!1;let O=be[w]||re.attributeCheck instanceof Function&&re.attributeCheck(w,h);if(!(Ee&&st(Hi,w))){if(!(Be&&st(yo,w))){if(O){if(!aA[w]){if(!st(ji,Es(T,An,""))){if(!((w==="src"||w==="xlink:href"||w==="href")&&h!=="script"&&UE(T,"data:")===0&&Ym[h])){if(!(Lt&&!st(Jr,Es(T,An,"")))){if(T)return!1}}}}}else if(!(sp(h)&&(Ce.tagNameCheck instanceof RegExp&&st(Ce.tagNameCheck,h)||Ce.tagNameCheck instanceof Function&&Ce.tagNameCheck(h))&&(Ce.attributeNameCheck instanceof RegExp&&st(Ce.attributeNameCheck,w)||Ce.attributeNameCheck instanceof Function&&Ce.attributeNameCheck(w,h))||w==="is"&&Ce.allowCustomizedBuiltInElements&&(Ce.tagNameCheck instanceof RegExp&&st(Ce.tagNameCheck,T)||Ce.tagNameCheck instanceof Function&&Ce.tagNameCheck(T))))return!1}}return!0},jM=W({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),sp=function(h){return!jM[xs(h)]&&st(nA,h)},qM=function(h,w,T,O){if(S&&typeof u=="object"&&typeof u.getAttributeType=="function"&&!T)switch(u.getAttributeType(h,w)){case"TrustedHTML":return F(O);case"TrustedScriptURL":return H(O)}return O},JM=function(h,w,T,O){try{T?h.setAttributeNS(T,w,O):h.setAttribute(w,O),aa(h)?dn(h):OE(t.removed)}catch{jn(w,h)}},ap=function(h){Yr(te.beforeSanitizeAttributes,h,null);let w=h.attributes;if(!w||aa(h))return;let T={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:be,forceKeepAttr:void 0},O=w.length,q=De(h.nodeName);for(;O--;){let z=w[O],Ye=z.name,Re=z.namespaceURI,Yt=z.value,cr=De(Ye),pA=Yt,xt=Ye==="value"?pA:o_(pA);if(T.attrName=cr,T.attrValue=xt,T.keepAttr=!0,T.forceKeepAttr=void 0,Yr(te.uponSanitizeAttribute,h,T),xt=T.attrValue,Jm&&(cr==="id"||cr==="name")&&UE(xt,Vm)!==0&&(jn(Ye,h),xt=Vm+xt),rt&&st(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,xt)){jn(Ye,h);continue}if(cr==="attributename"&&GE(xt,"href")){jn(Ye,h);continue}if(!T.forceKeepAttr){if(!T.keepAttr){jn(Ye,h);continue}if(!It&&st(b_,xt)){jn(Ye,h);continue}if(ce&&(xt=sa(xt)),!ip(q,cr,xt)){jn(Ye,h);continue}xt=qM(q,cr,Re,xt),xt!==pA&&JM(h,Ye,Re,xt)}}Yr(te.afterSanitizeAttributes,h,null)},ca=function(h){let w=null,T=np(h);for(Yr(te.beforeSanitizeShadowDOM,h,null);w=T.nextNode();)if(Yr(te.uponSanitizeShadowNode,w,null),op(w),ap(w),_o(w.content)&&ca(w.content),(B?B(w):w.nodeType)===_r.element){let q=p(w);_o(q)&&(mA(q),ca(q))}Yr(te.afterSanitizeShadowDOM,h,null)},mA=function(h){let w=[{node:h,shadow:null}];for(;w.length>0;){let T=w.pop();if(T.shadow){ca(T.shadow);continue}let O=T.node,z=(B?B(O):O.nodeType)===_r.element,Ye=x(O);if(Ye)for(let Re=Ye.length-1;Re>=0;--Re)w.push({node:Ye[Re],shadow:null});if(z){let Re=b?b(O):null;if(typeof Re=="string"&&De(Re)==="template"){let Yt=O.content;_o(Yt)&&w.push({node:Yt,shadow:null})}}if(z){let Re=p(O);_o(Re)&&w.push({node:null,shadow:Re},{node:Re,shadow:null})}}};return t.sanitize=function(_){let h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},w=null,T=null,O=null,q=null;if(cA=!_,cA&&(_="<!-->"),typeof _!="string"&&!Ji(_)&&(_=l_(_),typeof _!="string"))throw no("dirty is not a string, aborting");if(!t.isSupported)return _;Vr?(he=bo,be=Bo):fA(h),(te.uponSanitizeElement.length>0||te.uponSanitizeAttribute.length>0)&&(he=St(he)),te.uponSanitizeAttribute.length>0&&(be=St(be)),t.removed=[];let z=iA&&typeof _!="string"&&Ji(_);if(z){let Yt=b?b(_):_.nodeName;if(typeof Yt=="string"){let cr=De(Yt);if(!he[cr]||wo[cr])throw no("root node is forbidden and cannot be sanitized in-place")}if(aa(_))throw no("root node is clobbered and cannot be sanitized in-place");try{mA(_)}catch(cr){throw tp(_),cr}}else if(Ji(_))w=rp("<!---->"),T=w.ownerDocument.importNode(_,!0),T.nodeType===_r.element&&T.nodeName==="BODY"||T.nodeName==="HTML"?w=T:w.appendChild(T),mA(T);else{if(!ft&&!ce&&!Rt&&_.indexOf("<")===-1)return S&&So?F(_):_;if(w=rp(_),!w)return ft?null:So?M:""}w&&ut&&dn(w.firstChild);let Ye=np(z?_:w);try{for(;O=Ye.nextNode();)op(O),ap(O),_o(O.content)&&ca(O.content)}catch(Yt){throw z&&tp(_),Yt}if(z)return Cs(t.removed,Yt=>{Yt.element&&GM(Yt.element)}),ce&&dA(_),_;if(ft){if(ce&&dA(w),fn)for(q=Dt.call(w.ownerDocument);w.firstChild;)q.appendChild(w.firstChild);else q=w;return(be.shadowroot||be.shadowrootmode)&&(q=sr.call(n,q,!0)),q}let Re=Rt?w.outerHTML:w.innerHTML;return Rt&&he["!doctype"]&&w.ownerDocument&&w.ownerDocument.doctype&&w.ownerDocument.doctype.name&&st(I_,w.ownerDocument.doctype.name)&&(Re="<!DOCTYPE "+w.ownerDocument.doctype.name+`>
28
+ `+Re),ce&&(Re=sa(Re)),S&&So?F(Re):Re},t.setConfig=function(){let _=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};fA(_),Vr=!0,bo=he,Bo=be},t.clearConfig=function(){To=null,Vr=!1,bo=null,Bo=null,S=G,M=""},t.isValidAttribute=function(_,h,w){To||fA({});let T=De(_),O=De(h);return ip(T,O,w)},t.addHook=function(_,h){typeof h=="function"&&Xe(te,_)&&hi(te[_],h)},t.removeHook=function(_,h){if(Xe(te,_)){if(h!==void 0){let w=r_(te[_],h);return w===-1?void 0:n_(te[_],w,1)[0]}return OE(te[_])}},t.removeHooks=function(_){Xe(te,_)&&(te[_]=[])},t.removeAllHooks=function(){te=$E()},t}var KE,PE,ZT,e_,t_,at,ct,Ci,XE,Mf,vf,Cs,r_,OE,hi,n_,In,xs,wf,GE,Es,UE,o_,i_,s_,HE,jE,Xe,Is,st,no,qE,bf,Bf,u_,Sf,f_,JE,VE,Qf,YE,bc,d_,m_,p_,g_,h_,WE,C_,E_,I_,x_,zE,y_,w_,b_,_r,B_,S_,$E,En,eI,tI=g(()=>{KE=Object.entries,PE=Object.setPrototypeOf,ZT=Object.isFrozen,e_=Object.getPrototypeOf,t_=Object.getOwnPropertyDescriptor,at=Object.freeze,ct=Object.seal,Ci=Object.create,XE=typeof Reflect<"u"&&Reflect,Mf=XE.apply,vf=XE.construct;at||(at=function(t){return t});ct||(ct=function(t){return t});Mf||(Mf=function(t,r){for(var n=arguments.length,o=new Array(n>2?n-2:0),i=2;i<n;i++)o[i-2]=arguments[i];return t.apply(r,o)});vf||(vf=function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return new t(...n)});Cs=Oe(Array.prototype.forEach),r_=Oe(Array.prototype.lastIndexOf),OE=Oe(Array.prototype.pop),hi=Oe(Array.prototype.push),n_=Oe(Array.prototype.splice),In=Array.isArray,xs=Oe(String.prototype.toLowerCase),wf=Oe(String.prototype.toString),GE=Oe(String.prototype.match),Es=Oe(String.prototype.replace),UE=Oe(String.prototype.indexOf),o_=Oe(String.prototype.trim),i_=Oe(Number.prototype.toString),s_=Oe(Boolean.prototype.toString),HE=typeof BigInt>"u"?null:Oe(BigInt.prototype.toString),jE=typeof Symbol>"u"?null:Oe(Symbol.prototype.toString),Xe=Oe(Object.prototype.hasOwnProperty),Is=Oe(Object.prototype.toString),st=Oe(RegExp.prototype.test),no=a_(TypeError);qE=at(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),bf=at(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Bf=at(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),u_=at(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Sf=at(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),f_=at(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),JE=at(["#text"]),VE=at(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Qf=at(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),YE=at(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),bc=at(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),d_=ct(/{{[\w\W]*|^[\w\W]*}}/g),m_=ct(/<%[\w\W]*|^[\w\W]*%>/g),p_=ct(/\${[\w\W]*/g),g_=ct(/^data-[\-\w.\u00B7-\uFFFF]+$/),h_=ct(/^aria-[\-\w]+$/),WE=ct(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),C_=ct(/^(?:\w+script|data):/i),E_=ct(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),I_=ct(/^html$/i),x_=ct(/^[a-z][.\w]*(-[.\w]+)+$/i),zE=ct(/<[/\w!]/g),y_=ct(/<[/\w]/g),w_=ct(/<\/no(script|embed|frames)/i),b_=ct(/\/>/i),_r={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},B_=function(){return typeof window>"u"?null:window},S_=function(t,r){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let n=null,o="data-tt-policy-suffix";r&&r.hasAttribute(o)&&(n=r.getAttribute(o));let i="dompurify"+(n?"#"+n:"");try{return t.createPolicy(i,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},$E=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},En=function(t,r,n,o){return Xe(t,r)&&In(t[r])?W(o.base?St(o.base):{},t[r],o.transform):n};eI=ZE()});var oI={};We(oI,{default:()=>nI});function nI({value:e,className:t}){let r=(0,Bc.useRef)(null);return(0,Bc.useLayoutEffect)(()=>{let n=r.current;if(n)for(let o of n.querySelectorAll("a"))o.setAttribute("rel","noopener noreferrer"),o.setAttribute("target","_blank")},[e]),(0,rI.jsx)("span",{ref:r,className:t,dangerouslySetInnerHTML:{__html:eI.sanitize(e)}})}var rI,Bc,iI=g(()=>{rI=f(P(),1),Bc=f(Q(),1);tI()});function T_(e){return v_.test(e)}function __(e){return e.includes("<")||e.includes("://")}function D_({value:e,className:t}){let r=(0,xn.useRef)(null);return(0,xn.useLayoutEffect)(()=>{let n=r.current;if(n)try{n.setHTML(e);for(let o of n.querySelectorAll("a"))o.setAttribute("rel","noopener noreferrer"),o.setAttribute("target","_blank")}catch(o){console.error(o)}},[e]),(0,oo.jsx)("span",{ref:r,className:t})}function yn({html:e,className:t}){let r=`${e}`;if(!__(r))return(0,oo.jsx)("span",{className:t,children:r});let n=LE(r),o=T_(n)?n:(0,sI.default)(n);return typeof Element<"u"&&Element.prototype.setHTML?(0,oo.jsx)(D_,{value:o,className:t}):(0,oo.jsx)(xn.Suspense,{fallback:(0,oo.jsx)("span",{className:t}),children:(0,oo.jsx)(M_,{value:o,className:t})})}var oo,xn,sI,Q_,M_,v_,Tf=g(()=>{oo=f(P(),1),xn=f(Q(),1),sI=f(pC(),1);Cn();Q_=["a","b","br","code","div","em","h1","h2","h3","h4","h5","h6","i","img","li","mark","p","pre","span","small","strong","table","tbody","sup","sub","td","tfoot","th","thead","tr","u","ul"],M_=(0,xn.lazy)(()=>Promise.resolve().then(()=>(iI(),oI))),v_=new RegExp(Q_.map(e=>String.raw`<${e}\b[^>]*>`).join("|"),"i")});function k_({error:e}){let{classes:t}=lI();return(0,Ht.jsx)("div",{className:t.errorBox,children:(0,Ht.jsx)(fC,{error:e})})}var Ht,aI,mt,cI,lI,N_,AI,uI=g(()=>{Ht=f(P(),1),aI=f(Q(),1);zA();mt=f(N(),1),cI=f(U(),1);HA();dC();Tf();Bt();lI=ne()(e=>({closeButton:{position:"absolute",right:e.spacing(1),top:e.spacing(1),color:e.palette.grey[500]},errorBox:{width:800,margin:40}}));N_=(0,cI.observer)(function(t){let{classes:r}=lI(),{titleNode:n,...o}=t,{title:i,header:s,children:a,onClose:c}=o,l=(0,mt.useTheme)();return(0,Ht.jsx)(mt.Dialog,{...o,children:(0,Ht.jsxs)(mt.ScopedCssBaseline,{children:[(0,aI.isValidElement)(s)?s:(0,Ht.jsxs)(mt.DialogTitle,{children:[n||(0,Ht.jsx)(yn,{html:i||""}),c?(0,Ht.jsx)(mt.IconButton,{className:r.closeButton,onClick:A=>{c(A,"backdropClick")},children:(0,Ht.jsx)(Qa,{})}):null]}),(0,Ht.jsx)(mt.Divider,{}),(0,Ht.jsx)(Po,{FallbackComponent:k_,children:(0,Ht.jsx)(mt.ThemeProvider,{theme:(0,mt.createTheme)(l,{components:{MuiInputBase:{styleOverrides:{input:{boxSizing:"content-box!important"}}}}}),children:a})})]})})}),AI=N_});function _f({onClose:e,helpText:t,label:r}){return(0,io.jsx)(AI,{open:!0,onClose:e,title:"Help",titleNode:r?(0,io.jsxs)(io.Fragment,{children:["Help: ",r]}):void 0,onClick:n=>{n.stopPropagation()},onMouseDown:n=>{n.stopPropagation()},children:(0,io.jsx)(fI.DialogContent,{children:t})})}var io,fI,dI=g(()=>{io=f(P(),1),fI=f(N(),1);uI()});function Df({helpText:e,label:t}){let[r,n]=(0,Sc.useState)(!1);return(0,tn.jsxs)(tn.Fragment,{children:[(0,tn.jsx)(mI.IconButton,{size:"small",onClick:o=>{o.stopPropagation(),n(!0)},style:{marginLeft:4,padding:4},children:(0,tn.jsx)(zg,{fontSize:"small"})}),r?(0,tn.jsxs)(Sc.Suspense,{fallback:null,children:[(0,tn.jsx)(_f,{helpText:e,label:t,onClose:o=>{o.stopPropagation(),n(!1)}})," "]}):null]})}var tn,Sc,mI,pI=g(()=>{tn=f(P(),1),Sc=f(Q(),1);$g();mI=f(N(),1);dI()});var gI,hI,CI,L_,EI,II=g(()=>{gI=f(P(),1),hI=f(Q(),1),CI=f(N(),1),L_=hI.forwardRef(function(t,r){return(0,gI.jsx)(CI.Menu,{...t,ref:r,style:{pointerEvents:"none",...t.style},slotProps:{...t.slotProps,paper:{style:{pointerEvents:"auto"}}}})}),EI=L_});var xI,yI,wI=g(()=>{"use client";V();xI=f(P(),1),yI=(0,D.createSvgIcon)((0,xI.jsx)("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight")});var bI,BI,SI=g(()=>{"use client";V();bI=f(P(),1),BI=(0,D.createSvgIcon)((0,bI.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2m-9 14-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"}),"CheckBox")});var QI,MI,vI=g(()=>{"use client";V();QI=f(P(),1),MI=(0,D.createSvgIcon)((0,QI.jsx)("path",{d:"M19 5v14H5V5zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2"}),"CheckBoxOutlineBlank")});var TI,_I,DI=g(()=>{"use client";V();TI=f(P(),1),_I=(0,D.createSvgIcon)((0,TI.jsx)("path",{d:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5m0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"RadioButtonChecked")});var kI,NI,LI=g(()=>{"use client";V();kI=f(P(),1),NI=(0,D.createSvgIcon)((0,kI.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"RadioButtonUnchecked")});function RI(e){let{classes:t}=R_(),{type:r}=e,n,o;"checked"in e&&({checked:n,disabled:o}=e);let i;switch(r){case"subMenu":{i=(0,wn.jsx)(yI,{color:"action"});break}case"checkbox":{n?i=(0,wn.jsx)(BI,{color:o?"inherit":void 0}):i=(0,wn.jsx)(MI,{color:"action"});break}case"radio":{n?i=(0,wn.jsx)(_I,{color:o?"inherit":void 0}):i=(0,wn.jsx)(NI,{color:"action"});break}}return(0,wn.jsx)("div",{className:t.menuItemEndDecoration,children:i})}var wn,Qc,R_,FI=g(()=>{wn=f(P(),1);wI();SI();vI();DI();LI();Qc=f(N(),1);Bt();R_=ne()({menuItemEndDecoration:{padding:0,margin:0,height:16}})});function PI(e){if(typeof e=="string")return e.toLowerCase().replace(/\s+/g,"_")}function F_({title:e,Icon:t,inset:r,menuItems:n,onMenuItemClick:o,closeAfterItemClick:i,onCloseRoot:s,isOpen:a,onOpen:c,onClose:l}){let[A,u]=(0,kf.useState)(null),d=PI(e);return(0,Ae.jsxs)(Ae.Fragment,{children:[(0,Ae.jsxs)(Qt.MenuItem,{ref:u,"data-testid":d?`cascading-submenu-${d}`:void 0,onMouseOver:c,onFocus:c,onClick:c,children:[t?(0,Ae.jsx)(Qt.ListItemIcon,{children:(0,Ae.jsx)(t,{})}):null,(0,Ae.jsx)(Qt.ListItemText,{primary:e,inset:r}),(0,Ae.jsx)(Vg,{})]}),(0,Ae.jsx)(EI,{open:a,anchorEl:A,onClose:l,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"},children:(0,Ae.jsx)(OI,{closeAfterItemClick:i,onMenuItemClick:o,menuItems:n,onCloseRoot:s})})]})}function OI({onMenuItemClick:e,closeAfterItemClick:t,menuItems:r,onCloseRoot:n}){let[o,i]=(0,kf.useState)(),s=()=>{i(void 0)},a=r.some(A=>"icon"in A&&A.icon),c=r.some(A=>(A.type==="checkbox"||A.type==="radio")&&"helpText"in A&&A.helpText),l=r.toSorted((A,u)=>(u.priority||0)-(A.priority||0));return(0,Ae.jsx)(Ae.Fragment,{children:l.map((A,u)=>{if("subMenu"in A)return(0,Ae.jsx)(F_,{title:A.label,Icon:A.icon,inset:a&&!A.icon,onMenuItemClick:e,menuItems:A.subMenu,closeAfterItemClick:t,onCloseRoot:n,isOpen:o===u,onOpen:()=>{i(u)},onClose:s},`subMenu-${A.label}-${u}`);if(A.type==="divider")return(0,Ae.jsx)(Qt.Divider,{component:"li"},`divider-${u}`);if(A.type==="subHeader")return(0,Ae.jsx)(Qt.ListSubheader,{children:A.label},`subHeader-${A.label}-${u}`);let d=A,m=d.helpText,C=d.type==="checkbox"||d.type==="radio",E=PI(d.label);return(0,Ae.jsxs)(Qt.MenuItem,{"data-testid":E?`cascading-menuitem-${E}`:void 0,disabled:!!d.disabled,onClick:x=>{t&&n(),e(x,d.onClick)},onMouseOver:s,children:[d.icon?(0,Ae.jsx)(Qt.ListItemIcon,{children:(0,Ae.jsx)(d.icon,{})}):null,(0,Ae.jsx)(Qt.ListItemText,{primary:d.label,secondary:d.subLabel,inset:a&&!d.icon}),(0,Ae.jsx)("div",{style:{flexGrow:1,minWidth:10}}),C?(0,Ae.jsx)(RI,{type:d.type,checked:d.checked,disabled:d.disabled}):null,m?(0,Ae.jsx)(Df,{helpText:m,label:d.label}):C&&c?(0,Ae.jsx)("div",{style:{marginLeft:4,padding:4,width:28,height:28}}):null]},`${d.label}-${u}`)})})}function Nf({onMenuItemClick:e,closeAfterItemClick:t=!0,menuItems:r,open:n,onClose:o,anchorEl:i,anchorOrigin:s,transformOrigin:a,anchorReference:c,anchorPosition:l,slotProps:A,marginThreshold:u,style:d}){let m=Array.isArray(r)?r:r();return(0,Ae.jsx)(Qt.Menu,{anchorEl:i,open:n,onClose:o,anchorOrigin:s,transformOrigin:a,anchorReference:c,anchorPosition:l,slotProps:A,marginThreshold:u??void 0,style:d,children:(0,Ae.jsx)(OI,{menuItems:m,closeAfterItemClick:t,onMenuItemClick:e,onCloseRoot:o})})}var Ae,kf,Qt,GI=g(()=>{Ae=f(P(),1),kf=f(Q(),1);Yg();Qt=f(N(),1);pI();II();FI()});function P_({children:e,menuItems:t,closeAfterItemClick:r=!0,stopPropagation:n,disabled:o,setOpen:i,ButtonComponent:s=UI.IconButton,onClick:a,anchorOrigin:c,transformOrigin:l,marginThreshold:A,...u}){let[d,m]=(0,Mc.useState)(null),C=!!d;(0,Mc.useEffect)(()=>{i?.(C)},[C,i]);let E=o??(Array.isArray(t)&&t.length===0);return(0,so.jsxs)(so.Fragment,{children:[(0,so.jsx)(s,{onClick:x=>{n&&x.stopPropagation(),m(x.currentTarget),a?.(x)},...u,disabled:E,children:e}),C?(0,so.jsx)(Nf,{open:C,onClose:()=>{m(null)},anchorEl:d,anchorOrigin:c,transformOrigin:l,marginThreshold:A,menuItems:t,closeAfterItemClick:r,onMenuItemClick:(x,I)=>{I()}}):null]})}var so,Mc,UI,kr,Ei=g(()=>{so=f(P(),1),Mc=f(Q(),1),UI=f(N(),1);GI();kr=P_});var HI,jI,qI=g(()=>{"use client";V();HI=f(P(),1),jI=(0,D.createSvgIcon)((0,HI.jsx)("path",{d:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10c1.38 0 2.5-1.12 2.5-2.5 0-.61-.23-1.2-.64-1.67-.08-.1-.13-.21-.13-.33 0-.28.22-.5.5-.5H16c3.31 0 6-2.69 6-6 0-4.96-4.49-9-10-9m5.5 11c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5m-3-4c-.83 0-1.5-.67-1.5-1.5S13.67 6 14.5 6s1.5.67 1.5 1.5S15.33 9 14.5 9M5 11.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5S7.33 13 6.5 13 5 12.33 5 11.5m6-4c0 .83-.67 1.5-1.5 1.5S8 8.33 8 7.5 8.67 6 9.5 6s1.5.67 1.5 1.5"}),"Palette")});var O_,Ii,JI=g(()=>{O_={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},Ii=O_});var G_,ys,VI=g(()=>{G_={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},ys=G_});var U_,ws,YI=g(()=>{U_={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},ws=U_});var H_,bs,WI=g(()=>{H_={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},bs=H_});var j_,bn,zI=g(()=>{j_={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},bn=j_});var Lf=g(()=>{JI();VI();YI();WI();zI()});var q_,ao,vc=g(()=>{Lf();ha();MA();mn();ga([Ca]);q_={none:{},clustal:{G:"orange",P:"orange",S:"orange",T:"orange",H:"red",K:"red",R:"red",F:"blue",W:"blue",Y:"blue",I:"green",L:"green",M:"green",V:"green"},lesk:{G:"orange",A:"orange",S:"orange",T:"orange",C:"green",V:"green",I:"green",L:"green",P:"green",F:"green",Y:"green",M:"green",W:"green",N:"magenta",Q:"magenta",H:"magenta",D:"red",E:"red",K:"blue",R:"blue"},maeditor:{A:"lightgreen",G:"lightgreen",C:"green",D:"darkgreen",E:"darkgreen",N:"darkgreen",Q:"darkgreen",I:"blue",L:"blue",M:"blue",V:"blue",F:"#c8a2c8",W:"#c8a2c8",Y:"#c8a2c8",H:"darkblue",K:"orange",R:"orange",P:"pink",S:"red",T:"red"},percent_identity_dynamic:{},flower:{A:"#b18a51",C:"#ff5701",D:"#01a578",E:"#2da0a1",F:"#fa559d",G:"#b1c23c",H:"#0194f9",I:"#f27663",K:"#7fc3d7",L:"#df6e75",M:"#fe9daf",N:"#0bcec6",P:"#4fa32a",Q:"#7295ae",R:"#83bff1",S:"#b4bd9b",T:"#d2b576",V:"#fd997b",W:"#ff2ded",Y:"#c96ecf"},rainbow_dna:{A:"#3737f5",C:"#37f537",G:"#f5f537",T:"#f53737",U:"#f53737"},clustalx_protein:{A:"#197fe5",C:"#e57f7f",D:"#cc4ccc",E:"#cc4ccc",F:"#197fe5",G:"#e5994c",H:"#19b2b2",I:"#197fe5",K:"#e53319",L:"#197fe5",M:"#197fe5",N:"#19cc19",P:"#cccc00",Q:"#19cc19",R:"#e53319",S:"#19cc19",T:"#19cc19",V:"#197fe5",W:"#197fe5",Y:"#19b2b2"},clustalx_protein_dynamic:{},clustalx_dna:{A:"#e53319",C:"#197fe5",G:"#e5994c",T:"#19cc19",U:"#19cc19"},jbrowse_dna:{A:ws[500],C:ys[500],G:bs[500],T:Ii[500],U:Ii[500]},jalview_buried:{A:"#00a35c",R:"#00fc03",N:"#00eb14",D:"#00eb14",C:"#0000ff",Q:"#00f10e",E:"#00f10e",G:"#009d62",H:"#00d52a",I:"#0054ab",L:"#007b84",K:"#00ff00",M:"#009768",F:"#008778",P:"#00e01f",S:"#00d52a",T:"#00db24",W:"#00a857",Y:"#00e619",V:"#005fa0",B:"#00eb14",X:"#00b649",Z:"#00f10e"},jalview_hydrophobicity:{A:"#ad0052",R:"#0000ff",N:"#0c00f3",D:"#0c00f3",C:"#c2003d",Q:"#0c00f3",E:"#0c00f3",G:"#6a0095",H:"#1500ea",I:"#ff0000",L:"#ea0015",K:"#0000ff",M:"#b0004f",F:"#cb0034",P:"#4600b9",S:"#5e00a1",T:"#61009e",W:"#5b00a4",Y:"#4f00b0",V:"#f60009",B:"#0c00f3",X:"#680097",Z:"#0c00f3"},jalview_prophelix:{A:"#e718e7",R:"#6f906f",N:"#1be41b",D:"#778877",C:"#23dc23",Q:"#926d92",E:"#ff00ff",G:"#00ff00",H:"#758a75",I:"#8a758a",L:"#ae51ae",K:"#a05fa0",M:"#ef10ef",F:"#986798",P:"#00ff00",S:"#36c936",T:"#47b847",W:"#8a758a",Y:"#21de21",V:"#857a85",B:"#49b649",X:"#758a75",Z:"#c936c9"},jalview_propstrand:{A:"#5858a7",R:"#6b6b94",N:"#64649b",D:"#2121de",C:"#9d9d62",Q:"#8c8c73",E:"#0000ff",G:"#4949b6",H:"#60609f",I:"#ecec13",L:"#b2b24d",K:"#4747b8",M:"#82827d",F:"#c2c23d",P:"#2323dc",S:"#4949b6",T:"#9d9d62",W:"#c0c03f",Y:"#d3d32c",V:"#ffff00",B:"#4343bc",X:"#797986",Z:"#4747b8"},jalview_propturn:{A:"#2cd3d3",R:"#708f8f",N:"#ff0000",D:"#e81717",C:"#a85757",Q:"#3fc0c0",E:"#778888",G:"#ff0000",H:"#708f8f",I:"#00ffff",L:"#1ce3e3",K:"#7e8181",M:"#1ee1e1",F:"#1ee1e1",P:"#f60909",S:"#e11e1e",T:"#738c8c",W:"#738c8c",Y:"#9d6262",V:"#07f8f8",B:"#f30c0c",X:"#7c8383",Z:"#5ba4a4"},jalview_taylor:{A:"#ccff00",R:"#0000ff",N:"#cc00ff",D:"#ff0000",C:"#ffff00",Q:"#ff00cc",E:"#ff0066",G:"#ff9900",H:"#0066ff",I:"#66ff00",L:"#33ff00",K:"#6600ff",M:"#00ff00",F:"#00ff66",P:"#ffcc00",S:"#ff3300",T:"#ff6600",W:"#00ccff",Y:"#00ffcc",V:"#99ff00"},jalview_zappo:{A:"#ffafaf",R:"#6464ff",N:"#00ff00",D:"#ff0000",C:"#ffff00",Q:"#00ff00",E:"#ff0000",G:"#ff00ff",H:"#6464ff",I:"#ffafaf",L:"#ffafaf",K:"#6464ff",M:"#ffafaf",F:"#ffc800",P:"#ff00ff",S:"#00ff00",T:"#00ff00",W:"#ffc800",Y:"#ffc800",V:"#ffafaf"},cinema:{H:"blue",K:"blue",R:"blue",D:"red",E:"red",S:"green",T:"green",N:"green",Q:"green",A:"white",V:"white",L:"white",I:"white",M:"white",F:"magenta",W:"magenta",Y:"magenta",P:"brown",G:"brown",C:"yellow",B:"gray",Z:"gray",X:"gray","-":"gray",".":"gray"}},ao=Lo(q_,([e,t])=>[e,Lo(t,([r,n])=>[r,nt(n).toHex()])])});var Rf,$I,J_,KI,XI=g(()=>{Rf=f(Q(),1);Ei();qI();$I=f(U(),1);vc();J_=(0,$I.observer)(function({model:e}){let{colorSchemeName:t}=e;return Rf.default.createElement(kr,{"data-testid":"color_scheme_menu",closeAfterItemClick:!0,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},menuItems:Object.keys(ao).map(r=>({label:r,type:"radio",checked:t===r,onClick:()=>{e.setColorSchemeName(r)}}))},Rf.default.createElement(jI,null))}),KI=J_});var ZI,ex,tx=g(()=>{"use client";V();ZI=f(P(),1),ex=(0,D.createSvgIcon)((0,ZI.jsx)("path",{d:"M19 3h-4.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m2 14H7v-2h7zm3-4H7v-2h10zm0-4H7V7h10z"}),"Assignment")});var rx,Tc,Ff=g(()=>{"use client";V();rx=f(P(),1),Tc=(0,D.createSvgIcon)((0,rx.jsx)("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V8h16z"}),"FolderOpen")});var nx,ox,ix=g(()=>{"use client";V();nx=f(P(),1),ox=(0,D.createSvgIcon)((0,nx.jsx)("path",{d:"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z"}),"Menu")});var Pf,sx,ax=g(()=>{"use client";V();Pf=f(P(),1),sx=(0,D.createSvgIcon)([(0,Pf.jsx)("circle",{cx:"12",cy:"12",r:"3.2"},"0"),(0,Pf.jsx)("path",{d:"M9 2 7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5"},"1")],"PhotoCamera")});var cx,_c,Of=g(()=>{"use client";V();cx=f(P(),1),_c=(0,D.createSvgIcon)((0,cx.jsx)("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings")});var lx,Ax,ux=g(()=>{"use client";V();lx=f(P(),1),Ax=(0,D.createSvgIcon)((0,lx.jsx)("path",{d:"M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39c.51-.66.04-1.61-.79-1.61H5.04c-.83 0-1.3.95-.79 1.61"}),"FilterAlt")});var fx,dx,mx=g(()=>{"use client";V();fx=f(P(),1),dx=(0,D.createSvgIcon)((0,fx.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"}),"Search")});var px,gx,hx=g(()=>{"use client";V();px=f(P(),1),gx=(0,D.createSvgIcon)((0,px.jsx)("path",{d:"M3 18h6v-2H3zM3 6v2h18V6zm0 7h12v-2H3z"}),"Sort")});var Cx,Ex,Ix=g(()=>{"use client";V();Cx=f(P(),1),Ex=(0,D.createSvgIcon)((0,Cx.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility")});function xx(e){return Gf[Math.min(e,Gf.length-1)]}var Gf,Uf,Hf=g(()=>{Gf=[["#F8766D"],["#F8766D","#00BFC4"],["#F8766D","#00BA38","#619CFF"],["#F8766D","#7CAE00","#00BFC4","#C77CFF"],["#F8766D","#A3A500","#00BF7D","#00B0F6","#E76BF3"],["#F8766D","#B79F00","#00BA38","#00BFC4","#619CFF","#F564E3"],["#F8766D","#C49A00","#53B400","#00C094","#00B6EB","#A58AFF","#FB61D7"],["#F8766D","#CD9600","#7CAE00","#00BE67","#00BFC4","#00A9FF","#C77CFF","#FF61CC"]];Uf=Gf});var wx={};We(wx,{default:()=>z_});var me,yx,Bs,Dc,V_,Y_,W_,z_,bx=g(()=>{me=f(Q(),1),yx=f(Me(),1),Bs=f(N(),1),Dc=f(U(),1);Hf();V_=(0,Dc.observer)(function({model:e}){let{featureFilters:t}=e;return me.default.createElement("div",null,me.default.createElement(Bs.Button,{onClick:()=>{for(let r of t.keys())e.setFilter(r,!0)}},"Toggle all on"),me.default.createElement(Bs.Button,{onClick:()=>{for(let r of t.keys())e.setFilter(r,!1)}},"Toggle all off"))}),Y_=(0,Dc.observer)(function({model:e}){let{tidyInterProAnnotationTypes:t,featureFilters:r}=e,n=[...t.values()],o=xx(n.length-1);return me.default.createElement(me.default.Fragment,null,me.default.createElement(V_,{model:e}),me.default.createElement("table",null,me.default.createElement("thead",null,me.default.createElement("tr",null,me.default.createElement("td",null),me.default.createElement("td",null,"accession"),me.default.createElement("td",null,"name"),me.default.createElement("td",null,"description"))),me.default.createElement("tbody",null,n.map(({accession:i,name:s,description:a},c)=>me.default.createElement("tr",{key:i},me.default.createElement("td",null,me.default.createElement("input",{type:"checkbox",checked:r.get(i)??!1,onChange:()=>{e.setFilter(i,!e.featureFilters.get(i))}})),me.default.createElement("td",null,i),me.default.createElement("td",null,s),me.default.createElement("td",null,a),me.default.createElement("td",null,me.default.createElement("div",{style:{width:20,height:20,background:o[c]||"black"}})))))))}),W_=(0,Dc.observer)(function({onClose:e,model:t}){return me.default.createElement(yx.Dialog,{onClose:()=>{e()},open:!0,title:"Feature filters",maxWidth:"xl"},me.default.createElement(Bs.DialogContent,null,me.default.createElement(Y_,{model:t})))}),z_=W_});async function Ss(e,t,r=Bx.fetchAndMaybeUnzipText){let n=new AbortController;try{return await r(e,{signal:n.signal,statusCallback:o=>{t(o?{msg:o,onCancel:()=>{n.abort()}}:void 0)}})}finally{t(void 0)}}async function Sx(e,t){let r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP ${r.status} fetching ${e} ${await r.text()}`);return r}async function jf(e,t){return(await Sx(e,t)).text()}async function kc(e,t){return(await Sx(e,t)).json()}function Qx(e,t){return new Promise((r,n)=>{if(t?.aborted)n(new DOMException("Aborted","AbortError"));else{let o=setTimeout(r,e);t?.addEventListener("abort",()=>{clearTimeout(o),n(new DOMException("Aborted","AbortError"))})}})}function Bn(e){return e instanceof DOMException&&e.name==="AbortError"}var Bx,Nc=g(()=>{Bx=f(de(),1)});var Tx={};We(Tx,{default:()=>K_});var xe,Mx,qf,ve,vx,$_,K_,_x=g(()=>{xe=f(Q(),1),Mx=f(Me(),1),qf=f(de(),1),ve=f(N(),1),vx=f(U(),1);Nc();$_=(0,vx.observer)(function({handleClose:e,model:t}){let[r,n]=(0,xe.useState)(),[o,i]=(0,xe.useState)("file"),[s,a]=(0,xe.useState)("");return xe.default.createElement(Mx.Dialog,{maxWidth:"xl",title:"Open protein domains from file",onClose:()=>{e()},open:!0},xe.default.createElement(ve.DialogContent,null,xe.default.createElement("div",null,xe.default.createElement(ve.Typography,null,"Open a JSON file of InterProScan results that you run remotely on EBI servers or locally"),xe.default.createElement("div",{style:{display:"flex",margin:30}},xe.default.createElement(ve.FormControl,{component:"fieldset"},xe.default.createElement(ve.RadioGroup,{value:o,onChange:c=>{i(c.target.value)}},xe.default.createElement(ve.FormControlLabel,{value:"url",control:xe.default.createElement(ve.Radio,null),label:"URL"}),xe.default.createElement(ve.FormControlLabel,{value:"file",control:xe.default.createElement(ve.Radio,null),label:"File"}))),o==="url"?xe.default.createElement("div",null,xe.default.createElement(ve.Typography,null,"Open a InterProScan JSON file remote URL"),xe.default.createElement(ve.TextField,{label:"URL",value:s,onChange:c=>{a(c.target.value)}})):null,o==="file"?xe.default.createElement("div",{style:{paddingTop:20}},xe.default.createElement(ve.Typography,null,"Open a InterProScan JSON file file from your local drive"),xe.default.createElement(ve.Button,{variant:"outlined",component:"label"},"Choose File",xe.default.createElement("input",{type:"file",hidden:!0,onChange:({target:c})=>{let l=c.files?.[0];l&&n(l)}}))):null))),xe.default.createElement(ve.DialogActions,null,xe.default.createElement(ve.Button,{variant:"contained",color:"primary",onClick:()=>{(async()=>{try{let c=r?JSON.parse(await r.text()):await kc(s);t.setDomains(Object.fromEntries(c.results.map(l=>[l.xref[0].id,l]))),(0,qf.getSession)(t).notify("Loaded interproscan results","success")}catch(c){console.error(c),(0,qf.getSession)(t).notifyError(`${c}`,c)}finally{t.setStatus()}})(),e()}},"Open results")))}),K_=$_});var Dx=g(()=>{});function xi(e,t="node",r=0){let n=`${t}-${r}`;return{...e,id:n,name:e.name||n,children:e.children?.map((o,i)=>xi(o,`${n}-${i}`,r+1))||[]}}var Jf=g(()=>{});var jt,yi=g(()=>{jt=class{getTree(){return{id:"root",name:"root",noTree:!0,children:this.getNames().map(t=>({id:t,children:[],name:t}))}}getRowData(t){}getStructures(){return{}}getHeader(){return{}}get alignmentNames(){return[]}get seqConsensus(){}get secondaryStructureConsensus(){}get tracks(){return[]}}});function wi(e){return e>=X_&&e<=Z_}var kx,Nx,X_,Z_,Lx,Rx,rn,Vf=g(()=>{yi();kx=65,Nx=90,X_=97,Z_=122,Lx=45,Rx=46;rn=class extends jt{MSA;orderedNames;constructor(t){super();let r=[],n=[];for(let o of t.split(">")){if(!/\S/.test(o))continue;let i=o.indexOf(`
29
+ `);if(i===-1)continue;let s=o.slice(0,i).replace(/\r$/,""),a=s.indexOf(" "),c=a===-1?s:s.slice(0,a);c&&(r.push(o.slice(i+1).replaceAll(/\s/g,"")),n.push(c))}this.orderedNames=n,this.MSA={seqdata:this.expandA3M(r,n)}}static sniff(t){if(!t.startsWith(">"))return!1;let r=[];for(let s of t.split(">")){if(!/\S/.test(s))continue;let a=s.indexOf(`
30
+ `);if(a===-1)continue;let c=s.slice(a+1).replaceAll(/\s/g,"");c&&r.push(c)}if(r.length<2||new Set(r.map(s=>s.length)).size===1)return!1;let n=!1,o=-1,i=!0;for(let s of r){let a=0;for(let c=0;c<s.length;c++){let l=s.charCodeAt(c);wi(l)?n=!0:(l>=kx&&l<=Nx||l===Lx)&&a++}o===-1?o=a:a!==o&&(i=!1)}return n&&i}expandA3M(t,r){let n=r.length;if(n===0)return{};let o=[],i=[];for(let l=0;l<n;l++){let A=t[l],u=[],d=[],m=0;for(;m<A.length;){let C=A.charCodeAt(m);if(C>=kx&&C<=Nx||C===Lx){u.push(A[m]);let E="",x=m+1;for(;x<A.length;){let I=A.charCodeAt(x);if(wi(I)||I===Rx)E+=A[x],x++;else break}d.push(E),m=x}else if(C===Rx)m++;else if(wi(C)){let E="";for(;m<A.length&&wi(A.charCodeAt(m));)E+=A[m],m++;u.push(""),d.push(E)}else m++}o.push(u),i.push(d)}let s=Math.max(...o.map(l=>l.length),0),a=new Array(s).fill(0);for(let l=0;l<n;l++){let A=i[l];for(let u=0;u<A.length;u++){let d=0;for(let m of A[u])wi(m.charCodeAt(0))&&d++;d>a[u]&&(a[u]=d)}}let c={};for(let l=0;l<n;l++){let A=o[l],u=i[l],d=[];for(let m=0;m<s;m++){let C=a[m];if(m<A.length){let E=A[m],x=u[m]||"";d.push(E||"-");let I="";for(let y of x)wi(y.charCodeAt(0))&&(I+=y.toUpperCase());d.push(I);let p=C-I.length;p>0&&d.push(".".repeat(p))}else d.push("-"),C>0&&d.push(".".repeat(C))}c[r[l]]=d.join("")}return c}getMSA(){return this.MSA}getNames(){return this.orderedNames}getRow(t){return this.MSA.seqdata[t]||""}getWidth(){let t=Object.keys(this.MSA.seqdata)[0];return t?this.getRow(t).length:0}}});function eD(e){let t=/\(?(\d+(\.\d+)+)\)?/.exec(e);return t&&t.length>1?t[1]:""}function Px(e){let t=["CLUSTAL","PROBCONS","MUSCLE","MSAPROBS","Kalign"];t.some(n=>e.startsWith(n))||console.warn(`${e} is not a known CLUSTAL header: ${t.join(",")}, proceeding but could indicate an issue`);let r=eD(e);return{info:e,version:r}}function Lc(e){let t=e.next();for(;!t.done&&t.value.trim()==="";)t=e.next();return t.value}function tD(e){let t=e.split(/\s+/),r=e.slice(t[0].length),n=t[0].length+r.indexOf(t[1]),o=n+t[1].length;return[n,o]}function Fx(e){let t=Lc(e),r=[],n="";if(!t)return;for(;t;)t.startsWith(" ")?n=t:r.push(t),t=e.next().value;let[o,i]=tD(r[0]),a=r.map(u=>u.split(/\s+/)).map(u=>u[0]),c=r.map(u=>u.slice(o,i)),l=n.slice(o,i),A=c[0].length-l.length;return A&&(l+=" ".repeat(A)),{ids:a,seqs:c,consensus:l}}function Ox(e){let t,r=Fx(e);if(r!==void 0)for(;t=Fx(e);){for(let n=0;n<t.seqs.length;n++)r.seqs[n]+=t.seqs[n];r.consensus+=t.consensus}return r}var Yf=g(()=>{});var Gx=g(()=>{Yf()});function rD(e){let t=Lc(e);if(!t)throw new Error("Empty file received");let r=Px(t),n=Ox(e);if(n===void 0)throw new Error("No blocks parsed");let o=n.seqs.map((s,a)=>({id:n.ids[a],seq:s})),{consensus:i}=n;if(i.length!==o[0].seq.length)throw new Error(`Consensus length != sequence length. Con ${i.length} seq ${o[0].seq.length}`);return{consensus:i,alns:o,header:r}}function Ux(e){let t=e.split(`
31
+ `)[Symbol.iterator]();return rD(t)}var Hx=g(()=>{Gx();Yf()});var Sn,Wf=g(()=>{Hx();yi();Sn=class extends jt{MSA;constructor(t){super(),this.MSA=Ux(t)}getMSA(){return this.MSA}getRow(t){return this.MSA.alns.find(r=>r.id===t)?.seq??""}getWidth(){return this.MSA.alns[0]?.seq.length??0}getHeader(){return this.MSA.header}getNames(){return this.MSA.alns.map(t=>t.id)}get seqConsensus(){return this.MSA.consensus}}});function jx(e){let t=e.split(`
32
+ `).map(i=>i.trim()).filter(i=>!!i),r=[],n=[];for(let i of t)if(i.startsWith("SEQ"))r.push(i);else{if(i.startsWith("DATA"))continue;if(i.startsWith("//"))break;n.push(i)}let o=r.map(i=>{let[,s,a,c,l,A,u,d,m]=i.split(" ");return{species:s,protein:a,chr:c,start:+l,end:+A,strand:+u,geneId:d,unknown:m,seq:""}});for(let i of n)for(let s=0;s<r.length;s++)o[s].seq+=i[s];return o}function Rc(e){let t=e.split(`
33
+ `).map(i=>i.trim()).filter(i=>!!i),r=[],n="";for(let i of t)if(i.startsWith("SEQ"))r.push(i);else{if(i.startsWith("DATA"))continue;if(i.startsWith("//"))break;n=i}let o=r.map(i=>{let[,s,a,c,l,A,u,d,m]=i.split(" ");return{species:s,protein:a,chr:c,start:+l,end:+A,strand:+u,geneId:d,unknown:m}});return{tree:n,seqs:o}}var zf=g(()=>{});var Qn,$f=g(()=>{zf();yi();Qn=class extends jt{MSA;constructor(t){super(),this.MSA=jx(t)}getMSA(){return this.MSA}getRow(t){return this.MSA.find(r=>r.protein===t)?.seq??""}getWidth(){return this.MSA[0]?.seq.length??0}getNames(){return this.MSA.map(t=>t.protein)}}});var Mn,Kf=g(()=>{yi();Mn=class extends jt{MSA;orderedNames=[];constructor(t){super();let r={},n={};for(let o of t.split(">")){if(!/\S/.test(o))continue;let i=o.indexOf(`
34
+ `);if(i===-1)continue;let s=o.slice(0,i).replace(/\r$/,""),a=s.indexOf(" "),c=a===-1?s:s.slice(0,a);c&&(r[c]=o.slice(i+1).replaceAll(/\s/g,""),this.orderedNames.push(c),c.includes(":")&&(n[c.replaceAll(":","_")]=c))}this.MSA={seqdata:r,colonNormalized:n}}getMSA(){return this.MSA}getNames(){return this.orderedNames}getRow(t){return this.MSA.seqdata[t]??this.MSA.seqdata[this.MSA.colonNormalized[t]??""]??""}getWidth(){let t=this.orderedNames[0];return t===void 0?0:this.getRow(t).length}}});function co(e){let t=[],r=[],n=e.replace(/'((?:[^']|'')*)'/g,(s,a)=>{let c=r.length;return r.push(a.replaceAll("''","'")),`__Q${c}__`}),o={},i=n.split(/\s*(;|\(|\)|,|:)\s*/);for(let s=0;s<i.length;s++){let c=i[s].replace(/^__Q(\d+)__$/,(A,u)=>r[Number(u)]),l={};switch(c){case"(":o.children=[l],t.push(o),o=l;break;case",":t.at(-1)?.children.push(l),o=l;break;case")":o=t.pop();break;case":":break;default:{let A=i[s-1];A===")"||A==="("||A===","?o.name=c:A===":"&&(o.length=Number.parseFloat(c))}}}return o}var Xf=g(()=>{});function qx(){return{gf:{},gc:{},gs:{},gr:{},seqname:[],seqdata:{}}}function Qs(e,t){if(e)return e;if(t)throw new Error("No format header: # STOCKHOLM 1.0");return qx()}function Ms(e){return Jx.test(e)}function Vx(e,t){let r=t??{},n=[],o=null,i=e.split(`
35
+ `);for(let s of i){let a;if(Jx.test(s))o=qx();else if(nD.test(s))o&&n.push(o),o=null;else if(a=oD.exec(s)){o=Qs(o,!!r.strict);let c=a[1];o.gf[c]||(o.gf[c]=[]),o.gf[c].push(a[2])}else if(a=iD.exec(s)){o=Qs(o,!!r.strict);let c=a[1];o.gc[c]||(o.gc[c]=""),o.gc[c]+=a[2]}else if(a=sD.exec(s)){o=Qs(o,!!r.strict);let c=a[1],l=a[2],A=a[3];o.gs[l]||(o.gs[l]={}),o.gs[l][c]||(o.gs[l][c]=[]),o.gs[l][c].push(A)}else if(a=aD.exec(s)){o=Qs(o,!!r.strict);let c=a[1],l=a[2],A=a[3];o.gr[l]||(o.gr[l]={}),o.gr[l][c]||(o.gr[l][c]=""),o.gr[l][c]+=A}else if(a=cD.exec(s)){o=Qs(o,!!r.strict);let c=a[1],l=a[2];o.seqdata[c]||(o.seqdata[c]="",o.seqname.push(c)),o.seqdata[c]+=l}else if(lD.test(s)&&r.strict)throw new Error("Malformed line")}return o&&n.push(o),n}var Jx,nD,oD,iD,sD,aD,cD,lD,Zf=g(()=>{Jx=/^# STOCKHOLM 1.0/,nD=/^\/\/\s*$/,oD=/^#=GF\s+(\S+)\s+(.*?)\s*$/,iD=/^#=GC\s+(\S+)\s+(.*?)\s*$/,sD=/^#=GS\s+(\S+)\s+(\S+)\s+(.*?)\s*$/,aD=/^#=GR\s+(\S+)\s+(\S+)\s+(.*?)\s*$/,cD=/^\s*(\S+)\s+(\S+)\s*$/,lD=/\S/});var vn,ed=g(()=>{Xf();Zf();Jf();yi();Zf();vn=class extends jt{data;MSA;constructor(t,r){super();let n=Vx(t);this.data=n;let o=n[r]??n[0];if(!o)throw new Error("No alignments found in Stockholm file");this.MSA=o}getMSA(){return this.MSA}getRow(t){return this.MSA.seqdata[t]??""}getWidth(){let t=Object.keys(this.MSA.seqdata)[0];return t===void 0?0:this.getRow(t).length}get alignmentNames(){return this.data.map((t,r)=>t.gf.DE?.[0]??`Alignment ${r+1}`)}getHeader(){let t=this.MSA.gs.AC??{},r=this.MSA.gs.DR??{};return{General:this.MSA.gf,Accessions:Object.fromEntries(Object.entries(t).map(([n,o])=>[n,o[0]])),Dbxref:Object.fromEntries(Object.entries(r).map(([n,o])=>[n,o.join("; ")]))}}getRowData(t){return{name:t,accession:this.MSA.gs.AC?.[t]?.[0],dbxref:this.MSA.gs.DR?.[t]?.join("; ")}}getNames(){return Object.keys(this.MSA.seqdata)}getStructures(){let t=/PDB; +(\S+) +(\S); ([0-9]+)-([0-9]+)/,r=this.MSA.gs.DR??{},n={};for(let[o,i]of Object.entries(r))for(let s of i){let a=t.exec(s);a&&(n[o]??=[]).push({pdb:a[1].toLowerCase(),chain:a[2],startPos:+a[3],endPos:+a[4]})}return n}getTree(){let t=this.MSA.gf.NH?.[0];return t?xi(co(t)):super.getTree()}get seqConsensus(){return this.MSA.gc.seq_cons}get secondaryStructureConsensus(){return this.MSA.gc.SS_cons}get tracks(){return[{id:"seqConsensus",name:"Sequence consensus",data:this.seqConsensus,customColorScheme:{}},{id:"secondaryStruct",name:"Secondary-structure",data:this.secondaryStructureConsensus,customColorScheme:{"<":"lightblue","(":"lightblue","[":"lightblue","{":"lightblue",">":"pink",")":"pink","]":"pink","}":"pink"}}]}}});function td(e,t=0,r){return r==="stockholm"?new vn(e,t):r==="a3m"?new rn(e):r==="fasta"?new Mn(e):r==="emf"?new Qn(e):r==="clustal"?new Sn(e):Ms(e)?new vn(e,t):rn.sniff(e)?new rn(e):e.startsWith(">")?new Mn(e):e.startsWith("SEQ")?new Qn(e):new Sn(e)}function rd(e){return e.replaceAll(/[.-]/g,"")}var Yx=g(()=>{Vf();Wf();$f();Kf();ed();zf();Xf();Vf();Wf();$f();Kf();ed()});function AD(e){try{return decodeURIComponent(e)}catch{return e}}function uD(e){return e?Object.fromEntries(e.split(";").map(t=>t.trim()).filter(t=>!!t).map(t=>{let r=t.indexOf("="),n=(r===-1?t:t.slice(0,r)).trim(),o=r===-1?void 0:t.slice(r+1);return[n,o?o.split(",").map(i=>AD(i).trim()).join(" "):void 0]}).filter(([t])=>t!=="")):{}}function Fc(e){return e?e.split(`
36
+ `).map(t=>t.trim()).filter(t=>!!t&&!t.startsWith("#")).map(t=>{let r=t.split(" "),[n,o,i,s,a,c,l,A]=r,u=r[8];return{seq_id:n??"",source:o??"",type:i??"",start:Number(s)||0,end:Number(a)||0,score:Number(c)||0,strand:l??".",phase:A??".",...uD(u)}}):[]}var Wx=g(()=>{});function Pc(e){let t=new Map;for(let n of e){let o=t.get(n.seq_id);o?o.push(n):t.set(n.seq_id,[n])}let r={};for(let[n,o]of t){let i=new Map,s=new Map;for(let c of o){let l=c.Name||c.ID||`${c.source}_${c.start}_${c.end}`,A=c.signature_desc||c.Name||l,u=c.Ontology_term||c.description||c.Note||A;s.has(l)||s.set(l,{name:A,description:u,accession:l});let d=i.get(l);d?d.push({start:c.start,end:c.end}):i.set(l,[{start:c.start,end:c.end}])}let a=[];for(let[c,l]of i){let A=s.get(c);a.push({signature:{entry:A},locations:l})}r[n]={matches:a,xref:[{id:n}]}}return r}var zx=g(()=>{});var $x=g(()=>{});var Kx=g(()=>{Wx();zx();$x()});var nd=g(()=>{Dx();Jf();Yx();Kx()});async function pD({seq:e,onProgress:t,onJobId:r,programs:n,model:o,signal:i}){let s=await jf(`${od}/iprscan5/run`,{method:"POST",body:new URLSearchParams({email:"colin.diesh@gmail.com",sequence:e,programs:n.join(",")}),signal:i});r?.(s),await hD({jobId:s,onProgress:t,signal:i}),await CD({jobId:s,model:o,onProgress:t,signal:i})}function gD(e,t){return kc(`${od}/iprscan5/result/${e}/json`,{signal:t})}async function hD({onProgress:e,jobId:t,signal:r}){let n=`${od}/iprscan5/status/${t}`,o=360;try{let i=!1;for(let s=0;s<o&&!i;s++){for(let c=0;c<10;c++)await Qx(1e3,r),e({msg:`Checking status ${10-c}`,url:n});let a=(await jf(n,{signal:r})).trim();if(a==="FINISHED")i=!0;else if(a==="FAILURE"||a==="ERROR"||a==="NOT_FOUND")throw new Error(`InterProScan job ${t} ended with status: ${a}`)}if(!i)throw new Error(`InterProScan job ${t} did not finish after ${o} status checks`)}finally{e()}}async function Xx({algorithm:e,seq:t,programs:r,onJobId:n,onProgress:o,model:i,signal:s}){try{if(o({msg:`Launching ${e} MSA`}),e==="interproscan")await pD({seq:t,onJobId:n,onProgress:o,programs:r,model:i,signal:s});else throw new Error("unknown algorithm")}catch(a){if(Bn(a))(0,vs.getSession)(i).notify("Cancelled InterProScan query","info");else throw a}finally{o()}}async function CD({jobId:e,model:t,onProgress:r,signal:n}){try{r({msg:`Downloading results of ${e} (for larger sequences this can be slow, click status to download and upload in the manual tab)`,url:`https://www.ebi.ac.uk/Tools/services/rest/iprscan5/result/${e}/json`});let o=await gD(e,n);t.setDomains(Object.fromEntries(o.results.map(i=>[i.xref[0]?.id,i]).filter(i=>i[0]!==void 0))),(0,vs.getSession)(t).notify(`Loaded interproscan ${e} results`,"success")}catch(o){Bn(o)?(0,vs.getSession)(t).notify("Cancelled InterProScan query","info"):(console.error(o),(0,vs.getSession)(t).notifyError(`${o}`,o))}finally{r()}}var vs,od,Zx=g(()=>{vs=f(de(),1);Nc();od="https://www.ebi.ac.uk/Tools/services/rest"});var ny={};We(ny,{default:()=>ID});var Te,ey,ty,qt,ry,ED,ID,oy=g(()=>{Te=f(Q(),1),ey=f(Me(),1),ty=f(de(),1),qt=f(N(),1),ry=f(U(),1);nd();Zx();ED=(0,ry.observer)(function({handleClose:e,model:t}){let[r,n]=(0,Te.useState)([{name:"NCBIfam",description:"NCBI RefSeq FAMs including TIGRFAMs",category:"Families, domains, sites & repeats",checked:!0},{name:"SFLD",description:"Structure function linkage database",category:"Families, domains, sites & repeats",checked:!0},{name:"Phobius",checked:!0,description:"A combined transmembrane topology and signal peptide predictor",category:"Other sequence features"},{name:"SignalP",checked:!0,category:"Other sequence features"},{name:"SignalP_EUK",category:"Other category",checked:!0},{name:"SignalP_GRAM_POSITIVE",category:"Other category",checked:!0},{name:"SignalP_GRAM_NEGATIVE",checked:!0,category:"Other category"},{name:"SuperFamily",category:"Structural domains",checked:!0},{name:"Panther",category:"Families, domains, sites & repeats",checked:!0},{name:"Gene3d",category:"Structural domains",checked:!0},{name:"HAMAP",category:"Families, domains, sites & repeats",checked:!0},{name:"PrositeProfiles",category:"Families, domains, sites & repeats",checked:!0},{name:"PrositePatterns",category:"Families, domains, sites & repeats",checked:!0},{name:"Coils",category:"Other sequence features",checked:!0},{name:"SMART",category:"Families, domains, sites & repeats",checked:!0},{name:"CDD",description:"Conserved Domains Database",category:"Families, domains, sites & repeats",checked:!0},{name:"PRINTS",category:"Families, domains, sites & repeats",checked:!0},{name:"PfamA",category:"Families, domains, sites & repeats",checked:!0},{name:"MobiDBLite",checked:!0,category:"Other sequence features"},{name:"PIRSF",checked:!0,category:"Other category"},{name:"TMHMM",checked:!0,category:"Other sequence features"},{name:"AntiFam",checked:!0,category:"Other category"},{name:"FunFam",checked:!0,category:"Other category"},{name:"PIRSR",checked:!0,category:"Families, domains, sites & repeats"}]),o=r.filter(a=>a.checked).map(a=>a.name),[i,s]=(0,Te.useState)(!1);return Te.default.createElement(ey.Dialog,{maxWidth:"xl",title:"Query InterProScan API for domains",onClose:()=>{e()},open:!0},Te.default.createElement(qt.DialogContent,null,Te.default.createElement(qt.Typography,null,"This will run InterProScan via the InterProScan API on all rows of the current MSA"),Te.default.createElement(qt.Button,{onClick:()=>{s(!i)}},i?"Hide":"Show"," advanced options"),i?Te.default.createElement("div",null,Te.default.createElement(qt.Typography,null,"Select algorithms for InterProScan to run"),Te.default.createElement("div",null,Te.default.createElement(qt.Button,{variant:"contained",color:"secondary",onClick:()=>{n(r.map(a=>({...a,checked:!1})))}},"Select none"),Te.default.createElement(qt.Button,{variant:"contained",color:"primary",onClick:()=>{n(r.map(a=>({...a,checked:!0})))}},"Select all")),Te.default.createElement("table",null,Te.default.createElement("tbody",null,r.toSorted((a,c)=>a.category.localeCompare(c.category)).map(({name:a,checked:c,category:l})=>Te.default.createElement("tr",{key:a},Te.default.createElement("td",null,Te.default.createElement("input",{type:"checkbox",key:a,checked:c,onChange:()=>{n(r.map(A=>A.name===a?{...A,checked:!A.checked}:A))}})),Te.default.createElement("td",null,a),Te.default.createElement("td",null,l)))))):null),Te.default.createElement(qt.DialogActions,null,Te.default.createElement(qt.Button,{variant:"contained",color:"secondary",onClick:()=>{e()}},"Cancel"),Te.default.createElement(qt.Button,{variant:"contained",color:"primary",onClick:()=>{let a=new AbortController;(async()=>{try{let{rows:c}=t;if(c.length>140)throw new Error("Too many sequences, please run InterProScan offline");await Xx({algorithm:"interproscan",programs:o,seq:c.map(l=>[l[0],rd(l[1])]).filter(l=>!!l[1]).map(l=>`>${l[0]}
29
37
  ${l[1]}`).join(`
30
- `),onProgress:l=>{t.setStatus(l?{...l,onCancel:()=>{a.abort()}}:void 0)},model:t,signal:a.signal})}catch(c){console.error(c),(0,AI.getSession)(t).notifyError(`${c}`,c)}finally{t.setStatus()}})(),e()}},"Send sequences to InterProScan")))}),gT=dT});function dI({model:e}){let{showDomains:t,actuallyShowDomains:r,subFeatureRows:n,noDomains:o}=e;return[{label:"Open domains...",icon:os,onClick:()=>{e.queueDialog(i=>[hT,{handleClose:i,model:e}])}},{label:"Query InterProScan for domains...",icon:jE,onClick:()=>{e.queueDialog(i=>[CT,{handleClose:i,model:e}])}},{label:`Show domains${o?" (no domains loaded)":""}`,disabled:o,icon:zE,checked:r?t:!1,type:"checkbox",onClick:()=>{e.setShowDomains(!t)}},{label:`Use sub-row layout${o?" (no domains loaded)":""}`,disabled:o,checked:r?n:!1,icon:VE,type:"checkbox",onClick:()=>{e.setSubFeatureRows(!n)}},{label:`Filter domains${o?" (no domains loaded)":""}`,icon:GE,disabled:o,onClick:()=>{e.queueDialog(i=>[pT,{onClose:i,model:e}])}}]}var lc,pT,hT,CT,gI=g(()=>{lc=f(w(),1);UE();Ju();qE();YE();$E();pT=(0,lc.lazy)(()=>Promise.resolve().then(()=>(eI(),ZE))),hT=(0,lc.lazy)(()=>Promise.resolve().then(()=>(sI(),iI))),CT=(0,lc.lazy)(()=>Promise.resolve().then(()=>(mI(),fI)))});var EI=U((bO,CI)=>{"use strict";var ET=function(t){return IT(t)&&!xT(t)};function IT(e){return!!e&&typeof e=="object"}function xT(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||wT(e)}var yT=typeof Symbol=="function"&&Symbol.for,bT=yT?Symbol.for("react.element"):60103;function wT(e){return e.$$typeof===bT}function BT(e){return Array.isArray(e)?[]:{}}function as(e,t){return t.clone!==!1&&t.isMergeableObject(e)?si(BT(e),e,t):e}function ST(e,t,r){return e.concat(t).map(function(n){return as(n,r)})}function QT(e,t){if(!t.customMerge)return si;var r=t.customMerge(e);return typeof r=="function"?r:si}function MT(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function pI(e){return Object.keys(e).concat(MT(e))}function hI(e,t){try{return t in e}catch{return!1}}function vT(e,t){return hI(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function TT(e,t,r){var n={};return r.isMergeableObject(e)&&pI(e).forEach(function(o){n[o]=as(e[o],r)}),pI(t).forEach(function(o){vT(e,o)||(hI(e,o)&&r.isMergeableObject(t[o])?n[o]=QT(o,r)(e[o],t[o],r):n[o]=as(t[o],r))}),n}function si(e,t,r){r=r||{},r.arrayMerge=r.arrayMerge||ST,r.isMergeableObject=r.isMergeableObject||ET,r.cloneUnlessOtherwiseSpecified=as;var n=Array.isArray(t),o=Array.isArray(e),i=n===o;return i?n?r.arrayMerge(e,t,r):TT(e,t,r):as(t,r)}si.all=function(t,r){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(n,o){return si(n,o,r)},{})};var _T=si;CI.exports=_T});function yI(){return{palette:{...Ac,mode:void 0},components:{MuiLink:{styleOverrides:{root:({theme:e})=>({color:e.palette.tertiary.main})}}}}}function VT(){return{...yI(),name:"Default (from config)"}}function YT(){return{...yI(),name:"Light (stock)"}}function WT(){return{name:"Dark (stock)",palette:{...Ac,mode:"dark"},components:{MuiAppBar:{defaultProps:{enableColorOnDark:!0},styleOverrides:{root:({theme:e})=>e.palette.primary.main}}}}}function zT(){return{name:"Dark (minimal)",palette:{...Ac,mode:"dark",primary:{main:mn[700]},secondary:{main:mn[800]},tertiary:ve.palette.augmentColor({color:{main:mn[900]}})}}}function $T(){return{name:"Light (minimal)",palette:{...Ac,primary:{main:mn[900]},secondary:{main:mn[800]},tertiary:ve.palette.augmentColor({color:{main:mn[900]}})}}}var xI,kT,ve,DT,NT,LT,II,BO,FT,RT,PT,OT,GT,UT,HT,jT,qT,JT,Ac,SO,bI=g(()=>{xI=f(k(),1);Lu();kT=f(EI(),1),ve=(0,xI.createTheme)(),DT=ve.palette.augmentColor({color:{main:"#0D233F"}}),NT=ve.palette.augmentColor({color:{main:"#721E63"}}),LT=ve.palette.augmentColor({color:{main:"#135560"}}),II=ve.palette.augmentColor({color:{main:"#FFB11D"}}),BO=ve.palette.augmentColor({color:{main:"#aaa"}}),FT={A:ve.palette.augmentColor({color:Zi}),C:ve.palette.augmentColor({color:Xi}),G:ve.palette.augmentColor({color:es}),T:ve.palette.augmentColor({color:oi})},RT=[null,ve.palette.augmentColor({color:{main:"#FF8080"}}),ve.palette.augmentColor({color:{main:"#80FF80"}}),ve.palette.augmentColor({color:{main:"#8080FF"}}),ve.palette.augmentColor({color:{main:"#8080FF"}}),ve.palette.augmentColor({color:{main:"#80FF80"}}),ve.palette.augmentColor({color:{main:"#FF8080"}})],PT=[null,ve.palette.augmentColor({color:{main:"#8f8f8f"}}),ve.palette.augmentColor({color:{main:"#adadad"}}),ve.palette.augmentColor({color:{main:"#d8d8d8"}}),ve.palette.augmentColor({color:{main:"#d8d8d8"}}),ve.palette.augmentColor({color:{main:"#adadad"}}),ve.palette.augmentColor({color:{main:"#8f8f8f"}})],OT="#e22",GT="#3e3",UT="#800080",HT="#808080",jT="#f00",qT="#00f",JT="#97b8c9",Ac={primary:DT,secondary:NT,tertiary:LT,quaternary:II,highlight:II,stopCodon:OT,startCodon:GT,insertion:UT,deletion:HT,softclip:qT,hardclip:jT,bases:FT,frames:PT,framesCDS:RT,skip:JT};SO={default:VT(),lightStock:YT(),lightMinimal:$T(),darkMinimal:zT(),darkStock:WT()}});var wI=g(()=>{});var BI=g(()=>{});var rf=g(()=>{bI();Tu();wI();BI()});function dn({value:e}){let{classes:t}=KT(),r=/^https?:\/\//.exec(`${e}`);return(0,uc.jsx)("div",{className:t.fieldValue,children:(0,SI.isValidElement)(e)?e:r?(0,uc.jsx)(QI.Link,{href:`${e}`,children:`${e}`}):(0,uc.jsx)(un,{html:Yt(e)?JSON.stringify(e):String(e)})})}var uc,SI,QI,KT,fc=g(()=>{uc=f(R(),1),SI=f(w(),1),QI=f(k(),1);rf();ln();Et();KT=te()(e=>({fieldValue:{wordBreak:"break-word",maxHeight:300,fontSize:12,padding:e.spacing(.5),overflow:"auto"}}))});function Tr({description:e,name:t,width:r,prefix:n=[]}){let{classes:o}=XT(),i=[...n,t].join(".");return e?(0,mc.jsx)(MI.Tooltip,{title:e,placement:"left",children:(0,mc.jsx)("div",{className:ya(o.fieldDescription,o.fieldName),children:i})}):(0,mc.jsx)("div",{className:o.fieldName,style:{width:r},children:i})}var mc,MI,XT,cs=g(()=>{mc=f(R(),1),MI=f(k(),1);Et();XT=te()(e=>({fieldDescription:{"&:hover":{background:e.palette.mode==="dark"?"#e65100":"yellow"}},fieldName:{wordBreak:"break-all",minWidth:90,borderBottom:"1px solid #0003",fontSize:12,background:e.palette.action.disabledBackground,marginRight:e.spacing(1),padding:e.spacing(.5)}}))});function of({name:e,value:t,description:r,formatter:n,prefix:o=[]}){let{classes:i}=ZT(),[s,a]=(0,vI.useState)(!1),c=t.length>nf,l=c&&!s?t.slice(0,nf):t;return t.length===1?Yt(t[0])?(0,wt.jsx)(_r,{formatter:n,attributes:t[0],prefix:[...o,e]}):(0,wt.jsxs)("div",{className:i.field,children:[(0,wt.jsx)(Tr,{prefix:o,description:r,name:e}),(0,wt.jsx)(dn,{value:n?n(t[0],e):t[0]})]}):t.every(A=>Yt(A))?(0,wt.jsx)(wt.Fragment,{children:t.map((A,u)=>(0,wt.jsx)(_r,{formatter:n,attributes:A,prefix:[...o,`${e}-${u}`]},`${JSON.stringify(A)}-${u}`))}):(0,wt.jsxs)("div",{className:i.field,children:[(0,wt.jsx)(Tr,{prefix:o,description:r,name:e}),l.map((A,u)=>(0,wt.jsx)("div",{className:i.fieldSubvalue,children:(0,wt.jsx)(dn,{value:n?n(A,e):A})},`${JSON.stringify(A)}-${u}`)),c?(0,wt.jsx)("button",{type:"button",onClick:()=>{a(A=>!A)},children:s?"Show less":`Showing ${nf} of ${t.length}. Show all...`}):null]})}var wt,vI,nf,ZT,TI=g(()=>{wt=f(R(),1),vI=f(w(),1);dc();fc();cs();ln();Et();nf=100,ZT=te()(e=>({field:{display:"flex",flexWrap:"wrap"},fieldSubvalue:{wordBreak:"break-word",maxHeight:300,padding:e.spacing(.5),border:`1px solid ${e.palette.action.selected}`,boxSizing:"border-box",overflow:"auto"}}))});var kI=U((VO,_I)=>{_I.exports=JBrowseExports["@mui/x-data-grid"]});function sf({children:e,style:t}){let{classes:r}=e_();return(0,DI.jsx)("div",{className:r.flexContainer,style:t,children:e})}var DI,e_,NI=g(()=>{DI=f(R(),1);Et();e_=te()({flexContainer:{display:"flex",flexDirection:"column"}})});function af({value:e,prefix:t,name:r}){let{classes:n}=t_(),[o,i]=(0,LI.useState)(!1),s=Object.keys(e[0]).sort(),a=new Set(s),c=Object.entries(e).map(([u,m])=>{let{id:d,...p}=m;return{id:u,identifier:d,...p}});for(let u of e)for(let m of Object.keys(u))a.add(m);let l;a.has("id")?(a.delete("id"),l=["identifier",...a]):l=[...a];let A=l.map(u=>sC(c.map(m=>m[u])));return a.size<s.length+5?(0,ar.jsxs)("div",{className:n.margin,children:[(0,ar.jsx)(Tr,{prefix:t,name:r}),(0,ar.jsx)(ai.FormControlLabel,{control:(0,ar.jsx)(ai.Checkbox,{checked:o,onChange:u=>{i(u.target.checked)}}),label:(0,ar.jsx)(ai.Typography,{variant:"body2",children:"Show options"})}),(0,ar.jsx)(sf,{children:(0,ar.jsx)(FI.DataGrid,{disableRowSelectionOnClick:!0,rows:c,rowHeight:20,columnHeaderHeight:35,hideFooter:c.length<25,showToolbar:o,columns:l.map((u,m)=>({field:u,width:A[m],renderCell:({value:d})=>(0,ar.jsx)("div",{className:n.cell,children:(0,ar.jsx)(un,{html:xu(d||"")})})}))})})]}):null}var ar,LI,ai,FI,t_,RI=g(()=>{ar=f(R(),1),LI=f(w(),1),ai=f(k(),1),FI=f(kI(),1);cs();NI();rf();ln();Et();t_=te()(e=>({margin:{marginBottom:e.spacing(4)},cell:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}))});function cf({name:e,value:t,description:r,prefix:n,width:o,formatter:i}){let{classes:s}=r_();return t!=null?(0,ls.jsxs)("div",{className:s.field,children:[(0,ls.jsx)(Tr,{prefix:n,description:r,name:e,width:o}),(0,ls.jsx)(dn,{value:i?i(t,e):t})]}):null}var ls,r_,PI=g(()=>{ls=f(R(),1);fc();cs();Et();r_=te()({field:{display:"flex",flexWrap:"wrap"}})});function lf({value:e,prefix:t,name:r}){let{classes:n}=n_(),{uri:o,baseUri:i=""}=e,s;try{s=new URL(o,i).href}catch{s=o}return(0,As.jsxs)("div",{className:n.field,children:[(0,As.jsx)(Tr,{prefix:t,name:r}),(0,As.jsx)(dn,{value:s})]})}var As,n_,OI=g(()=>{As=f(R(),1);fc();cs();Et();n_=te()({field:{display:"flex",flexWrap:"wrap"}})});function GI(e,t){return Math.ceil(yu(e.map(r=>Eu([...t,r[0]].join("."),12))))+10}function UI(e,t={}){let r=t;for(let n of e)Yt(r)&&(r=r[n]);return typeof r=="string"?r:Yt(r)&&typeof r.Description=="string"?r.Description:void 0}var HI=g(()=>{ln()});function _r(e){let{attributes:t,omit:r=[],omitSingleLevel:n=[],descriptions:o,formatter:i,hideUris:s,prefix:a=[]}=e,c=new Set([...r,...i_,...n]),{__jbrowsefmt:l,...A}=t,u=Object.entries({...A,...l}).filter(([d,p])=>p!=null&&!c.has(d)),m=GI(u,a);return(0,Wr.jsx)(Wr.Fragment,{children:u.map(([d,p])=>{let E=UI([...a,d],o);if(Array.isArray(p))return p.length>1&&p.every(x=>Yt(x))?(0,Wr.jsx)(af,{name:d,prefix:a,value:p},d):(0,Wr.jsx)(of,{name:d,value:p,formatter:i,description:E,prefix:a},d);if(Yt(p)){let{omitSingleLevel:x,...I}=e;return Fa(p)?s?null:(0,Wr.jsx)(lf,{name:d,prefix:a,value:p},d):(0,Wr.jsx)(_r,{...I,formatter:i,attributes:p,descriptions:o,prefix:[...a,d]},d)}else return(0,Wr.jsx)(cf,{name:d,formatter:i,value:p,description:E,prefix:a,width:Math.min(m,o_)},d)})})}var Wr,o_,i_,dc=g(()=>{Wr=f(R(),1);TI();RI();PI();OI();HI();ln();o_=170,i_=["__jbrowsefmt","length","position","subfeatures","uniqueId","exonFrames","parentId","thickStart","thickEnd","_lineHash"]});var jI,gc,Af=g(()=>{"use client";W();jI=f(R(),1),gc=(0,_.createSvgIcon)((0,jI.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore")});function zn({children:e,title:t,defaultExpanded:r=!0}){let{classes:n}=s_();return(0,Wn.jsxs)(gn.Accordion,{defaultExpanded:r,children:[(0,Wn.jsx)(gn.AccordionSummary,{expandIcon:(0,Wn.jsx)(gc,{className:n.icon}),children:(0,Wn.jsx)(gn.Typography,{variant:"button",children:t})}),(0,Wn.jsx)(gn.AccordionDetails,{className:n.expansionPanelDetails,children:e})]})}var Wn,gn,s_,uf=g(()=>{Wn=f(R(),1);Af();gn=f(k(),1);Et();s_=te()(e=>({expansionPanelDetails:{display:"block",padding:e.spacing(1)},icon:{color:e.palette.tertiary.contrastText||"#fff"}}))});function ft({checked:e,label:t,disabled:r,onChange:n}){return pc.default.createElement("div",null,pc.default.createElement(hc.FormControlLabel,{control:pc.default.createElement(hc.Checkbox,{disabled:r,checked:e,onChange:n}),label:t}))}var pc,hc,Cc=g(()=>{pc=f(w(),1),hc=f(k(),1)});function us({str:e}){let{classes:t}=a_(),[r,n]=(0,cr.useState)(!1),[o,i]=(0,cr.useState)(!1),[s,a]=(0,cr.useState)(!1),c=A=>A.replaceAll("-","").replaceAll(".",""),l=e.map(([A,u])=>[A,o?u:c(u)]).filter(([,A])=>s||!!A).map(([A,u])=>`>${A}
38
+ `),onProgress:l=>{t.setStatus(l?{...l,onCancel:()=>{a.abort()}}:void 0)},model:t,signal:a.signal})}catch(c){console.error(c),(0,ty.getSession)(t).notifyError(`${c}`,c)}finally{t.setStatus()}})(),e()}},"Send sequences to InterProScan")))}),ID=ED});function iy({model:e}){let{showDomains:t,actuallyShowDomains:r,subFeatureRows:n,noDomains:o}=e;return[{label:"Open domains...",icon:Tc,onClick:()=>{e.queueDialog(i=>[yD,{handleClose:i,model:e}])}},{label:"Query InterProScan for domains...",icon:dx,onClick:()=>{e.queueDialog(i=>[wD,{handleClose:i,model:e}])}},{label:`Show domains${o?" (no domains loaded)":""}`,disabled:o,icon:Ex,checked:r?t:!1,type:"checkbox",onClick:()=>{e.setShowDomains(!t)}},{label:`Use sub-row layout${o?" (no domains loaded)":""}`,disabled:o,checked:r?n:!1,icon:gx,type:"checkbox",onClick:()=>{e.setSubFeatureRows(!n)}},{label:`Filter domains${o?" (no domains loaded)":""}`,icon:Ax,disabled:o,onClick:()=>{e.queueDialog(i=>[xD,{onClose:i,model:e}])}}]}var Oc,xD,yD,wD,sy=g(()=>{Oc=f(Q(),1);ux();Ff();mx();hx();Ix();xD=(0,Oc.lazy)(()=>Promise.resolve().then(()=>(bx(),wx))),yD=(0,Oc.lazy)(()=>Promise.resolve().then(()=>(_x(),Tx))),wD=(0,Oc.lazy)(()=>Promise.resolve().then(()=>(oy(),ny)))});var Ay=j((H6,ly)=>{"use strict";var bD=function(t){return BD(t)&&!SD(t)};function BD(e){return!!e&&typeof e=="object"}function SD(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||vD(e)}var QD=typeof Symbol=="function"&&Symbol.for,MD=QD?Symbol.for("react.element"):60103;function vD(e){return e.$$typeof===MD}function TD(e){return Array.isArray(e)?[]:{}}function Ts(e,t){return t.clone!==!1&&t.isMergeableObject(e)?bi(TD(e),e,t):e}function _D(e,t,r){return e.concat(t).map(function(n){return Ts(n,r)})}function DD(e,t){if(!t.customMerge)return bi;var r=t.customMerge(e);return typeof r=="function"?r:bi}function kD(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function ay(e){return Object.keys(e).concat(kD(e))}function cy(e,t){try{return t in e}catch{return!1}}function ND(e,t){return cy(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function LD(e,t,r){var n={};return r.isMergeableObject(e)&&ay(e).forEach(function(o){n[o]=Ts(e[o],r)}),ay(t).forEach(function(o){ND(e,o)||(cy(e,o)&&r.isMergeableObject(t[o])?n[o]=DD(o,r)(e[o],t[o],r):n[o]=Ts(t[o],r))}),n}function bi(e,t,r){r=r||{},r.arrayMerge=r.arrayMerge||_D,r.isMergeableObject=r.isMergeableObject||bD,r.cloneUnlessOtherwiseSpecified=Ts;var n=Array.isArray(t),o=Array.isArray(e),i=n===o;return i?n?r.arrayMerge(e,t,r):LD(e,t,r):Ts(t,r)}bi.all=function(t,r){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(n,o){return bi(n,o,r)},{})};var RD=bi;ly.exports=RD});function dy(){return{palette:{...Gc,mode:void 0},components:{MuiLink:{styleOverrides:{root:({theme:e})=>({color:e.palette.tertiary.main})}}}}}function KD(){return{...dy(),name:"Default (from config)"}}function XD(){return{...dy(),name:"Light (stock)"}}function ZD(){return{name:"Dark (stock)",palette:{...Gc,mode:"dark"},components:{MuiAppBar:{defaultProps:{enableColorOnDark:!0},styleOverrides:{root:({theme:e})=>e.palette.primary.main}}}}}function ek(){return{name:"Dark (minimal)",palette:{...Gc,mode:"dark",primary:{main:bn[700]},secondary:{main:bn[800]},tertiary:_e.palette.augmentColor({color:{main:bn[900]}})}}}function tk(){return{name:"Light (minimal)",palette:{...Gc,primary:{main:bn[900]},secondary:{main:bn[800]},tertiary:_e.palette.augmentColor({color:{main:bn[900]}})}}}var fy,FD,_e,PD,OD,GD,uy,q6,UD,HD,jD,qD,JD,VD,YD,WD,zD,$D,Gc,J6,my=g(()=>{fy=f(N(),1);Lf();FD=f(Ay(),1),_e=(0,fy.createTheme)(),PD=_e.palette.augmentColor({color:{main:"#0D233F"}}),OD=_e.palette.augmentColor({color:{main:"#721E63"}}),GD=_e.palette.augmentColor({color:{main:"#135560"}}),uy=_e.palette.augmentColor({color:{main:"#FFB11D"}}),q6=_e.palette.augmentColor({color:{main:"#aaa"}}),UD={A:_e.palette.augmentColor({color:ws}),C:_e.palette.augmentColor({color:ys}),G:_e.palette.augmentColor({color:bs}),T:_e.palette.augmentColor({color:Ii})},HD=[null,_e.palette.augmentColor({color:{main:"#FF8080"}}),_e.palette.augmentColor({color:{main:"#80FF80"}}),_e.palette.augmentColor({color:{main:"#8080FF"}}),_e.palette.augmentColor({color:{main:"#8080FF"}}),_e.palette.augmentColor({color:{main:"#80FF80"}}),_e.palette.augmentColor({color:{main:"#FF8080"}})],jD=[null,_e.palette.augmentColor({color:{main:"#8f8f8f"}}),_e.palette.augmentColor({color:{main:"#adadad"}}),_e.palette.augmentColor({color:{main:"#d8d8d8"}}),_e.palette.augmentColor({color:{main:"#d8d8d8"}}),_e.palette.augmentColor({color:{main:"#adadad"}}),_e.palette.augmentColor({color:{main:"#8f8f8f"}})],qD="#e22",JD="#3e3",VD="#800080",YD="#808080",WD="#f00",zD="#00f",$D="#97b8c9",Gc={primary:PD,secondary:OD,tertiary:GD,quaternary:uy,highlight:uy,stopCodon:qD,startCodon:JD,insertion:VD,deletion:YD,softclip:zD,hardclip:WD,bases:UD,frames:jD,framesCDS:HD,skip:$D};J6={default:KD(),lightStock:XD(),lightMinimal:tk(),darkMinimal:ek(),darkStock:ZD()}});var py=g(()=>{});var gy=g(()=>{});var id=g(()=>{my();Tf();py();gy()});function Tn({value:e}){let{classes:t}=rk(),r=/^https?:\/\//.exec(`${e}`);return(0,Uc.jsx)("div",{className:t.fieldValue,children:(0,hy.isValidElement)(e)?e:r?(0,Uc.jsx)(Cy.Link,{href:`${e}`,children:`${e}`}):(0,Uc.jsx)(yn,{html:er(e)?JSON.stringify(e):String(e)})})}var Uc,hy,Cy,rk,Hc=g(()=>{Uc=f(P(),1),hy=f(Q(),1),Cy=f(N(),1);id();Cn();Bt();rk=ne()(e=>({fieldValue:{wordBreak:"break-word",maxHeight:300,fontSize:12,padding:e.spacing(.5),overflow:"auto"}}))});function Nr({description:e,name:t,width:r,prefix:n=[]}){let{classes:o}=nk(),i=[...n,t].join(".");return e?(0,jc.jsx)(Ey.Tooltip,{title:e,placement:"left",children:(0,jc.jsx)("div",{className:Xa(o.fieldDescription,o.fieldName),children:i})}):(0,jc.jsx)("div",{className:o.fieldName,style:{width:r},children:i})}var jc,Ey,nk,_s=g(()=>{jc=f(P(),1),Ey=f(N(),1);Bt();nk=ne()(e=>({fieldDescription:{"&:hover":{background:e.palette.mode==="dark"?"#e65100":"yellow"}},fieldName:{wordBreak:"break-all",minWidth:90,borderBottom:"1px solid #0003",fontSize:12,background:e.palette.action.disabledBackground,marginRight:e.spacing(1),padding:e.spacing(.5)}}))});function ad({name:e,value:t,description:r,formatter:n,prefix:o=[]}){let{classes:i}=ok(),[s,a]=(0,Iy.useState)(!1),c=t.length>sd,l=c&&!s?t.slice(0,sd):t;return t.length===1?er(t[0])?(0,Mt.jsx)(Lr,{formatter:n,attributes:t[0],prefix:[...o,e]}):(0,Mt.jsxs)("div",{className:i.field,children:[(0,Mt.jsx)(Nr,{prefix:o,description:r,name:e}),(0,Mt.jsx)(Tn,{value:n?n(t[0],e):t[0]})]}):t.every(A=>er(A))?(0,Mt.jsx)(Mt.Fragment,{children:t.map((A,u)=>(0,Mt.jsx)(Lr,{formatter:n,attributes:A,prefix:[...o,`${e}-${u}`]},`${JSON.stringify(A)}-${u}`))}):(0,Mt.jsxs)("div",{className:i.field,children:[(0,Mt.jsx)(Nr,{prefix:o,description:r,name:e}),l.map((A,u)=>(0,Mt.jsx)("div",{className:i.fieldSubvalue,children:(0,Mt.jsx)(Tn,{value:n?n(A,e):A})},`${JSON.stringify(A)}-${u}`)),c?(0,Mt.jsx)("button",{type:"button",onClick:()=>{a(A=>!A)},children:s?"Show less":`Showing ${sd} of ${t.length}. Show all...`}):null]})}var Mt,Iy,sd,ok,xy=g(()=>{Mt=f(P(),1),Iy=f(Q(),1);qc();Hc();_s();Cn();Bt();sd=100,ok=ne()(e=>({field:{display:"flex",flexWrap:"wrap"},fieldSubvalue:{wordBreak:"break-word",maxHeight:300,padding:e.spacing(.5),border:`1px solid ${e.palette.action.selected}`,boxSizing:"border-box",overflow:"auto"}}))});var wy=j((uU,yy)=>{yy.exports=JBrowseExports["@mui/x-data-grid"]});function cd({children:e,style:t}){let{classes:r}=ik();return(0,by.jsx)("div",{className:r.flexContainer,style:t,children:e})}var by,ik,By=g(()=>{by=f(P(),1);Bt();ik=ne()({flexContainer:{display:"flex",flexDirection:"column"}})});function ld({value:e,prefix:t,name:r}){let{classes:n}=sk(),[o,i]=(0,Sy.useState)(!1),s=Object.keys(e[0]).sort(),a=new Set(s),c=Object.entries(e).map(([u,d])=>{let{id:m,...C}=d;return{id:u,identifier:m,...C}});for(let u of e)for(let d of Object.keys(u))a.add(d);let l;a.has("id")?(a.delete("id"),l=["identifier",...a]):l=[...a];let A=l.map(u=>RE(c.map(d=>d[u])));return a.size<s.length+5?(0,fr.jsxs)("div",{className:n.margin,children:[(0,fr.jsx)(Nr,{prefix:t,name:r}),(0,fr.jsx)(Bi.FormControlLabel,{control:(0,fr.jsx)(Bi.Checkbox,{checked:o,onChange:u=>{i(u.target.checked)}}),label:(0,fr.jsx)(Bi.Typography,{variant:"body2",children:"Show options"})}),(0,fr.jsx)(cd,{children:(0,fr.jsx)(Qy.DataGrid,{disableRowSelectionOnClick:!0,rows:c,rowHeight:20,columnHeaderHeight:35,hideFooter:c.length<25,showToolbar:o,columns:l.map((u,d)=>({field:u,width:A[d],renderCell:({value:m})=>(0,fr.jsx)("div",{className:n.cell,children:(0,fr.jsx)(yn,{html:xf(m||"")})})}))})})]}):null}var fr,Sy,Bi,Qy,sk,My=g(()=>{fr=f(P(),1),Sy=f(Q(),1),Bi=f(N(),1),Qy=f(wy(),1);_s();By();id();Cn();Bt();sk=ne()(e=>({margin:{marginBottom:e.spacing(4)},cell:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}))});function Ad({name:e,value:t,description:r,prefix:n,width:o,formatter:i}){let{classes:s}=ak();return t!=null?(0,Ds.jsxs)("div",{className:s.field,children:[(0,Ds.jsx)(Nr,{prefix:n,description:r,name:e,width:o}),(0,Ds.jsx)(Tn,{value:i?i(t,e):t})]}):null}var Ds,ak,vy=g(()=>{Ds=f(P(),1);Hc();_s();Bt();ak=ne()({field:{display:"flex",flexWrap:"wrap"}})});function ud({value:e,prefix:t,name:r}){let{classes:n}=ck(),{uri:o,baseUri:i=""}=e,s;try{s=new URL(o,i).href}catch{s=o}return(0,ks.jsxs)("div",{className:n.field,children:[(0,ks.jsx)(Nr,{prefix:t,name:r}),(0,ks.jsx)(Tn,{value:s})]})}var ks,ck,Ty=g(()=>{ks=f(P(),1);Hc();_s();Bt();ck=ne()({field:{display:"flex",flexWrap:"wrap"}})});function _y(e,t){return Math.ceil(yf(e.map(r=>Ef([...t,r[0]].join("."),12))))+10}function Dy(e,t={}){let r=t;for(let n of e)er(r)&&(r=r[n]);return typeof r=="string"?r:er(r)&&typeof r.Description=="string"?r.Description:void 0}var ky=g(()=>{Cn()});function Lr(e){let{attributes:t,omit:r=[],omitSingleLevel:n=[],descriptions:o,formatter:i,hideUris:s,prefix:a=[]}=e,c=new Set([...r,...Ak,...n]),{__jbrowsefmt:l,...A}=t,u=Object.entries({...A,...l}).filter(([m,C])=>C!=null&&!c.has(m)),d=_y(u,a);return(0,nn.jsx)(nn.Fragment,{children:u.map(([m,C])=>{let E=Dy([...a,m],o);if(Array.isArray(C))return C.length>1&&C.every(x=>er(x))?(0,nn.jsx)(ld,{name:m,prefix:a,value:C},m):(0,nn.jsx)(ad,{name:m,value:C,formatter:i,description:E,prefix:a},m);if(er(C)){let{omitSingleLevel:x,...I}=e;return uc(C)?s?null:(0,nn.jsx)(ud,{name:m,prefix:a,value:C},m):(0,nn.jsx)(Lr,{...I,formatter:i,attributes:C,descriptions:o,prefix:[...a,m]},m)}else return(0,nn.jsx)(Ad,{name:m,formatter:i,value:C,description:E,prefix:a,width:Math.min(d,lk)},m)})})}var nn,lk,Ak,qc=g(()=>{nn=f(P(),1);xy();My();vy();Ty();ky();Cn();lk=170,Ak=["__jbrowsefmt","length","position","subfeatures","uniqueId","exonFrames","parentId","thickStart","thickEnd","_lineHash"]});var Ny,Jc,fd=g(()=>{"use client";V();Ny=f(P(),1),Jc=(0,D.createSvgIcon)((0,Ny.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore")});function Ao({children:e,title:t,defaultExpanded:r=!0}){let{classes:n}=uk();return(0,lo.jsxs)(_n.Accordion,{defaultExpanded:r,children:[(0,lo.jsx)(_n.AccordionSummary,{expandIcon:(0,lo.jsx)(Jc,{className:n.icon}),children:(0,lo.jsx)(_n.Typography,{variant:"button",children:t})}),(0,lo.jsx)(_n.AccordionDetails,{className:n.expansionPanelDetails,children:e})]})}var lo,_n,uk,dd=g(()=>{lo=f(P(),1);fd();_n=f(N(),1);Bt();uk=ne()(e=>({expansionPanelDetails:{display:"block",padding:e.spacing(1)},icon:{color:e.palette.tertiary.contrastText||"#fff"}}))});function pt({checked:e,label:t,disabled:r,onChange:n}){return Vc.default.createElement("div",null,Vc.default.createElement(Yc.FormControlLabel,{control:Vc.default.createElement(Yc.Checkbox,{disabled:r,checked:e,onChange:()=>{n()}}),label:t}))}var Vc,Yc,Wc=g(()=>{Vc=f(Q(),1),Yc=f(N(),1)});function Ns({str:e}){let{classes:t}=fk(),[r,n]=(0,dr.useState)(!1),[o,i]=(0,dr.useState)(!1),[s,a]=(0,dr.useState)(!1),c=A=>A.replaceAll("-","").replaceAll(".",""),l=e.map(([A,u])=>[A,o?u:c(u)]).filter(([,A])=>s||!!A).map(([A,u])=>`>${A}
31
39
  ${u}`).join(`
32
- `);return cr.default.createElement(cr.default.Fragment,null,cr.default.createElement(Ec.Button,{color:"primary",variant:"contained",onClick:()=>{ki(l),n(!0),setTimeout(()=>{n(!1)},500)}},r?"Copied!":"Copy to clipboard"),cr.default.createElement(ft,{label:"Show gaps",checked:o,onChange:()=>{i(!o)}}),cr.default.createElement(ft,{label:"Show empty",checked:s,onChange:()=>{a(!s)}}),cr.default.createElement(Ec.TextField,{variant:"outlined",multiline:!0,className:t.dialogContent,minRows:5,maxRows:10,fullWidth:!0,value:l,slotProps:{input:{readOnly:!0,className:t.textAreaFont}}}))}var cr,Ec,qI,a_,ff=g(()=>{cr=f(w(),1),Ec=f(k(),1),qI=f(Se(),1);Cc();ql();a_=(0,qI.makeStyles)()({textAreaFont:{fontFamily:"Courier New",wordWrap:"break-word"},dialogContent:{background:"lightgrey",margin:4,minWidth:"80em"}})});var WI={};Ye(WI,{default:()=>l_});var ci,JI,VI,YI,c_,l_,zI=g(()=>{ci=f(w(),1);dc();uf();JI=f(we(),1),VI=f(k(),1),YI=f(G(),1);ff();c_=(0,YI.observer)(function({model:e,onClose:t}){let{header:r}=e;return ci.default.createElement(JI.Dialog,{onClose:()=>{t()},open:!0,title:"Metadata",maxWidth:"xl"},ci.default.createElement(VI.DialogContent,null,ci.default.createElement(_r,{attributes:r}),ci.default.createElement(zn,{title:"sequence"},ci.default.createElement(us,{str:e.rows}))))}),l_=c_});var KI={};Ye(KI,{default:()=>$I});function $I({model:e,onClose:t}){let[r,n]=(0,Be.useState)(!0),[o,i]=(0,Be.useState)(!0),[s,a]=(0,Be.useState)("viewport"),[c,l]=(0,Be.useState)(),A=(0,xe.useTheme)(),{totalWidth:u,totalHeight:m,treeAreaWidth:d,turnedOnTracks:p}=e,E=p.length>0,x=u+d,I=m,h=s==="entire"&&(x>1e4||I>1e4);return Be.default.createElement(Ic.Dialog,{onClose:()=>{t()},open:!0,title:"Export SVG"},Be.default.createElement(xe.DialogContent,null,c?Be.default.createElement(Ic.ErrorMessage,{error:c}):null,Be.default.createElement(xe.Typography,null,"Settings:"),Be.default.createElement(ft,{label:"Include minimap?",disabled:s==="entire",checked:r,onChange:()=>{n(!r)}}),E?Be.default.createElement(ft,{label:"Include tracks?",checked:o,onChange:()=>{i(!o)}}):null,Be.default.createElement("div",null,Be.default.createElement(xe.FormControl,null,Be.default.createElement(xe.FormLabel,null,"Export type"),Be.default.createElement(xe.RadioGroup,{value:s,onChange:y=>{a(y.target.value)}},Be.default.createElement(xe.FormControlLabel,{value:"entire",control:Be.default.createElement(xe.Radio,null),label:"Entire MSA"}),Be.default.createElement(xe.FormControlLabel,{value:"viewport",control:Be.default.createElement(xe.Radio,null),label:"Current viewport only"})))),h?Be.default.createElement(xe.Alert,{severity:"warning",style:{marginTop:8}},"The entire MSA is very large (",Math.round(x),"x",Math.round(I)," pixels). Export may be slow or fail."):null),Be.default.createElement(xe.DialogActions,null,Be.default.createElement(xe.Button,{variant:"contained",color:"primary",onClick:()=>{(async()=>{try{await e.exportSVG({theme:A,includeMinimap:s==="entire"?!1:r,includeTracks:E&&o,exportType:s}),t()}catch(y){console.error(y),l(y)}})()}},"Submit"),Be.default.createElement(xe.Button,{variant:"contained",color:"secondary",onClick:()=>{t()}},"Cancel")))}var Be,Ic,xe,XI=g(()=>{Be=f(w(),1),Ic=f(we(),1),xe=f(k(),1);Cc()});var nx={};Ye(nx,{default:()=>d_});var z,ex,Xe,fs,tx,rx,ZI,A_,u_,f_,m_,d_,ox=g(()=>{z=f(w(),1),ex=f(we(),1),Xe=f(k(),1),fs=f(G(),1),tx=f(Se(),1);ic();Cc();rx=(0,tx.makeStyles)()(e=>({field:{margin:e.spacing(4)},flex:{display:"flex"},minw:{width:"80em"}})),ZI=(e=0)=>+e.toFixed(1),A_=(0,fs.observer)(function({model:e}){return z.default.createElement(z.default.Fragment,null,z.default.createElement(u_,{model:e}),z.default.createElement(f_,{model:e}))}),u_=(0,fs.observer)(function({model:t}){let{drawTree:r,drawLabels:n,drawNodeBubbles:o,labelsAlignRight:i,showBranchLen:s}=t;return z.default.createElement("div",null,z.default.createElement("h1",null,"Tree options"),z.default.createElement(ft,{checked:s,label:"Show branch length?",onChange:()=>{t.setShowBranchLen(!s)}}),z.default.createElement(ft,{checked:o,label:"Draw clickable bubbles on tree branches?",onChange:()=>{t.setDrawNodeBubbles(!o)}}),z.default.createElement(ft,{checked:r,label:"Show tree?",onChange:()=>{t.setDrawTree(!r)}}),z.default.createElement(ft,{checked:i,label:"Tree labels align right?",onChange:()=>{t.setLabelsAlignRight(!i)}}),z.default.createElement(ft,{checked:n,label:"Draw labels",onChange:()=>{t.setDrawLabels(!n)}}))}),f_=(0,fs.observer)(function({model:t}){let{classes:r}=rx(),{bgColor:n,colWidth:o,allowedGappyness:i,drawMsaLetters:s,colorSchemeName:a,hideGaps:c,rowHeight:l}=t;return z.default.createElement("div",null,z.default.createElement("h1",null,"MSA options"),z.default.createElement(ft,{checked:s,label:"Draw letters",onChange:()=>{t.setDrawMsaLetters(!s)}}),z.default.createElement(ft,{checked:n,label:"Color letters instead of background of tiles",onChange:()=>{t.setBgColor(!n)}}),z.default.createElement(ft,{checked:c,label:"Enable hiding gappy columns?",onChange:()=>{t.setHideGaps(!c)}}),c?z.default.createElement("div",{className:r.flex},z.default.createElement(Xe.Typography,null,"Hide columns w/ >",i,"% gaps"),z.default.createElement(Xe.Slider,{className:r.field,min:1,max:100,value:i,onChange:(A,u)=>{t.setAllowedGappyness(u)}})):null,z.default.createElement("div",{className:r.flex},z.default.createElement(Xe.Typography,null,"Column width (",ZI(o),"px)"),z.default.createElement(Xe.Slider,{className:r.field,min:1,max:50,value:o,onChange:(A,u)=>{t.setColWidth(u)}})),z.default.createElement("div",{className:r.flex},z.default.createElement(Xe.Typography,null,"Row height (",ZI(l),"px)"),z.default.createElement(Xe.Slider,{className:r.field,min:1,max:50,value:l,onChange:(A,u)=>{t.setRowHeight(u)}})),z.default.createElement(Xe.TextField,{select:!0,label:"Color scheme",value:a,onChange:A=>{t.setColorSchemeName(A.target.value)}},Object.keys(ii).map(A=>z.default.createElement(Xe.MenuItem,{key:A,value:A},A))))}),m_=(0,fs.observer)(function({model:e,onClose:t}){let{classes:r}=rx();return z.default.createElement(ex.Dialog,{open:!0,title:"Settings",maxWidth:"xl",onClose:()=>{t()}},z.default.createElement(Xe.DialogContent,{className:r.minw},z.default.createElement(A_,{model:e}),z.default.createElement(Xe.DialogActions,null,z.default.createElement(Xe.Button,{variant:"contained",color:"primary",onClick:()=>{t()}},"Submit"))))}),d_=m_});var $n,ix,g_,p_,h_,C_,sx,ax=g(()=>{$n=f(w(),1);ni();NE();Ju();RE();Yu();ix=f(G(),1);gI();g_=(0,$n.lazy)(()=>Promise.resolve().then(()=>(zI(),WI))),p_=(0,$n.lazy)(()=>Promise.resolve().then(()=>(XI(),KI))),h_=(0,$n.lazy)(()=>Promise.resolve().then(()=>(ox(),nx))),C_=(0,ix.observer)(({model:e})=>$n.default.createElement(vr,{menuItems:[{label:"Return to import form",icon:os,onClick:()=>{e.reset()}},{label:"Metadata",icon:DE,onClick:()=>{e.queueDialog(t=>[g_,{model:e,onClose:t}])}},{label:"More settings",icon:sc,onClick:()=>{e.queueDialog(t=>[h_,{model:e,onClose:t}])}},{label:"Domain settings",type:"subMenu",subMenu:dI({model:e})},{label:"Export SVG",icon:FE,onClick:()=>{e.queueDialog(t=>[p_,{onClose:t,model:e}])}}],anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"}},$n.default.createElement(os,null))),sx=C_});var xc,yc,cx,E_,lx,Ax=g(()=>{xc=f(w(),1),yc=f(k(),1),cx=f(G(),1),E_=(0,cx.observer)(function({model:t}){let{hideGaps:r,allowedGappyness:n}=t;return r?xc.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},xc.default.createElement(yc.Typography,{style:{whiteSpace:"nowrap"}},"Hide columns w/ >",n,"% gaps"),xc.default.createElement(yc.Slider,{style:{width:100},min:1,max:100,value:n,onChange:(o,i)=>{t.setAllowedGappyness(i)}})):null}),lx=E_});var ux,fx,mx,dx,I_,x_,gx,px=g(()=>{ux=f(w(),1),fx=f(k(),1),mx=f(G(),1),dx=f(Se(),1),I_=(0,dx.makeStyles)()({margin:{margin:"auto",marginLeft:10}}),x_=(0,mx.observer)(function({model:e}){let{mouseOverRowName:t,mouseCol:r}=e,{classes:n}=I_();return t&&r!==void 0?ux.default.createElement(fx.Typography,{className:n.margin},t,":",e.visibleColToSeqPosOneBased(t,r)," (",e.visibleColToRowLetter(t,r),")"):null}),gx=x_});var ms,hx,bc,Cx,Ex,y_,b_,Ix,xx=g(()=>{ms=f(w(),1),hx=f(we(),1),bc=f(k(),1),Cx=f(G(),1),Ex=f(Se(),1),y_=(0,Ex.makeStyles)()({margin:{margin:"auto",marginLeft:10}}),b_=(0,Cx.observer)(({model:e})=>{let{status:t}=e,{classes:r}=y_();return t?ms.default.createElement(bc.Typography,{className:r.margin},ms.default.createElement(hx.LoadingEllipses,{message:t.msg,component:"span"})," ",t.url?ms.default.createElement("a",{href:t.url,target:"_blank",rel:"noreferrer"},"(status)"):null," ",t.onCancel?ms.default.createElement(bc.Button,{size:"small",onClick:()=>t.onCancel?.()},"Cancel"):null):null}),Ix=b_});var yx,bx,wx=g(()=>{"use client";W();yx=f(R(),1),bx=(0,_.createSvgIcon)((0,yx.jsx)("path",{d:"M3 17v2h6v-2zM3 5v2h10V5zm10 16v-2h8v-2h-8v-2h-2v6zM7 9v2H3v2h4v2h2V9zm14 4v-2H11v2zm-6-4h2V7h4V5h-4V3h-2z"}),"Tune")});function Bx(e){let{drawMsaLetters:t,hideGaps:r,bgColor:n}=e;return[{label:"Draw letters",type:"checkbox",checked:t,onClick:()=>{e.setDrawMsaLetters(!t)}},{label:"Color letters instead of background of tiles",type:"checkbox",checked:!n,onClick:()=>{e.setBgColor(!n)}},{label:"Enable hiding gappy columns?",type:"checkbox",checked:r,onClick:()=>{e.setHideGaps(!r)}}]}function Sx(e){let{drawTree:t,showBranchLen:r,labelsAlignRight:n,drawNodeBubbles:o,drawLabels:i}=e;return[{label:"Show branch length",type:"checkbox",checked:r,onClick:()=>{e.setShowBranchLen(!r)}},{label:"Show tree",type:"checkbox",checked:t,onClick:()=>{e.setDrawTree(!t)}},{label:"Draw clickable bubbles on tree branches",type:"checkbox",checked:o,onClick:()=>{e.setDrawNodeBubbles(!o)}},{label:"Tree labels align right",type:"checkbox",checked:n,onClick:()=>{e.setLabelsAlignRight(!n)}},{label:"Draw labels",type:"checkbox",checked:i,onClick:()=>{e.setDrawLabels(!i)}}]}var mf=g(()=>{});var df,Qx,w_,Mx,vx=g(()=>{df=f(w(),1);ni();wx();Qx=f(G(),1);mf();w_=(0,Qx.observer)(function({model:e}){return df.default.createElement(vr,{closeAfterItemClick:!1,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},menuItems:Bx(e)},df.default.createElement(bx,null))}),Mx=w_});var gf,wc,Tx,B_,_x,kx=g(()=>{gf=f(w(),1),wc=f(k(),1),Tx=f(G(),1),B_=(0,Tx.observer)(function({model:e}){let{currentAlignment:t,alignmentNames:r}=e;return r.length>0?gf.default.createElement(wc.TextField,{select:!0,variant:"outlined",value:t,size:"small",onChange:n=>{e.setCurrentAlignment(+n.target.value),e.setScrollX(0),e.setScrollY(0)}},r.map((n,o)=>gf.default.createElement(wc.MenuItem,{key:`${n}-${o}`,value:o},n))):null}),_x=B_});var Dx,Nx,Lx=g(()=>{"use client";W();Dx=f(R(),1),Nx=(0,_.createSvgIcon)((0,Dx.jsx)("path",{d:"M22 11V3h-7v3H9V3H2v8h7V8h2v10h4v3h7v-8h-7v3h-2V8h2v3z"}),"AccountTree")});var pf,Fx,S_,Rx,Px=g(()=>{pf=f(w(),1);ni();Lx();Fx=f(G(),1);mf();S_=(0,Fx.observer)(function({model:e}){let{rows:t}=e;return pf.default.createElement(vr,{closeAfterItemClick:!1,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},menuItems:[...Sx(e),...t.length>=2?[{label:"Advanced",type:"subMenu",subMenu:[{label:"Calculate neighbor joining tree (BLOSUM62)",onClick:()=>{try{e.calculateNeighborJoiningTreeFromMSA()}catch(r){console.error("Failed to calculate NJ tree:",r),e.setError(r)}}}]}]:[]]},pf.default.createElement(Nx,null))}),Rx=S_});var hf,Ox,Gx=g(()=>{"use client";W();hf=f(R(),1),Ox=(0,_.createSvgIcon)([(0,hf.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"},"0"),(0,hf.jsx)("path",{d:"M12 10h-2v2H9v-2H7V9h2V7h1v2h2z"},"1")],"ZoomIn")});var Ux,Hx,jx=g(()=>{"use client";W();Ux=f(R(),1),Hx=(0,_.createSvgIcon)((0,Ux.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14M7 9h5v1H7z"}),"ZoomOut")});var Kn,Cf,qx,Q_,Jx,Vx=g(()=>{Kn=f(w(),1);Gx();jx();Cf=f(k(),1),qx=f(G(),1),Q_=(0,qx.observer)(function({model:t}){return Kn.default.createElement(Kn.default.Fragment,null,Kn.default.createElement(Cf.IconButton,{onClick:()=>{t.zoomIn()}},Kn.default.createElement(Ox,null)),Kn.default.createElement(Cf.IconButton,{onClick:()=>{t.zoomOut()}},Kn.default.createElement(Hx,null)))}),Jx=Q_});var Yx,Wx,zx=g(()=>{"use client";W();Yx=f(R(),1),Wx=(0,_.createSvgIcon)((0,Yx.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert")});var $x,Kx,Xx=g(()=>{"use client";W();$x=f(R(),1),Kx=(0,_.createSvgIcon)((0,$x.jsx)("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8m-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91"}),"RestartAlt")});var Ef,Zx,M_,ey,ty=g(()=>{Ef=f(w(),1);ni();zx();Xx();Zx=f(G(),1),M_=(0,Zx.observer)(function({model:e}){return Ef.default.createElement(vr,{menuItems:[{label:"Fit both vertically/horizontally",onClick:()=>{e.fit()}},{label:"Fit vertically",onClick:()=>{e.fitVertically()}},{label:"Fit horizontally",onClick:()=>{e.fitHorizontally()}},{label:"Reset zoom to default",icon:Kx,onClick:()=>{e.resetZoom()}}]},Ef.default.createElement(Wx,null))}),ey=M_});var ry,ny=g(()=>{ry="5.1.1"});var sy={};Ye(sy,{default:()=>iy});function iy({onClose:e}){return He.default.createElement(oy.Dialog,{open:!0,title:"About",onClose:()=>{e()}},He.default.createElement(Bt.DialogContent,null,He.default.createElement(Bt.Typography,null,"MSAView ",ry," (",He.default.createElement(Bt.Link,{href:"https://github.com/gmod/react-msaview"},"Github"),")"),He.default.createElement("ul",null,He.default.createElement("li",null,He.default.createElement(Bt.Typography,null,"We use some color schemes from the"," ",He.default.createElement(Bt.Link,{href:"https://github.com/biotite-dev/biotite"},"biotite")," ","project, and their license is reproduced"," ",He.default.createElement(Bt.Link,{href:"https://github.com/biotite-dev/biotite/blob/master/LICENSE.rst"},"here"))),He.default.createElement("li",null,He.default.createElement(Bt.Typography,null,"See this page for some information on jalview colorings"," ",He.default.createElement(Bt.Link,{href:"https://www.jalview.org/help/html/colourSchemes/"},"here"))),He.default.createElement("li",null,He.default.createElement(Bt.Typography,null,"See this page for some info on the clustal, cinema, maeditor, and lesk color schemes"," ",He.default.createElement(Bt.Link,{href:"http://www.bioinformatics.nl/~berndb/aacolour.html"},"here"))),He.default.createElement("li",null,He.default.createElement(Bt.Typography,null,"See this paper about the flower color scheme"," ",He.default.createElement(Bt.Link,{href:"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7245768/"},"here"))))))}var He,oy,Bt,ay=g(()=>{He=f(w(),1),oy=f(we(),1),Bt=f(k(),1);ny()});function __(){return Fe.default.createElement("div",{style:{flex:1}})}var Fe,cy,ly,v_,T_,Ay,uy=g(()=>{Fe=f(w(),1);mg();pg();cy=f(k(),1),ly=f(G(),1);_E();ax();Ax();px();xx();vx();kx();Px();Vx();ty();v_=(0,Fe.lazy)(()=>Promise.resolve().then(()=>(ay(),sy))),T_=(0,ly.observer)(function({model:e}){let[t,{height:r}]=Yl();return(0,Fe.useEffect)(()=>{e.setHeaderHeight(r||0)},[e,r]),Fe.default.createElement("div",{ref:t,style:{display:"flex"}},Fe.default.createElement(sx,{model:e}),Fe.default.createElement(TE,{model:e}),Fe.default.createElement(Rx,{model:e}),Fe.default.createElement(Mx,{model:e}),Fe.default.createElement(Jx,{model:e}),Fe.default.createElement(ey,{model:e}),Fe.default.createElement(lx,{model:e}),Fe.default.createElement("div",{style:{paddingLeft:20,margin:"auto"}},Fe.default.createElement(_x,{model:e})),Fe.default.createElement(gx,{model:e}),Fe.default.createElement(__,null),Fe.default.createElement(Ix,{model:e}),Fe.default.createElement(cy.IconButton,{onClick:()=>{e.queueDialog(n=>[v_,{onClose:n}])}},Fe.default.createElement(gg,null)))});Ay=T_});var kr,fy,k_,my,dy=g(()=>{kr=f(w(),1),fy=f(G(),1);Vl();k_=(0,fy.observer)(function({model:e}){let[t,r]=(0,kr.useState)(!1),{scrollX:n,msaAreaWidth:o,minimapHeight:i,colWidth:s,numColumns:a}=e,c=o/a/s,l=-n,A=l+o,u=l*c,m=A*c,d="rgba(66, 119, 127, 0.3)",p=Math.max(m-u,20),{startDrag:E}=$s("x",(0,kr.useCallback)((h,y)=>{e.setScrollX(y-h/c)},[e,c])),x=12,I=i-x;return kr.default.createElement("div",{style:{position:"relative",height:i,width:"100%"}},kr.default.createElement("div",{style:{height:x,boxSizing:"border-box",border:"1px solid #555"}}),kr.default.createElement("div",{style:{position:"absolute",top:0,left:Math.max(0,u),background:t?"rgba(66,119,127,0.6)":d,cursor:"pointer",height:x,width:p,zIndex:100},onMouseOver:()=>{r(!0)},onMouseOut:()=>{r(!1)},onMouseDown:h=>{E(h,e.scrollX)}}),kr.default.createElement("svg",{height:I,style:{width:"100%"}},kr.default.createElement("polygon",{fill:d,points:[[u+p,0],[u,0],[0,I],[o,I]].toString()})))}),my=k_});function If(){return Bc.default.createElement("div",{style:{position:"absolute",left:"50%",top:"50%"}},Bc.default.createElement(Sc.CircularProgress,null),Bc.default.createElement(Sc.Typography,null,"Loading..."))}var Bc,Sc,gy=g(()=>{Bc=f(w(),1),Sc=f(k(),1)});function Qc({model:e,offsetX:t,offsetY:r,ctx:n,highResScaleFactorOverride:o,blockSizeYOverride:i}){let{leaves:s,blockSize:a,rowHeight:c,highResScaleFactor:l,showDomains:A}=e;if(A){let u=o||l,m=i||a;n.resetTransform(),n.scale(u,u),n.translate(-t,c/2-r);let d=Math.max(0,Math.floor((r-c)/c)),p=Math.max(0,Math.ceil((r+m+c)/c)),E=s.slice(d,p);D_({model:e,ctx:n,visibleLeaves:E})}}function D_({model:e,ctx:t,visibleLeaves:r}){let{subFeatureRows:n,colWidth:o,rowHeight:i,fillPalette:s,strokePalette:a,tidyFilteredGatheredInterProAnnotations:c}=e;for(let l=0,A=r.length;l<A;l++){let u=r[l],{x:m,data:{name:d}}=u,p=m,E=c[d];if(E)for(let x=0,I=E.length;x<I;x++){let{start:h,end:y,accession:Q}=E[x],M=e.seqPosToVisibleCol(d,h-1),B=e.seqPosToVisibleCol(d,y);if(M===void 0||B===void 0)continue;let v=M*o;t.fillStyle=s[Q],t.strokeStyle=a[Q];let P=n?4:i,N=p-i+(n?x*P:0),$=o*(B-M);t.fillRect(v,N,$,P),t.strokeRect(v,N,$,P)}}}var xf=g(()=>{});function Mc({model:e,offsetX:t,offsetY:r,contrastScheme:n,ctx:o,theme:i,highResScaleFactorOverride:s,blockSizeXOverride:a,blockSizeYOverride:c}){let{colWidth:l,blockSize:A,rowHeight:u,fontSize:m,highResScaleFactor:d,actuallyShowDomains:p,leaves:E,bgColor:x}=e,I=s||d,h=a||A,y=c||A;o.resetTransform(),o.scale(I,I),o.translate(-t,u/2-r),o.textAlign="center",o.font=o.font.replace(/(?:bold )?\d+px/,`${x?"":"bold "}${m}px`);let Q=Math.max(0,Math.floor((r-u)/u)),M=Math.max(0,Math.ceil((r+y+u)/u)),B=Math.max(0,Math.floor(t/l)),v=Math.max(0,Math.ceil((t+h)/l)),P=E.slice(Q,M);p||N_({model:e,ctx:o,theme:i,offsetX:t,xStart:B,xEnd:v,visibleLeaves:P}),L_({model:e,ctx:o,offsetX:t,contrastScheme:n,xStart:B,xEnd:v,visibleLeaves:P}),F_({model:e,ctx:o,xStart:B,xEnd:v,visibleLeaves:P}),o.resetTransform()}function N_({model:e,offsetX:t,ctx:r,visibleLeaves:n,theme:o,xStart:i,xEnd:s}){let{bgColor:a,colorSchemeName:c,colorScheme:l,columns:A,colWidth:u,rowHeight:m,relativeTo:d}=e,p=d?A[d]?.slice(i,s):null,E=c==="clustalx_protein_dynamic",x=c==="percent_identity_dynamic",I=t-t%u;for(let h=0,y=n.length;h<y;h++){let Q=n[h],{data:{name:M}}=Q,B=Q.x,v=A[M]?.slice(i,s);if(v)for(let P=0,N=v.length;P<N;P++){let $=v[P],S=p&&M!==d&&$===p[P],L;if(E)L=e.colClustalX[i+P][$];else if(x){let J=e.colConsensus[i+P];L=$===J.letter?J.color:void 0}else L=l[$.toUpperCase()];if(a||E||x){let J=S?o.palette.action.hover:L||o.palette.background.default;r.fillStyle=J,r.fillRect(P*u+I,B-m,u,m)}}}}function L_({model:e,offsetX:t,contrastScheme:r,ctx:n,visibleLeaves:o,xStart:i,xEnd:s}){let{bgColor:a,actuallyShowDomains:c,showMsaLetters:l,colorScheme:A,columns:u,colWidth:m,rowHeight:d,relativeTo:p}=e,E=p?u[p]?.slice(i,s):null;if(l){let x=t-t%m,I=m/2,h=d/4;for(let y=0,Q=o.length;y<Q;y++){let M=o[y],{data:{name:B}}=M,v=M.x-h,P=u[B]?.slice(i,s);if(P)for(let N=0,$=P.length;N<$;N++){let S=P[N],J=E&&B!==p&&S===E[N]?".":S,O=A[S.toUpperCase()],Te=r[S.toUpperCase()]||"black";n.fillStyle=c?"black":a?Te:O||"black",n.fillText(J,N*m+x+I,v)}}}}function F_({model:e,ctx:t,visibleLeaves:r,xStart:n,xEnd:o}){let{bgColor:i,hideGapsEffective:s}=e;s&&(t.lineWidth=1,t.strokeStyle="#f0f",py({visibleLeaves:r,xStart:n,ctx:t,model:e,xEnd:o,offset:0}),t.strokeStyle=i?"#fff":"#000",py({visibleLeaves:r,xStart:n,ctx:t,model:e,xEnd:o,offset:-1}))}function py({model:e,ctx:t,visibleLeaves:r,xStart:n,xEnd:o,offset:i}){let{colWidth:a,rowHeight:c,insertionPositions:l}=e;for(let A of r){let{name:u}=A.data,m=l.get(u);if(m){let d=A.x;for(let{pos:p}of m)if(p>=n&&p<o){let E=p*a,x=d-c,I=d;t.beginPath(),t.moveTo(E+i,x+i);let h=x,y=!0;for(;h<I;){let Q=Math.min(h+2,I),M=y?E+1:E-1;t.lineTo(M+i,Q+i),h=Q,y=!y}t.stroke()}}}}var yf=g(()=>{});function vc(e){let t=(0,Cy.useTheme)(),r=(0,hy.useMemo)(()=>rs(e,t),[e,t]);return{theme:t,contrastScheme:r}}var hy,Cy,bf=g(()=>{hy=f(w(),1),Cy=f(k(),1);Yn()});function Ey(e,t,r,n,o,i){let{left:s,top:a}=t.getBoundingClientRect();return{col:Math.floor((e.clientX-s+r)/o),row:Math.floor((e.clientY-a+n)/i)}}var lr,Iy,xy,yy,R_,by,wy=g(()=>{lr=f(w(),1),Iy=f(we(),1),xy=f(Gr(),1),yy=f(G(),1);xf();yf();bf();R_=(0,yy.observer)(function({model:e,offsetX:t,offsetY:r}){let{colWidth:n,rowHeight:o,scrollY:i,scrollX:s,colorScheme:a,blockSize:c,mouseClickCol:l,mouseClickRow:A,highResScaleFactor:u}=e,{theme:m,contrastScheme:d}=vc(a),p=(0,lr.useRef)(null);(0,lr.useEffect)(()=>{let h=p.current?.getContext("2d");if(h)return(0,xy.autorun)(()=>{h.resetTransform(),h.clearRect(0,0,c*u,c*u),e.actuallyShowDomains&&Qc({ctx:h,offsetX:t,offsetY:r,model:e}),Mc({ctx:h,theme:m,offsetX:t,offsetY:r,contrastScheme:d,model:e})})},[e,t,r,m,c,u,d]);let[E,x]=(0,lr.useState)(),{hoveredInsertion:I}=e;return lr.default.createElement(lr.default.Fragment,null,lr.default.createElement("canvas",{ref:p,onMouseMove:h=>{if(p.current){x({x:h.clientX,y:h.clientY});let{col:y,row:Q}=Ey(h,p.current,t,r,n,o);y>=0&&y<e.numColumns&&Q>=0&&Q<e.numRows?e.setMousePos(y,Q):e.setMousePos(void 0,void 0)}},onClick:h=>{if(p.current){let{col:y,row:Q}=Ey(h,p.current,t,r,n,o);y===l&&Q===A?e.setMouseClickPos(void 0,void 0):e.setMouseClickPos(y,Q)}},onMouseLeave:()=>{e.setMousePos(),x(void 0)},width:c*u,height:c*u,style:{position:"absolute",top:i+r,left:s+t,width:c,height:c}}),I&&E?lr.default.createElement(Iy.BaseTooltip,{clientPoint:{x:E.x,y:E.y+15}},"Insertion (",I.letters.length,e.sequenceType==="amino"?"aa":"bp","):"," ",I.letters.length>20?`${I.letters.slice(0,20)}...`:I.letters):null)}),by=R_});var zr,By,P_,Sy,Qy=g(()=>{zr=f(w(),1),By=f(G(),1);gy();wy();zs();P_=(0,By.observer)(function({model:e}){let{MSA:t,verticalScrollbarWidth:r,msaFilehandle:n,height:o,msaAreaWidth:i,blocks2d:s}=e,a=(0,zr.useRef)(null),c=(0,zr.useCallback)(m=>{e.doScrollX(m)},[e]),l=(0,zr.useCallback)(m=>{e.doScrollY(m)},[e]),{onMouseDown:A,onMouseUp:u}=xo({ref:a,onScrollX:c,onScrollY:l});return zr.default.createElement("div",{ref:a,onMouseDown:A,onMouseUp:u,onMouseLeave:m=>{m.preventDefault()},style:{position:"relative",height:o,width:i-r,overflow:"hidden"}},!t&&!n?null:t?s.map(([m,d])=>zr.default.createElement(by,{key:`${m}_${d}`,model:e,offsetX:m,offsetY:d})):zr.default.createElement(If,null))}),Sy=P_});function vy({ctx:e,model:t}){let{mouseCol:r,colWidth:n,msaAreaWidth:o,verticalScrollbarWidth:i,height:s,rowHeight:a,scrollX:c,scrollY:l,mouseRow:A,mouseClickRow:u,mouseClickCol:m,relativeTo:d,rowNamesSet:p,hoveredTreeNode:E,highlightedColumns:x}=t,I=o-i;if(e.resetTransform(),e.clearRect(0,0,I,s),d){let h=p.get(d);h!==void 0&&(e.fillStyle=O_,e.fillRect(0,h*a+l,I,a))}if(E){e.fillStyle=G_;for(let h of E.descendantNames){let y=p.get(h);y!==void 0&&e.fillRect(0,y*a+l,I,a)}}if(x?.length){e.fillStyle=wf;for(let h of x)e.fillRect(h*n+c,0,n,s)}r!==void 0&&(e.fillStyle=My,e.fillRect(r*n+c,0,n,s)),A!==void 0&&(e.fillStyle=My,e.fillRect(0,A*a+l,I,a)),m!==void 0&&(e.fillStyle=wf,e.fillRect(m*n+c,0,n,s)),u!==void 0&&(e.fillStyle=wf,e.fillRect(0,u*a+l,I,a))}var My,wf,O_,G_,Ty=g(()=>{My="rgba(0,0,0,0.15)",wf="rgba(128,128,0,0.2)",O_="rgba(0,128,255,0.3)",G_="rgba(255,165,0,0.15)"});var li,_y,ky,Dy,U_,Ny,Ly=g(()=>{li=f(w(),1),_y=f(_t(),1),ky=f(Gr(),1),Dy=f(G(),1);Ty();U_=(0,Dy.observer)(function({model:e}){let t=(0,li.useRef)(null),{height:r,msaAreaWidth:n,verticalScrollbarWidth:o}=e,i=n-o;return(0,li.useEffect)(()=>{let s=t.current?.getContext("2d");return s?(0,ky.autorun)(()=>{(0,_y.isAlive)(e)&&vy({ctx:s,model:e})}):void 0},[e]),li.default.createElement("canvas",{ref:t,id:"mouseover",width:i,height:r,style:{position:"absolute",top:0,left:0,width:i,height:r,zIndex:1e3,pointerEvents:"none"}})}),Ny=U_});var Tc,Fy,H_,Ry,Py=g(()=>{Tc=f(w(),1),Fy=f(G(),1);Qy();Ly();H_=(0,Fy.observer)(function({model:e}){return Tc.default.createElement("div",{style:{position:"relative"}},Tc.default.createElement(Sy,{model:e}),Tc.default.createElement(Ny,{model:e}))}),Ry=H_});var ds,Oy=g(()=>{ds=class{constructor(){this.ids=[],this.values=[],this.length=0}clear(){this.length=0}push(t,r){let n=this.length++;for(;n>0;){let o=n-1>>1,i=this.values[o];if(r>=i)break;this.ids[n]=this.ids[o],this.values[n]=i,n=o}this.ids[n]=t,this.values[n]=r}pop(){if(this.length===0)return;let t=this.ids,r=this.values,n=t[0],o=--this.length;if(o>0){let i=t[o],s=r[o],a=0,c=o>>1;for(;a<c;){let l=(a<<1)+1,A=l+1,u=l+(+(A<o)&+(r[A]<r[l]));if(r[u]>=s)break;t[a]=t[u],r[a]=r[u],a=u}t[a]=i,r[a]=s}return n}peek(){return this.length>0?this.ids[0]:void 0}peekValue(){return this.length>0?this.values[0]:void 0}shrink(){this.ids.length=this.values.length=this.length}}});function Uy(e,t){let r=0,n=t.length-1;for(;r<n;){let o=r+n>>1;t[o]>e?n=o:r=o+1}return t[r]}function j_(e,t,r,n,o,i){let s=[n,o];for(;s.length;){let a=s.pop()||0,c=s.pop()||0;if(a-c<=i&&Math.floor(c/i)>=Math.floor(a/i))continue;let l=e[c],A=e[c+a>>1],u=e[a],m=l>A!=l>u?l:A<l!=A<u?A:u,d=c-1,p=a+1;for(;;){do d++;while(e[d]<m);do p--;while(e[p]>m);if(d>=p)break;q_(e,t,r,d,p)}s.push(c,p,p+1,a)}}function q_(e,t,r,n,o){let i=e[n];e[n]=e[o],e[o]=i;let s=4*n,a=4*o,c=t[s],l=t[s+1],A=t[s+2],u=t[s+3];t[s]=t[a],t[s+1]=t[a+1],t[s+2]=t[a+2],t[s+3]=t[a+3],t[a]=c,t[a+1]=l,t[a+2]=A,t[a+3]=u;let m=r[n];r[n]=r[o],r[o]=m}function J_(e,t){let r=e^t,n=65535^r,o=65535^(e|t),i=e&(t^65535),s=r|n>>1,a=r>>1^r,c=o>>1^n&i>>1^o,l=r&o>>1^i>>1^i;r=s,n=a,o=c,i=l,s=r&r>>2^n&n>>2,a=r&n>>2^n&(r^n)>>2,c^=r&o>>2^n&i>>2,l^=n&o>>2^(r^n)&i>>2,r=s,n=a,o=c,i=l,s=r&r>>4^n&n>>4,a=r&n>>4^n&(r^n)>>4,c^=r&o>>4^n&i>>4,l^=n&o>>4^(r^n)&i>>4,r=s,n=a,o=c,i=l,c^=r&o>>8^n&i>>8,l^=n&o>>8^(r^n)&i>>8,r=c^c>>1,n=l^l>>1;let A=e^t,u=n|65535^(A|r);return A=(A|A<<8)&16711935,A=(A|A<<4)&252645135,A=(A|A<<2)&858993459,A=(A|A<<1)&1431655765,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,(u<<1|A)>>>0}var Gy,Bf,gs,Hy=g(()=>{Oy();Gy=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],Bf=3,gs=class e{static from(t,r=0){if(r%8!==0)throw new Error("byteOffset must be 8-byte aligned.");if(!t||t.byteLength===void 0||t.buffer)throw new Error("Data must be an instance of ArrayBuffer or SharedArrayBuffer.");let[n,o]=new Uint8Array(t,r+0,2);if(n!==251)throw new Error("Data does not appear to be in a Flatbush format.");let i=o>>4;if(i!==Bf)throw new Error(`Got v${i} data when expected v${Bf}.`);let s=Gy[o&15];if(!s)throw new Error("Unrecognized array type.");let[a]=new Uint16Array(t,r+2,1),[c]=new Uint32Array(t,r+4,1);return new e(c,a,s,void 0,t,r)}constructor(t,r=16,n=Float64Array,o=ArrayBuffer,i,s=0){if(t===void 0)throw new Error("Missing required argument: numItems.");if(isNaN(t)||t<=0)throw new Error(`Unexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+r,2),65535),this.byteOffset=s;let a=t,c=a;this._levelBounds=[a*4];do a=Math.ceil(a/this.nodeSize),c+=a,this._levelBounds.push(c*4);while(a!==1);this.ArrayType=n,this.IndexArrayType=c<16384?Uint16Array:Uint32Array;let l=Gy.indexOf(n),A=c*4*n.BYTES_PER_ELEMENT;if(l<0)throw new Error(`Unexpected typed array class: ${n}.`);if(i)this.data=i,this._boxes=new n(i,s+8,c*4),this._indices=new this.IndexArrayType(i,s+8+A,c),this._pos=c*4,this.minX=this._boxes[this._pos-4],this.minY=this._boxes[this._pos-3],this.maxX=this._boxes[this._pos-2],this.maxY=this._boxes[this._pos-1];else{let u=this.data=new o(8+A+c*this.IndexArrayType.BYTES_PER_ELEMENT);this._boxes=new n(u,8,c*4),this._indices=new this.IndexArrayType(u,8+A,c),this._pos=0,this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,new Uint8Array(u,0,2).set([251,(Bf<<4)+l]),new Uint16Array(u,2,1)[0]=r,new Uint32Array(u,4,1)[0]=t}this._queue=new ds}add(t,r,n=t,o=r){let i=this._pos>>2,s=this._boxes;return this._indices[i]=i,s[this._pos++]=t,s[this._pos++]=r,s[this._pos++]=n,s[this._pos++]=o,t<this.minX&&(this.minX=t),r<this.minY&&(this.minY=r),n>this.maxX&&(this.maxX=n),o>this.maxY&&(this.maxY=o),i}finish(){if(this._pos>>2!==this.numItems)throw new Error(`Added ${this._pos>>2} items when expected ${this.numItems}.`);let t=this._boxes;if(this.numItems<=this.nodeSize){t[this._pos++]=this.minX,t[this._pos++]=this.minY,t[this._pos++]=this.maxX,t[this._pos++]=this.maxY;return}let r=this.maxX-this.minX||1,n=this.maxY-this.minY||1,o=new Uint32Array(this.numItems),i=65535;for(let s=0,a=0;s<this.numItems;s++){let c=t[a++],l=t[a++],A=t[a++],u=t[a++],m=Math.floor(i*((c+A)/2-this.minX)/r),d=Math.floor(i*((l+u)/2-this.minY)/n);o[s]=J_(m,d)}j_(o,t,this._indices,0,this.numItems-1,this.nodeSize);for(let s=0,a=0;s<this._levelBounds.length-1;s++){let c=this._levelBounds[s];for(;a<c;){let l=a,A=t[a++],u=t[a++],m=t[a++],d=t[a++];for(let p=1;p<this.nodeSize&&a<c;p++)A=Math.min(A,t[a++]),u=Math.min(u,t[a++]),m=Math.max(m,t[a++]),d=Math.max(d,t[a++]);this._indices[this._pos>>2]=l,t[this._pos++]=A,t[this._pos++]=u,t[this._pos++]=m,t[this._pos++]=d}}}search(t,r,n,o,i){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let s=this._boxes.length-4,a=[],c=[];for(;s!==void 0;){let l=Math.min(s+this.nodeSize*4,Uy(s,this._levelBounds));for(let A=s;A<l;A+=4){let u=this._boxes[A];if(n<u)continue;let m=this._boxes[A+1];if(o<m)continue;let d=this._boxes[A+2];if(t>d)continue;let p=this._boxes[A+3];if(r>p)continue;let E=this._indices[A>>2]|0;s>=this.numItems*4?a.push(E):(i===void 0||i(E,u,m,d,p))&&c.push(E)}s=a.pop()}return c}neighbors(t,r,n=1/0,o=1/0,i){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let s=this._boxes.length-4,a=this._queue,c=[],l=o*o;e:for(;s!==void 0;){let A=Math.min(s+this.nodeSize*4,Uy(s,this._levelBounds));for(let u=s;u<A;u+=4){let m=this._indices[u>>2]|0,d=this._boxes[u],p=this._boxes[u+1],E=this._boxes[u+2],x=this._boxes[u+3],I=t<d?d-t:t>E?t-E:0,h=r<p?p-r:r>x?r-x:0,y=I*I+h*h;y>l||(s>=this.numItems*4?a.push(m<<1,y):(i===void 0||i(m))&&a.push((m<<1)+1,y))}for(;a.length&&a.peek()&1;)if(a.peekValue()>l||(c.push(a.pop()>>1),c.length===n))break e;s=a.length?a.pop()>>1:void 0}return a.clear(),c}}});var ps,Ai,jy,V_,qy,Jy=g(()=>{ps=f(w(),1),Ai=f(k(),1),jy=f(G(),1),V_=(0,jy.observer)(function({node:e,model:t,onClose:r}){return ps.default.createElement(Ai.Menu,{anchorReference:"anchorPosition",anchorPosition:{left:e.x,top:e.y},transitionDuration:0,keepMounted:!0,open:!!e,onClose:r},ps.default.createElement(Ai.MenuItem,{dense:!0,disabled:!0},e.name),ps.default.createElement(Ai.MenuItem,{dense:!0,onClick:()=>{t.toggleCollapsed(e.id),r()}},t.collapsed.includes(e.id)?"Expand this node":"Collapse this node"),ps.default.createElement(Ai.MenuItem,{dense:!0,onClick:()=>{t.showOnly===e.id?t.setShowOnly(void 0):t.setShowOnly(e.id),r()}},t.showOnly===e.id?"Disable show only this node":"Show only this node"))}),qy=V_});var zy={};Ye(zy,{default:()=>W_});var Dr,Vy,Yy,Wy,Y_,W_,$y=g(()=>{Dr=f(w(),1);dc();uf();Vy=f(we(),1),Yy=f(k(),1),Wy=f(G(),1);ff();Y_=(0,Wy.observer)(function({info:e,model:t,nodeName:r,onClose:n}){let{treeMetadata:o,rows:i}=t,s=o[r],a=i.find(c=>c[0]===r);return Dr.default.createElement(Vy.Dialog,{onClose:()=>{n()},open:!0,title:"Tree node info",maxWidth:"xl"},Dr.default.createElement(Yy.DialogContent,null,Dr.default.createElement(zn,{title:"Attributes"},Dr.default.createElement(_r,{attributes:{nodeName:r,...e}})),Dr.default.createElement(zn,{title:"Sequence"},a?Dr.default.createElement(us,{str:[a]}):Dr.default.createElement("div",null,"Sequence not found")),s?Dr.default.createElement(zn,{title:"Extra metadata"},Dr.default.createElement(_r,{attributes:s})):null))}),W_=Y_});var $r,pn,Ky,z_,$_,Xy,Zy=g(()=>{$r=f(w(),1),pn=f(k(),1),Ky=f(G(),1),z_=(0,$r.lazy)(()=>Promise.resolve().then(()=>($y(),zy))),$_=(0,Ky.observer)(function({node:e,onClose:t,model:r}){let{collapsed:n}=r,{name:o,id:i}=e,s=n.includes(i);return $r.default.createElement(pn.Menu,{anchorReference:"anchorPosition",anchorPosition:{top:e.y,left:e.x},transitionDuration:0,keepMounted:!0,open:!!e,onClose:t},$r.default.createElement(pn.MenuItem,{dense:!0,disabled:!0},o),$r.default.createElement(pn.MenuItem,{dense:!0,onClick:()=>{r.queueDialog(a=>[z_,{info:r.getRowData(o),model:r,nodeName:o,onClose:a}]),t()}},"More info..."),$r.default.createElement(pn.MenuItem,{dense:!0,onClick:()=>{r.toggleCollapsed(i),t()}},s?"Show node":"Hide node"),$r.default.createElement(pn.MenuItem,{dense:!0,onClick:()=>{r.drawRelativeTo(e.name),t()}},"Indicate differences from this row"),r.relativeTo?$r.default.createElement(pn.MenuItem,{dense:!0,onClick:()=>{r.drawRelativeTo(void 0),t()}},"Clear reference row"):null)}),Xy=$_});function eb(e){let t=0;if(e.children)for(let r of e.children){let n=eb(r)+1;n>t&&(t=n)}return e.height=t,t}function tb(e,t,r,n){let o=t(e),i={data:e,children:null,parent:r,depth:n,height:0};return o?.length&&(i.children=o.map(s=>tb(s,t,i,n+1))),i}function rb(e,t){let r=tb(e,t,null,0);return eb(r),r}function nb(e,t){function r(n){let o=t(n.data);if(n.children)for(let i of n.children)o+=r(i);return n.value=o,o}return r(e),e}function ob(e,t){function r(n){if(n.children){n.children.sort(t);for(let o of n.children)r(o)}}return r(e),e}function hs(e,t){if(t(e))return e;if(e.children)for(let r of e.children){let n=hs(r,t);if(n)return n}}function Cs(e){let t=[];function r(n){if(n.children)for(let o of n.children)r(o);else t.push(n)}return r(e),t}function ib(e){let t=[];function r(n){if(t.push(n),n.children)for(let o of n.children)r(o)}return r(e),t}function _c(e){let t=[];function r(n){if(n.children)for(let o of n.children)t.push({source:n,target:o}),r(o)}return r(e),t}function sb(e,t,r){let n=Cs(e),o=n.length,i=t/o;for(let l=0;l<o;l++)n[l].x=(l+.5)*i;function s(l){if(!l.children)return;for(let u of l.children)s(u);let A=0;for(let u of l.children)A+=u.x;l.x=A/l.children.length}s(e);let a=e.height;function c(l,A){if(l.y=a===0?r:A/a*r,l.children)for(let u of l.children)c(u,A+1)}c(e,0)}function ab(e){e.children&&(e._children=e.children,e.children=null)}function Es(e){if(e.depthToLeaf===void 0){let t=0;if(e.children)for(let r of e.children)t=Math.max(t,1+Es(r));e.depthToLeaf=t}return e.depthToLeaf}function Sf(e){let t=e.len||0;if(e.children)for(let r of e.children)t=Math.max(t,Sf(r));return t}function Qf(e){return(e.data.length||0)+(e.children?e.children.reduce((t,r)=>Math.max(t,Qf(r)),0):0)}function Mf(e,t,r){if(e.len=(t+=Math.max(e.data.length||0,0))*r,e.children)for(let n of e.children)Mf(n,t,r)}var vf=g(()=>{});function Dc(e,t,r,n){if(t)return e.len;let o=Es(e);return(n-o)/n*r}function K_({offsetY:e,ctx:t,model:r,theme:n,maxBranchLen:o,maxDepthToLeaf:i,blockSizeYOverride:s}){let{hierarchy:a,showBranchLenEffective:c,blockSize:l}=r,A=s||l;t.strokeStyle=n.palette.text.primary;for(let u of _c(a)){let{source:m,target:d}=u,p=m.x,E=d.x,x=Dc(d,c,o,i),I=Dc(m,c,o,i);if(x===void 0||I===void 0)continue;let h=Math.min(p,E),y=Math.max(p,E);e+A>=h&&y>=e&&(t.beginPath(),t.moveTo(I,p),t.lineTo(I,E),t.lineTo(x,E),t.stroke())}}function X_({ctx:e,clickMap:t,offsetY:r,model:n,maxBranchLen:o,maxDepthToLeaf:i,blockSizeYOverride:s}){let{hierarchy:a,showBranchLenEffective:c,collapsed:l,blockSize:A,marginLeft:u}=n,m=s||A;for(let d of ib(a)){let p=Dc(d,c,o,i);if(p===void 0)continue;let{data:E}=d,x=d.x,{id:I,name:h}=E;d.height>=1&&x>r-kc&&x<r+m+kc&&(e.strokeStyle="black",e.fillStyle=l.includes(I)?"black":"white",e.beginPath(),e.arc(p,x,Xn,0,2*Math.PI),e.fill(),e.stroke(),t?.insert({minX:p-Xn+u,maxX:p-Xn+Tf+u,minY:x-Xn,maxY:x-Xn+Tf,branch:!0,id:I,name:h}))}}function Z_({theme:e,model:t,offsetY:r,ctx:n,clickMap:o,maxBranchLen:i,maxDepthToLeaf:s,blockSizeYOverride:a}){let{fontSize:c,showBranchLenEffective:l,treeMetadata:A,blockSize:u,labelsAlignRight:m,drawTree:d,treeAreaWidth:p,treeAreaWidthMinusMargin:E,marginLeft:x,leaves:I,noTree:h}=t,y=a||u,Q=n.measureText("M").width;m?(n.textAlign="right",n.setLineDash([1,3])):n.textAlign="start";for(let M of I){let{data:{name:B,id:v}}=M,P=M.x,N=A[B]?.genome||B;if(P>r-kc&&P<r+y+kc){let $=P+c/4,S=0;h||(S=Dc(M,l,i,s)||0);let{width:L}=n.measureText(N);if(n.fillStyle=e.palette.text.primary,m){let O=E-2;d&&!h&&(n.moveTo(S+Xn+2,P),n.lineTo(O-2-L,P),n.stroke()),n.fillText(N,O,$),o?.insert({minX:p-L,maxX:p,minY:$-Q,maxY:$,name:B,id:v})}else{let J=h?2:S+Tf;n.fillText(N,J,$),o?.insert({minX:J+x,maxX:J+L+x,minY:$-Q,maxY:$,name:B,id:v})}}}n.setLineDash([])}function Nc({model:e,clickMap:t,ctx:r,offsetY:n,theme:o,highResScaleFactorOverride:i,blockSizeYOverride:s}){t?.clear();let{noTree:a,drawTree:c,drawNodeBubbles:l,highResScaleFactor:A,fontSize:u,showTreeText:m,marginLeft:d,nref:p,rowHeight:E}=e;r.resetTransform();let x=p<0?Number.NEGATIVE_INFINITY:i||A;r.scale(x,x),r.translate(d,-n);let I=r.font;r.font=I.replace(/\d+px/,`${u}px`);let{maxBranchLength:h,maxDepthToLeaf:y}=e;!a&&c&&(K_({ctx:r,offsetY:n,model:e,theme:o,maxBranchLen:h,maxDepthToLeaf:y,blockSizeYOverride:s}),l&&X_({ctx:r,offsetY:n,clickMap:t,model:e,maxBranchLen:h,maxDepthToLeaf:y,blockSizeYOverride:s})),m&&Z_({ctx:r,offsetY:n,model:e,clickMap:t,theme:o,maxBranchLen:h,maxDepthToLeaf:y,blockSizeYOverride:s}),t?.finish()}var ui,kc,Xn,Tf,Lc=g(()=>{vf();ui=600,kc=5,Xn=2.5,Tf=Xn*2});var ke,cb,lb,Ab,ub,ek,_f,tk,fb,mb=g(()=>{ke=f(w(),1),cb=f(k(),1);Hy();lb=f(Gr(),1),Ab=f(G(),1),ub=f(Se(),1);Jy();Zy();Lc();ek=(0,ub.makeStyles)()(e=>({tooltip:{position:"fixed",pointerEvents:"none",zIndex:1e4,backgroundColor:e.palette.grey[700],color:e.palette.common.white,padding:"4px 8px",borderRadius:4,fontSize:12,whiteSpace:"nowrap",maxWidth:300,overflow:"hidden",textOverflow:"ellipsis"}})),_f=class{flatbush=null;entries=[];clear(){this.flatbush=null,this.entries=[]}insert(t){this.entries.push(t)}finish(){if(this.entries.length===0){this.flatbush=null;return}else{this.flatbush=new gs(this.entries.length);for(let t of this.entries)this.flatbush.add(t.minX,t.minY,t.maxX,t.maxY);this.flatbush.finish()}}search(t){return this.flatbush?.search(t.minX,t.minY,t.maxX,t.maxY).map(r=>this.entries[r])??[]}},tk=(0,Ab.observer)(function({model:e,offsetY:t}){let{classes:r}=ek(),n=(0,cb.useTheme)(),o=(0,ke.useRef)(null),i=(0,ke.useRef)(new _f),s=(0,ke.useRef)(null),[a,c]=(0,ke.useState)(),[l,A]=(0,ke.useState)(),[u,m]=(0,ke.useState)(),[d,p]=(0,ke.useState)(),{scrollY:E,treeAreaWidth:x,blockSize:I,highResScaleFactor:h}=e,y=x+ui,Q=I,M=y*h,B=Q*h,v=(0,ke.useCallback)(S=>{e.incrementRef(),o.current=S},[e,Q,y]);(0,ke.useEffect)(()=>{let S=o.current?.getContext("2d");if(S)return(0,lb.autorun)(()=>{S.resetTransform(),S.clearRect(0,0,(x+ui)*h,I*h),Nc({ctx:S,model:e,offsetY:t,clickMap:i.current,theme:n})})},[e,I,h,x,t,n]),(0,ke.useEffect)(()=>{let S=s.current?.getContext("2d");if(S&&(S.resetTransform(),S.clearRect(0,0,x+ui,I),S.translate(0,-t),u)){let{minX:L,maxX:J,minY:O,maxY:Te}=u;S.fillStyle="rgba(0,0,0,0.1)",S.fillRect(L,O,J-L,Te-O)}},[u,t,I,x]);function P(S){let L=S.nativeEvent.offsetX,J=S.nativeEvent.offsetY,[O]=i.current.search({minX:L,maxX:L+1,minY:J+t,maxY:J+1+t});return O?.branch?{...O,x:S.clientX,y:S.clientY}:void 0}function N(S){let L=S.nativeEvent.offsetX,J=S.nativeEvent.offsetY,[O]=i.current.search({minX:L,maxX:L+1,minY:J+t,maxY:J+1+t});return O&&!O.branch?{...O,x:S.clientX,y:S.clientY}:void 0}let $={width:y,height:Q,top:E+t,left:0,position:"absolute"};return ke.default.createElement(ke.default.Fragment,null,a?.id?ke.default.createElement(qy,{node:a,model:e,onClose:()=>{c(void 0)}}):null,l?.id?ke.default.createElement(Xy,{node:l,model:e,onClose:()=>{A(void 0)}}):null,ke.default.createElement("canvas",{width:M,height:B,style:$,onMouseMove:S=>{if(!o.current)return;let L=N(S),J=P(S),O=L||J;if(o.current.style.cursor=O?"pointer":"default",m(L),p(O?{name:O.name,x:S.clientX,y:S.clientY}:void 0),O){if(e.setHoveredTreeNode(O.id),L?.name){let Te=e.rowNamesSet.get(L.name);Te!==void 0&&e.setMousePos(void 0,Te)}}else e.setHoveredTreeNode(void 0),e.setMousePos(void 0,void 0)},onClick:S=>{let{clientX:L,clientY:J}=S,O=P(S);O?.id&&c({x:L,y:J,id:O.id,name:O.name});let Te=N(S);Te?.id&&A({...Te,x:L,y:J})},onMouseLeave:()=>{m(void 0),p(void 0),e.setHoveredTreeNode(void 0),e.setMousePos(void 0,void 0)},ref:v}),ke.default.createElement("canvas",{style:{...$,pointerEvents:"none",zIndex:100},width:y,height:Q,ref:s}),d?ke.default.createElement("div",{className:r.tooltip,style:{left:d.x+12,top:d.y+12}},d.name):null)}),fb=tk});var Ar,gb,pb,hb,rk,db,nk,Cb,Eb=g(()=>{Ar=f(w(),1),gb=f(_t(),1),pb=f(Gr(),1),hb=f(G(),1);mb();Lc();zs();rk="rgba(0,128,255,0.3)",db="rgba(255,165,0,0.2)",nk=(0,hb.observer)(function({model:e}){let t=(0,Ar.useRef)(null),r=(0,Ar.useRef)(null),{treeWidth:n,height:o,blocksY:i,treeAreaWidth:s}=e,a=(0,Ar.useCallback)(A=>{e.doScrollY(A)},[e]),{onMouseDown:c,onMouseUp:l}=xo({ref:t,onScrollY:a});return(0,Ar.useEffect)(()=>{let A=r.current?.getContext("2d");return A?(0,pb.autorun)(()=>{if((0,gb.isAlive)(e)){let{relativeTo:u,leaves:m,rowHeight:d,hoveredTreeNode:p,treeAreaWidth:E,height:x,scrollY:I,mouseOverRowName:h}=e;A.resetTransform(),A.clearRect(0,0,E,x);let y=new Map(m.map(M=>[M.data.name,M])),Q=M=>{let B=y.get(M);B&&A.fillRect(0,B.x+I-d/2,E,d)};if(u&&(A.fillStyle=rk,Q(u)),p){A.fillStyle=db;for(let M of p.descendantNames)Q(M)}h&&h!==u&&!p?.descendantNames.includes(h)&&(A.fillStyle=db,Q(h))}}):void 0},[e]),Ar.default.createElement("div",{ref:t,onMouseDown:c,onMouseUp:l,onMouseLeave:A=>{A.preventDefault()},style:{height:o,position:"relative",width:n+ui}},i.map(A=>Ar.default.createElement(fb,{key:A,model:e,offsetY:A})),Ar.default.createElement("canvas",{ref:r,width:s,height:o,style:{position:"absolute",top:0,left:0,width:s,height:o,zIndex:1e3,pointerEvents:"none"}}))}),Cb=nk});var kf,Ib,ok,xb,yb=g(()=>{kf=f(w(),1),Ib=f(G(),1);Eb();ok=(0,Ib.observer)(function({model:e}){let{treeAreaWidth:t}=e;return kf.default.createElement("div",{style:{overflow:"hidden",flexShrink:0,width:t}},kf.default.createElement(Cb,{model:e}))}),xb=ok});var bb,wb,ik,Bb,Sb=g(()=>{bb=f(w(),1),wb=f(G(),1),ik=(0,wb.observer)(({model:e})=>{let{treeAreaWidth:t}=e;return bb.default.createElement("div",{style:{flexShrink:0,width:t}})}),Bb=ik});var re,Zn,sk,ak,ck,lk,Ak,uk,Qb,Mb=g(()=>{re=f(w(),1),Zn=f(G(),1);Kd();cg();fg();uy();dy();Py();yb();Sb();sk=(0,Zn.observer)(function({model:e}){let{showHorizontalScrollbar:t}=e;return re.default.createElement("div",{style:{display:"flex"}},re.default.createElement(Bb,{model:e}),t?re.default.createElement(my,{model:e}):null)}),ak=(0,Zn.observer)(function({model:e}){let{mouseCol:t,mouseClickCol:r,colWidth:n,scrollX:o,treeAreaWidth:i,resizeHandleWidth:s,totalTrackAreaHeight:a,msaAreaWidth:c,verticalScrollbarWidth:l}=e,A=i+s,u=c-l;return re.default.createElement("div",{style:{position:"absolute",left:A,top:0,width:u,height:a,overflow:"hidden",pointerEvents:"none"}},t!==void 0?re.default.createElement("div",{style:{position:"absolute",left:t*n+o,top:0,width:n,height:a,backgroundColor:"rgba(0,0,0,0.15)",zIndex:100}}):null,r!==void 0?re.default.createElement("div",{style:{position:"absolute",left:r*n+o,top:0,width:n,height:a,backgroundColor:"rgba(128,128,0,0.2)",zIndex:100}}):null)}),ck=(0,Zn.observer)(function({model:e}){let{turnedOnTracks:t}=e;return t.length===0?null:re.default.createElement("div",{style:{position:"relative"}},re.default.createElement(ak,{model:e}),t.map(r=>re.default.createElement(ag,{key:r.model.id,model:e,track:r})))}),lk=(0,Zn.observer)(function({model:e}){let{showVerticalScrollbar:t}=e;return re.default.createElement("div",{style:{display:"flex"}},re.default.createElement(xb,{model:e}),re.default.createElement(zd,{model:e}),re.default.createElement(Ry,{model:e}),t?re.default.createElement(ug,{model:e}):null)}),Ak=(0,Zn.observer)(function({model:e}){return re.default.createElement("div",{style:{position:"relative"}},re.default.createElement(sk,{model:e}),re.default.createElement(ck,{model:e}),re.default.createElement(lk,{model:e}))}),uk=(0,Zn.observer)(function({model:e}){let{height:t,viewInitialized:r,DialogComponent:n,DialogProps:o}=e;return re.default.createElement("div",null,r?re.default.createElement(re.default.Fragment,null,re.default.createElement("div",{style:{height:t,overflow:"hidden"}},re.default.createElement(Ay,{model:e}),re.default.createElement(Ak,{model:e})),re.default.createElement($d,{model:e}),n?re.default.createElement(re.Suspense,{fallback:null},re.default.createElement(n,{...o})):null):null)}),Qb=uk});var vb,Tb,_b,kb=g(()=>{vb=`CLUSTAL O(1.2.3) multiple sequence alignment
40
+ `);return dr.default.createElement(dr.default.Fragment,null,dr.default.createElement(zc.Button,{color:"primary",variant:"contained",onClick:()=>{rs(l),n(!0),setTimeout(()=>{n(!1)},500)}},r?"Copied!":"Copy to clipboard"),dr.default.createElement(pt,{label:"Show gaps",checked:o,onChange:()=>{i(!o)}}),dr.default.createElement(pt,{label:"Show empty",checked:s,onChange:()=>{a(!s)}}),dr.default.createElement(zc.TextField,{variant:"outlined",multiline:!0,className:t.dialogContent,minRows:5,maxRows:10,fullWidth:!0,value:l,slotProps:{input:{readOnly:!0,className:t.textAreaFont}}}))}var dr,zc,Ly,fk,md=g(()=>{dr=f(Q(),1),zc=f(N(),1),Ly=f(Qe(),1);Wc();VA();fk=(0,Ly.makeStyles)()({textAreaFont:{fontFamily:"Courier New",wordWrap:"break-word"},dialogContent:{background:"lightgrey",margin:4,minWidth:"80em"}})});var Oy={};We(Oy,{default:()=>mk});var Si,Ry,Fy,Py,dk,mk,Gy=g(()=>{Si=f(Q(),1);qc();dd();Ry=f(Me(),1),Fy=f(N(),1),Py=f(U(),1);md();dk=(0,Py.observer)(function({model:e,onClose:t}){let{header:r}=e;return Si.default.createElement(Ry.Dialog,{onClose:()=>{t()},open:!0,title:"Metadata",maxWidth:"xl"},Si.default.createElement(Fy.DialogContent,null,Si.default.createElement(Lr,{attributes:r}),Si.default.createElement(Ao,{title:"sequence"},Si.default.createElement(Ns,{str:e.rows}))))}),mk=dk});var Hy={};We(Hy,{default:()=>Uy});function Uy({model:e,onClose:t}){let[r,n]=(0,Se.useState)(!0),[o,i]=(0,Se.useState)(!0),[s,a]=(0,Se.useState)("viewport"),[c,l]=(0,Se.useState)(),A=(0,ye.useTheme)(),{totalWidth:u,totalHeight:d,treeAreaWidth:m,turnedOnTracks:C,totalTrackAreaHeight:E}=e,x=C.length>0,I=u+m,p=d+(o?E:0),y=s==="entire"&&(I>1e4||p>1e4);return Se.default.createElement($c.Dialog,{onClose:()=>{t()},open:!0,title:"Export SVG"},Se.default.createElement(ye.DialogContent,null,c?Se.default.createElement($c.ErrorMessage,{error:c}):null,Se.default.createElement(ye.Typography,null,"Settings:"),Se.default.createElement(pt,{label:"Include minimap?",disabled:s==="entire",checked:r,onChange:()=>{n(!r)}}),x?Se.default.createElement(pt,{label:"Include tracks?",checked:o,onChange:()=>{i(!o)}}):null,Se.default.createElement("div",null,Se.default.createElement(ye.FormControl,null,Se.default.createElement(ye.FormLabel,null,"Export type"),Se.default.createElement(ye.RadioGroup,{value:s,onChange:B=>{let{value:b}=B.target;(b==="entire"||b==="viewport")&&a(b)}},Se.default.createElement(ye.FormControlLabel,{value:"entire",control:Se.default.createElement(ye.Radio,null),label:"Entire MSA"}),Se.default.createElement(ye.FormControlLabel,{value:"viewport",control:Se.default.createElement(ye.Radio,null),label:"Current viewport only"})))),y?Se.default.createElement(ye.Alert,{severity:"warning",style:{marginTop:8}},"The entire MSA is very large (",Math.round(I),"x",Math.round(p)," pixels). Export may be slow or fail."):null),Se.default.createElement(ye.DialogActions,null,Se.default.createElement(ye.Button,{variant:"contained",color:"primary",onClick:()=>{e.exportSVG({theme:A,includeMinimap:s==="entire"?!1:r,includeTracks:x&&o,exportType:s}).then(()=>{t()}).catch(B=>{console.error(B),l(B)})}},"Submit"),Se.default.createElement(ye.Button,{variant:"contained",color:"secondary",onClick:()=>{t()}},"Cancel")))}var Se,$c,ye,jy=g(()=>{Se=f(Q(),1),$c=f(Me(),1),ye=f(N(),1);Wc()});var Wy={};We(Wy,{default:()=>Ek});var $,Jy,Ze,Ls,Vy,Yy,qy,pk,gk,hk,Ck,Ek,zy=g(()=>{$=f(Q(),1),Jy=f(Me(),1),Ze=f(N(),1),Ls=f(U(),1),Vy=f(Qe(),1);vc();Wc();Yy=(0,Vy.makeStyles)()(e=>({field:{margin:e.spacing(4)},flex:{display:"flex"},minw:{width:"80em"}})),qy=(e=0)=>+e.toFixed(1),pk=(0,Ls.observer)(function({model:e}){return $.default.createElement($.default.Fragment,null,$.default.createElement(gk,{model:e}),$.default.createElement(hk,{model:e}))}),gk=(0,Ls.observer)(function({model:t}){let{drawTree:r,drawLabels:n,drawNodeBubbles:o,labelsAlignRight:i,showBranchLen:s}=t;return $.default.createElement("div",null,$.default.createElement("h1",null,"Tree options"),$.default.createElement(pt,{checked:s,label:"Show branch length?",onChange:()=>{t.setShowBranchLen(!s)}}),$.default.createElement(pt,{checked:o,label:"Draw clickable bubbles on tree branches?",onChange:()=>{t.setDrawNodeBubbles(!o)}}),$.default.createElement(pt,{checked:r,label:"Show tree?",onChange:()=>{t.setDrawTree(!r)}}),$.default.createElement(pt,{checked:i,label:"Tree labels align right?",onChange:()=>{t.setLabelsAlignRight(!i)}}),$.default.createElement(pt,{checked:n,label:"Draw labels",onChange:()=>{t.setDrawLabels(!n)}}))}),hk=(0,Ls.observer)(function({model:t}){let{classes:r}=Yy(),{bgColor:n,colWidth:o,allowedGappyness:i,drawMsaLetters:s,colorSchemeName:a,hideGaps:c,rowHeight:l}=t;return $.default.createElement("div",null,$.default.createElement("h1",null,"MSA options"),$.default.createElement(pt,{checked:s,label:"Draw letters",onChange:()=>{t.setDrawMsaLetters(!s)}}),$.default.createElement(pt,{checked:n,label:"Color letters instead of background of tiles",onChange:()=>{t.setBgColor(!n)}}),$.default.createElement(pt,{checked:c,label:"Enable hiding gappy columns?",onChange:()=>{t.setHideGaps(!c)}}),c?$.default.createElement("div",{className:r.flex},$.default.createElement(Ze.Typography,null,"Hide columns w/ >",i,"% gaps"),$.default.createElement(Ze.Slider,{className:r.field,min:1,max:100,value:i,onChange:(A,u)=>{t.setAllowedGappyness(u)}})):null,$.default.createElement("div",{className:r.flex},$.default.createElement(Ze.Typography,null,"Column width (",qy(o),"px)"),$.default.createElement(Ze.Slider,{className:r.field,min:1,max:50,value:o,onChange:(A,u)=>{t.setColWidth(u)}})),$.default.createElement("div",{className:r.flex},$.default.createElement(Ze.Typography,null,"Row height (",qy(l),"px)"),$.default.createElement(Ze.Slider,{className:r.field,min:1,max:50,value:l,onChange:(A,u)=>{t.setRowHeight(u)}})),$.default.createElement(Ze.TextField,{select:!0,label:"Color scheme",value:a,onChange:A=>{t.setColorSchemeName(A.target.value)}},Object.keys(ao).map(A=>$.default.createElement(Ze.MenuItem,{key:A,value:A},A))))}),Ck=(0,Ls.observer)(function({model:e,onClose:t}){let{classes:r}=Yy();return $.default.createElement(Jy.Dialog,{open:!0,title:"Settings",maxWidth:"xl",onClose:()=>{t()}},$.default.createElement(Ze.DialogContent,{className:r.minw},$.default.createElement(pk,{model:e}),$.default.createElement(Ze.DialogActions,null,$.default.createElement(Ze.Button,{variant:"contained",color:"primary",onClick:()=>{t()}},"Submit"))))}),Ek=Ck});var uo,$y,Ik,xk,yk,wk,Ky,Xy=g(()=>{uo=f(Q(),1);Ei();tx();Ff();ix();ax();Of();$y=f(U(),1);sy();Ik=(0,uo.lazy)(()=>Promise.resolve().then(()=>(Gy(),Oy))),xk=(0,uo.lazy)(()=>Promise.resolve().then(()=>(jy(),Hy))),yk=(0,uo.lazy)(()=>Promise.resolve().then(()=>(zy(),Wy))),wk=(0,$y.observer)(({model:e})=>uo.default.createElement(kr,{"data-testid":"file_menu",menuItems:[{label:"Return to import form",icon:Tc,onClick:()=>{e.reset()}},{label:"Metadata",icon:ex,onClick:()=>{e.queueDialog(t=>[Ik,{model:e,onClose:t}])}},{label:"More settings",icon:_c,onClick:()=>{e.queueDialog(t=>[yk,{model:e,onClose:t}])}},{label:"Domain settings",type:"subMenu",subMenu:iy({model:e})},{label:"Export SVG",icon:sx,onClick:()=>{e.queueDialog(t=>[xk,{onClose:t,model:e}])}}],anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"}},uo.default.createElement(ox,null))),Ky=wk});var Kc,Xc,Zy,bk,ew,tw=g(()=>{Kc=f(Q(),1),Xc=f(N(),1),Zy=f(U(),1),bk=(0,Zy.observer)(function({model:t}){let{hideGaps:r,allowedGappyness:n}=t;return r?Kc.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},Kc.default.createElement(Xc.Typography,{style:{whiteSpace:"nowrap"}},"Hide columns w/ >",n,"% gaps"),Kc.default.createElement(Xc.Slider,{style:{width:100},min:1,max:100,value:n,onChange:(o,i)=>{t.setAllowedGappyness(i)}})):null}),ew=bk});var Zc,rw,nw,ow,Bk,Sk,iw,sw=g(()=>{Zc=f(Q(),1),rw=f(N(),1),nw=f(U(),1),ow=f(Qe(),1),Bk=(0,ow.makeStyles)()({container:{display:"flex",overflow:"hidden",margin:"auto",marginLeft:10},nameFirst:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},nameRest:{whiteSpace:"nowrap",flexShrink:0}}),Sk=(0,nw.observer)(function({model:e}){let{mouseOverRowName:t,mouseCol:r}=e,{classes:n}=Bk();if(!t||r===void 0)return null;let o=Math.floor(t.length/2),i=e.visibleColToSeqPosOneBased(t,r),s=e.visibleColToRowLetter(t,r);return Zc.default.createElement(rw.Typography,{component:"div",className:n.container,title:t},Zc.default.createElement("span",{className:n.nameFirst},t.slice(0,o)),Zc.default.createElement("span",{className:n.nameRest},t.slice(o),":",i," (",s,")"))}),iw=Sk});var Rs,aw,el,cw,lw,Qk,Mk,Aw,uw=g(()=>{Rs=f(Q(),1),aw=f(Me(),1),el=f(N(),1),cw=f(U(),1),lw=f(Qe(),1),Qk=(0,lw.makeStyles)()({margin:{margin:"auto",marginLeft:10}}),Mk=(0,cw.observer)(({model:e})=>{let{status:t}=e,{classes:r}=Qk();return t?Rs.default.createElement(el.Typography,{className:r.margin},Rs.default.createElement(aw.LoadingEllipses,{message:t.msg,component:"span"})," ",t.url?Rs.default.createElement("a",{href:t.url,target:"_blank",rel:"noreferrer"},"(status)"):null," ",t.onCancel?Rs.default.createElement(el.Button,{size:"small",onClick:()=>t.onCancel?.()},"Cancel"):null):null}),Aw=Mk});var fw,dw,mw=g(()=>{"use client";V();fw=f(P(),1),dw=(0,D.createSvgIcon)((0,fw.jsx)("path",{d:"M3 17v2h6v-2zM3 5v2h10V5zm10 16v-2h8v-2h-8v-2h-2v6zM7 9v2H3v2h4v2h2V9zm14 4v-2H11v2zm-6-4h2V7h4V5h-4V3h-2z"}),"Tune")});function pw(e){let{drawMsaLetters:t,hideGaps:r,bgColor:n}=e;return[{label:"Draw letters",type:"checkbox",checked:t,onClick:()=>{e.setDrawMsaLetters(!t)}},{label:"Color letters instead of background of tiles",type:"checkbox",checked:!n,onClick:()=>{e.setBgColor(!n)}},{label:"Enable hiding gappy columns?",type:"checkbox",checked:r,onClick:()=>{e.setHideGaps(!r)}}]}function gw(e){let{drawTree:t,showBranchLen:r,labelsAlignRight:n,drawNodeBubbles:o,drawLabels:i}=e;return[{label:"Show branch length",type:"checkbox",checked:r,onClick:()=>{e.setShowBranchLen(!r)}},{label:"Show tree",type:"checkbox",checked:t,onClick:()=>{e.setDrawTree(!t)}},{label:"Draw clickable bubbles on tree branches",type:"checkbox",checked:o,onClick:()=>{e.setDrawNodeBubbles(!o)}},{label:"Tree labels align right",type:"checkbox",checked:n,onClick:()=>{e.setLabelsAlignRight(!n)}},{label:"Draw labels",type:"checkbox",checked:i,onClick:()=>{e.setDrawLabels(!i)}}]}var pd=g(()=>{});var gd,hw,vk,Cw,Ew=g(()=>{gd=f(Q(),1);Ei();mw();hw=f(U(),1);pd();vk=(0,hw.observer)(function({model:e}){return gd.default.createElement(kr,{"data-testid":"msa_settings_menu",closeAfterItemClick:!1,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},menuItems:pw(e)},gd.default.createElement(dw,null))}),Cw=vk});var hd,tl,Iw,Tk,xw,yw=g(()=>{hd=f(Q(),1),tl=f(N(),1),Iw=f(U(),1),Tk=(0,Iw.observer)(function({model:e}){let{currentAlignment:t,alignmentNames:r}=e;return r.length>0?hd.default.createElement(tl.TextField,{select:!0,variant:"outlined",value:t,size:"small",onChange:n=>{e.setCurrentAlignment(+n.target.value),e.setScrollX(0),e.setScrollY(0)}},r.map((n,o)=>hd.default.createElement(tl.MenuItem,{key:`${n}-${o}`,value:o},n))):null}),xw=Tk});var ww,bw,Bw=g(()=>{"use client";V();ww=f(P(),1),bw=(0,D.createSvgIcon)((0,ww.jsx)("path",{d:"M22 11V3h-7v3H9V3H2v8h7V8h2v10h4v3h7v-8h-7v3h-2V8h2v3z"}),"AccountTree")});var Cd,Sw,_k,Qw,Mw=g(()=>{Cd=f(Q(),1);Ei();Bw();Sw=f(U(),1);pd();_k=(0,Sw.observer)(function({model:e}){let{rows:t}=e;return Cd.default.createElement(kr,{"data-testid":"tree_settings_menu",closeAfterItemClick:!1,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},menuItems:[...gw(e),...t.length>=2?[{label:"Advanced",type:"subMenu",subMenu:[{label:"Calculate neighbor joining tree (BLOSUM62)",onClick:()=>{try{e.calculateNeighborJoiningTreeFromMSA()}catch(r){console.error("Failed to calculate NJ tree:",r),e.setError(r)}}}]}]:[]]},Cd.default.createElement(bw,null))}),Qw=_k});var Ed,vw,Tw=g(()=>{"use client";V();Ed=f(P(),1),vw=(0,D.createSvgIcon)([(0,Ed.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"},"0"),(0,Ed.jsx)("path",{d:"M12 10h-2v2H9v-2H7V9h2V7h1v2h2z"},"1")],"ZoomIn")});var _w,Dw,kw=g(()=>{"use client";V();_w=f(P(),1),Dw=(0,D.createSvgIcon)((0,_w.jsx)("path",{d:"M9 9V3H7v2.59L3.91 2.5 2.5 3.91 5.59 7H3v2zm12 0V7h-2.59l3.09-3.09-1.41-1.41L17 5.59V3h-2v6zM3 15v2h2.59L2.5 20.09l1.41 1.41L7 18.41V21h2v-6zm12 0v6h2v-2.59l3.09 3.09 1.41-1.41L18.41 17H21v-2z"}),"ZoomInMap")});var Nw,Lw,Rw=g(()=>{"use client";V();Nw=f(P(),1),Lw=(0,D.createSvgIcon)((0,Nw.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14M7 9h5v1H7z"}),"ZoomOut")});var on,Fs,Fw,Dk,Pw,Ow=g(()=>{on=f(Q(),1);Tw();kw();Rw();Fs=f(N(),1),Fw=f(U(),1),Dk=(0,Fw.observer)(function({model:t}){return on.default.createElement(on.default.Fragment,null,on.default.createElement(Fs.IconButton,{onClick:()=>{t.zoomIn()}},on.default.createElement(vw,null)),on.default.createElement(Fs.IconButton,{onClick:()=>{t.zoomOut()}},on.default.createElement(Lw,null)),on.default.createElement(Fs.ToggleButton,{value:"scrollZoom",selected:t.scrollZoom,title:"Toggle scroll-to-zoom (zoom on plain mouse wheel; ctrl+wheel always zooms)",size:"small",sx:{border:"none"},onChange:()=>{t.setScrollZoom(!t.scrollZoom)}},on.default.createElement(Dw,null)))}),Pw=Dk});var Gw,Uw,Hw=g(()=>{"use client";V();Gw=f(P(),1),Uw=(0,D.createSvgIcon)((0,Gw.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert")});var jw,qw,Jw=g(()=>{"use client";V();jw=f(P(),1),qw=(0,D.createSvgIcon)((0,jw.jsx)("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8m-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91"}),"RestartAlt")});var Id,Vw,kk,Yw,Ww=g(()=>{Id=f(Q(),1);Ei();Hw();Jw();Vw=f(U(),1),kk=(0,Vw.observer)(function({model:e}){return Id.default.createElement(kr,{menuItems:[{label:"Fit both vertically/horizontally",onClick:()=>{e.fit()}},{label:"Fit vertically",onClick:()=>{e.fitVertically()}},{label:"Fit horizontally",onClick:()=>{e.fitHorizontally()}},{label:"Reset zoom to default",icon:qw,onClick:()=>{e.resetZoom()}},{label:"Scroll zoom",type:"checkbox",checked:e.scrollZoom,onClick:()=>{e.setScrollZoom(!e.scrollZoom)},helpText:"When enabled, scrolling the mouse wheel zooms in and out without holding ctrl. Hold shift to pan instead. Ctrl/\u2318+wheel always zooms."}]},Id.default.createElement(Uw,null))}),Yw=kk});var zw,$w=g(()=>{zw="5.4.1"});var Zw={};We(Zw,{default:()=>Xw});function Xw({onClose:e}){return He.default.createElement(Kw.Dialog,{open:!0,title:"About",onClose:()=>{e()}},He.default.createElement(vt.DialogContent,null,He.default.createElement(vt.Typography,null,"MSAView ",zw," (",He.default.createElement(vt.Link,{href:"https://github.com/gmod/react-msaview"},"Github"),")"),He.default.createElement("ul",null,He.default.createElement("li",null,He.default.createElement(vt.Typography,null,"We use some color schemes from the"," ",He.default.createElement(vt.Link,{href:"https://github.com/biotite-dev/biotite"},"biotite")," ","project, and their license is reproduced"," ",He.default.createElement(vt.Link,{href:"https://github.com/biotite-dev/biotite/blob/master/LICENSE.rst"},"here"))),He.default.createElement("li",null,He.default.createElement(vt.Typography,null,"See this page for some information on jalview colorings"," ",He.default.createElement(vt.Link,{href:"https://www.jalview.org/help/html/colourSchemes/"},"here"))),He.default.createElement("li",null,He.default.createElement(vt.Typography,null,"See this page for some info on the clustal, cinema, maeditor, and lesk color schemes"," ",He.default.createElement(vt.Link,{href:"http://www.bioinformatics.nl/~berndb/aacolour.html"},"here"))),He.default.createElement("li",null,He.default.createElement(vt.Typography,null,"See this paper about the flower color scheme"," ",He.default.createElement(vt.Link,{href:"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7245768/"},"here"))))))}var He,Kw,vt,eb=g(()=>{He=f(Q(),1),Kw=f(Me(),1),vt=f(N(),1);$w()});function Rk(){return Le.default.createElement("div",{style:{flex:1}})}var Le,tb,rb,Nk,Lk,nb,ob=g(()=>{Le=f(Q(),1);Ug();qg();tb=f(N(),1),rb=f(U(),1);XI();Xy();tw();sw();uw();Ew();yw();Mw();Ow();Ww();Nk=(0,Le.lazy)(()=>Promise.resolve().then(()=>(eb(),Zw))),Lk=(0,rb.observer)(function({model:e}){let[t,{height:r}]=WA();return(0,Le.useEffect)(()=>{e.setHeaderHeight(r??0)},[e,r]),Le.default.createElement("div",{ref:t,style:{display:"flex"}},Le.default.createElement(Ky,{model:e}),Le.default.createElement(KI,{model:e}),Le.default.createElement(Qw,{model:e}),Le.default.createElement(Cw,{model:e}),Le.default.createElement(Pw,{model:e}),Le.default.createElement(Yw,{model:e}),Le.default.createElement(ew,{model:e}),Le.default.createElement("div",{style:{paddingLeft:20,margin:"auto"}},Le.default.createElement(xw,{model:e})),Le.default.createElement(iw,{model:e}),Le.default.createElement(Rk,null),Le.default.createElement(Aw,{model:e}),Le.default.createElement(tb.IconButton,{onClick:()=>{e.queueDialog(n=>[Nk,{onClose:n}])}},Le.default.createElement(jg,null)))});nb=Lk});var Rr,ib,Fk,sb,ab=g(()=>{Rr=f(Q(),1),ib=f(U(),1);hA();ba();Fk=(0,ib.observer)(function({model:e}){let[t,r]=(0,Rr.useState)(!1),{minimapHeight:n}=e,{unit:o,s:i,w:s,polygonHeight:a,polygonPoints:c}=fa(e),l="rgba(66, 119, 127, 0.3)",{startDrag:A}=pn("x",(0,Rr.useCallback)((u,d)=>{e.setScrollX(d-u/o)},[e,o]));return Rr.default.createElement("div",{style:{position:"relative",height:n,width:"100%"}},Rr.default.createElement("div",{style:{height:12,boxSizing:"border-box",border:"1px solid #555"}}),Rr.default.createElement("div",{style:{position:"absolute",top:0,left:Math.max(0,i),background:t?"rgba(66,119,127,0.6)":l,cursor:"pointer",height:12,width:s,zIndex:100},onMouseOver:()=>{r(!0)},onMouseOut:()=>{r(!1)},onMouseDown:u=>{A(u,e.scrollX)}}),Rr.default.createElement("svg",{height:a,style:{width:"100%"}},Rr.default.createElement("polygon",{fill:l,points:c})))}),sb=Fk});function xd(){return rl.default.createElement("div",{style:{position:"absolute",left:"50%",top:"50%"}},rl.default.createElement(nl.CircularProgress,null),rl.default.createElement(nl.Typography,null,"Loading..."))}var rl,nl,cb=g(()=>{rl=f(Q(),1),nl=f(N(),1)});function ol(e){let t=(0,Ab.useTheme)(),r=(0,lb.useMemo)(()=>Wi(e,t),[e,t]);return{theme:t,contrastScheme:r}}var lb,Ab,yd=g(()=>{lb=f(Q(),1),Ab=f(N(),1);mn()});function ub(e,t,r,n,o,i){let{left:s,top:a}=t.getBoundingClientRect();return{col:Math.floor((e.clientX-s+r)/o),row:Math.floor((e.clientY-a+n)/i)}}var mr,fb,db,mb,Pk,pb,gb=g(()=>{mr=f(Q(),1),fb=f(Me(),1),db=f(lr(),1),mb=f(U(),1);EA();_A();yd();Pk=(0,mb.observer)(function({model:e,offsetX:t,offsetY:r}){let{colWidth:n,rowHeight:o,scrollY:i,scrollX:s,colorScheme:a,blockSize:c,mouseClickCol:l,mouseClickRow:A,highResScaleFactor:u}=e,{theme:d,contrastScheme:m}=ol(a),C=(0,mr.useRef)(null);(0,mr.useEffect)(()=>{let p=C.current?.getContext("2d");if(p)return(0,db.autorun)(()=>{p.resetTransform(),p.clearRect(0,0,c*u,c*u),e.actuallyShowDomains&&ma({ctx:p,offsetX:t,offsetY:r,model:e}),Ea({ctx:p,theme:d,offsetX:t,offsetY:r,contrastScheme:m,model:e})})},[e,t,r,d,c,u,m]);let[E,x]=(0,mr.useState)(),{hoveredInsertion:I}=e;return mr.default.createElement(mr.default.Fragment,null,mr.default.createElement("canvas",{ref:C,onMouseMove:p=>{if(C.current){let{col:y,row:B}=ub(p,C.current,t,r,n,o);y>=0&&y<e.numColumns&&B>=0&&B<e.numRows?e.setMousePos(y,B):e.setMousePos(void 0,void 0),x(e.hoveredInsertion?{x:p.clientX,y:p.clientY}:void 0)}},onClick:p=>{if(C.current){let{col:y,row:B}=ub(p,C.current,t,r,n,o);y===l&&B===A?e.setMouseClickPos(void 0,void 0):e.setMouseClickPos(y,B)}},onMouseLeave:()=>{e.setMousePos(),x(void 0)},width:c*u,height:c*u,style:{position:"absolute",top:i+r,left:s+t,width:c,height:c}}),I&&E?mr.default.createElement(fb.BaseTooltip,{clientPoint:{x:E.x,y:E.y+15}},"Insertion (",I.letters.length,e.sequenceType==="amino"?"aa":"bp","):"," ",I.letters.length>20?`${I.letters.slice(0,20)}...`:I.letters):null)}),pb=Pk});var Fr,hb,Ok,Cb,Eb=g(()=>{Fr=f(Q(),1),hb=f(U(),1);cb();gb();Sa();Ok=(0,hb.observer)(function({model:e}){let{MSA:t,verticalScrollbarWidth:r,msaFilehandle:n,height:o,msaAreaWidth:i,blocks2d:s,scrollZoom:a}=e,c=(0,Fr.useRef)(null),l=(0,Fr.useCallback)(C=>{e.doScrollX(C)},[e]),A=(0,Fr.useCallback)(C=>{e.doScrollY(C)},[e]),u=(0,Fr.useCallback)((C,E,x)=>{e.zoomToPos(C,E,x)},[e]),{onMouseDown:d,onMouseUp:m}=Go({ref:c,onScrollX:l,onScrollY:A,onZoom:u,scrollZoom:a});return Fr.default.createElement("div",{ref:c,onMouseDown:d,onMouseUp:m,onMouseLeave:C=>{C.preventDefault()},style:{position:"relative",height:o,width:i-r,overflow:"hidden"}},!t&&!n?null:t?s.map(([C,E])=>Fr.default.createElement(pb,{key:`${C}_${E}`,model:e,offsetX:C,offsetY:E})):Fr.default.createElement(xd,null))}),Cb=Ok});function xb({ctx:e,model:t}){let{mouseCol:r,colWidth:n,msaAreaWidth:o,verticalScrollbarWidth:i,height:s,rowHeight:a,scrollX:c,scrollY:l,mouseRow:A,mouseClickRow:u,mouseClickCol:d,relativeTo:m,hoveredTreeNode:C,highlightedColumns:E,highResScaleFactor:x}=t,I=o-i;if(e.resetTransform(),e.clearRect(0,0,I*x,s*x),e.scale(x,x),m){let p=t.rowNamesSet.get(m);p!==void 0&&(e.fillStyle=Gk,e.fillRect(0,p*a+l,I,a))}if(C){e.fillStyle=Uk;for(let p of C.descendantNames){let y=t.rowNamesSet.get(p);y!==void 0&&e.fillRect(0,y*a+l,I,a)}}if(E?.length){e.fillStyle=wd;for(let p of E)e.fillRect(p*n+c,0,n,s)}r!==void 0&&(e.fillStyle=Ib,e.fillRect(r*n+c,0,n,s)),A!==void 0&&(e.fillStyle=Ib,e.fillRect(0,A*a+l,I,a)),d!==void 0&&(e.fillStyle=wd,e.fillRect(d*n+c,0,n,s)),u!==void 0&&(e.fillStyle=wd,e.fillRect(0,u*a+l,I,a))}var Ib,wd,Gk,Uk,yb=g(()=>{Ib="rgba(0,0,0,0.15)",wd="rgba(128,128,0,0.2)",Gk="rgba(0,128,255,0.3)",Uk="rgba(255,165,0,0.15)"});var Qi,wb,bb,Bb,Hk,Sb,Qb=g(()=>{Qi=f(Q(),1),wb=f(Ft(),1),bb=f(lr(),1),Bb=f(U(),1);yb();Hk=(0,Bb.observer)(function({model:e}){let t=(0,Qi.useRef)(null),{height:r,msaAreaWidth:n,verticalScrollbarWidth:o,highResScaleFactor:i}=e,s=n-o;return(0,Qi.useEffect)(()=>{let a=t.current?.getContext("2d");return a?(0,bb.autorun)(()=>{(0,wb.isAlive)(e)&&xb({ctx:a,model:e})}):void 0},[e]),Qi.default.createElement("canvas",{ref:t,id:"mouseover",width:s*i,height:r*i,style:{position:"absolute",top:0,left:0,width:s,height:r,zIndex:1e3,pointerEvents:"none"}})}),Sb=Hk});var il,Mb,jk,vb,Tb=g(()=>{il=f(Q(),1),Mb=f(U(),1);Eb();Qb();jk=(0,Mb.observer)(function({model:e}){return il.default.createElement("div",{style:{position:"relative"}},il.default.createElement(Cb,{model:e}),il.default.createElement(Sb,{model:e}))}),vb=jk});var Ps,_b=g(()=>{Ps=class{constructor(t=1/0,r=Float64Array,n=Uint32Array){let o=t!==1/0;this.ids=o?new n(t):[],this.values=o?new r(t):[],this.capacity=t,this.length=0}clear(){this.length=0}push(t,r){if(this.length===this.capacity)throw new RangeError("Queue is at capacity.");let n=this.length++;for(;n>0;){let o=n-1>>1,i=this.values[o];if(r>=i)break;this.ids[n]=this.ids[o],this.values[n]=i,n=o}this.ids[n]=t,this.values[n]=r}pop(){if(this.length===0)return;let t=this.ids,r=this.values,n=t[0],o=--this.length;if(o>0){let i=t[o],s=r[o],a=0,c=o>>1;for(;a<c;){let l=(a<<1)+1,A=l+1,u=l+(+(A<o)&+(r[A]<r[l]));if(r[u]>=s)break;t[a]=t[u],r[a]=r[u],a=u}t[a]=i,r[a]=s}return n}peek(){return this.length>0?this.ids[0]:void 0}peekValue(){return this.length>0?this.values[0]:void 0}shrink(){Array.isArray(this.ids)&&(this.ids.length=this.length),Array.isArray(this.values)&&(this.values.length=this.length)}}});function qk(e,t){let r=0,n=t.length-1;for(;r<n;){let o=r+n>>1;t[o]>e?n=o:r=o+1}return t[r]}function Jk(e,t,r,n,o,i){let s=[n,o];for(;s.length;){let a=s.pop()||0,c=s.pop()||0;if(a-c<=i&&Math.floor(c/i)>=Math.floor(a/i))continue;let l=e[c],A=e[c+a>>1],u=e[a],d=l>A!=l>u?l:A<l!=A<u?A:u,m=c-1,C=a+1;for(;;){do m++;while(e[m]<d);do C--;while(e[C]>d);if(m>=C)break;Vk(e,t,r,m,C)}s.push(c,C,C+1,a)}}function Vk(e,t,r,n,o){let i=e[n];e[n]=e[o],e[o]=i;let s=4*n,a=4*o,c=t[s],l=t[s+1],A=t[s+2],u=t[s+3];t[s]=t[a],t[s+1]=t[a+1],t[s+2]=t[a+2],t[s+3]=t[a+3],t[a]=c,t[a+1]=l,t[a+2]=A,t[a+3]=u;let d=r[n];r[n]=r[o],r[o]=d}function Yk(e,t){let r=e^t,n=65535^r,o=65535^(e|t),i=e&(t^65535),s=r|n>>1,a=r>>1^r,c=o^(o>>1^n&i>>1),l=i^(r&o>>1^i>>1);return r=s&s>>2^a&a>>2,n=s&a>>2^a&(s^a)>>2,o=c^(s&c>>2^a&l>>2),i=l^(a&c>>2^(s^a)&l>>2),s=r&r>>4^n&n>>4,a=r&n>>4^n&(r^n)>>4,c=o^(r&o>>4^n&i>>4),l=i^(n&o>>4^(r^n)&i>>4),o=c^(s&c>>8^a&l>>8),i=l^(a&c>>8^(s^a)&l>>8),o^=o>>1,i^=i>>1,r=e^t,n=i|65535^(r|o),r=(r|r<<8)&16711935,r=(r|r<<4)&252645135,r=(r|r<<2)&858993459,r=(r|r<<1)&1431655765,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,((n<<1|r)>>>0)-2147483648}var Db,bd,Os,kb=g(()=>{_b();Db=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],bd=3,Os=class e{static from(t,r=0){if(r%8!==0)throw new Error("byteOffset must be 8-byte aligned.");if(!t||t.byteLength===void 0||"buffer"in t)throw new Error("Data must be an instance of ArrayBuffer or SharedArrayBuffer.");let[n,o]=new Uint8Array(t,r+0,2);if(n!==251)throw new Error("Data does not appear to be in a Flatbush format.");let i=o>>4;if(i!==bd)throw new Error(`Got v${i} data when expected v${bd}.`);let s=Db[o&15];if(!s)throw new Error("Unrecognized array type.");let[a]=new Uint16Array(t,r+2,1),[c]=new Uint32Array(t,r+4,1);return new e(c,a,s,void 0,t,r)}constructor(t,r=16,n=Float64Array,o=ArrayBuffer,i,s=0){if(t===void 0)throw new Error("Missing required argument: numItems.");if(isNaN(t)||t<=0)throw new Error(`Unexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+r,2),65535),this.byteOffset=s;let a=t,c=a;this._levelBounds=[a*4];do a=Math.ceil(a/this.nodeSize),c+=a,this._levelBounds.push(c*4);while(a!==1);this.ArrayType=n,this.IndexArrayType=c<16384?Uint16Array:Uint32Array;let l=Db.indexOf(n),A=c*4*n.BYTES_PER_ELEMENT;if(l<0)throw new Error(`Unexpected typed array class: ${n}.`);let u=n,d=this.IndexArrayType;if(i)this.data=i,this._boxes=new u(i,s+8,c*4),this._indices=new d(i,s+8+A,c),this._pos=c*4,this.minX=this._boxes[this._pos-4],this.minY=this._boxes[this._pos-3],this.maxX=this._boxes[this._pos-2],this.maxY=this._boxes[this._pos-1];else{let m=this.data=new o(8+A+c*this.IndexArrayType.BYTES_PER_ELEMENT);this._boxes=new u(m,8,c*4),this._indices=new d(m,8+A,c),this._pos=0,this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,new Uint8Array(m,0,2).set([251,(bd<<4)+l]),new Uint16Array(m,2,1)[0]=r,new Uint32Array(m,4,1)[0]=t}this._queue=new Ps}add(t,r,n=t,o=r){let i=this._pos,s=i>>2,a=this._boxes;return this._indices[s]=s,a[i]=t,a[i+1]=r,a[i+2]=n,a[i+3]=o,this._pos=i+4,t<this.minX&&(this.minX=t),r<this.minY&&(this.minY=r),n>this.maxX&&(this.maxX=n),o>this.maxY&&(this.maxY=o),s}finish(){if(this._pos>>2!==this.numItems)throw new Error(`Added ${this._pos>>2} items when expected ${this.numItems}.`);let t=this._boxes;if(this.numItems<=this.nodeSize){t[this._pos++]=this.minX,t[this._pos++]=this.minY,t[this._pos++]=this.maxX,t[this._pos++]=this.maxY;return}let{numItems:r,minX:n,minY:o,nodeSize:i,_indices:s,_levelBounds:a}=this,c=this.maxX-n||1,l=this.maxY-o||1,A=new Int32Array(r),u=65535,d=u/c,m=u/l;for(let E=0,x=0;E<r;E++){let I=t[x++],p=t[x++],y=t[x++],B=t[x++],b=d*((I+y)/2-n)|0,S=m*((p+B)/2-o)|0;A[E]=Yk(b,S)}Jk(A,t,s,0,r-1,i);let C=r*4;for(let E=0,x=0;E<a.length-1;E++){let I=a[E];for(;x<I;){let p=x,y=t[x++],B=t[x++],b=t[x++],S=t[x++];for(let M=1;M<i&&x<I;M++)y=Math.min(y,t[x++]),B=Math.min(B,t[x++]),b=Math.max(b,t[x++]),S=Math.max(S,t[x++]);s[C>>2]=p,t[C++]=y,t[C++]=B,t[C++]=b,t[C++]=S}}this._pos=C}search(t,r,n,o,i){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let{_boxes:s,_levelBounds:a,_indices:c,nodeSize:l}=this,A=this.numItems*4,u=s.length-4,d=a.length-1,m=[],C=[],E=!1;for(;u!==void 0;){let x=Math.min(u+l*4,a[d]),I=u>=A;if(E)this._collectContained(u,x,d,A,C,i);else for(let p=u;p<x;p+=4){let y=s[p];if(n<y)continue;let B=s[p+1];if(o<B)continue;let b=s[p+2];if(t>b)continue;let S=s[p+3];if(r>S)continue;let M=c[p>>2]|0;if(I){let G=+(t<=y&&r<=B&&n>=b&&o>=S);m.push(M|G,d-1)}else(i===void 0||i(M,y,B,b,S))&&C.push(M)}d=m.pop(),u=m.pop(),u!==void 0&&(E=(u&1)===1,u&=-2)}return C}_collectContained(t,r,n,o,i,s){let a=this._boxes,c=this._indices,l=t;for(let u=n;u>0;u--)l=c[l>>2];let A=Math.min(l+(r-t)*this.nodeSize**n,o);if(s===void 0)for(;l<A;l+=4)i.push(c[l>>2]|0);else for(;l<A;l+=4){let u=c[l>>2]|0;s(u,a[l],a[l+1],a[l+2],a[l+3])&&i.push(u)}}neighbors(t,r,n=1/0,o=1/0,i){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let{_boxes:s,_levelBounds:a,_indices:c,_queue:l,nodeSize:A}=this,u=this.numItems*4,d=A*4,m=[],C=o*o,E=n===1,x=C;for(l.push(s.length-4<<1,0);l.length;){let I=l.ids[0];if(I&1){if(l.pop(),m.push(I>>1),m.length===n)break;continue}l.pop();let p=I>>1,y=p<u,B=Math.min(p+d,qk(p,a));for(let b=p;b<B;b+=4){let S=s[b],M=s[b+1],G=s[b+2],R=s[b+3],k=Math.max(Math.max(S-t,t-G),0),v=Math.max(Math.max(M-r,r-R),0),F=k*k+v*v;if(F>x)continue;let H=c[b>>2]|0;y?(i===void 0||i(H))&&(l.push(H<<1|1,F),E&&F<x&&(x=F)):l.push(H<<1,F)}}return l.clear(),m}}});var Gs,Mi,Nb,Wk,Lb,Rb=g(()=>{Gs=f(Q(),1),Mi=f(N(),1),Nb=f(U(),1),Wk=(0,Nb.observer)(function({node:e,model:t,onClose:r}){return Gs.default.createElement(Mi.Menu,{anchorReference:"anchorPosition",anchorPosition:{left:e.x,top:e.y},transitionDuration:0,keepMounted:!0,open:!!e,onClose:r},Gs.default.createElement(Mi.MenuItem,{dense:!0,disabled:!0},e.name),Gs.default.createElement(Mi.MenuItem,{dense:!0,onClick:()=>{t.toggleCollapsed(e.id),r()}},t.collapsed.includes(e.id)?"Expand this node":"Collapse this node"),Gs.default.createElement(Mi.MenuItem,{dense:!0,onClick:()=>{t.showOnly===e.id?t.setShowOnly(void 0):t.setShowOnly(e.id),r()}},t.showOnly===e.id?"Disable show only this node":"Show only this node"))}),Lb=Wk});var Gb={};We(Gb,{default:()=>$k});var Pr,Fb,Pb,Ob,zk,$k,Ub=g(()=>{Pr=f(Q(),1);qc();dd();Fb=f(Me(),1),Pb=f(N(),1),Ob=f(U(),1);md();zk=(0,Ob.observer)(function({info:e,model:t,nodeName:r,onClose:n}){let{treeMetadata:o,rows:i}=t,s=o[r],a=i.find(c=>c[0]===r);return Pr.default.createElement(Fb.Dialog,{onClose:()=>{n()},open:!0,title:"Tree node info",maxWidth:"xl"},Pr.default.createElement(Pb.DialogContent,null,Pr.default.createElement(Ao,{title:"Attributes"},Pr.default.createElement(Lr,{attributes:{nodeName:r,...e}})),Pr.default.createElement(Ao,{title:"Sequence"},a?Pr.default.createElement(Ns,{str:[a]}):Pr.default.createElement("div",null,"Sequence not found")),s?Pr.default.createElement(Ao,{title:"Extra metadata"},Pr.default.createElement(Lr,{attributes:s})):null))}),$k=zk});var sn,Dn,Hb,Kk,Xk,jb,qb=g(()=>{sn=f(Q(),1),Dn=f(N(),1),Hb=f(U(),1),Kk=(0,sn.lazy)(()=>Promise.resolve().then(()=>(Ub(),Gb))),Xk=(0,Hb.observer)(function({node:e,onClose:t,model:r}){let{collapsed:n}=r,{name:o,id:i}=e,s=n.includes(i);return sn.default.createElement(Dn.Menu,{anchorReference:"anchorPosition",anchorPosition:{top:e.y,left:e.x},transitionDuration:0,keepMounted:!0,open:!!e,onClose:t},sn.default.createElement(Dn.MenuItem,{dense:!0,disabled:!0},o),sn.default.createElement(Dn.MenuItem,{dense:!0,onClick:()=>{r.queueDialog(a=>[Kk,{info:r.getRowData(o),model:r,nodeName:o,onClose:a}]),t()}},"More info..."),sn.default.createElement(Dn.MenuItem,{dense:!0,onClick:()=>{r.toggleCollapsed(i),t()}},s?"Expand subtree":"Collapse subtree"),sn.default.createElement(Dn.MenuItem,{dense:!0,onClick:()=>{r.drawRelativeTo(e.name),t()}},"Indicate differences from this row"),r.relativeTo?sn.default.createElement(Dn.MenuItem,{dense:!0,onClick:()=>{r.drawRelativeTo(void 0),t()}},"Clear reference row"):null)}),jb=Xk});var Ge,Jb,Vb,Yb,Wb,Zk,Bd,eN,zb,$b=g(()=>{Ge=f(Q(),1),Jb=f(N(),1);kb();Vb=f(lr(),1),Yb=f(U(),1),Wb=f(Qe(),1);Rb();qb();wa();Zk=(0,Wb.makeStyles)()(e=>({tooltip:{position:"fixed",pointerEvents:"none",zIndex:1e4,backgroundColor:e.palette.grey[700],color:e.palette.common.white,padding:"4px 8px",borderRadius:4,fontSize:12,whiteSpace:"nowrap",maxWidth:300,overflow:"hidden",textOverflow:"ellipsis"}})),Bd=class{flatbush=null;entries=[];clear(){this.flatbush=null,this.entries=[]}insert(t){this.entries.push(t)}finish(){if(this.entries.length===0)this.flatbush=null;else{this.flatbush=new Os(this.entries.length);for(let t of this.entries)this.flatbush.add(t.minX,t.minY,t.maxX,t.maxY);this.flatbush.finish()}}search(t){return this.flatbush?.search(t.minX,t.minY,t.maxX,t.maxY).map(r=>this.entries[r])??[]}},eN=(0,Yb.observer)(function({model:e,offsetY:t}){let{classes:r}=Zk(),n=(0,Jb.useTheme)(),o=(0,Ge.useRef)(null),i=(0,Ge.useRef)(new Bd),s=(0,Ge.useRef)(null),[a,c]=(0,Ge.useState)(),[l,A]=(0,Ge.useState)(),[u,d]=(0,Ge.useState)(),[m,C]=(0,Ge.useState)(),{scrollY:E,treeAreaWidth:x,blockSize:I,highResScaleFactor:p}=e,y=x+Fo,B=I,b=y*p,S=B*p;(0,Ge.useEffect)(()=>{let k=o.current?.getContext("2d");if(k)return(0,Vb.autorun)(()=>{k.resetTransform(),k.clearRect(0,0,(x+Fo)*p,I*p),ya({ctx:k,model:e,offsetY:t,clickMap:i.current,theme:n})})},[e,I,p,x,t,n]),(0,Ge.useEffect)(()=>{let k=s.current?.getContext("2d");if(k&&(k.resetTransform(),k.clearRect(0,0,x+Fo,I),k.translate(0,-t),u)){let{minX:v,maxX:F,minY:H,maxY:ee}=u;k.fillStyle="rgba(0,0,0,0.1)",k.fillRect(v,H,F-v,ee-H)}},[u,t,I,x]);function M(k){let v=k.nativeEvent.offsetX,F=k.nativeEvent.offsetY,[H]=i.current.search({minX:v,maxX:v+1,minY:F+t,maxY:F+1+t});return H?.branch?{...H,x:k.clientX,y:k.clientY}:void 0}function G(k){let v=k.nativeEvent.offsetX,F=k.nativeEvent.offsetY,[H]=i.current.search({minX:v,maxX:v+1,minY:F+t,maxY:F+1+t});return H&&!H.branch?{...H,x:k.clientX,y:k.clientY}:void 0}let R={width:y,height:B,top:E+t,left:0,position:"absolute"};return Ge.default.createElement(Ge.default.Fragment,null,a?.id?Ge.default.createElement(Lb,{node:a,model:e,onClose:()=>{c(void 0)}}):null,l?.id?Ge.default.createElement(jb,{node:l,model:e,onClose:()=>{A(void 0)}}):null,Ge.default.createElement("canvas",{width:b,height:S,style:R,onMouseMove:k=>{if(!o.current)return;let v=G(k),F=M(k),H=v||F;if(o.current.style.cursor=H?"pointer":"default",d(v),C(H?{name:H.name,x:k.clientX,y:k.clientY}:void 0),H){if(e.setHoveredTreeNode(H.id),v?.name){let ee=e.rowNamesSet.get(v.name);ee!==void 0&&e.setMousePos(void 0,ee)}}else e.setHoveredTreeNode(void 0),e.setMousePos(void 0,void 0)},onClick:k=>{let{clientX:v,clientY:F}=k,H=M(k);H?.id&&c({x:v,y:F,id:H.id,name:H.name});let ee=G(k);ee?.id&&A({...ee,x:v,y:F})},onMouseLeave:()=>{d(void 0),C(void 0),e.setHoveredTreeNode(void 0),e.setMousePos(void 0,void 0)},ref:o}),Ge.default.createElement("canvas",{style:{...R,pointerEvents:"none",zIndex:100},width:y,height:B,ref:s}),m?Ge.default.createElement("div",{className:r.tooltip,style:{left:m.x+12,top:m.y+12}},m.name):null)}),zb=eN});var pr,Xb,Zb,eB,tN,Kb,rN,tB,rB=g(()=>{pr=f(Q(),1),Xb=f(Ft(),1),Zb=f(lr(),1),eB=f(U(),1);$b();wa();Sa();tN="rgba(0,128,255,0.3)",Kb="rgba(255,165,0,0.2)",rN=(0,eB.observer)(function({model:e}){let t=(0,pr.useRef)(null),r=(0,pr.useRef)(null),{treeWidth:n,height:o,blocksY:i,treeAreaWidth:s}=e,a=(0,pr.useCallback)(A=>{e.doScrollY(A)},[e]),{onMouseDown:c,onMouseUp:l}=Go({ref:t,onScrollY:a});return(0,pr.useEffect)(()=>{let A=r.current?.getContext("2d");return A?(0,Zb.autorun)(()=>{if((0,Xb.isAlive)(e)){let{relativeTo:u,leaves:d,rowHeight:m,hoveredTreeNode:C,treeAreaWidth:E,height:x,scrollY:I,mouseOverRowName:p}=e;A.resetTransform(),A.clearRect(0,0,E,x);let y=new Map(d.map(b=>[b.data.name,b])),B=b=>{let S=y.get(b);S&&A.fillRect(0,S.x+I-m/2,E,m)};if(u&&(A.fillStyle=tN,B(u)),C){A.fillStyle=Kb;for(let b of C.descendantNames)B(b)}p&&p!==u&&!C?.descendantNames.includes(p)&&(A.fillStyle=Kb,B(p))}}):void 0},[e]),pr.default.createElement("div",{ref:t,onMouseDown:c,onMouseUp:l,onMouseLeave:A=>{A.preventDefault()},style:{height:o,position:"relative",width:n+Fo}},i.map(A=>pr.default.createElement(zb,{key:A,model:e,offsetY:A})),pr.default.createElement("canvas",{ref:r,width:s,height:o,style:{position:"absolute",top:0,left:0,width:s,height:o,zIndex:1e3,pointerEvents:"none"}}))}),tB=rN});var Sd,nB,nN,oB,iB=g(()=>{Sd=f(Q(),1),nB=f(U(),1);rB();nN=(0,nB.observer)(function({model:e}){let{treeAreaWidth:t}=e;return Sd.default.createElement("div",{style:{overflow:"hidden",flexShrink:0,width:t}},Sd.default.createElement(tB,{model:e}))}),oB=nN});var sB,aB,oN,cB,lB=g(()=>{sB=f(Q(),1),aB=f(U(),1),oN=(0,aB.observer)(({model:e})=>{let{treeAreaWidth:t}=e;return sB.default.createElement("div",{style:{flexShrink:0,width:t}})}),cB=oN});var Z,fo,iN,sN,aN,cN,lN,AN,AB,uB=g(()=>{Z=f(Q(),1),fo=f(U(),1);Cg();JA();Rg();Gg();ob();ab();Tb();iB();lB();iN=(0,fo.observer)(function({model:e}){let{showHorizontalScrollbar:t}=e;return Z.default.createElement("div",{style:{display:"flex"}},Z.default.createElement(cB,{model:e}),t?Z.default.createElement(sb,{model:e}):null)}),sN=(0,fo.observer)(function({model:e}){let{mouseCol:t,mouseClickCol:r,colWidth:n,scrollX:o,treeAreaWidth:i,resizeHandleWidth:s,totalTrackAreaHeight:a,msaAreaWidth:c,verticalScrollbarWidth:l}=e,A=i+s,u=c-l;return Z.default.createElement("div",{style:{position:"absolute",left:A,top:0,width:u,height:a,overflow:"hidden",pointerEvents:"none"}},t!==void 0?Z.default.createElement("div",{style:{position:"absolute",left:t*n+o,top:0,width:n,height:a,backgroundColor:"rgba(0,0,0,0.15)",zIndex:100}}):null,r!==void 0?Z.default.createElement("div",{style:{position:"absolute",left:r*n+o,top:0,width:n,height:a,backgroundColor:"rgba(128,128,0,0.2)",zIndex:100}}):null)}),aN=(0,fo.observer)(function({model:e}){let{turnedOnTracks:t}=e;return t.length===0?null:Z.default.createElement("div",{style:{position:"relative"}},Z.default.createElement(sN,{model:e}),t.map(r=>Z.default.createElement(Lg,{key:r.model.id,model:e,track:r})))}),cN=(0,fo.observer)(function({model:e}){let{showVerticalScrollbar:t}=e;return Z.default.createElement("div",{style:{display:"flex"}},Z.default.createElement(oB,{model:e}),Z.default.createElement(Eg,{model:e}),Z.default.createElement(vb,{model:e}),t?Z.default.createElement(Og,{model:e}):null)}),lN=(0,fo.observer)(function({model:e}){return Z.default.createElement("div",{style:{position:"relative"}},Z.default.createElement(iN,{model:e}),Z.default.createElement(aN,{model:e}),Z.default.createElement(cN,{model:e}))}),AN=(0,fo.observer)(function({model:e}){let{height:t,viewInitialized:r,DialogComponent:n,DialogProps:o}=e,i=hg();return(0,Z.useEffect)(()=>{e.setHighResScaleFactor(i)},[e,i]),Z.default.createElement("div",null,r?Z.default.createElement(Z.default.Fragment,null,Z.default.createElement("div",{style:{height:t,overflow:"hidden"}},Z.default.createElement(nb,{model:e}),Z.default.createElement(lN,{model:e})),Z.default.createElement(Ig,{model:e}),n?Z.default.createElement(Z.Suspense,{fallback:null},Z.default.createElement(n,{...o})):null):null)}),AB=AN});var fB,dB,mB,pB=g(()=>{fB=`CLUSTAL O(1.2.3) multiple sequence alignment
33
41
  UniProt/Swiss-Prot|P26898|IL2RA_SHEEP MEPSLLMWRFFVFIVVPGCVTEACHDDPPSLRNA----------MFKVLRYE----VGTM
34
42
  UniProt/Swiss-Prot|P01590|IL2RA_MOUSE MEPRLLMLGFLSLTIVPSCRAELCLYDPPEVPNA----------TFKALSYK----NGTI
35
43
  UniProt/Swiss-Prot|P41690|IL2RA_FELCA MEPSLLLWGILTFVVVHGHVTELCDENPPDIQHA----------TFKALTYK----TGTM
@@ -42,7 +50,7 @@ UniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE PLPLRSLLFLQLPLLGVGLNP----------------
42
50
  UniProt/Swiss-Prot|P36835|IL2_CAPHI -----------LLGVGLNPKFLTP------------------------------------
43
51
  UniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO MLKPPLPLRSLLFLQLPLLGVGLNPKFLTPSGNEDIGGKPGTGGDFFLTSTPAGTLDVST
44
52
  UniProt/Swiss-Prot|Q29416|IL2_CANFA --------------LFLQLSLLG-------------------------------------
45
- `,Tb=`CLUSTAL O(1.2.4) multiple sequence alignment
53
+ `,dB=`CLUSTAL O(1.2.4) multiple sequence alignment
46
54
 
47
55
 
48
56
  sp|P69905|HBA_HUMAN MVLSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHFDLSHGSAQVKGHG 60
@@ -58,21 +66,13 @@ sp|P13786|HBAZ_CAPHI SKVVAAVGDAVKSIDNVTSALSKLSELHAYVLRVDPVNFKFLSHCLLVTLASHF
58
66
  sp|P69905|HBA_HUMAN AVHASLDKFLASVSTVLTSKYR 142
59
67
  sp|P01942|HBA_MOUSE AVHASLDKFLASVSTVLTSKYR 142
60
68
  sp|P13786|HBAZ_CAPHI DAHAAWDKFLSIVSGVLTEKYR 142
61
- .**: ****: ** ***.***`,_b="(((UniProt/Swiss-Prot|P26898|IL2RA_SHEEP:0.24036,(UniProt/Swiss-Prot|P41690|IL2RA_FELCA:0.17737,(UniProt/Swiss-Prot|P01589|IL2RA_HUMAN:0.03906,UniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU:0.03787):0.13033):0.04964):0.02189,UniProt/Swiss-Prot|P01590|IL2RA_MOUSE:0.23072):0.06814,(((UniProt/Swiss-Prot|Q95118|IL2RG_BOVIN:0.09600,UniProt/Swiss-Prot|P40321|IL2RG_CANFA:0.09845):0.25333,UniProt/Swiss-Prot|Q29416|IL2_CANFA:-0.35055):0.10231,(UniProt/Swiss-Prot|P26896|IL2RB_RAT:0.33631,UniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO:-0.33631):0.10166):0.01607,(UniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE:0.32378,UniProt/Swiss-Prot|P36835|IL2_CAPHI:-0.32378):0.09999)"});async function Fc(e,t,r,n){e.setError(void 0),t&&e.setMSAFilehandle(t),r&&e.setTreeFilehandle(r),n&&e.setGFFFilehandle(n)}var Df=g(()=>{});function Nr({onClick:e,model:t,children:r}){return St.default.createElement("li",null,St.default.createElement(Rc.Link,{onClick:n=>{t.setError(void 0),n.preventDefault(),e()},href:"#"},St.default.createElement(Rc.Typography,{component:"span"},r)))}var St,Rc,Db,hn,fk,Nb,Lb=g(()=>{St=f(w(),1),Rc=f(k(),1),Db=f(G(),1);kb();Df();hn="https://jbrowse.org/genomes/multiple_sequence_alignments",fk=(0,Db.observer)(function({model:e}){function t({msa:r,tree:n,gff:o}){(async()=>{try{await Fc(e,r?{uri:r,locationType:"UriLocation"}:void 0,n?{uri:n,locationType:"UriLocation"}:void 0,o?{uri:o,locationType:"UriLocation"}:void 0)}catch(i){console.error(i),e.setError(i)}})()}return St.default.createElement("ul",null,St.default.createElement(Nr,{model:e,onClick:()=>{t({tree:"https://jbrowse.org/genomes/newicktrees/sarscov2phylo.pub.ft.nh"})}},"230k COVID-19 samples (tree only)"),St.default.createElement(Nr,{model:e,onClick:()=>{e.setData({msa:vb,tree:_b})}},"Small protein MSA+tree"),St.default.createElement(Nr,{model:e,onClick:()=>{e.setData({msa:Tb})}},"Small MSA only"),St.default.createElement(Nr,{model:e,onClick:()=>{t({msa:`${hn}/pfam-cov2.stock`})}},"PFAM SARS-CoV2 multi-stockholm"),St.default.createElement(Nr,{model:e,onClick:()=>{t({msa:`${hn}/pfam-cov2.stock`,gff:`${hn}/pfam-cov2-domains.gff`})}},"PFAM SARS-CoV2 multi-stockholm w/ domains loaded"),St.default.createElement(Nr,{model:e,onClick:()=>{t({msa:`${hn}/Lysine.stock`})}},"Lysine stockholm file"),St.default.createElement(Nr,{model:e,onClick:()=>{t({msa:`${hn}/PF01601_full.txt`})}},"PF01601 stockholm file (SARS-CoV2 spike protein)"),St.default.createElement(Nr,{model:e,onClick:()=>{t({msa:`${hn}/europe_covid.fa`})}},"Europe COVID full genomes (LR883044.1 and 199 other sequences)"),St.default.createElement(Nr,{model:e,onClick:()=>{t({msa:`${hn}/rhv_test-only.aligned_with_mafft_auto.fa`,tree:`${hn}/rhv_test-only.aligned_with_mafft_auto.nh`})}},"MAFFT+VeryFastTree(17.9k samples)"),St.default.createElement(Nr,{model:e,onClick:()=>{t({msa:"https://jbrowse.org/demos/ttc39a.mfa"})}},"Human BLAST results mfa"))}),Nb=fk});var me,fi,ur,Fb,mk,Rb,Pb=g(()=>{me=f(w(),1),fi=f(we(),1),ur=f(k(),1),Fb=f(G(),1);Lb();Df();mk=(0,Fb.observer)(function({model:e}){let[t,r]=(0,me.useState)(),[n,o]=(0,me.useState)(),[i,s]=(0,me.useState)(),{error:a}=e;return me.default.createElement(ur.Container,null,me.default.createElement("div",{style:{width:"50%"}},a?me.default.createElement(fi.ErrorMessage,{error:a}):null,me.default.createElement(ur.Typography,null,"Open an MSA file (stockholm or clustal format) and/or a tree file (newick format)."),me.default.createElement(ur.Typography,{color:"error"},"Note: you can open up just an MSA or just a tree, both are not required. Some MSA files e.g. stockholm format have an embedded tree also and this is fine, and opening a separate tree file is not required.")),me.default.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",gap:40}},me.default.createElement("div",null,me.default.createElement("div",null,me.default.createElement(ur.Typography,null,"MSA file or URL"),me.default.createElement(fi.FileSelector,{location:t,setLocation:r})),me.default.createElement("div",null,me.default.createElement(ur.Typography,null,"Tree file or URL"),me.default.createElement(fi.FileSelector,{location:n,setLocation:o})),me.default.createElement("div",null,me.default.createElement(ur.Typography,null,"InterProScan GFF file or URL (optional)"),me.default.createElement(fi.FileSelector,{location:i,setLocation:s}))),me.default.createElement("div",null,me.default.createElement(ur.Button,{onClick:()=>{(async()=>{try{await Fc(e,t,n,i)}catch(c){console.error(c),e.setError(c)}})()},variant:"contained",color:"primary",disabled:!t&&!n},"Open")),me.default.createElement("div",null,me.default.createElement(ur.Typography,null,"Examples"),me.default.createElement(Nb,{model:e}))))}),Rb=mk});function Ob(){return st.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12,padding:20}},st.default.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},st.default.createElement("style",null,"@keyframes spinner { to { transform: rotate(360deg); } }"),st.default.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:"#ccc",strokeWidth:"3",fill:"none"}),st.default.createElement("path",{d:"M12 2a10 10 0 0 1 10 10",stroke:"#1976d2",strokeWidth:"3",fill:"none",strokeLinecap:"round",style:{animation:"spinner 1s linear infinite",transformOrigin:"center"}})),st.default.createElement(Pc.Typography,{variant:"h6"},"Loading..."))}var st,Gb,Pc,Nf,dk,gk,Oc,Lf=g(()=>{st=f(w(),1),Gb=f(we(),1);Hl();Pc=f(k(),1),Nf=f(G(),1);Mb();Pb();dk=(0,Nf.observer)(function({model:e,error:t}){return st.default.createElement("div",null,st.default.createElement(Gb.ErrorMessage,{error:t}),st.default.createElement(Pc.Button,{variant:"contained",color:"primary",onClick:()=>{e.reset()}},"Return to import form"))}),gk=(0,Nf.observer)(function({model:e}){let{isLoading:t,dataInitialized:r,msaFilehandle:n,treeFilehandle:o}=e,i=!!(n||o);return st.default.createElement("div",null,st.default.createElement(Io,{FallbackComponent:s=>st.default.createElement(dk,{model:e,error:s.error})},r?t?st.default.createElement(Ob,null):st.default.createElement(Qb,{model:e}):i||t?st.default.createElement(Ob,null):st.default.createElement(Rb,{model:e})))}),Oc=gk});var Hb=U((q6,Ub)=>{Ub.exports=JBrowseExports["@jbrowse/core/ui/theme"]});var qb=U((J6,jb)=>{jb.exports=JBrowseExports["@jbrowse/core/util/io"]});var Vb=U((V6,Jb)=>{Jb.exports=JBrowseExports["@jbrowse/core/util/types/mst"]});var Yb=g(()=>{});function mi(e,t="node",r=0){let n=`${t}-${r}`;return{...e,id:n,name:e.name||n,children:e.children?.map((o,i)=>mi(o,`${n}-${i}`,r+1))||[]}}var Ff=g(()=>{});var Rt,di=g(()=>{Rt=class{getTree(){return{id:"root",name:"root",noTree:!0,children:this.getNames().map(t=>({id:t,children:[],name:t}))}}getRowData(t){}getStructures(){return{}}getHeader(){return{}}get alignmentNames(){return[]}get seqConsensus(){}get secondaryStructureConsensus(){}get tracks(){return[]}}});function gi(e){return e>=pk&&e<=hk}var Wb,zb,pk,hk,$b,Kb,Cn,Rf=g(()=>{di();Wb=65,zb=90,pk=97,hk=122,$b=45,Kb=46;Cn=class extends Rt{MSA;orderedNames;constructor(t){super();let r=[],n=[];for(let o of t.split(">")){if(!/\S/.test(o))continue;let i=o.indexOf(`
62
- `);if(i===-1)continue;let s=o.slice(0,i),a=s.indexOf(" "),c=a===-1?s:s.slice(0,a);c&&(r.push(o.slice(i+1).replaceAll(/\s/g,"")),n.push(c))}this.orderedNames=n,this.MSA={seqdata:this.expandA3M(r,n)}}static sniff(t){if(!t.startsWith(">"))return!1;let r=[];for(let s of t.split(">")){if(!/\S/.test(s))continue;let a=s.indexOf(`
63
- `);if(a===-1)continue;let c=s.slice(a+1).replaceAll(/\s/g,"");c&&r.push(c)}if(r.length<2)return!1;let n=!1,o=-1,i=!0;for(let s of r){let a=0;for(let c=0;c<s.length;c++){let l=s.charCodeAt(c);gi(l)?n=!0:(l>=Wb&&l<=zb||l===$b)&&a++}o===-1?o=a:a!==o&&(i=!1)}return n&&i}expandA3M(t,r){let n=r.length;if(n===0)return{};let o=[],i=[];for(let l=0;l<n;l++){let A=t[l],u=[],m=[],d=0;for(;d<A.length;){let p=A.charCodeAt(d);if(p>=Wb&&p<=zb||p===$b){u.push(A[d]);let E="",x=d+1;for(;x<A.length;){let I=A.charCodeAt(x);if(gi(I)||I===Kb)E+=A[x],x++;else break}m.push(E),d=x}else if(p===Kb)d++;else if(gi(p)){let E="";for(;d<A.length&&gi(A.charCodeAt(d));)E+=A[d],d++;u.push(""),m.push(E)}else d++}o.push(u),i.push(m)}let s=Math.max(...o.map(l=>l.length),0),a=new Array(s).fill(0);for(let l=0;l<n;l++){let A=i[l];for(let u=0;u<A.length;u++){let m=0;for(let d of A[u])gi(d.charCodeAt(0))&&m++;m>a[u]&&(a[u]=m)}}let c={};for(let l=0;l<n;l++){let A=o[l],u=i[l],m=[];for(let d=0;d<s;d++){let p=a[d];if(d<A.length){let E=A[d],x=u[d]||"";m.push(E||"-");let I="";for(let y of x)gi(y.charCodeAt(0))&&(I+=y.toUpperCase());m.push(I);let h=p-I.length;h>0&&m.push(".".repeat(h))}else m.push("-"),p>0&&m.push(".".repeat(p))}c[r[l]]=m.join("")}return c}getMSA(){return this.MSA}getNames(){return this.orderedNames}getRow(t){return this.MSA.seqdata[t]||""}getWidth(){let t=Object.keys(this.MSA.seqdata)[0];return t?this.getRow(t).length:0}}});function Ck(e){let t=/\(?(\d+(\.\d+)+)\)?/.exec(e);return t&&t.length>1?t[1]:""}function Zb(e){let t=["CLUSTAL","PROBCONS","MUSCLE","MSAPROBS","Kalign"];t.some(n=>e.startsWith(n))||console.warn(`${e} is not a known CLUSTAL header: ${t.join(",")}, proceeding but could indicate an issue`);let r=Ck(e);return{info:e,version:r}}function Gc(e){let t=e.next();for(;!t.done&&t.value.trim()==="";)t=e.next();return t.value}function Ek(e){let t=e.split(/\s+/),r=e.slice(t[0].length),n=t[0].length+r.indexOf(t[1]),o=n+t[1].length;return[n,o]}function Xb(e){let t=Gc(e),r=[],n="";if(!t)return;for(;t;)t.startsWith(" ")?n=t:r.push(t),t=e.next().value;let[o,i]=Ek(r[0]),a=r.map(u=>u.split(/\s+/)).map(u=>u[0]),c=r.map(u=>u.slice(o,i)),l=n.slice(o,i),A=c[0].length-l.length;return A&&(l+=" ".repeat(A)),{ids:a,seqs:c,consensus:l}}function ew(e){let t,r=Xb(e);if(r!==void 0)for(;t=Xb(e);){for(let n=0;n<t.seqs.length;n++)r.seqs[n]+=t.seqs[n];r.consensus+=t.consensus}return r}var Pf=g(()=>{});var tw=g(()=>{Pf()});function Ik(e){let t=Gc(e);if(!t)throw new Error("Empty file received");let r=Zb(t),n=ew(e);if(n===void 0)throw new Error("No blocks parsed");let o=n.seqs.map((s,a)=>({id:n.ids[a],seq:s})),{consensus:i}=n;if(i.length!==o[0].seq.length)throw new Error(`Consensus length != sequence length. Con ${i.length} seq ${o[0].seq.length}`);return{consensus:i,alns:o,header:r}}function rw(e){let t=e.split(`
64
- `)[Symbol.iterator]();return Ik(t)}var nw=g(()=>{tw();Pf()});var eo,Of=g(()=>{nw();di();eo=class extends Rt{MSA;constructor(t){super(),this.MSA=rw(t)}getMSA(){return this.MSA}getRow(t){return this.MSA.alns.find(r=>r.id===t)?.seq||""}getWidth(){return this.MSA.alns[0].seq.length}getHeader(){return this.MSA.header}getNames(){return this.MSA.alns.map(t=>t.id)}get seqConsensus(){return this.MSA.consensus}}});function ow(e){let t=e.split(`
65
- `).map(i=>i.trim()).filter(i=>!!i),r=[],n=[];for(let i of t)if(i.startsWith("SEQ"))r.push(i);else{if(i.startsWith("DATA"))continue;if(i.startsWith("//"))break;n.push(i)}let o=r.map(i=>{let[,s,a,c,l,A,u,m,d]=i.split(" ");return{species:s,protein:a,chr:c,start:+l,end:+A,strand:+u,geneId:m,unknown:d,seq:""}});for(let i of n)for(let s=0;s<r.length;s++)o[s].seq+=i[s];return o}function Uc(e){let t=e.split(`
66
- `).map(i=>i.trim()).filter(i=>!!i),r=[],n="";for(let i of t)if(i.startsWith("SEQ"))r.push(i);else{if(i.startsWith("DATA"))continue;if(i.startsWith("//"))break;n=i}let o=r.map(i=>{let[,s,a,c,l,A,u,m,d]=i.split(" ");return{species:s,protein:a,chr:c,start:+l,end:+A,strand:+u,geneId:m,unknown:d}});return{tree:n,seqs:o}}var Gf=g(()=>{});var to,Uf=g(()=>{Gf();di();to=class extends Rt{MSA;constructor(t){super(),this.MSA=ow(t)}getMSA(){return this.MSA}getRow(t){return this.MSA.find(r=>r.protein===t)?.seq||""}getWidth(){return this.MSA[0].seq.length}getHeader(){return""}getNames(){return this.MSA.map(t=>t.protein)}}});var ro,Hf=g(()=>{di();ro=class extends Rt{MSA;constructor(t){super();let r={},n={};for(let o of t.split(">")){if(!/\S/.test(o))continue;let i=o.indexOf(`
67
- `);if(i===-1)continue;let s=o.slice(0,i),a=s.indexOf(" "),c=a===-1?s:s.slice(0,a);c&&(r[c]=o.slice(i+1).replaceAll(/\s/g,""),c.includes(":")&&(n[c.replaceAll(":","_")]=c))}this.MSA={seqdata:r,colonNormalized:n}}getMSA(){return this.MSA}getNames(){return Object.keys(this.MSA.seqdata)}getRow(t){return this.MSA.seqdata[t]??this.MSA.seqdata[this.MSA.colonNormalized[t]??""]??""}getWidth(){let t=Object.keys(this.MSA.seqdata)[0];return this.getRow(t).length}}});function no(e){let t=[],r=[],n=e.replace(/'((?:[^']|'')*)'/g,(s,a)=>{let c=r.length;return r.push(a.replaceAll("''","'")),`__Q${c}__`}),o={},i=n.split(/\s*(;|\(|\)|,|:)\s*/);for(let s=0;s<i.length;s++){let c=i[s].replace(/^__Q(\d+)__$/,(A,u)=>r[Number(u)]),l={};switch(c){case"(":o.children=[l],t.push(o),o=l;break;case",":t.at(-1)?.children.push(l),o=l;break;case")":o=t.pop();break;case":":break;default:{let A=i[s-1];A===")"||A==="("||A===","?o.name=c:A===":"&&(o.length=Number.parseFloat(c))}}}return o}var jf=g(()=>{});function pi(){return{gf:{},gc:{},gs:{},gr:{},seqname:[],seqdata:{}}}function Is(e){return iw.test(e)}function sw(e,t){let r=t??{},n=[],o=null,i=e.split(`
68
- `);for(let s of i){let a;if(iw.test(s))o=pi();else if(xk.test(s))o&&n.push(o),o=null;else if(a=yk.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=pi()}let c=a[1];o.gf[c]||(o.gf[c]=[]),o.gf[c].push(a[2])}else if(a=bk.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=pi()}let c=a[1];o.gc[c]||(o.gc[c]=""),o.gc[c]+=a[2]}else if(a=wk.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=pi()}let c=a[1],l=a[2],A=a[3];o.gs[l]||(o.gs[l]={}),o.gs[l][c]||(o.gs[l][c]=[]),o.gs[l][c].push(A)}else if(a=Bk.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=pi()}let c=a[1],l=a[2],A=a[3];o.gr[l]||(o.gr[l]={}),o.gr[l][c]||(o.gr[l][c]=""),o.gr[l][c]+=A}else if(a=Sk.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=pi()}let c=a[1],l=a[2];o.seqdata[c]||(o.seqdata[c]="",o.seqname.push(c)),o.seqdata[c]+=l}else if(Qk.test(s)&&r.strict)throw new Error("Malformed line")}return o&&n.push(o),n}var iw,xk,yk,bk,wk,Bk,Sk,Qk,qf=g(()=>{iw=/^# STOCKHOLM 1.0/,xk=/^\/\/\s*$/,yk=/^#=GF\s+(\S+)\s+(.*?)\s*$/,bk=/^#=GC\s+(\S+)\s+(.*?)\s*$/,wk=/^#=GS\s+(\S+)\s+(\S+)\s+(.*?)\s*$/,Bk=/^#=GR\s+(\S+)\s+(\S+)\s+(.*?)\s*$/,Sk=/^\s*(\S+)\s+(\S+)\s*$/,Qk=/\S/});var oo,Jf=g(()=>{jf();qf();Ff();di();qf();oo=class extends Rt{data;MSA;constructor(t,r){super();let n=sw(t);this.data=n,this.MSA=n[r]}getMSA(){return this.MSA}getRow(t){return this.MSA.seqdata[t]||""}getWidth(){let t=Object.keys(this.MSA.seqdata)[0];return this.getRow(t).length}get alignmentNames(){return this.data.map((t,r)=>t.gf.DE?.[0]??`Alignment ${r+1}`)}getHeader(){let t=this.MSA.gs.AC??{},r=this.MSA.gs.DR??{};return{General:this.MSA.gf,Accessions:Object.fromEntries(Object.entries(t).map(([n,o])=>[n,o[0]])),Dbxref:Object.fromEntries(Object.entries(r).map(([n,o])=>[n,o.join("; ")]))}}getRowData(t){return{name:t,accession:this.MSA.gs.AC?.[t]?.[0],dbxref:this.MSA.gs.DR?.[t]?.join("; ")}}getNames(){return Object.keys(this.MSA.seqdata)}getStructures(){let t=/PDB; +(\S+) +(\S); ([0-9]+)-([0-9]+)/,r=this.MSA.gs.DR??{},n={};for(let[o,i]of Object.entries(r))for(let s of i){let a=t.exec(s);a&&(n[o]??=[]).push({pdb:a[1].toLowerCase(),chain:a[2],startPos:+a[3],endPos:+a[4]})}return n}getTree(){let t=this.MSA.gf.NH?.[0];return t?mi(no(t)):super.getTree()}get seqConsensus(){return this.MSA.gc.seq_cons}get secondaryStructureConsensus(){return this.MSA.gc.SS_cons}get tracks(){return[{id:"seqConsensus",name:"Sequence consensus",data:this.seqConsensus,customColorScheme:{}},{id:"secondaryStruct",name:"Secondary-structure",data:this.secondaryStructureConsensus,customColorScheme:{">":"pink","<":"lightblue"}}]}}});function Vf(e,t=0){return Is(e)?new oo(e,t):Cn.sniff(e)?new Cn(e):e.startsWith(">")?new ro(e):e.startsWith("SEQ")?new to(e):new eo(e)}var aw=g(()=>{Rf();Of();Uf();Hf();Jf();Gf();jf();Rf();Of();Uf();Hf();Jf()});function Mk(e){return e?Object.fromEntries(e.split(";").map(t=>t.trim()).filter(t=>!!t).map(t=>t.split("=")).map(([t,r])=>[t?.trim()??"",r?decodeURIComponent(r).trim().split(",").join(" "):void 0]).filter(([t])=>t!=="")):{}}function Hc(e){return e?e.split(`
69
- `).map(t=>t.trim()).filter(t=>!!t&&!t.startsWith("#")).map(t=>{let r=t.split(" "),[n,o,i,s,a,c,l,A]=r,u=r[8];return{seq_id:n??"",source:o??"",type:i??"",start:Number(s)||0,end:Number(a)||0,score:Number(c)||0,strand:l??".",phase:A??".",...Mk(u)}}):[]}var cw=g(()=>{});function jc(e){let t=new Map;for(let n of e){let o=t.get(n.seq_id);o?o.push(n):t.set(n.seq_id,[n])}let r={};for(let[n,o]of t){let i=new Map,s=new Map;for(let c of o){let l=c.Name||c.ID||`${c.source}_${c.start}_${c.end}`,A=c.signature_desc||c.Name||l,u=c.Ontology_term||c.description||c.Note||A;s.has(l)||s.set(l,{name:A,description:u,accession:l});let m=i.get(l);m?m.push({start:c.start,end:c.end}):i.set(l,[{start:c.start,end:c.end}])}let a=[];for(let[c,l]of i){let A=s.get(c);a.push({signature:{entry:A},locations:l})}r[n]={matches:a,xref:[{id:n}]}}return r}var lw=g(()=>{});var Aw=g(()=>{});var uw=g(()=>{cw();lw();Aw()});var fw=g(()=>{Yb();Ff();aw();uw()});function mw({mapHeight:e,blockSize:t,viewportY:r,viewportHeight:n}){let o=Math.max(0,Math.min(r,e*t-n)),i=Math.floor(o/t),s=Math.floor((o+n-1)/t),a=[];for(let c=i;c<=s;c++)a.push(c*t);return a}function dw({mapWidth:e,blockSize:t,viewportX:r,viewportWidth:n}){let o=Math.max(0,Math.min(r,e-n)),i=Math.floor(o/t),s=Math.floor((o+n-1)/t),a=[];for(let c=i;c<=s;c++)a.push(c*t);return a}var gw=g(()=>{});function Iw(e,t){let{W:r=0,L:n=0,V:o=0,I:i=0,M:s=0,A:a=0,F:c=0,C:l=0,H:A=0,P:u=0,R:m=0,K:d=0,Q:p=0,E=0,D:x=0,T:I=0,S:h=0,G:y=0,Y:Q=0,N:M=0}=e,B=r+n+o+i+s+a+c+l+A+u+Q,v=d+m,P=p+E,N=E+x,$=I+h,S=J=>J/t,L={};return S(B)>.6&&(L.W=En,L.L=En,L.V=En,L.A=En,L.I=En,L.M=En,L.F=En,L.C=En),(S(v)>.6||S(d)>.8||S(m)>.8||S(p)>.8)&&(L.K=pw,L.R=pw),(S(v)>.6||S(P)>.5||S(E)>.8||S(p)>.8||S(x)>.8)&&(L.E=kk),(S(v)>.6||S(N)>.5||S(d)>.8||S(m)>.8||S(p)>.8)&&(L.D=Dk),(S(M)>.5||S(Q)>.85)&&(L.N=hw),(S(v)>.6||S(P)>.6||S(p)>.85||S(E)>.85||S(d)>.85||S(m)>.85)&&(L.Q=hw),(S(B)>.6||S($)>.5||S(h)>.85||S(I)>.85)&&(L.S=Cw,L.T=Cw),S(l)>.85&&(L.C=Nk),y>0&&(L.G=Lk),u>0&&(L.P=Fk),(S(B)>.6||S(r)>.85||S(Q)>.85||S(a)>.85||S(l)>.85||S(u)>.85||S(p)>.85||S(c)>.85||S(A)>.85||S(i)>.85||S(n)>.85||S(s)>.85||S(o)>.85)&&(L.H=Ew,L.Y=Ew),L}var En,pw,kk,Dk,hw,Cw,Nk,Lk,Fk,Ew,xw=g(()=>{En="rgb(128,179,230)",pw="#d88",kk="rgb(192, 72, 192)",Dk="rgb(204, 77, 204)",hw="#8f8",Cw="rgb(26,204,26)",Nk="rgb(240, 128, 128)",Lk="rgb(240, 144, 72)",Fk="rgb(204, 204, 0)",Ew="rgb(26, 179, 179)"});function Yf({ctx:e,conservation:t,colWidth:r,trackHeight:n,offsetX:o,blockSize:i}){let s=Math.max(0,Math.floor(o/r)),a=Math.max(0,Math.ceil((o+i)/r));e.fillStyle="gray";for(let c=s;c<a&&c<t.length;c++){let A=t[c]*n,u=c*r;e.fillRect(u,n-A,r,A)}}function Wf({ctx:e,data:t,colorScheme:r,contrastScheme:n,bgColor:o,colWidth:i,rowHeight:s,offsetX:a,blockSize:c}){let l=Math.max(0,Math.floor(a/i)),A=Math.max(0,Math.ceil((a+c)/i)),u=t?.slice(l,A);for(let m=0;u&&m<u.length;m++){let d=u[m],p=r[d.toUpperCase()];if(o){let E=m*i+a-a%i;e.fillStyle=p||"white",e.fillRect(E,0,i,s),s>=10&&i>=s/2&&(e.fillStyle=n[d.toUpperCase()]||"black",e.fillText(d,E+i/2,s/2+1))}}}function Rk({model:e,ctx:t,offsetX:r,offsetY:n,trackHeight:o,blockSizeXOverride:i,highResScaleFactorOverride:s}){let{blockSize:a,colWidth:c,highResScaleFactor:l,conservation:A}=e,u=i??a,m=s??l;t.resetTransform(),t.scale(m,m),t.translate(-r,n),Yf({ctx:t,conservation:A,colWidth:c,trackHeight:o,offsetX:r,blockSize:u}),t.resetTransform()}function Pk({model:e,ctx:t,track:r,offsetX:n,offsetY:o,contrastScheme:i,blockSizeXOverride:s,highResScaleFactorOverride:a}){let{blockSize:c,bgColor:l,colorScheme:A,colWidth:u,fontSize:m,rowHeight:d,highResScaleFactor:p}=e,{customColorScheme:E,data:x}=r.model,I=E??A,h=s??c,y=a??p;t.resetTransform(),t.scale(y,y),t.translate(-n,o),t.textAlign="center",t.font=t.font.replace(/\d+px/,`${m}px`),Wf({ctx:t,data:x,colorScheme:I,contrastScheme:i,bgColor:l,colWidth:u,rowHeight:d,offsetX:n,blockSize:h}),t.resetTransform()}function yw({model:e,ctx:t,offsetX:r,contrastScheme:n,blockSizeXOverride:o,highResScaleFactorOverride:i}){let{turnedOnTracks:s}=e,a=0;for(let c of s){let l=c.model.height;c.model.id==="conservation"?Rk({model:e,ctx:t,offsetX:r,offsetY:a,trackHeight:l,blockSizeXOverride:o,highResScaleFactorOverride:i}):Pk({model:e,ctx:t,track:c,offsetX:r,offsetY:a,contrastScheme:n,blockSizeXOverride:o,highResScaleFactorOverride:i}),a+=l}}var qc=g(()=>{});var Kr,bw,zf,Ok,Gk,ww,Bw=g(()=>{Kr=f(w(),1),bw=f(we(),1),zf=f(G(),1);qc();Ok=(0,zf.observer)(function({model:e,offsetX:t,trackHeight:r}){let{blockSize:n,scrollX:o,colWidth:i,highResScaleFactor:s,conservation:a}=e,c=(0,Kr.useRef)(null);return(0,Kr.useEffect)(()=>{if(!c.current)return;let l=c.current.getContext("2d");l&&(l.resetTransform(),l.scale(s,s),l.clearRect(0,0,n,r),l.translate(-t,0),Yf({ctx:l,conservation:a,colWidth:i,trackHeight:r,offsetX:t,blockSize:n}))},[n,i,r,t,s,a]),Kr.default.createElement("canvas",{ref:c,height:r*s,width:n*s,style:{position:"absolute",left:o+t,width:n,height:r}})}),Gk=(0,zf.observer)(function({model:e,track:t}){let{blocksX:r,msaAreaWidth:n}=e,o=t.model.height;return Kr.default.createElement("div",{style:{position:"relative",height:o,width:n,overflow:"hidden"}},r.map(i=>Kr.default.createElement(Ok,{key:i,model:e,offsetX:i,trackHeight:o})),Kr.default.createElement(bw.ResizeHandle,{onDrag:i=>(e.setConservationTrackHeight(Math.max(10,e.conservationTrackHeight+i)),i),style:{position:"absolute",bottom:0,left:0,height:4,width:"100%",zIndex:1,background:"rgba(200,200,200,0.5)"}}))}),ww=Gk});var In,$f,Uk,Hk,Sw,Qw=g(()=>{In=f(w(),1),$f=f(G(),1);bf();qc();Uk=(0,$f.observer)(function({track:e,model:t,offsetX:r}){let{blockSize:n,scrollX:o,bgColor:i,colorScheme:s,colWidth:a,fontSize:c,rowHeight:l,highResScaleFactor:A}=t,{model:{customColorScheme:u,data:m}}=e,d=u||s,p=(0,In.useRef)(null),{contrastScheme:E}=vc(d);return(0,In.useEffect)(()=>{if(!p.current)return;let x=p.current.getContext("2d");x&&(x.resetTransform(),x.scale(A,A),x.clearRect(0,0,n,l),x.translate(-r,0),x.textAlign="center",x.font=x.font.replace(/\d+px/,`${c}px`),Wf({ctx:x,data:m,colorScheme:d,contrastScheme:E,bgColor:i,colWidth:a,rowHeight:l,offsetX:r,blockSize:n}))},[c,i,n,a,l,r,E,d,A,m]),In.default.createElement("canvas",{ref:p,height:l*A,width:n*A,style:{position:"absolute",left:o+r,width:n,height:l}})}),Hk=(0,$f.observer)(function({track:e,model:t}){let{blocksX:r,msaAreaWidth:n,rowHeight:o}=t;return e.model.data?In.default.createElement("div",{style:{position:"relative",height:o,width:n,overflow:"hidden"}},r.map(i=>In.default.createElement(Uk,{key:i,track:e,model:t,offsetX:i}))):null}),Sw=Hk});var Jc,Vc=g(()=>{Jc="maeditor"});function Mw(e){let t=Math.min(e.length-1,zu.length-1),r=zu[t];return Object.fromEntries(e.map((n,o)=>[n,r[o]]))}var vw=g(()=>{$u()});function Tw(e){let t=new Map(e.map(n=>[n.id,{id:`${n.id}`,name:`${n.id}`,parent:n.parent!==void 0?`${n.parent}`:void 0,children:[]}])),r;for(let n of e){let o=t.get(n.id),i=n.parent!==void 0?t.get(n.parent):void 0;i?i.children.push(o):r??=o}return r}var _w=g(()=>{});function kw(e,t){Kf||(Kf=document.createElement("canvas"));let r=Kf.getContext("2d");if(!r)throw new Error("no canvas context");return r.font=r.font.replace(/\d+px/,`${t}px`),r.measureText(e).width}var Kf,Dw=g(()=>{});function Nw(){return Lr.types.model({tree:Lr.types.maybe(Lr.types.string),msa:Lr.types.maybe(Lr.types.string),treeMetadata:Lr.types.maybe(Lr.types.string),gff:Lr.types.maybe(Lr.types.string)}).actions(e=>({setTree(t){e.tree=t},setMSA(t){e.msa=t},setTreeMetadata(t){e.treeMetadata=t},setGFF(t){e.gff=t}})).postProcessSnapshot(e=>{let{tree:t,msa:r,treeMetadata:n,gff:o}=e,i=5e4;return{tree:t&&t.length>i?void 0:t,msa:r&&r.length>i?void 0:r,treeMetadata:n&&n.length>i?void 0:n,gff:o&&o.length>i?void 0:o}})}var Lr,Lw=g(()=>{Lr=f(_t(),1)});function Rw(){return Fw.types.model("DialogQueueSessionMixin",{}).volatile(()=>({queueOfDialogs:[]})).views(e=>({get DialogComponent(){return e.queueOfDialogs[0]?.[0]},get DialogProps(){return e.queueOfDialogs[0]?.[1]}})).actions(e=>({removeActiveDialog(){e.queueOfDialogs=e.queueOfDialogs.slice(1)},queueDialog(t){let[r,n]=t(()=>{this.removeActiveDialog()});e.queueOfDialogs=[...e.queueOfDialogs,[r,n]]}}))}var Fw,Pw=g(()=>{Fw=f(_t(),1)});function Gw(){return Ow.types.model({bgColor:!0,colorSchemeName:Jc}).actions(e=>({setColorSchemeName(t){e.colorSchemeName=t},setBgColor(t){e.bgColor=t}}))}var Ow,Uw=g(()=>{Ow=f(_t(),1);Vc()});function Hw(){return hi.types.model({drawLabels:!0,labelsAlignRight:!1,treeAreaWidth:hi.types.optional(hi.types.number,400),treeWidth:hi.types.optional(hi.types.number,300),showBranchLen:!0,drawTree:!0,drawNodeBubbles:!0}).actions(e=>({setTreeAreaWidth(t){e.treeAreaWidth=Math.round(t)},setTreeWidth(t){e.treeWidth=Math.round(t)},setLabelsAlignRight(t){e.labelsAlignRight=t},setDrawTree(t){e.drawTree=t},setShowBranchLen(t){e.showBranchLen=t},setDrawNodeBubbles(t){e.drawNodeBubbles=t},setDrawLabels(t){e.drawLabels=t}}))}var hi,jw=g(()=>{hi=f(_t(),1);Vc()});function sm(e,t){return qw.get(e.toUpperCase())?.get(t.toUpperCase())??-4}function qk(e,t){if(e.length!==t.length)throw new Error("Sequences must have the same length (aligned)");let r=0,n=0,o=0,i=0;for(let l=0;l<e.length;l++){let A=e[l],u=t[l];if(A==="-"&&u==="-")continue;if(A==="-"||u==="-"){n++;continue}let m=sm(A,u);o+=m,i+=Math.max(sm(A,A),sm(u,u)),A.toUpperCase()===u.toUpperCase()?r++:n++}if(r+n===0||i<=0)return 1;let a=o/i,c=Math.max(.01,Math.min(1,a));return-Math.log(c)}function Jk(e){let t=e.length,r=[];for(let n=0;n<t;n++){r[n]=[];for(let o=0;o<t;o++)n===o?r[n][o]=0:o<n?r[n][o]=r[o][n]:r[n][o]=qk(e[n][1],e[o][1])}return r}function Vk(e,t){let r=e.length;if(r<2)return{name:t[0]};if(r===2){let a=e[0][1];return{left:{name:t[0]},right:{name:t[1]},leftLength:a/2,rightLength:a/2}}let n=[];for(let a=0;a<r;a++)n[a]=[...e[a]];let o=t.map(a=>({name:a})),i=r;for(;i>2;){let a=[];for(let y=0;y<o.length;y++)o[y]!==void 0&&a.push(y);let c=new Map;for(let y of a){let Q=0;for(let M of a)y!==M&&(Q+=n[y][M]);c.set(y,Q)}let l=1/0,A=-1,u=-1;for(let y=0;y<a.length;y++)for(let Q=y+1;Q<a.length;Q++){let M=a[y],B=a[Q],v=(i-2)*n[M][B]-c.get(M)-c.get(B);v<l&&(l=v,A=M,u=B)}let m=n[A][u],d=c.get(A),p=c.get(u),E,x;i>2?(E=m/2+(d-p)/(2*(i-2)),x=m-E):(E=m/2,x=m/2),E=Math.max(0,E),x=Math.max(0,x);let I={left:o[A],right:o[u],leftLength:E,rightLength:x},h=A;for(let y of a)if(y!==A&&y!==u){let Q=(n[A][y]+n[u][y]-m)/2;n[h][y]=Math.max(0,Q),n[y][h]=Math.max(0,Q)}o[u]=void 0,o[h]=I,i--}let s=[];for(let a=0;a<o.length;a++)o[a]!==void 0&&s.push(a);if(s.length===2){let a=s[0],c=s[1],l=n[a][c];return{left:o[a],right:o[c],leftLength:l/2,rightLength:l/2}}return o[s[0]]}function am(e,t){let r;if(e.name!==void 0&&!e.left&&!e.right)r=`'${e.name.replaceAll("'","''")}'`;else{let n=e.left?am(e.left,e.leftLength):"",o=e.right?am(e.right,e.rightLength):"";r=`(${n},${o})`}return t!==void 0&&(r+=`:${t.toFixed(6)}`),r}function Jw(e){if(e.length<2)throw new Error("Need at least 2 sequences to build a tree");let t=e.map(o=>o[0]),r=Jk(e),n=Vk(r,t);return am(n)+";"}var Yc,jk,qw,Vw=g(()=>{Yc="ARNDCQEGHILKMFPSTWYVBZX*",jk=[[4,-1,-2,-2,0,-1,-1,0,-2,-1,-1,-1,-1,-2,-1,1,0,-3,-2,0,-2,-1,0,-4],[-1,5,0,-2,-3,1,0,-2,0,-3,-2,2,-1,-3,-2,-1,-1,-3,-2,-3,-1,0,-1,-4],[-2,0,6,1,-3,0,0,0,1,-3,-3,0,-2,-3,-2,1,0,-4,-2,-3,3,0,-1,-4],[-2,-2,1,6,-3,0,2,-1,-1,-3,-4,-1,-3,-3,-1,0,-1,-4,-3,-3,4,1,-1,-4],[0,-3,-3,-3,9,-3,-4,-3,-3,-1,-1,-3,-1,-2,-3,-1,-1,-2,-2,-1,-3,-3,-2,-4],[-1,1,0,0,-3,5,2,-2,0,-3,-2,1,0,-3,-1,0,-1,-2,-1,-2,0,3,-1,-4],[-1,0,0,2,-4,2,5,-2,0,-3,-3,1,-2,-3,-1,0,-1,-3,-2,-2,1,4,-1,-4],[0,-2,0,-1,-3,-2,-2,6,-2,-4,-4,-2,-3,-3,-2,0,-2,-2,-3,-3,-1,-2,-1,-4],[-2,0,1,-1,-3,0,0,-2,8,-3,-3,-1,-2,-1,-2,-1,-2,-2,2,-3,0,0,-1,-4],[-1,-3,-3,-3,-1,-3,-3,-4,-3,4,2,-3,1,0,-3,-2,-1,-3,-1,3,-3,-3,-1,-4],[-1,-2,-3,-4,-1,-2,-3,-4,-3,2,4,-2,2,0,-3,-2,-1,-2,-1,1,-4,-3,-1,-4],[-1,2,0,-1,-3,1,1,-2,-1,-3,-2,5,-1,-3,-1,0,-1,-3,-2,-2,0,1,-1,-4],[-1,-1,-2,-3,-1,0,-2,-3,-2,1,2,-1,5,0,-2,-1,-1,-1,-1,1,-3,-1,-1,-4],[-2,-3,-3,-3,-2,-3,-3,-3,-1,0,0,-3,0,6,-4,-2,-2,1,3,-1,-3,-3,-1,-4],[-1,-2,-2,-1,-3,-1,-1,-2,-2,-3,-3,-1,-2,-4,7,-1,-1,-4,-3,-2,-2,-1,-2,-4],[1,-1,1,0,-1,0,0,0,-1,-2,-2,0,-1,-2,-1,4,1,-3,-2,-2,0,0,0,-4],[0,-1,0,-1,-1,-1,-1,-2,-2,-1,-1,-1,-1,-2,-1,1,5,-2,-2,0,-1,-1,0,-4],[-3,-3,-4,-4,-2,-2,-3,-2,-2,-3,-2,-3,-1,1,-4,-3,-2,11,2,-3,-4,-3,-2,-4],[-2,-2,-2,-3,-2,-1,-2,-3,2,-1,-1,-2,-1,3,-3,-2,-2,2,7,-1,-3,-2,-1,-4],[0,-3,-3,-3,-1,-2,-2,-3,-3,3,1,-2,1,-1,-2,-2,0,-3,-1,4,-3,-2,-1,-4],[-2,-1,3,4,-3,0,1,-1,0,-3,-4,0,-3,-3,-2,0,-1,-4,-3,-3,4,1,-1,-4],[-1,0,0,1,-3,3,4,-2,0,-3,-3,1,-1,-3,-1,0,-1,-3,-2,-2,1,4,-1,-4],[0,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,0,0,-2,-1,-1,-1,-1,-1,-4],[-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,1]],qw=new Map;for(let e=0;e<Yc.length;e++){let t=new Map;for(let r=0;r<Yc.length;r++)t.set(Yc[r],jk[e][r]);qw.set(Yc[e],t)}});function cm(e){let t=[],r=0;for(;r<e.length&&(r=e.indexOf("{",r),r!==-1);){let n=1,o=r+1;for(r++;r<e.length&&n>0;)e[r]==="{"?n++:e[r]==="}"&&n--,r++;n===0&&t.push(e.slice(o,r-1).trim())}return t}function Wk(e,t){let r=e.indexOf("{",t);if(r===-1)return;let n=1,o=r+1;for(;o<e.length&&n>0;)e[o]==="{"?n++:e[o]==="}"&&n--,o++;return n===0?e.slice(r+1,o-1).trim():void 0}function Yw(e){let t=e.replace(/\s+/g," ").replace(/\s*{\s*/g,"{").replace(/\s*}\s*/g,"}").replace(/\s*,\s*/g,",").replace(/\s*::\s*=\s*/g,"::=").replace(/^.*?::=/,""),r=zk(t),n=Object.fromEntries(cm(r.fdict).flatMap(o=>{let i=$k(o);return i?[[i.id,Yk[i.name]||i.name]]:[]}));return cm(r.nodes).flatMap(o=>{let i=Kk(o);if(!i)return[];let{features:s=[],...a}=i;return[{...a,...Object.fromEntries(s.map(c=>[n[c.featureid],c.value]))}]})}function zk(e){let t={},r=e.trim();r.startsWith("{")&&r.endsWith("}")&&(r=r.slice(1,-1).trim());let n=0;for(;n<r.length;){for(;n<r.length&&/\s/.test(r[n]);)n++;if(n>=r.length)break;let o=n;for(;n<r.length&&/\w/.test(r[n]);)n++;if(n>=r.length||r[n]!==" "&&r[n]!=="{"){n=r.indexOf(",",n),n=n===-1?r.length:n+1;continue}let i=r.slice(o,n).trim();for(;n<r.length&&/\s/.test(r[n]);)n++;if(n>=r.length||r[n]!=="{"){n=r.indexOf(",",n),n=n===-1?r.length:n+1;continue}let s=1,a=n+1;for(n++;n<r.length&&s>0;)r[n]==="{"?s++:r[n]==="}"&&s--,n++;s===0&&(t[i]=r.slice(a,n-1).trim()),n=r.indexOf(",",n),n=n===-1?r.length:n+1}return t}function $k(e){let t=/id\s+(\d+)/.exec(e),r=/name\s+"((?:[^"\\]|\\.)*)"/s.exec(e);return!t||!r?null:{id:parseInt(t[1],10),name:r[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\")}}function Kk(e){let t=/id\s+(\d+)/.exec(e);if(!t)return null;let r=/parent\s+(\d+)/.exec(e),n=e.indexOf("features"),o=n!==-1?Wk(e,n):void 0;return{id:parseInt(t[1],10),...r?{parent:parseInt(r[1],10)}:{},features:o?cm(o).flatMap(i=>{let s=Xk(i);return s?[s]:[]}):[]}}function Xk(e){let t=/featureid\s+(\d+)/.exec(e),r=/value\s+"((?:[^"\\]|\\.)*)"/s.exec(e);return!t||!r?null:{featureid:parseInt(t[1],10),value:r[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\")}}var Yk,Ww=g(()=>{Yk={$NODE_COLLAPSED:"collapsed",$NODE_COLOR:"color",$LABEL_BG_COLOR:"color","seq-id":"seqId","seq-title":"seqTitle","align-index":"alignIndex","accession-nbr":"accessionNbr","blast-name":"blastName","common-name":"commonName","leaf-count":"leafCount"}});function lm(e,t){let r=0,n=0,o=0,i=e.length;for(;n<i&&e[n]===o;)n++,o++;for(;r<t;)for(r++,o++;n<i&&e[n]===o;)n++,o++;return o}function zw(e,t){let r=0,n=e.length-1;for(;r<=n;){let i=Math.floor((r+n)/2);if(e[i]===t)return;e[i]<t?r=i+1:n=i-1}return t-r}function Zk({seq:e,blanks:t,visibleCol:r}){let n=lm(t,r),o=e.length;if(n<o&&ns(e[n]))return;let i=0;for(let s=0;s<n&&s<o;s++)ns(e[s])||i++;return n<o?i:void 0}function $w({rowName:e,visibleCol:t,rowMap:r,blanks:n}){let o=r.get(e);return o!==void 0?Zk({seq:o,visibleCol:t,blanks:n}):void 0}var Kw=g(()=>{Yn()});function Xw({row:e,seqPos:t}){let r=0,n=0;for(;n<e.length;){if(!ns(e[n])){if(r===t)return n;r++}n++}return t===0?0:n}var Zw=g(()=>{Yn()});function eB(e,t){let r=URL.createObjectURL(e),n=document.createElement("a");n.href=r,n.download=t,n.click(),setTimeout(()=>{URL.revokeObjectURL(r)},4e4)}var tB=g(()=>{});var io,rB,eD,nB,oB=g(()=>{io=f(w(),1),rB=f(G(),1),eD=(0,rB.observer)(({model:e})=>{let{scrollX:t,msaAreaWidth:r,minimapHeight:n,colWidth:o,numColumns:i}=e,s=12,a=n-12,c=r/i/o,l=-t,A=l+r,u=l*c,m=A*c,d="rgb(66, 119, 127)",p=.3;return io.default.createElement(io.default.Fragment,null,io.default.createElement("rect",{x:0,y:0,width:r,height:s,stroke:"#555",fill:"none"}),io.default.createElement("rect",{x:Math.max(0,u),y:0,width:m-u,height:s,fill:d,fillOpacity:p,stroke:"#555"}),io.default.createElement("g",{transform:`translate(0 ${s})`},io.default.createElement("polygon",{fill:d,fillOpacity:p,points:[[m,0],[u,0],[0,a],[r,a]].toString()})))}),nB=eD});var aB={};Ye(aB,{Context:()=>fm});function iB(e){return!e||typeof e=="string"?e:e+""}function fr(e,t){let r=Object.keys(t);for(let n of r)e=e.replace(new RegExp("\\{"+n+"\\}","gi"),t[n]);return e}function Am(e){if(!e)throw new Error("cannot create a random attribute name for an undefined object");let t="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",r="";do{r="";for(let n=0;n<12;n++)r+=t[Math.floor(Math.random()*t.length)]}while(e[r]);return r}function tD(e,t=10){let r={},n=e.split(",");for(let o=0;o<n.length;o+=2){let i="&"+n[o+1]+";",s=parseInt(n[o],t);r[i]="&#"+s+";"}return r["\\xa0"]="&#160;",r}function rD(e){let t={left:"start",right:"end",center:"middle",start:"start",end:"end"};return t[e]||t.start}function nD(e){let t={alphabetic:"alphabetic",hanging:"hanging",top:"text-before-edge",bottom:"text-after-edge",middle:"central"};return t[e]||t.alphabetic}var sB,xs,ys,um,fm,cB=g(()=>{sB=tD("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32),xs={strokeStyle:{svgAttr:"stroke",canvas:"#000000",svg:"none",apply:"stroke"},fillStyle:{svgAttr:"fill",canvas:"#000000",svg:null,apply:"fill"},lineCap:{svgAttr:"stroke-linecap",canvas:"butt",svg:"butt",apply:"stroke"},lineJoin:{svgAttr:"stroke-linejoin",canvas:"miter",svg:"miter",apply:"stroke"},miterLimit:{svgAttr:"stroke-miterlimit",canvas:10,svg:4,apply:"stroke"},lineWidth:{svgAttr:"stroke-width",canvas:1,svg:1,apply:"stroke"},globalAlpha:{svgAttr:"opacity",canvas:1,svg:1,apply:"fill stroke"},font:{canvas:"10px sans-serif"},shadowColor:{canvas:"#000000"},shadowOffsetX:{canvas:0},shadowOffsetY:{canvas:0},shadowBlur:{canvas:0},textAlign:{canvas:"start"},textBaseline:{canvas:"alphabetic"},lineDash:{svgAttr:"stroke-dasharray",canvas:[],svg:null,apply:"stroke"}},ys=class{__root;__ctx;constructor(t,r){this.__root=t,this.__ctx=r}addColorStop(t,r){let n=this.__ctx.__createElement("stop");if(n.setAttribute("offset",String(t)),iB(r).includes("rgba")){let i=/rgba\(\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi.exec(r);i&&(n.setAttribute("stop-color",fr("rgb({r},{g},{b})",{r:i[1],g:i[2],b:i[3]})),n.setAttribute("stop-opacity",i[4]))}else n.setAttribute("stop-color",iB(r));this.__root.appendChild(n)}},um=class{__root;__ctx;constructor(t,r){this.__root=t,this.__ctx=r}},fm=class{width;height;enableMirroring;canvas;__document;__ctx;__canvas;__root;__ids;__defs;__currentElement;__styleStack;__groupStack;__currentDefaultPath;__currentPosition;__transformMatrix;__transformMatrixStack;__currentElementsToStyle;__options;__id;__fontUnderline;__fontHref;strokeStyle;fillStyle;lineCap;lineJoin;miterLimit;lineWidth;globalAlpha;font;shadowColor;shadowOffsetX;shadowOffsetY;shadowBlur;textAlign;textBaseline;lineDash;constructor(t,r){let n={width:500,height:500,enableMirroring:!1},o;typeof t=="number"&&r!==void 0?o={...n,width:t,height:r}:t&&typeof t=="object"?o=t:o=n,this.width=o.width||n.width,this.height=o.height||n.height,this.enableMirroring=o.enableMirroring!==void 0?o.enableMirroring:n.enableMirroring,this.canvas=this,this.__document=o.document||document,o.ctx?this.__ctx=o.ctx:(this.__canvas=this.__document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d")),this.__setDefaultStyles(),this.__styleStack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version","1.1"),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.__root.setAttribute("width",String(this.width)),this.__root.setAttribute("height",String(this.height)),this.__ids={},this.__defs=this.__document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement),this.__currentDefaultPath="",this.__currentPosition={},this.__transformMatrix=new DOMMatrix,this.resetTransform(),this.__options=o,this.__id=Math.random().toString(16).substring(2,8)}__createElement(t,r={},n){let o=this.__document.createElementNS("http://www.w3.org/2000/svg",t);n&&(o.setAttribute("fill","none"),o.setAttribute("stroke","none"));for(let i of Object.keys(r))o.setAttribute(i,r[i]);return o}__setDefaultStyles(){for(let t of Object.keys(xs))this[t]=xs[t].canvas}__applyStyleState(t){for(let r of Object.keys(t))this[r]=t[r]}__getStyleState(){let t={};for(let r of Object.keys(xs))t[r]=this[r];return t}__applyTransformation(t,r){let{a:n,b:o,c:i,d:s,e:a,f:c}=r||this.getTransform();t.setAttribute("transform",`matrix(${n} ${o} ${i} ${s} ${a} ${c})`)}__applyStyleToCurrentElement(t){let r=this.__currentElement,n=this.__currentElementsToStyle;if(n){r.setAttribute(t,""),r=n.element;for(let i of n.children)i.setAttribute(t,"")}let o=Object.keys(xs);for(let i of o){let s=xs[i],a=this[i];if(s.apply){if(a instanceof um){if(a.__ctx)for(let c of Array.from(a.__ctx.__defs.childNodes)){let l=c.getAttribute("id");l&&(this.__ids[l]=l,this.__defs.appendChild(c))}r.setAttribute(s.apply,fr("url(#{id})",{id:a.__root.getAttribute("id")}))}else if(a instanceof ys)r.setAttribute(s.apply,fr("url(#{id})",{id:a.__root.getAttribute("id")}));else if(s.apply.includes(t)&&s.svg!==a)if((s.svgAttr==="stroke"||s.svgAttr==="fill")&&a&&a.includes("rgba")){let l=/rgba\(\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi.exec(a);if(l){r.setAttribute(s.svgAttr,fr("rgb({r},{g},{b})",{r:l[1],g:l[2],b:l[3]}));let A=Number(l[4]),u=this.globalAlpha;u!=null&&(A*=u),r.setAttribute(s.svgAttr+"-opacity",String(A))}}else{let c=s.svgAttr,l=a;if(i==="globalAlpha"){if(c=t+"-"+s.svgAttr,r.getAttribute(c))continue}else if(i==="lineWidth"){let A=this.__getTransformScale();l=a*Math.max(A.x,A.y)}r.setAttribute(c,l)}}}}__closestGroupOrSvg(t){return t=t||this.__currentElement,t.nodeName==="g"||t.nodeName==="svg"?t:this.__closestGroupOrSvg(t.parentNode)}getSerializedSvg(t){let r=new XMLSerializer().serializeToString(this.__root);if(/xmlns="http:\/\/www\.w3\.org\/2000\/svg".+xmlns="http:\/\/www\.w3\.org\/2000\/svg/gi.test(r)&&(r=r.replace('xmlns="http://www.w3.org/2000/svg','xmlns:xlink="http://www.w3.org/1999/xlink')),t)for(let o of Object.keys(sB)){let i=new RegExp(o,"gi");i.test(r)&&(r=r.replace(i,sB[o]))}return r}getSvg(){return this.__root}save(){let t=this.__createElement("g"),r=this.__closestGroupOrSvg();this.__groupStack.push(r),r.appendChild(t),this.__currentElement=t;let n=this.__getStyleState();this.__styleStack.push(n),this.__transformMatrixStack||(this.__transformMatrixStack=[]),this.__transformMatrixStack.push(this.getTransform())}restore(){this.__currentElement=this.__groupStack.pop(),this.__currentElementsToStyle=void 0,this.__currentElement||(this.__currentElement=this.__root.childNodes[1]);let t=this.__styleStack.pop();this.__applyStyleState(t),this.__transformMatrixStack&&this.__transformMatrixStack.length>0&&this.setTransform(this.__transformMatrixStack.pop())}beginPath(){this.__currentDefaultPath="",this.__currentPosition={};let t=this.__createElement("path",{},!0);this.__closestGroupOrSvg().appendChild(t),this.__currentElement=t}__applyCurrentDefaultPath(){let t=this.__currentElement;t.nodeName==="path"&&t.setAttribute("d",this.__currentDefaultPath)}__addPathCommand(t){this.__currentDefaultPath+=" ",this.__currentDefaultPath+=t}moveTo(t,r){this.__currentElement.nodeName!=="path"&&this.beginPath(),this.__currentPosition={x:t,y:r},this.__addPathCommand(fr("M {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y}))}closePath(){this.__currentDefaultPath&&this.__addPathCommand("Z")}lineTo(t,r){this.__currentPosition={x:t,y:r},this.__currentDefaultPath.includes("M")?this.__addPathCommand(fr("L {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y})):this.__addPathCommand(fr("M {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y}))}bezierCurveTo(t,r,n,o,i,s){this.__currentPosition={x:i,y:s},this.__addPathCommand(fr("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:this.__matrixTransform(t,r).x,cp1y:this.__matrixTransform(t,r).y,cp2x:this.__matrixTransform(n,o).x,cp2y:this.__matrixTransform(n,o).y,x:this.__matrixTransform(i,s).x,y:this.__matrixTransform(i,s).y}))}quadraticCurveTo(t,r,n,o){this.__currentPosition={x:n,y:o},this.__addPathCommand(fr("Q {cpx} {cpy} {x} {y}",{cpx:this.__matrixTransform(t,r).x,cpy:this.__matrixTransform(t,r).y,x:this.__matrixTransform(n,o).x,y:this.__matrixTransform(n,o).y}))}stroke(){this.__currentElement.nodeName==="path"&&this.__currentElement.setAttribute("paint-order","fill stroke markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("stroke")}fill(){this.__currentElement.nodeName==="path"&&this.__currentElement.setAttribute("paint-order","stroke fill markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("fill")}rect(t,r,n,o){this.__currentElement.nodeName!=="path"&&this.beginPath(),this.moveTo(t,r),this.lineTo(t+n,r),this.lineTo(t+n,r+o),this.lineTo(t,r+o),this.lineTo(t,r),this.closePath()}__clearCanvas(){let t=this.__root.childNodes[1];this.__root.removeChild(t),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement),this.__groupStack=[]}fillRect(t,r,n,o){let{a:i,b:s,c:a,d:c,e:l,f:A}=this.getTransform();JSON.stringify([i,s,a,c,l,A])===JSON.stringify([1,0,0,1,0,0])&&t===0&&r===0&&n===this.width&&o===this.height&&this.__clearCanvas();let u=this.__createElement("rect",{x:t,y:r,width:n,height:o},!0);this.__closestGroupOrSvg().appendChild(u),this.__currentElement=u,this.__applyTransformation(u),this.__applyStyleToCurrentElement("fill")}strokeRect(t,r,n,o){let i=this.__createElement("rect",{x:t,y:r,width:n,height:o},!0);this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyTransformation(i),this.__applyStyleToCurrentElement("stroke")}clearRect(t,r,n,o){let{a:i,b:s,c:a,d:c,e:l,f:A}=this.getTransform();if(JSON.stringify([i,s,a,c,l,A])===JSON.stringify([1,0,0,1,0,0])&&t===0&&r===0&&n===this.width&&o===this.height){this.__clearCanvas();return}let u=this.__createElement("rect",{x:t,y:r,width:n,height:o,fill:"#FFFFFF"},!0);this.__applyTransformation(u),this.__closestGroupOrSvg().appendChild(u)}createLinearGradient(t,r,n,o){let i=this.__createElement("linearGradient",{id:Am(this.__ids),x1:t+"px",x2:n+"px",y1:r+"px",y2:o+"px",gradientUnits:"userSpaceOnUse"});return this.__defs.appendChild(i),new ys(i,this)}createRadialGradient(t,r,n,o,i,s){let a=this.__createElement("radialGradient",{id:Am(this.__ids),cx:o+"px",cy:i+"px",r:s+"px",fx:t+"px",fy:r+"px",gradientUnits:"userSpaceOnUse"});return this.__defs.appendChild(a),new ys(a,this)}__applyText(t,r,n,o){let i=document.createElement("span");i.setAttribute("style","font:"+this.font);let s=i.style,a=this.__closestGroupOrSvg(),c=this.__createElement("text",{"font-family":s.fontFamily,"font-size":s.fontSize,"font-style":s.fontStyle,"font-weight":s.fontWeight,"text-decoration":this.__fontUnderline,x:r,y:n,"text-anchor":rD(this.textAlign),"dominant-baseline":nD(this.textBaseline)},!0);c.appendChild(this.__document.createTextNode(t)),this.__currentElement=c,this.__applyTransformation(c),this.__applyStyleToCurrentElement(o);let l=c;if(this.__fontHref){let A=this.__createElement("a");A.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.__fontHref),A.appendChild(c),l=A}a.appendChild(l)}fillText(t,r,n){this.__applyText(t,r,n,"fill")}strokeText(t,r,n){this.__applyText(t,r,n,"stroke")}measureText(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)}arc(t,r,n,o,i,s){if(o===i)return;o=o%(2*Math.PI),i=i%(2*Math.PI),o===i&&(i=(i+2*Math.PI-.001*(s?-1:1))%(2*Math.PI));let a=t+n*Math.cos(i),c=r+n*Math.sin(i),l=t+n*Math.cos(o),A=r+n*Math.sin(o),u=s?0:1,m=0,d=i-o;d<0&&(d+=2*Math.PI),s?m=d>Math.PI?0:1:m=d>Math.PI?1:0;let p=Math.hypot(this.__transformMatrix.a,this.__transformMatrix.b),E=Math.hypot(this.__transformMatrix.c,this.__transformMatrix.d);this.lineTo(l,A),this.__addPathCommand(fr("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:n*p,ry:n*E,xAxisRotation:0,largeArcFlag:m,sweepFlag:u,endX:this.__matrixTransform(a,c).x,endY:this.__matrixTransform(a,c).y})),this.__currentPosition={x:a,y:c}}clip(){let t=this.__closestGroupOrSvg(),r=this.__createElement("clipPath"),n=Am(this.__ids),o=this.__createElement("g");this.__applyCurrentDefaultPath(),t.removeChild(this.__currentElement),r.setAttribute("id",n),r.appendChild(this.__currentElement),this.__defs.appendChild(r),t.setAttribute("clip-path",fr("url(#{id})",{id:n})),t.appendChild(o),this.__currentElement=o}setLineDash(t){t&&t.length>0?this.lineDash=t.join(","):this.lineDash=null}setTransform(t,r,n,o,i,s){t instanceof DOMMatrix?this.__transformMatrix=new DOMMatrix([t.a,t.b,t.c,t.d,t.e,t.f]):this.__transformMatrix=new DOMMatrix([t,r,n,o,i,s])}getTransform(){let{a:t,b:r,c:n,d:o,e:i,f:s}=this.__transformMatrix;return new DOMMatrix([t,r,n,o,i,s])}resetTransform(){this.setTransform(1,0,0,1,0,0)}scale(t,r){if(r===void 0&&(r=t),isNaN(t)||isNaN(r)||!isFinite(t)||!isFinite(r))return;let n=this.getTransform().scale(t,r);this.setTransform(n)}rotate(t){let r=this.getTransform().multiply(new DOMMatrix([Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0]));this.setTransform(r)}translate(t,r){let n=this.getTransform().translate(t,r);this.setTransform(n)}transform(t,r,n,o,i,s){let a=this.getTransform().multiply(new DOMMatrix([t,r,n,o,i,s]));this.setTransform(a)}__matrixTransform(t,r){return new DOMPoint(t,r).matrixTransform(this.__transformMatrix)}__getTransformScale(){return{x:Math.hypot(this.__transformMatrix.a,this.__transformMatrix.b),y:Math.hypot(this.__transformMatrix.c,this.__transformMatrix.d)}}__getTransformRotation(){return Math.atan2(this.__transformMatrix.b,this.__transformMatrix.a)}drawFocusRing(){}createImageData(){}putImageData(){}globalCompositeOperation(){}drawImage(){}createPattern(){return null}}});var fB={};Ye(fB,{renderToSvg:()=>oD});async function oD(e,t){await(0,uB.when)(()=>!!e.dataInitialized);let{width:r,height:n,scrollX:o,scrollY:i,totalTrackAreaHeight:s}=e,{exportType:a,theme:c,includeMinimap:l,includeTracks:A}=t,u=A?s:0;if(a==="entire")return lB({width:e.totalWidth+e.treeAreaWidth,height:e.totalHeight+u,contentHeight:e.totalHeight,trackHeight:u,theme:c,model:e,offsetY:0,offsetX:0,includeMinimap:l,includeTracks:A});if(a==="viewport")return lB({width:r,height:n+(l?e.minimapHeight:0)+u,contentHeight:n,trackHeight:u,theme:c,model:e,offsetY:-i,offsetX:-o,includeMinimap:l,includeTracks:A});throw new Error("unknown export type")}async function lB({width:e,height:t,contentHeight:r,trackHeight:n,offsetX:o,offsetY:i,theme:s,model:a,includeMinimap:c,includeTracks:l}){let{Context:A}=await Promise.resolve().then(()=>(cB(),aB)),u=c?aD:lD;return(0,AB.renderToStaticMarkup)(ce.default.createElement(cD,{width:e,height:t},ce.default.createElement(u,{model:a},l&&n>0?ce.default.createElement(sD,{Context:A,model:a,theme:s,offsetX:o,width:e,trackHeight:n}):null,ce.default.createElement("g",{transform:n>0?`translate(0 ${n})`:void 0},ce.default.createElement(iD,{Context:A,model:a,theme:s,offsetX:o,offsetY:i,width:e,contentHeight:r})))))}function iD({model:e,theme:t,width:r,contentHeight:n,offsetX:o,offsetY:i,Context:s}){let{treeAreaWidth:a,colorScheme:c,id:l}=e,A=`tree-${l}`,u=`msa-${l}`,m=rs(c,t),d=new s(r,n),p=new s(r,n);Qc({ctx:p,offsetX:o,offsetY:i,model:e,blockSizeYOverride:n,highResScaleFactorOverride:1});let E=r-a;return Nc({model:e,offsetY:i,ctx:d,theme:t,blockSizeYOverride:n,highResScaleFactorOverride:1}),Mc({model:e,theme:t,offsetY:i,offsetX:o,contrastScheme:m,ctx:p,blockSizeXOverride:E,blockSizeYOverride:n,highResScaleFactorOverride:1}),ce.default.createElement(ce.default.Fragment,null,ce.default.createElement("defs",null,ce.default.createElement("clipPath",{id:A},ce.default.createElement("rect",{x:0,y:0,width:a,height:n}))),ce.default.createElement("defs",null,ce.default.createElement("clipPath",{id:u},ce.default.createElement("rect",{x:0,y:0,width:E,height:n}))),ce.default.createElement("g",{clipPath:`url(#${A})`,dangerouslySetInnerHTML:{__html:d.getSvg().innerHTML}}),ce.default.createElement("g",{clipPath:`url(#${u})`,transform:`translate(${a} 0)`,dangerouslySetInnerHTML:{__html:p.getSvg().innerHTML}}))}function sD({model:e,theme:t,width:r,trackHeight:n,offsetX:o,Context:i}){let{treeAreaWidth:s,colorScheme:a,id:c}=e,l=`tracks-${c}`,A=rs(a,t),u=r-s,m=new i(u,n);return yw({model:e,ctx:m,offsetX:o,contrastScheme:A,blockSizeXOverride:u,highResScaleFactorOverride:1}),ce.default.createElement("g",{transform:`translate(${s} 0)`},ce.default.createElement("defs",null,ce.default.createElement("clipPath",{id:l},ce.default.createElement("rect",{x:0,y:0,width:u,height:n}))),ce.default.createElement("g",{clipPath:`url(#${l})`,dangerouslySetInnerHTML:{__html:m.getSvg().innerHTML}}))}function aD({model:e,children:t}){let{minimapHeight:r,treeAreaWidth:n}=e;return ce.default.createElement(ce.default.Fragment,null,ce.default.createElement("g",{transform:`translate(${n} 0)`},ce.default.createElement(nB,{model:e})),ce.default.createElement("g",{transform:`translate(0 ${r})`},t))}function cD({width:e,height:t,children:r}){return ce.default.createElement("svg",{width:e,height:t,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:[0,0,e,t].toString()},r)}function lD({children:e}){return e}var ce,AB,uB,mB=g(()=>{ce=f(w(),1),AB=f(Ce(),1),uB=f(Gr(),1);oB();xf();yf();qc();Lc();Yn()});function AD(){return Z.types.compose(Rw(),Hw(),Gw(),Z.types.model("MsaView",{id:so.ElementId,showDomains:!1,hideGaps:!0,allowedGappyness:100,subFeatureRows:!1,type:Z.types.literal("MsaView"),drawMsaLetters:!0,height:Z.types.optional(Z.types.number,550),rowHeight:16,scrollY:0,scrollX:0,colWidth:12,treeFilehandle:Z.types.maybe(so.FileLocation),msaFilehandle:Z.types.maybe(so.FileLocation),treeMetadataFilehandle:Z.types.maybe(so.FileLocation),gffFilehandle:Z.types.maybe(so.FileLocation),currentAlignment:0,collapsed:Z.types.array(Z.types.string),showOnly:Z.types.maybe(Z.types.string),turnedOffTracks:Z.types.map(Z.types.boolean),data:Z.types.optional(Nw(),{tree:"",msa:"",treeMetadata:""}),featureFilters:Z.types.map(Z.types.boolean),relativeTo:Z.types.maybe(Z.types.string)})).volatile(()=>({headerHeight:0,status:void 0,highResScaleFactor:2,loadingMSA:!1,loadingTree:!1,volatileWidth:void 0,resizeHandleWidth:5,blockSize:500,mouseRow:void 0,mouseCol:void 0,mouseClickRow:void 0,mouseClickCol:void 0,hoveredTreeNode:void 0,highlightedColumns:void 0,nref:0,minimapHeight:56,conservationTrackHeight:40,marginLeft:20,error:void 0,interProAnnotations:void 0})).actions(e=>({drawRelativeTo(t){e.relativeTo=t},setHideGaps(t){e.hideGaps=t},setAllowedGappyness(t){e.allowedGappyness=t},setLoadingMSA(t){e.loadingMSA=t},setLoadingTree(t){e.loadingTree=t},setWidth(t){e.volatileWidth=t},setHeight(t){e.height=t},setError(t){e.error=t},setMousePos(t,r){e.mouseCol=t,e.mouseRow=r},setHoveredTreeNode(t){if(!t){e.hoveredTreeNode=void 0;return}let r=hs(e.hierarchy,o=>o.data.id===t);if(!r){e.hoveredTreeNode=void 0;return}let n=Cs(r).map(o=>o.data.name);e.hoveredTreeNode={nodeId:t,descendantNames:n}},setHighlightedColumns(t){e.highlightedColumns=t},setShowDomains(t){e.showDomains=t},setSubFeatureRows(t){e.subFeatureRows=t},setMouseClickPos(t,r){e.mouseClickCol=t,e.mouseClickRow=r},setRowHeight(t){e.rowHeight=t},setColWidth(t){e.colWidth=t},setScrollY(t){e.scrollY=t},setCurrentAlignment(t){e.currentAlignment=t},toggleCollapsed(t){e.collapsed.includes(t)?e.collapsed.remove(t):e.collapsed.push(t)},setShowOnly(t){e.showOnly=t},setData(t){e.data=(0,Z.cast)(t)},setMSAFilehandle(t){e.msaFilehandle=t},setTreeFilehandle(t){e.treeFilehandle=t},setGFFFilehandle(t){e.gffFilehandle=t},setMSA(t){e.data.setMSA(t)},setTree(t){e.data.setTree(t)},setTreeMetadata(t){e.data.setTreeMetadata(t)}})).views(e=>({get hideGapsEffective(){return e.hideGaps&&(e.collapsed.length>0||e.allowedGappyness<100)},get realAllowedGappyness(){return this.hideGapsEffective?e.allowedGappyness:100},get actuallyShowDomains(){return e.showDomains&&!!e.interProAnnotations},get viewInitialized(){return e.volatileWidth!==void 0},get width(){if(e.volatileWidth===void 0)throw new Error("not initialized");return e.volatileWidth}})).views(e=>({extraViewMenuItems(){return[]},get colorScheme(){return ii[e.colorSchemeName]},get header(){return this.MSA?.getHeader()||{}},get alignmentNames(){return this.MSA?.alignmentNames||[]},get noTree(){return!!this.tree.noTree},get noDomains(){return!e.interProAnnotations},menuItems(){return[]},get treeMetadata(){return e.data.treeMetadata?JSON.parse(e.data.treeMetadata):{}},get MSA(){let t=e.data.msa;return t?Vf(t,e.currentAlignment):null},get numColumns(){return(this.MSA?.getWidth()||0)-this.blanks.length},get tree(){let t=e.data.tree;return t?mi(t.startsWith("BioTreeContainer")?Tw(Yw(t)):no(t.startsWith("SEQ")?Uc(t).tree:t)):this.MSA?.getTree()||{noTree:!0,children:[],id:"empty",name:"empty"}},get rowNames(){return this.leaves.map(t=>t.data.name)},get mouseOverRowName(){let{mouseRow:t}=e;return t===void 0?void 0:this.rowNames[t]},get hoveredInsertion(){let{mouseCol:t,mouseRow:r}=e;if(t===void 0||r===void 0)return;let n=this.rowNames[r];if(!n)return;let o=this.insertionPositions.get(n);if(!o)return;let i=o.find(s=>s.pos===t);if(i)return{rowName:n,col:t,letters:i.letters}},get root(){let t=rb(this.tree,r=>r.children);if(nb(t,r=>r.children.length>0?0:1),ob(t,(r,n)=>(r.data.length??1)-(n.data.length??1)),e.showOnly){let r=hs(t,n=>n.data.id===e.showOnly);r&&(t=r)}for(let r of e.collapsed){let n=hs(t,o=>o.data.id===r);n&&(n.children?ab(n):n.parent?.children&&(n.parent.children=n.parent.children.filter(o=>o.data.id!==r)))}return t},get msaAreaWidth(){return e.width-e.treeAreaWidth},get treeAreaWidthMinusMargin(){return e.treeAreaWidth-e.marginLeft},get blanks(){let{hideGapsEffective:t,realAllowedGappyness:r}=e;if(!t)return[];let n=this.leaves.map(l=>this.MSA?.getRow(l.data.name)).filter(je.notEmpty);if(n.length===0)return[];let o=n[0].length,i=n.length,s=Math.ceil(r/100*i),a=new Uint16Array(o);for(let l=0;l<i;l++){let A=n[l];for(let u=0;u<o;u++)A.charCodeAt(u)-45>>>0<=1&&a[u]++}let c=[];for(let l=0;l<o;l++)a[l]>=s&&c.push(l);return c},get blanksSet(){return new Set(this.blanks)},get insertionPositions(){let{hideGapsEffective:t}=e,{blanks:r,rows:n}=this,o=r.length;if(o===0||!t)return new Map;let i=new Map;for(let[s,a]of n){let c=[],l=0,A=0,u=-1,m=[],d=a.length;for(let p=0;p<d;p++)A<o&&r[A]===p?(a.charCodeAt(p)-45>>>0<=1||(u===l?m.push(a[p]):(m.length>0&&c.push({pos:u,letters:m.join("")}),u=l,m=[a[p]])),A++):l++;m.length>0&&c.push({pos:u,letters:m.join("")}),c.length>0&&i.set(s,c)}return i},get rows(){let t=this.MSA;return this.leaves.map(r=>[r.data.name,t?.getRow(r.data.name)]).filter(r=>!!r[1])},get numRows(){return this.rows.length},get rowMap(){return new Map(this.rows)},get columns(){return Object.fromEntries(this.rows.map((t,r)=>[t[0],this.columns2d[r]]))},get columns2d(){let{hideGapsEffective:t}=e;return this.rows.map(r=>r[1]).map(r=>t?Hu(this.blanks,r):r)},get fontSize(){return Math.min(Math.max(6,e.rowHeight-3),18)},get colStats(){let t=[],r=this.columns2d;for(let n of r)for(let o=0;o<n.length;o++){let i=t[o]??={},s=n[o];i[s]=(i[s]??0)+1}return t},get colStatsSums(){return this.colStats.map(t=>(0,je.sum)(Object.values(t)))},get sequenceType(){let t=new Set;for(let s of this.colStats)for(let a of Object.keys(s)){let c=a.toUpperCase();c!=="-"&&c!=="."&&t.add(c)}let r=new Set(["A","C","G","T","N"]),n=new Set(["A","C","G","U","N"]),o=[...t].every(s=>r.has(s)),i=[...t].every(s=>n.has(s));return o&&!t.has("U")?"dna":i&&!t.has("T")?"rna":"amino"},get colConsensus(){let{colStats:t,colStatsSums:r}=this;return t.map((n,o)=>{let i=r[o],s=0,a="";for(let l in n){let A=n[l];A>s&&l!=="-"&&l!=="."&&(s=A,a=l)}let c=s/i;return{letter:a,color:c>.4?`hsl(240, 30%, ${100*Math.max(1-c/3,.3)}%)`:void 0}})},get colClustalX(){let{colStats:t,colStatsSums:r}=this;return t.map((n,o)=>Iw(n,r[o]))},get conservation(){let{colStats:t,colStatsSums:r,sequenceType:n}=this,i=Math.log2(n==="amino"?20:4);return t.map((s,a)=>{let c=r[a];if(!c)return 0;let l=(s["-"]||0)+(s["."]||0),A=c-l;if(A===0)return 0;let u={};for(let E of Object.keys(s)){if(E==="-"||E===".")continue;let x=E.toUpperCase();u[x]=(u[x]||0)+s[E]}let m=0;for(let E of Object.keys(u)){let x=u[E]/A;x>0&&(m-=x*Math.log2(x))}let d=l/c;return Math.max(0,1-m/i)*(1-d)})},get hierarchy(){let t=this.root;return sb(t,this.totalHeight,e.treeWidth),t.data.length=0,Mf(t,0,e.treeWidth/Qf(t)),t},get totalHeight(){return Cs(this.root).length*e.rowHeight},get leaves(){return Cs(this.hierarchy)},get maxBranchLength(){return Sf(this.hierarchy)},get maxDepthToLeaf(){return Es(this.hierarchy)},get allBranchesLength0(){return _c(this.hierarchy).every(t=>!t.source.data.length)},get showBranchLenEffective(){return this.allBranchesLength0?!1:e.showBranchLen}})).views(e=>({get totalWidth(){return e.numColumns*e.colWidth}})).views(e=>({get dataInitialized(){return(e.data.msa||e.data.tree)&&!e.error},get blocksX(){return dw({viewportWidth:e.msaAreaWidth,viewportX:-e.scrollX,blockSize:e.blockSize,mapWidth:e.totalWidth})},get blocksY(){return mw({viewportHeight:e.height,viewportY:-e.scrollY,blockSize:e.blockSize,mapHeight:e.totalHeight})}})).views(e=>({get blocks2d(){return e.blocksY.flatMap(t=>e.blocksX.map(r=>[r,t]))},get isLoading(){return e.loadingMSA||e.loadingTree},get maxScrollX(){return Math.min(-e.totalWidth+(e.msaAreaWidth-100),0)},get showMsaLetters(){return e.drawMsaLetters&&e.rowHeight>=5&&e.colWidth>e.rowHeight/2},get showTreeText(){return e.drawLabels&&e.rowHeight>=5}})).actions(e=>({setDrawMsaLetters(t){e.drawMsaLetters=t},calculateNeighborJoiningTreeFromMSA(){if(e.rows.length<2)throw new Error("Need at least 2 sequences to build a tree");let t=Jw(e.rows);e.setTree(t)},resetZoom(){e.setColWidth(12),e.setRowHeight(16)},zoomOutHorizontal(){e.colWidth=Math.max(1,Math.floor(e.colWidth*.75)),e.scrollX=(0,je.clamp)(e.scrollX,e.maxScrollX,0)},zoomInHorizontal(){e.colWidth=Math.ceil(e.colWidth*1.5),e.scrollX=(0,je.clamp)(e.scrollX,e.maxScrollX,0)},zoomInVertical(){e.rowHeight=Math.ceil(e.rowHeight*1.5)},zoomOutVertical(){e.rowHeight=Math.max(1.5,Math.floor(e.rowHeight*.75))},zoomIn(){(0,Pt.transaction)(()=>{e.colWidth=Math.ceil(e.colWidth*1.5),e.rowHeight=Math.ceil(e.rowHeight*1.5),e.scrollX=(0,je.clamp)(e.scrollX,e.maxScrollX,0)})},zoomOut(){(0,Pt.transaction)(()=>{e.colWidth=Math.max(1,Math.floor(e.colWidth*.75)),e.rowHeight=Math.max(1.5,Math.floor(e.rowHeight*.75)),e.scrollX=(0,je.clamp)(e.scrollX,e.maxScrollX,0)})},doScrollY(t){e.scrollY=(0,je.clamp)(e.scrollY+t,-e.totalHeight+10,0)},setInterProAnnotations(t){e.interProAnnotations=t},applyGFFText(t){let r=Hc(t),n=jc(r);e.interProAnnotations=n,e.setShowDomains(!0)},doScrollX(t){this.setScrollX(e.scrollX+t)},setScrollX(t){e.scrollX=(0,je.clamp)(t,e.maxScrollX,0)},toggleTrack(t){e.turnedOffTracks.has(t)?e.turnedOffTracks.delete(t):e.turnedOffTracks.set(t,!0)},setStatus(t){e.status=t}})).views(e=>({get labelsWidth(){let{rowHeight:t,leaves:r,treeMetadata:n,fontSize:o}=e;return t<=5?0:r.reduce((i,s)=>Math.max(i,kw(n[s.data.name]?.genome||s.data.name,o)),0)},get secondaryStructureConsensus(){return e.MSA?.secondaryStructureConsensus},get seqConsensus(){return e.MSA?.seqConsensus},get adapterTrackModels(){let{rowHeight:t,MSA:r,hideGapsEffective:n,blanks:o}=e;return(r?.tracks??[]).filter(s=>!!s.data).map(s=>({model:{...s,data:n&&s.data?Hu(o,s.data):s.data,height:t},ReactComponent:Sw}))},get tracks(){let t={model:{id:"conservation",name:"Conservation",height:e.conservationTrackHeight},ReactComponent:ww};return[...this.adapterTrackModels,t]},get turnedOnTracks(){return this.tracks.filter(t=>!e.turnedOffTracks.has(t.model.id))},get showHorizontalScrollbar(){return e.msaAreaWidth<e.totalWidth},get rowNamesSet(){return new Map(e.rowNames.map((t,r)=>[t,r]))},visibleColToRowLetter(t,r){let{rowMap:n,blanks:o}=e;return n.get(t)?.[lm(o,r)]},visibleColToSeqPos(t,r){return $w({rowName:t,visibleCol:r,rowMap:e.rowMap,blanks:e.blanks})},visibleColToSeqPosOneBased(t,r){let n=this.visibleColToSeqPos(t,r);return n!==void 0?n+1:void 0},globalColToVisibleCol(t){let{blanks:r,hideGapsEffective:n}=e;return n?zw(r,t):t},seqPosToGlobalCol(t,r){let{rows:n}=e,o=this.rowNamesSet.get(t);return o!==void 0&&n[o]?Xw({row:n[o][1],seqPos:r}):0},seqPosToVisibleCol(t,r){let n=this.seqPosToGlobalCol(t,r);return this.globalColToVisibleCol(n)}})).views(e=>({get hoveredCell(){let{mouseCol:t,mouseRow:r}=e;if(t===void 0||r===void 0)return;let n=e.rowNames[r];if(!n)return;let i=e.columns[n]?.[t],s=e.visibleColToSeqPosOneBased(n,t);return{rowName:n,col:t,base:i,seqPos:s}},get msaAreaHeight(){return e.height-(e.showHorizontalScrollbar?e.minimapHeight:0)-e.headerHeight},get totalTrackAreaHeight(){return(0,je.sum)(e.turnedOnTracks.map(t=>t.model.height))},get tidyInterProAnnotationTypes(){return new Map(this.tidyInterProAnnotations.map(t=>[t.accession,t]))},get tidyInterProAnnotations(){let{interProAnnotations:t}=e;return t?Object.entries(t).flatMap(([r,n])=>n.matches.flatMap(({signature:o,locations:i})=>o.entry?i.map(({start:s,end:a})=>({id:r,name:o.entry.name,accession:o.entry.accession,description:o.entry.description,start:s,end:a})):[])).toSorted((r,n)=>ju(n)-ju(r)):[]},get tidyFilteredInterProAnnotations(){return this.tidyInterProAnnotations.filter(t=>e.featureFilters.get(t.accession))},get tidyFilteredGatheredInterProAnnotations(){return(0,je.groupBy)(this.tidyFilteredInterProAnnotations,t=>t.id)}})).views(e=>({get showVerticalScrollbar(){return e.msaAreaHeight<e.totalHeight}})).views(e=>({get verticalScrollbarWidth(){return e.showVerticalScrollbar?20:0},get fillPalette(){return Mw([...e.tidyInterProAnnotationTypes.keys()])},get strokePalette(){return Object.fromEntries(Object.entries(this.fillPalette).map(([t,r])=>[t,bt(r).darken(.1).toHex()]))},getRowData(t){return{data:e.MSA?.getRowData(t),treeMetadata:e.treeMetadata[t]}}})).actions(e=>({setHeaderHeight(t){e.headerHeight=t},setConservationTrackHeight(t){e.conservationTrackHeight=t},reset(){e.setData({tree:"",msa:""}),e.resetZoom(),e.setError(void 0),e.setScrollY(0),e.setScrollX(0),e.setCurrentAlignment(0),e.setTreeFilehandle(void 0),e.setMSAFilehandle(void 0),e.setGFFFilehandle(void 0),e.setInterProAnnotations({}),e.setShowDomains(!1)},async exportSVG(t){let{renderToSvg:r}=await Promise.resolve().then(()=>(mB(),fB)),n=await r(e,t),o=new Blob([n],{type:"image/svg+xml"});eB(o,"image.svg")},incrementRef(){e.nref++},initFilter(t){e.featureFilters.has(t)||e.featureFilters.set(t,!0)},setFilter(t,r){e.featureFilters.set(t,r)},fit(){e.rowHeight=e.msaAreaHeight/e.numRows,e.colWidth=e.msaAreaWidth/e.numColumns,e.scrollX=0,e.scrollY=0},fitVertically(){e.rowHeight=e.msaAreaHeight/e.numRows,e.scrollY=0},fitHorizontally(){e.colWidth=e.msaAreaWidth/e.numColumns,e.scrollX=0},afterCreate(){(0,Z.addDisposer)(e,(0,Pt.autorun)(()=>{for(let t of e.tidyInterProAnnotationTypes.keys())this.initFilter(t)})),(0,Z.addDisposer)(e,(0,Pt.autorun)(async()=>{let{treeFilehandle:t}=e;if(t)try{e.setLoadingTree(!0),e.setTree(await(0,je.fetchAndMaybeUnzipText)((0,bs.openLocation)(t))),t.locationType==="BlobLocation"&&e.setTreeFilehandle(void 0)}catch(r){console.error(r),e.setError(r)}finally{e.setLoadingTree(!1)}})),(0,Z.addDisposer)(e,(0,Pt.autorun)(async()=>{let{treeMetadataFilehandle:t}=e;if(t)try{e.setTreeMetadata(await(0,je.fetchAndMaybeUnzipText)((0,bs.openLocation)(t)))}catch(r){console.error(r),e.setError(r)}})),(0,Z.addDisposer)(e,(0,Pt.autorun)(()=>{let t=e.data.gff;if(t)try{e.applyGFFText(t)}catch(r){console.error(r),e.setError(r)}})),(0,Z.addDisposer)(e,(0,Pt.autorun)(async()=>{let{gffFilehandle:t}=e;if(t)try{let r=await(0,je.fetchAndMaybeUnzipText)((0,bs.openLocation)(t));e.applyGFFText(r),t.locationType==="BlobLocation"&&e.setGFFFilehandle(void 0)}catch(r){console.error(r),e.setError(r)}})),(0,Z.addDisposer)(e,(0,Pt.autorun)(async()=>{let{msaFilehandle:t}=e;if(t)try{e.setLoadingMSA(!0),e.setError(void 0);let r=await(0,je.fetchAndMaybeUnzipText)((0,bs.openLocation)(t));(0,Pt.transaction)(()=>{e.setMSA(r),t.locationType==="BlobLocation"&&e.setMSAFilehandle(void 0)})}catch(r){console.error(r),e.setError(r)}finally{e.setLoadingMSA(!1)}})),(0,Z.addDisposer)(e,(0,Pt.autorun)(()=>{e.colorSchemeName.includes("dynamic")&&(e.colStats,e.colStatsSums),e.columns})),(0,Z.addDisposer)(e,(0,Pt.autorun)(()=>{e.setTreeWidth(Math.max(50,e.treeAreaWidth-e.labelsWidth-10-e.marginLeft))}))}})).postProcessSnapshot(e=>{let t=e,{data:{tree:r,msa:n,treeMetadata:o},showDomains:i,hideGaps:s,allowedGappyness:a,subFeatureRows:c,drawMsaLetters:l,height:A,rowHeight:u,scrollY:m,scrollX:d,colWidth:p,currentAlignment:E,collapsed:x,showOnly:I,turnedOffTracks:h,featureFilters:y,relativeTo:Q,bgColor:M,colorSchemeName:B,drawLabels:v,labelsAlignRight:P,treeAreaWidth:N,treeWidth:$,showBranchLen:S,drawTree:L,drawNodeBubbles:J,...O}=t,Tt=Object.fromEntries(Object.entries({showDomains:!1,hideGaps:!0,allowedGappyness:100,subFeatureRows:!1,drawMsaLetters:!0,height:550,rowHeight:16,scrollY:0,scrollX:0,colWidth:12,currentAlignment:0,bgColor:!0,colorSchemeName:Jc,drawLabels:!0,labelsAlignRight:!1,treeAreaWidth:400,treeWidth:300,showBranchLen:!0,drawTree:!0,drawNodeBubbles:!0}).filter(([Ut,Qn])=>t[Ut]!==Qn).map(([Ut])=>[Ut,t[Ut]]));return{...O,data:{...e.treeFilehandle?{}:{tree:r},...e.msaFilehandle?{}:{msa:n},...e.treeMetadataFilehandle?{}:{treeMetadata:o}},...Tt,...x?.length?{collapsed:x}:{},...I!==void 0?{showOnly:I}:{},...h&&Object.keys(h).length>0?{turnedOffTracks:h}:{},...y&&Object.keys(y).length>0?{featureFilters:y}:{},...Q!==void 0?{relativeTo:Q}:{}}})}var je,bs,so,Z,Pt,Wc,gm=g(()=>{je=f(Ce(),1),bs=f(qb(),1),so=f(Vb(),1),Z=f(_t(),1);rc();Pt=f(Gr(),1);fw();gw();xw();ic();Bw();Qw();Vc();vw();_w();vf();Dw();Lw();Pw();Uw();jw();Vw();Ww();Kw();Zw();Yn();tB();Wc=AD});var pm,uD,fD,bB=g(()=>{pm=f(w(),1),uD=f(Hb(),1),fD=f(CA(),1);gm();Lf()});var hm=g(()=>{Lf();bB();gm()});function vD(e){let t=e;return t.type==="ProteinView"&&Array.isArray(t.structures)}function bn(e){return e.filter(vD)}function il(e,t){if(t<0||t>=e.length)return;let r=0;for(let n=0;n<t;n++)e[n]!=="-"&&r++;if(e[t]!=="-")return r}var Qs=g(()=>{"use strict"});var cS={};Ye(cS,{default:()=>RD});var le,al,iS,ye,sS,aS,LD,FD,RD,lS=g(()=>{"use strict";le=f(w()),al=f(we()),iS=f(Ce()),ye=f(k()),sS=f(G()),aS=f(Se());Qs();LD=(0,aS.makeStyles)()(e=>({formControl:{marginBottom:e.spacing(2)}})),FD=(0,sS.observer)(function({model:t,handleClose:r}){let{classes:n}=LD(),o=(0,iS.getSession)(t),[i,s]=(0,le.useState)(""),[a,c]=(0,le.useState)(0),[l,A]=(0,le.useState)(t.querySeqName),[u,m]=(0,le.useState)(),d=bn(o.views),E=d.find(h=>h.id===i)?.structures??[],x=t.rows.map(h=>h[0]),I=()=>{if(!i){m("Please select a protein view");return}try{t.connectToStructure(i,a,l),r()}catch(h){m(h instanceof Error?h.message:String(h))}};return le.default.createElement(al.Dialog,{maxWidth:"sm",title:"Connect to Protein Structure",open:!0,onClose:r},le.default.createElement(ye.DialogContent,null,d.length===0?le.default.createElement(ye.Typography,{color:"textSecondary"},"No protein views are currently open. Please open a protein structure view first."):le.default.createElement(le.default.Fragment,null,le.default.createElement(ye.FormControl,{fullWidth:!0,className:n.formControl},le.default.createElement(ye.InputLabel,null,"Protein View"),le.default.createElement(ye.Select,{value:i,label:"Protein View",onChange:h=>{s(h.target.value),c(0)}},d.map(h=>le.default.createElement(ye.MenuItem,{key:h.id,value:h.id},h.displayName??`ProteinView ${h.id}`)))),E.length>1?le.default.createElement(ye.FormControl,{fullWidth:!0,className:n.formControl},le.default.createElement(ye.InputLabel,null,"Structure"),le.default.createElement(ye.Select,{value:a,label:"Structure",onChange:h=>{c(h.target.value)}},E.map((h,y)=>le.default.createElement(ye.MenuItem,{key:y,value:y},h.url??`Structure ${y+1}`)))):null,le.default.createElement(ye.FormControl,{fullWidth:!0,className:n.formControl},le.default.createElement(ye.InputLabel,null,"MSA Row"),le.default.createElement(ye.Select,{value:l,label:"MSA Row",onChange:h=>{A(h.target.value)}},x.map(h=>le.default.createElement(ye.MenuItem,{key:h,value:h},h)))),u?le.default.createElement(al.ErrorMessage,{error:u}):null)),le.default.createElement(ye.DialogActions,null,le.default.createElement(ye.Button,{onClick:r},"Cancel"),le.default.createElement(ye.Button,{onClick:I,variant:"contained",disabled:d.length===0||!i},"Connect")))}),RD=FD});var xS=U((sj,IS)=>{IS.exports=JBrowseExports["@jbrowse/core/data_adapters/BaseAdapter"]});var wS={};Ye(wS,{default:()=>cl});var yS,bS,cl,BS=g(()=>{"use strict";yS=f(Eo()),bS=f(xS());Y0();cl=class extends bS.BaseAdapter{async configurePre(){let t=this.getSubAdapter;if(t)return(await t({...(0,yS.readConfObject)(this.config),type:"BgzipFastaAdapter"})).dataAdapter;throw new Error("no get subadapter")}configure(){return this.configureP??=this.configurePre().catch(t=>{throw this.configureP=void 0,t}),this.configureP}async getMSARefs(){return this.refNamesP??=this.configure().then(t=>t.getRefNames()).catch(t=>{throw this.refNamesP=void 0,t}),this.refNamesP}getMsaRegex(){return new RegExp(this.getConf("msaRegex"))}refNameToMsaId(t){return t.split(this.getMsaRegex())[0]}async getMSAList(){let t=await this.getMSARefs();return[...new Set(t.map(n=>this.refNameToMsaId(n)))]}async getMSA(t){let r=await this.configure(),o=(await r.getRefNames()).filter(i=>this.refNameToMsaId(i)===t);return lu(r.getFeaturesInMultipleRegions(o.map(i=>({refName:i,start:0,end:1e9,assemblyName:""}))).pipe(Au()))}}});var OS=U(PS=>{"use strict";var xi=w();function KD(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var XD=typeof Object.is=="function"?Object.is:KD,ZD=xi.useState,eN=xi.useEffect,tN=xi.useLayoutEffect,rN=xi.useDebugValue;function nN(e,t){var r=t(),n=ZD({inst:{value:r,getSnapshot:t}}),o=n[0].inst,i=n[1];return tN(function(){o.value=r,o.getSnapshot=t,Dm(o)&&i({inst:o})},[e,r,t]),eN(function(){return Dm(o)&&i({inst:o}),e(function(){Dm(o)&&i({inst:o})})},[e]),rN(r),r}function Dm(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!XD(e,r)}catch{return!0}}function oN(e,t){return t()}var iN=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?oN:nN;PS.useSyncExternalStore=xi.useSyncExternalStore!==void 0?xi.useSyncExternalStore:iN});var US=U((bj,GS)=>{"use strict";GS.exports=OS()});function uo(e){let{children:t,...r}=e;return Xm.default.createElement(M1.Link,{...r,target:"_blank",rel:"noreferrer"},t," ",Xm.default.createElement(Ma,{fontSize:"small"}))}var Xm,M1,Sl=g(()=>{"use strict";Xm=f(w());NA();M1=f(k())});var tQ=U((UJ,eQ)=>{eQ.exports=JBrowseExports["@jbrowse/core/pluggableElementTypes/ViewType"]});var Fs,rQ,_l,nQ=g(()=>{"use strict";Fs=f(w()),rQ=f(we()),_l=class extends Fs.Component{constructor(t){super(t),this.state={hasError:!1,error:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,r){console.error("MsaViewPanel error:",t,r.componentStack)}render(){return this.state.hasError?Fs.default.createElement("div",{style:{padding:20}},Fs.default.createElement(rQ.ErrorMessage,{error:this.state.error})):this.props.children}}});function qN({baseUrl:e,rid:t}){return ad.default.createElement(oQ.Typography,null,"RID ",t," (",ad.default.createElement(uo,{href:`${e}?CMD=Get&RID=${t}`},"see status"),")")}var ad,oQ,cd,iQ=g(()=>{"use strict";ad=f(w()),oQ=f(k());Sl();cd=qN});function JN({baseUrl:e,rid:t,error:r}){return er.default.createElement("div",null,t?er.default.createElement(cd,{rid:t,baseUrl:e}):null,er.default.createElement(kl.ErrorMessage,{error:r}))}function VN({baseUrl:e,rid:t,progress:r}){let{classes:n}=cQ();return er.default.createElement("div",{className:n.loading},t?er.default.createElement(cd,{baseUrl:e,rid:t}):null,er.default.createElement(ld.Typography,null,r))}var er,kl,ld,sQ,aQ,cQ,YN,lQ,AQ=g(()=>{"use strict";er=f(w()),kl=f(we()),ld=f(k()),sQ=f(G()),aQ=f(Se());iQ();cQ=(0,aQ.makeStyles)()(e=>({margin:{padding:20},loading:{background:e.palette.background.paper}}));YN=(0,sQ.observer)(function({model:t,baseUrl:r}){let{progress:n,rid:o,error:i}=t,{classes:s}=cQ();return er.default.createElement("div",{className:s.margin},er.default.createElement(kl.LoadingEllipses,{message:"Running NCBI BLAST",variant:"h5"}),i?er.default.createElement(JN,{baseUrl:r,rid:o,error:i}):o?er.default.createElement(VN,{baseUrl:r,rid:o,progress:n}):er.default.createElement(ld.Typography,null,n||"Initializing BLAST query"))}),lQ=YN});var dQ={};Ye(dQ,{default:()=>$N});var fo,uQ,fQ,mQ,WN,zN,$N,gQ=g(()=>{"use strict";fo=f(w()),uQ=f(we()),fQ=f(G());hm();mQ=f(Se());nQ();AQ();WN=(0,mQ.makeStyles)()({loadingContainer:{padding:20}}),zN=(0,fQ.observer)(function({model:t}){let{classes:r}=WN(),{blastParams:n,loadingStoredData:o}=t;return fo.default.createElement(_l,null,fo.default.createElement("div",null,n?fo.default.createElement(lQ,{model:t,baseUrl:n.baseUrl}):o?fo.default.createElement("div",{className:r.loadingContainer},fo.default.createElement(uQ.LoadingEllipses,{message:"Loading MSA data",variant:"h6"})):fo.default.createElement(Oc,{model:t})))}),$N=zN});var XN={};Ye(XN,{default:()=>Dl});var EQ=f(Md()),ud=f(Eo()),IQ=f(Ce()),fd=f(_t());W();var Ld=f(R(),1),Fd=(0,_.createSvgIcon)((0,Ld.jsx)("path",{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2M8 20H4v-4h4zm0-6H4v-4h4zm0-6H4V4h4zm6 12h-4v-4h4zm0-6h-4v-4h4zm0-6h-4V4h4zm6 12h-4v-4h4zm0-6h-4v-4h4zm0-6h-4V4h4z"}),"GridOn");var hS=f(w()),CS=f(Ce());var vs=f(w()),gS=f(G());var bm=f(w()),fS=f(Ce()),wm=f(G());var Ud=f(Se());function Dn(e){return!!e&&typeof e=="object"&&"hoverPosition"in e&&!!e.hoverPosition}function Ys({assemblyManager:e,assemblyNames:t,refName:r}){let n=t?.[0];return n?e.get(n)?.getCanonicalRefName(r)??r:r}function Gd(e){return/AF-([A-Z0-9]+)-F\d+/.exec(e)?.[1]}var Ws=(0,Ud.makeStyles)()({highlight:{height:"100%",background:"rgba(255,255,0,0.2)",border:"1px solid rgba(50,50,0,0.2)",position:"absolute",zIndex:99,textAlign:"center",pointerEvents:"none",overflow:"hidden"}});var AS=f(w()),uS=f(Ul()),Ci=f(Ce()),Ze=f(_t());function jd(e){let t=e.strand,r=e.refName;if(t!==-1&&t!==1)throw new Error(`Invalid strand value: ${t}. Expected 1 or -1.`);if(!r)throw new Error("refName is required");let n=new Map;for(let c of e.subfeatures??[])if(c.type==="CDS"&&c.start<c.end){let l=`${c.start}-${c.end}`;n.has(l)||n.set(l,c)}let o=[...n.values()].sort((c,l)=>t*(c.start-l.start)),i={},s={},a={};if(o.length!==0){let l=(3-(o[0]?.phase??0))%3,A=-1;for(let u of o){let m=u.end-u.start;for(let d=0;d<m;d++){let p=t===1?u.start+d:u.end-1-d,E=Math.floor(l++/3);i[p]=E,E!==A?(s[E]=p,a[E]=[p],A=E):a[E].push(p)}}}return{g2p:i,p2g:s,p2gCodon:a,refName:r,strand:t}}var xm=f(Gr());hm();var Im=f(Ce());function wB(e,t){let r=e.sciname.replaceAll(" ","_");if(e.taxid&&t?.has(e.taxid)){let n=t.get(e.taxid);n.commonName&&(r=n.commonName.split(" ").map(o=>o.charAt(0).toUpperCase()+o.slice(1).toLowerCase()).join("_"))}return`${e.accession}-${r}`}function BB(e){return e.replaceAll("-","")}var $c=f(Ce());function $t(e){return(0,$c.getContainingView)(e)}function SB(e){return[...new Set(e.filter(t=>!!t))]}function QB(e,t){return t.filter(r=>!!r).join(e)}function mD(e){let r=(e.get("subfeatures")??[]).filter(n=>(n.get("type")==="mRNA"||n.get("type")==="transcript")&&n.get("subfeatures")?.some(o=>o.get("type")==="CDS"));return r.length>0?r:[e]}function zc(e){let t=(0,$c.sum)(e.get("subfeatures")?.filter(r=>r.get("type")==="CDS").map(r=>r.get("end")-r.get("start"))??[]);return{len:Math.floor(t/3),mod:t%3}}function ao(e){return e?.id()??""}function dD(e){return e?SB([e.id(),e.get("name"),e.get("id"),e.get("transcript_id")]):[]}function ws(e,t){return dD(e).includes(t)}function Kc(e){return e?QB(" ",[e.get("name"),e.get("id")]):""}function co(e){return e?QB(" ",[e.get("gene_name")??e.get("name"),e.get("id")?`(${e.get("id")})`:void 0]):""}function Xc(e,t){return`BLAST - ${co(e)} - ${Kc(t)}`}function MB(e){return mD(e).toSorted((r,n)=>zc(n).len-zc(r).len)}function Zc(e){return e.replaceAll("*","").replaceAll("&","")}function el(e){return SB([e.id(),e.get("id"),e.get("name"),e.get("gene_id"),e.get("gene_name")])}Wi();var gD="jbrowse-msaview-blast-cache",xn="blast-results",pD=2;async function tl(){return jn(gD,pD,{upgrade(e,t){t<2&&e.objectStoreNames.contains(xn)&&e.deleteObjectStore(xn),e.objectStoreNames.contains(xn)||e.createObjectStore(xn,{keyPath:"id"})}})}function hD(e,t,r,n){let o=n?`:${n}`:"";return`${t}:${r}${o}:${e}`}async function vB({proteinSequence:e,blastDatabase:t,blastProgram:r,msaAlgorithm:n,msa:o,tree:i,treeMetadata:s,rid:a,geneId:c,transcriptId:l,transcriptName:A,geneName:u}){let m=await tl(),p={id:hD(e,t,r,l),proteinSequence:e,blastDatabase:t,blastProgram:r,msaAlgorithm:n,msa:o,tree:i,treeMetadata:s,rid:a,timestamp:Date.now(),geneId:c,transcriptId:l,transcriptName:A,geneName:u};return await m.put(xn,p),p}async function TB(){return(await(await tl()).getAll(xn)).toSorted((r,n)=>n.timestamp-r.timestamp)}async function _B(e){await(await tl()).delete(xn,e)}async function kB(){await(await tl()).clear(xn)}async function DB(e,t){let r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP ${r.status} fetching ${e} ${await r.text()}`);return r}async function yn(e,t){return(await DB(e,t)).text()}async function NB(e,t){return(await DB(e,t)).json()}function rl(e){return new Promise(t=>setTimeout(t,e))}var ol="https://www.ebi.ac.uk/Tools/services/rest",nl="colin.diesh@gmail.com",CD={clustalo:{params:{email:nl},msaResult:"aln-clustal_num",treeResult:"phylotree"},muscle:{params:{email:nl,format:"clw",tree:"tree1"},msaResult:"fa",treeResult:"phylotree"},kalign:{params:{email:nl,stype:"protein"},msaResult:"fa",treeResult:"phylotree"},mafft:{params:{email:nl,stype:"protein"},msaResult:"fa",treeResult:"phylotree"}};async function ED({onProgress:e,jobId:t,algorithm:r}){for(;;){let n=await yn(`${ol}/${r}/status/${t}`);if(n==="FINISHED")break;if(n.includes("FAILURE"))throw new Error(`Failed to run: jobId ${t}`);for(let o=0;o<10;o++)e(`Re-checking MSA status in... ${10-o}`),await rl(1e3)}}async function LB({algorithm:e,sequence:t,onProgress:r}){let n=CD[e];r(`Launching ${e} MSA...`);let o=await yn(`${ol}/${e}/run`,{method:"POST",body:new URLSearchParams({...n.params,sequence:t})});return await ED({jobId:o,algorithm:e,onProgress:r}),{msa:await yn(`${ol}/${e}/result/${o}/${n.msaResult}`),tree:await yn(`${ol}/${e}/result/${o}/${n.treeResult}`)}}async function Cm({rid:e,baseUrl:t,onProgress:r}){r(`Checking BLAST status for RID: ${e}...`),await xD({rid:e,onProgress:r,baseUrl:t});let n=await NB(`${t}?CMD=Get&RID=${e}&FORMAT_TYPE=JSON2_S&FORMAT_OBJECT=Alignment`);return{rid:e,hits:n.BlastOutput2[0]?.report.results.search.hits??[]}}async function FB({query:e,blastDatabase:t,blastProgram:r,baseUrl:n,onProgress:o,onRid:i}){o("Submitting to NCBI BLAST...");let{rid:s}=await ID({query:e,blastDatabase:t,blastProgram:r,baseUrl:n});return i(s),Cm({rid:s,baseUrl:n,onProgress:o})}async function ID({query:e,blastProgram:t,blastDatabase:r,baseUrl:n}){let o=await yn(n,{method:"POST",body:new URLSearchParams({CMD:"Put",PROGRAM:t==="quick-blastp"?"blastp":t,DATABASE:r,QUERY:e,...r==="nr_cluster_seq"?{CLUSTERED_DB:"on",DB_TYPE:"Experimental Databases"}:{},...t==="quick-blastp"?{BLAST_PROGRAMS:"kmerBlastp"}:{}})}),i=/^ {4}RID = (.*$)/m.exec(o)?.[1],s=/^ {4}RTOE = (.*$)/m.exec(o)?.[1];if(!i)throw new Error("Failed to get RID from BLAST request");return{rid:i,rtoe:s}}async function xD({rid:e,onProgress:t,baseUrl:r}){for(;;){let n=await yn(`${r}?CMD=Get&FORMAT_OBJECT=SearchInfo&RID=${e}`),i=/\s+Status=(\S+)/m.exec(n)?.[1],s=/\s+ThereAreHits=yes/m.test(n);if(i==="WAITING"){for(let c=0;c<20;c++)t(`Re-checking BLAST status in... ${20-c}`),await rl(1e3);continue}if(i==="FAILED")throw new Error(`BLAST ${e} failed`);if(i==="READY"){if(s)return!0;throw new Error("No hits found")}throw new Error(`BLAST ${e} returned unexpected status: ${i??"unknown"}`)}}Wi();var yD="jbrowse-msaview-taxonomy-cache",Bs="common-names",bD=2;async function RB(){return jn(yD,bD,{upgrade(e){e.objectStoreNames.contains(Bs)&&e.deleteObjectStore(Bs),e.createObjectStore(Bs,{keyPath:"taxid"})}})}async function wD(e){let r=(await RB()).transaction(Bs,"readonly"),n=await Promise.all(e.map(o=>r.store.get(o)));return await r.done,n}async function BD(e){let r=(await RB()).transaction(Bs,"readwrite");for(let n of e)await r.store.put(n);await r.done}async function PB(e){let t=new Map,r=[],n=await wD(e);for(let s=0;s<e.length;s++){let a=e[s],c=n[s];c?t.set(a,{sciname:c.sciname,commonName:c.commonName}):r.push(a)}if(r.length===0)return t;let o=100,i=[];for(let s=0;s<r.length;s+=o){let a=r.slice(s,s+o),c=a.join(",");try{let A=await(await fetch(`https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=taxonomy&id=${c}&retmode=xml`)).text(),u=new Map,m=/<Taxon>\s*<TaxId>(\d+)<\/TaxId>/g,d;for(;(d=m.exec(A))!==null;){let p=Number(d[1]),E=d.index,x=1,I=E+d[0].length;for(;x>0&&I<A.length;){let B=A.indexOf("<Taxon>",I),v=A.indexOf("</Taxon>",I);if(v===-1)break;B!==-1&&B<v?(x++,I=B+7):(x--,I=v+8)}let h=A.slice(E,I),y=u.get(p),Q=h.includes("<LineageEx>"),M=y?.includes("<LineageEx>");(!y||Q&&!M)&&u.set(p,h)}for(let p of a){let E=u.get(p);if(E){let x=/<GenbankCommonName>(.*?)<\/GenbankCommonName>/.exec(E),I=/<CommonName>(.*?)<\/CommonName>/.exec(E),h=/<ScientificName>(.*?)<\/ScientificName>/.exec(E),y=x?.[1]??I?.[1],Q=h?.[1]??"";t.set(p,{sciname:Q,commonName:y}),i.push({taxid:p,sciname:Q,commonName:y})}}}catch(l){console.error("Failed to fetch taxonomy data:",l)}}return i.length>0&&await BD(i),t}async function OB({self:e}){let{baseUrl:t,blastDatabase:r,blastProgram:n,msaAlgorithm:o,proteinSequence:i,selectedTranscript:s,rid:a}=e.blastParams,c=Zc(i),l,A;if(a){e.setRid(a);let I=await Cm({rid:a,baseUrl:t,onProgress:h=>{e.setProgress(h)}});l=I.hits,A=I.rid}else{let I=await FB({query:c,blastDatabase:r,blastProgram:n,baseUrl:t,onProgress:h=>{e.setProgress(h)},onRid:h=>{e.setRid(h)}});l=I.hits,A=I.rid}e.setProgress("Fetching species taxonomy info...");let u=l.map(I=>I.description[0]?.taxid).filter(I=>I!==void 0),m=await PB(u),d={},p=l.map(I=>{let h=I.description[0]??{accession:"unknown",id:"unknown",sciname:"unknown"},y=wB(h,m),Q=BB(I.hsps[0]?.hseq??"");return d[y]=SD(h,m),`>${y}
70
- ${Q}`}),E=await LB({algorithm:o,sequence:[`>QUERY
71
- ${c}`,...p].join(`
72
- `),onProgress:I=>{e.setProgress(I)}}),x=JSON.stringify(d);return await vB({proteinSequence:c,blastDatabase:r,blastProgram:n,msaAlgorithm:o,msa:E.msa,tree:E.tree,treeMetadata:x,rid:A,geneId:s?.get("parentId"),transcriptId:s?.id(),transcriptName:s?.get("name")??s?.get("id"),geneName:s?.get("gene_name")??s?.get("parentId")}),{...E,treeMetadata:x}}function SD(e,t){let r={},n=e.taxid?t.get(e.taxid):void 0;return n?.sciname&&(r["Scientific name"]=n.sciname),n?.commonName&&(r["Common name"]=n.commonName),e.accession&&(r.Accession=e.accession),e.id&&(r.ID=e.id),e.title&&(r.Description=e.title),r}var GB=f(Ce());function UB({model:e}){let{hovered:t}=(0,GB.getSession)(e),{querySeqName:r,transcriptToMsaMap:n,connectedView:o,mafRegion:i}=e;if(!o?.initialized||!Dn(t))return;let{coord:s,refName:a}=t.hoverPosition;if(i)return a!==i.refName||!o.assemblyNames.includes(i.assemblyName)||s<i.start||s>=i.end?void 0:e.seqPosToVisibleCol(r,s-i.start);if(n){let c=n.g2p[s];if(c!==void 0)return e.seqPosToVisibleCol(r,c)}}Wi();var QD="jbrowse-msaview-data",MD=1,Ss="msa-data";async function Em(){return jn(QD,MD,{upgrade(e){e.objectStoreNames.contains(Ss)||e.createObjectStore(Ss,{keyPath:"id"}).createIndex("timestamp","timestamp",{unique:!1})}})}function HB(){return`msa-${Date.now()}-${Math.random().toString(36).slice(2,11)}`}async function jB(e,t){try{let r=await Em(),n={id:e,msa:t.msa,tree:t.tree,treeMetadata:t.treeMetadata,timestamp:Date.now()};return await r.put(Ss,n),!0}catch(r){return console.warn("Failed to store MSA data:",r),!1}}async function qB(e){try{let r=await(await Em()).get(Ss,e);return r?{msa:r.msa,tree:r.tree,treeMetadata:r.treeMetadata}:void 0}catch(t){console.warn("Failed to retrieve MSA data:",t);return}}async function JB(e=10080*60*1e3){try{let t=await Em(),r=Date.now()-e,i=await t.transaction(Ss,"readwrite").store.index("timestamp").openCursor(IDBKeyRange.upperBound(r)),s=0;for(;i;)await i.delete(),s++,i=await i.continue();return s}catch(t){return console.warn("Failed to cleanup old MSA data:",t),0}}Qs();function VB(e){let{dataStoreId:t,rows:r}=e;t&&r.length===0&&(async()=>{try{e.setLoadingStoredData(!0);let n=await qB(t);n&&(n.msa&&e.setMSA(n.msa),n.tree&&e.setTree(n.tree))}catch(n){console.error("Failed to load MSA data from IndexedDB:",n)}finally{e.setLoadingStoredData(!1)}})()}function YB(e){let{rows:t,dataStoreId:r,isStoringData:n}=e;if(t.length>0&&!r&&!n){if(e.msaFilehandle||e.treeFilehandle)return;let o=e.data.msa,i=e.data.tree;(o||i)&&(e.setIsStoringData(!0),(async()=>{try{let s=HB();await jB(s,{msa:o,tree:i,treeMetadata:e.data.treeMetadata})&&e.setDataStoreId(s)}catch(s){console.error("Failed to store MSA data to IndexedDB:",s)}finally{e.setIsStoringData(!1)}})())}}function WB(e){e.blastParams&&(async()=>{try{e.setProgress("Submitting query"),e.setError(void 0);let t=await OB({self:e});e.setData(t),e.setBlastParams(void 0)}catch(t){e.setError(t),console.error(t)}finally{e.setProgress("")}})()}function zB(e){let{init:t}=e;t&&(async()=>{try{e.setError(void 0);let{msaData:r,msaUrl:n,treeData:o,treeUrl:i,querySeqName:s}=t;if(n){let a=Gd(n);a&&(e.setUniprotId(a),e.setQuerySeqName("query"))}if(s&&e.setQuerySeqName(s),r)e.setMSA(r);else if(n){let a=await fetch(n);if(!a.ok)throw new Error(`Failed to fetch MSA: ${a.status}`);let c=await a.text();e.setMSA(c)}if(o)e.setTree(o);else if(i){let a=await fetch(i);if(!a.ok)throw new Error(`Failed to fetch tree: ${a.status}`);let c=await a.text();e.setTree(c)}e.setInit(void 0)}catch(r){e.setError(r),console.error(r)}})()}function $B(e){let t=!1;return()=>{let r=UB({model:e});r!==void 0?(e.setMousePos(r),t=!0):t&&(e.setMousePos(void 0),t=!1)}}function KB(e){let{mouseCol:t,connectedProteinViews:r}=e;if(r.length!==0)for(let n of r){let o=n.proteinView.structures[n.structureIdx];if(!o)continue;if(t===void 0){o.clearHighlightFromExternal?.();continue}let i=e.getSequenceByRowName(n.msaRowName);if(!i)continue;let s=il(i,t);if(s===void 0){o.clearHighlightFromExternal?.();continue}let a=n.msaToStructure[s];a===void 0?o.clearHighlightFromExternal?.():o.highlightFromExternal?.(a)}}function XB(e){let{connectedViewId:t,uniprotId:r,rows:n,connectedStructures:o}=e;if(!(!r||n.length===0))for(let i of bn((0,Im.getSession)(e).views))for(let s=0;s<i.structures.length;s++){let a=i.structures[s];if(!(!a||a.connectedViewId!==t||a.uniprotId!==r||o.some(l=>l.proteinViewId===i.id&&l.structureIdx===s))&&a.structureSequences?.[0])try{e.connectToStructure(i.id,s)}catch(l){console.error("Failed to auto-connect to ProteinView:",l)}}}function ZB(e){let{connectedViewId:t,transcriptToMsaMap:r,querySeqName:n}=e;if(!t||!r)return;let o=new Set;for(let s of bn((0,Im.getSession)(e).views))for(let a of s.structures){if(a.connectedViewId!==t)continue;let c=a.hoverGenomeHighlights;if(!c||c.length===0)continue;let{g2p:l}=r;for(let A of c)for(let u=A.start;u<A.end;u++){let m=l[u];if(m!==void 0){let d=e.seqPosToGlobalCol(n,m);o.add(d)}}}let i=Array.from(o).map(s=>e.globalColToVisibleCol(s)).filter(s=>s!==void 0);e.setHighlightedColumns(i.length>0?i:void 0)}function eS(){JB().catch(e=>{console.error("Failed to cleanup old MSA data:",e)})}Qs();function sl({model:e,coord:t}){let{querySeqName:r,transcriptToMsaMap:n,mafRegion:o}=e,i=e.rows.find(a=>a[0]===r)?.[1];if(!i)return;let s=il(i,t);if(s!==void 0){if(o){let a=o.start+s;return a<o.end?{refName:o.refName,start:a,end:a+1}:void 0}if(n){let{refName:a,p2g:c}=n,l=c[s],A=c[s+1];return l!==void 0&&A!==void 0?{refName:a,start:Math.min(l,A),end:Math.max(l,A)}:void 0}}}var TD={A:{A:4,R:-1,N:-2,D:-2,C:0,Q:-1,E:-1,G:0,H:-2,I:-1,L:-1,K:-1,M:-1,F:-2,P:-1,S:1,T:0,W:-3,Y:-2,V:0,B:-2,Z:-1,X:0,"*":-4},R:{A:-1,R:5,N:0,D:-2,C:-3,Q:1,E:0,G:-2,H:0,I:-3,L:-2,K:2,M:-1,F:-3,P:-2,S:-1,T:-1,W:-3,Y:-2,V:-3,B:-1,Z:0,X:-1,"*":-4},N:{A:-2,R:0,N:6,D:1,C:-3,Q:0,E:0,G:0,H:1,I:-3,L:-3,K:0,M:-2,F:-3,P:-2,S:1,T:0,W:-4,Y:-2,V:-3,B:3,Z:0,X:-1,"*":-4},D:{A:-2,R:-2,N:1,D:6,C:-3,Q:0,E:2,G:-1,H:-1,I:-3,L:-4,K:-1,M:-3,F:-3,P:-1,S:0,T:-1,W:-4,Y:-3,V:-3,B:4,Z:1,X:-1,"*":-4},C:{A:0,R:-3,N:-3,D:-3,C:9,Q:-3,E:-4,G:-3,H:-3,I:-1,L:-1,K:-3,M:-1,F:-2,P:-3,S:-1,T:-1,W:-2,Y:-2,V:-1,B:-3,Z:-3,X:-2,"*":-4},Q:{A:-1,R:1,N:0,D:0,C:-3,Q:5,E:2,G:-2,H:0,I:-3,L:-2,K:1,M:0,F:-3,P:-1,S:0,T:-1,W:-2,Y:-1,V:-2,B:0,Z:3,X:-1,"*":-4},E:{A:-1,R:0,N:0,D:2,C:-4,Q:2,E:5,G:-2,H:0,I:-3,L:-3,K:1,M:-2,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:1,Z:4,X:-1,"*":-4},G:{A:0,R:-2,N:0,D:-1,C:-3,Q:-2,E:-2,G:6,H:-2,I:-4,L:-4,K:-2,M:-3,F:-3,P:-2,S:0,T:-2,W:-2,Y:-3,V:-3,B:-1,Z:-2,X:-1,"*":-4},H:{A:-2,R:0,N:1,D:-1,C:-3,Q:0,E:0,G:-2,H:8,I:-3,L:-3,K:-1,M:-2,F:-1,P:-2,S:-1,T:-2,W:-2,Y:2,V:-3,B:0,Z:0,X:-1,"*":-4},I:{A:-1,R:-3,N:-3,D:-3,C:-1,Q:-3,E:-3,G:-4,H:-3,I:4,L:2,K:-3,M:1,F:0,P:-3,S:-2,T:-1,W:-3,Y:-1,V:3,B:-3,Z:-3,X:-1,"*":-4},L:{A:-1,R:-2,N:-3,D:-4,C:-1,Q:-2,E:-3,G:-4,H:-3,I:2,L:4,K:-2,M:2,F:0,P:-3,S:-2,T:-1,W:-2,Y:-1,V:1,B:-4,Z:-3,X:-1,"*":-4},K:{A:-1,R:2,N:0,D:-1,C:-3,Q:1,E:1,G:-2,H:-1,I:-3,L:-2,K:5,M:-1,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:0,Z:1,X:-1,"*":-4},M:{A:-1,R:-1,N:-2,D:-3,C:-1,Q:0,E:-2,G:-3,H:-2,I:1,L:2,K:-1,M:5,F:0,P:-2,S:-1,T:-1,W:-1,Y:-1,V:1,B:-3,Z:-1,X:-1,"*":-4},F:{A:-2,R:-3,N:-3,D:-3,C:-2,Q:-3,E:-3,G:-3,H:-1,I:0,L:0,K:-3,M:0,F:6,P:-4,S:-2,T:-2,W:1,Y:3,V:-1,B:-3,Z:-3,X:-1,"*":-4},P:{A:-1,R:-2,N:-2,D:-1,C:-3,Q:-1,E:-1,G:-2,H:-2,I:-3,L:-3,K:-1,M:-2,F:-4,P:7,S:-1,T:-1,W:-4,Y:-3,V:-2,B:-2,Z:-1,X:-2,"*":-4},S:{A:1,R:-1,N:1,D:0,C:-1,Q:0,E:0,G:0,H:-1,I:-2,L:-2,K:0,M:-1,F:-2,P:-1,S:4,T:1,W:-3,Y:-2,V:-2,B:0,Z:0,X:0,"*":-4},T:{A:0,R:-1,N:0,D:-1,C:-1,Q:-1,E:-1,G:-2,H:-2,I:-1,L:-1,K:-1,M:-1,F:-2,P:-1,S:1,T:5,W:-2,Y:-2,V:0,B:-1,Z:-1,X:0,"*":-4},W:{A:-3,R:-3,N:-4,D:-4,C:-2,Q:-2,E:-3,G:-2,H:-2,I:-3,L:-2,K:-3,M:-1,F:1,P:-4,S:-3,T:-2,W:11,Y:2,V:-3,B:-4,Z:-3,X:-2,"*":-4},Y:{A:-2,R:-2,N:-2,D:-3,C:-2,Q:-1,E:-2,G:-3,H:2,I:-1,L:-1,K:-2,M:-1,F:3,P:-3,S:-2,T:-2,W:2,Y:7,V:-1,B:-3,Z:-2,X:-1,"*":-4},V:{A:0,R:-3,N:-3,D:-3,C:-1,Q:-2,E:-2,G:-3,H:-3,I:3,L:1,K:-2,M:1,F:-1,P:-2,S:-2,T:0,W:-3,Y:-1,V:4,B:-3,Z:-2,X:-1,"*":-4},B:{A:-2,R:-1,N:3,D:4,C:-3,Q:0,E:1,G:-1,H:0,I:-3,L:-4,K:0,M:-3,F:-3,P:-2,S:0,T:-1,W:-4,Y:-3,V:-3,B:4,Z:1,X:-1,"*":-4},Z:{A:-1,R:0,N:0,D:1,C:-3,Q:3,E:4,G:-2,H:0,I:-3,L:-3,K:1,M:-1,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:1,Z:4,X:-1,"*":-4},X:{A:0,R:-1,N:-1,D:-1,C:-2,Q:-1,E:-1,G:-1,H:-1,I:-1,L:-1,K:-1,M:-1,F:-1,P:-2,S:0,T:0,W:-2,Y:-1,V:-1,B:-1,Z:-1,X:-1,"*":-4},"*":{A:-4,R:-4,N:-4,D:-4,C:-4,Q:-4,E:-4,G:-4,H:-4,I:-4,L:-4,K:-4,M:-4,F:-4,P:-4,S:-4,T:-4,W:-4,Y:-4,V:-4,B:-4,Z:-4,X:-4,"*":1}},tS=TD;function rS(e,t){return tS[e.toUpperCase()]?.[t.toUpperCase()]??-4}var _D=-10,kD=-.5;function DD(e,t,r=_D,n=kD){let o=e.length,i=t.length,s=[],a=[],c=[];for(let h=0;h<=o;h++){s[h]=[],a[h]=[],c[h]=[];for(let y=0;y<=i;y++)s[h][y]=-1/0,a[h][y]=-1/0,c[h][y]=-1/0}s[0][0]=0;for(let h=1;h<=o;h++)a[h][0]=r+(h-1)*n;for(let h=1;h<=i;h++)c[0][h]=r+(h-1)*n;for(let h=1;h<=o;h++)for(let y=1;y<=i;y++){let Q=rS(e[h-1],t[y-1]);s[h][y]=Math.max(s[h-1][y-1],a[h-1][y-1],c[h-1][y-1])+Q,a[h][y]=Math.max(s[h-1][y]+r,a[h-1][y]+n),c[h][y]=Math.max(s[h][y-1]+r,c[h][y-1]+n)}let l="",A="",u=o,m=i,d=s[o][i],p=a[o][i],E=c[o][i],x=Math.max(d,p,E),I=x===d?"M":x===p?"Ix":"Iy";for(;u>0||m>0;)if(I==="M"&&u>0&&m>0){l=e[u-1]+l,A=t[m-1]+A;let h=rS(e[u-1],t[m-1]),y=s[u-1][m-1],Q=a[u-1][m-1],M=s[u][m];M===y+h?I="M":M===Q+h?I="Ix":I="Iy",u--,m--}else if(I==="Ix"&&u>0){l=e[u-1]+l,A="-"+A;let h=a[u][m],y=s[u-1][m]+r;I=h===y?"M":"Ix",u--}else if(m>0){l="-"+l,A=t[m-1]+A;let h=c[u][m],y=s[u][m-1]+r;I=h===y?"M":"Iy",m--}else break;return{alignedSeq1:l,alignedSeq2:A,score:x}}function ND(e,t){let r="";for(let n=0;n<e.length;n++){let o=e[n],i=t[n],s=o!=="-"&&i!=="-"&&o.toUpperCase()===i.toUpperCase();r+=s?"|":" "}return r}function nS(e,t){let{alignedSeq1:r,alignedSeq2:n}=DD(e,t);return{consensus:ND(r,n),alns:[{id:"msa",seq:r},{id:"structure",seq:n}]}}function oS(e){let t=e.alns[0].seq,r=e.alns[1].seq;if(t.length!==r.length)throw new Error("Aligned sequences must have same length");let n=0,o=0,i=new Map,s=new Map;for(let a=0;a<t.length;a++){let c=t[a],l=r[a];c!=="-"&&l!=="-"?(i.set(n,o),s.set(o,n),n++,o++):c==="-"?o++:n++}return{seq1ToSeq2:i,seq2ToSeq1:s}}Qs();var PD=(0,AS.lazy)(()=>Promise.resolve().then(()=>(lS(),cS)));function ym(){return Ze.types.compose(uS.BaseViewModel,Wc(),Ze.types.model("MsaView",{connectedViewId:Ze.types.maybe(Ze.types.string),connectedFeature:Ze.types.frozen(),blastParams:Ze.types.frozen(),querySeqName:"QUERY",uniprotId:Ze.types.maybe(Ze.types.string),zoomToBaseLevel:!1,init:Ze.types.frozen(),connectedStructures:Ze.types.array(Ze.types.frozen()),dataStoreId:Ze.types.maybe(Ze.types.string),mafRegion:Ze.types.frozen()})).volatile(()=>({rid:void 0,progress:"",error:void 0,loadingStoredData:!1,isStoringData:!1})).views(e=>({getRowByName(t){return e.rows.find(r=>r[0]===t)},getSequenceByRowName(t){return e.rows.find(r=>r[0]===t)?.[1]}})).views(e=>({get transcriptToMsaMap(){return e.connectedFeature?jd(e.connectedFeature):void 0},get connectedView(){let{views:t}=(0,Ci.getSession)(e);return t.find(r=>r.id===e.connectedViewId)},get connectedProteinViews(){let t=bn((0,Ci.getSession)(e).views),r=[];for(let n of e.connectedStructures){let o=t.find(i=>i.id===n.proteinViewId);o&&r.push({...n,proteinView:o})}return r}})).views(e=>({get connectedHighlights(){let{mouseCol:t,mouseClickCol:r}=e;return[t===void 0?void 0:sl({model:e,coord:t}),r===void 0?void 0:sl({model:e,coord:r})].filter(n=>n!==void 0)}})).actions(e=>({setZoomToBaseLevel(t){e.zoomToBaseLevel=t},setError(t){e.error=t},setProgress(t){e.progress=t},setRid(t){e.rid=t},setBlastParams(t){e.blastParams=t},setInit(t){e.init=t},setQuerySeqName(t){e.querySeqName=t},setUniprotId(t){e.uniprotId=t},setDataStoreId(t){e.dataStoreId=t},setMafRegion(t){e.mafRegion=t},setLoadingStoredData(t){e.loadingStoredData=t},setIsStoringData(t){e.isStoringData=t},handleMsaClick(t){let{connectedView:r,zoomToBaseLevel:n}=e,{assemblyManager:o}=(0,Ci.getSession)(e),i=sl({model:e,coord:t});if(!(!i||!r))if(n)r.navTo(i);else{let s=Ys({assemblyManager:o,assemblyNames:r.assemblyNames,refName:i.refName});r.centerAt(i.start,s)}},connectToStructure(t,r,n){let o=n??e.querySeqName,i=e.getSequenceByRowName(o);if(!i)throw new Error(`MSA row "${o}" not found`);let s=i.replaceAll("-",""),a=bn((0,Ci.getSession)(e).views).find(d=>d.id===t);if(!a)throw new Error(`ProteinView "${t}" not found`);let c=a.structures[r];if(!c)throw new Error(`Structure at index ${r} not found`);let l=c.structureSequences?.[0];if(!l)throw new Error("Structure sequence not available");let A=nS(s,l),{seq1ToSeq2:u}=oS(A),m={proteinViewId:t,structureIdx:r,msaRowName:o,msaToStructure:Object.fromEntries(u)};e.connectedStructures.push(m)},disconnectFromStructure(t,r){let n=e.connectedStructures.findIndex(o=>o.proteinViewId===t&&o.structureIdx===r);n!==-1&&e.connectedStructures.splice(n,1)},disconnectAllStructures(){e.connectedStructures.clear()}})).actions(e=>{let t=e.setMouseClickPos.bind(e);return{setMouseClickPos(r,n){t(r,n),r!==void 0&&e.handleMsaClick(r)}}}).views(e=>({extraViewMenuItems(){return[{label:"Zoom to base level on click?",checked:e.zoomToBaseLevel,type:"checkbox",onClick:()=>{e.setZoomToBaseLevel(!e.zoomToBaseLevel)}},{label:"Connect to protein structure...",onClick:()=>{(0,Ci.getSession)(e).queueDialog(t=>[PD,{model:e,handleClose:t}])}},...e.connectedStructures.length>0?[{label:"Disconnect from protein structures",onClick:()=>{e.disconnectAllStructures()}}]:[]]}})).actions(e=>({afterCreate(){eS();for(let t of[VB,YB,WB,zB,KB,XB,ZB])(0,Ze.addDisposer)(e,(0,xm.autorun)(()=>{t(e)}));(0,Ze.addDisposer)(e,(0,xm.autorun)($B(e)))}}))}function Ei(e){return e.type==="MsaView"}var OD=(0,wm.observer)(function({model:e}){let{hovered:t,views:r}=(0,fS.getSession)(e);return r.some(o=>Ei(o)&&o.connectedViewId===e.id)&&Dn(t)?bm.default.createElement(GD,{model:e,hovered:t}):null}),GD=(0,wm.observer)(function({model:e,hovered:t}){let{classes:r}=Ws(),{offsetPx:n}=e,{coord:o,refName:i}=t.hoverPosition,s=e.bpToPx({refName:i,coord:o-1}),a=e.bpToPx({refName:i,coord:o});if(s&&a){let c=Math.max(Math.abs(a.offsetPx-s.offsetPx),4),l=Math.min(s.offsetPx,a.offsetPx)-n;return bm.default.createElement("div",{className:r.highlight,style:{left:l,width:c}})}return null}),mS=OD;var Ms=f(w()),Bm=f(Ce()),Sm=f(G());var UD=(0,Sm.observer)(function({model:t}){let{views:r,hovered:n}=(0,Bm.getSession)(t),i=r.filter(Ei).find(s=>s.connectedViewId===t.id)?.connectedHighlights;return!Dn(n)&&i?.length?Ms.default.createElement(HD,{model:t,highlights:i}):null}),HD=(0,Sm.observer)(function({model:e,highlights:t}){let{classes:r}=Ws(),{assemblyManager:n}=(0,Bm.getSession)(e),{offsetPx:o}=e;return Ms.default.createElement(Ms.default.Fragment,null,t.map((i,s)=>{let a=Ys({assemblyManager:n,assemblyNames:e.assemblyNames,refName:i.refName}),c=e.bpToPx({refName:a,coord:i.start}),l=e.bpToPx({refName:a,coord:i.end});if(c&&l){let A=Math.max(Math.abs(l.offsetPx-c.offsetPx),4),u=Math.min(c.offsetPx,l.offsetPx)-o;return Ms.default.createElement("div",{key:`${i.refName}-${i.start}-${i.end}-${s}`,className:r.highlight,style:{left:u,width:A}})}return null}))}),dS=UD;var jD=(0,gS.observer)(function({model:t}){return vs.default.createElement(vs.default.Fragment,null,vs.default.createElement(dS,{model:t}),vs.default.createElement(mS,{model:t}))}),pS=jD;function Qm(e){e.addToExtensionPoint("LinearGenomeView-TracksContainerComponent",(t,{model:r})=>{let{views:n}=(0,CS.getSession)(r);return n.some(i=>Ei(i)&&i.connectedViewId===r.id)?[...t,hS.default.createElement(pS,{key:"highlight_protein_viewer_msaview",model:r})]:t})}var SS=f(Ul());var ES=f(Eo());function Mm(e){let t=e.getAdapterType("BgzipFastaAdapter");return(0,ES.ConfigurationSchema)("BgzipFastaMsaAdapter",{msaRegex:{type:"string",defaultValue:"_"}},{baseConfiguration:t?.configSchema})}function vm(e){return e.addAdapterType(()=>new SS.AdapterType({name:"BgzipFastaMsaAdapter",configSchema:Mm(e),adapterMetadata:{hiddenFromGUI:!0},getAdapterClass:()=>Promise.resolve().then(()=>(BS(),wS)).then(t=>t.default)}))}var Tl=f(Ce());W();var QS=f(R(),1),MS=(0,_.createSvgIcon)((0,QS.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");var vt=f(w()),X1=f(we()),Z1=f(Ce()),Qi=f(k());var ne=f(w()),zm=f(we()),l1=f(Ce()),Kt=f(k()),A1=f(G()),u1=f(Se());function vS({session:e,newViewTitle:t,view:r,feature:n,msaFilehandle:o,treeFilehandle:i,querySeqName:s,data:a}){e.addView("MsaView",{type:"MsaView",displayName:t,connectedViewId:r.id,connectedFeature:n.toJSON(),msaFilehandle:o,treeFilehandle:i,querySeqName:s,data:a})}var Tm=f(w()),TS=f(k());function qD({children:e,...t}){return Tm.default.createElement("div",null,Tm.default.createElement(TS.TextField,{...t},e))}var at=qD;var _m=f(w()),_S=f(we()),kS=f(k()),DS=f(Se()),JD=(0,DS.makeStyles)()({dialogContent:{width:"80em"}});function mr({error:e,children:t}){let{classes:r}=JD();return _m.default.createElement(kS.DialogContent,{className:r.dialogContent},e?_m.default.createElement(_S.ErrorMessage,{error:e}):null,t)}var ll=f(w()),Ts=f(k());function Xr({onSubmit:e,onCancel:t,submitDisabled:r,submitLabel:n="Submit",cancelLabel:o="Cancel"}){return ll.default.createElement(Ts.DialogActions,null,ll.default.createElement(Ts.Button,{color:"primary",variant:"contained",disabled:r,onClick:()=>{e()}},n),ll.default.createElement(Ts.Button,{color:"secondary",variant:"contained",onClick:()=>{t()}},o))}var dr=f(w()),Ii=f(k()),FS=f(Se());var NS=f(w()),LS=f(Se());var VD=(0,LS.makeStyles)()({textAreaFont:{fontFamily:"Courier New"}});function km({value:e}){let{classes:t}=VD();return NS.default.createElement(at,{variant:"outlined",multiline:!0,minRows:5,maxRows:10,fullWidth:!0,value:e,slotProps:{input:{readOnly:!0,classes:{input:t.textAreaFont}}}})}var YD=(0,FS.makeStyles)()({flex:{display:"flex"},minWidth:{minWidth:300},centered:{alignContent:"center",marginLeft:20}});function gr({feature:e,options:t,selectedId:r,selectedTranscript:n,setSelectedId:o,proteinSequence:i,validIds:s}){let{classes:a}=YD(),[c,l]=(0,dr.useState)(!1);return dr.default.createElement(dr.default.Fragment,null,dr.default.createElement("div",{className:a.flex},dr.default.createElement(Ii.TextField,{variant:"outlined",label:`Choose isoform of ${co(e)}`,select:!0,className:a.minWidth,value:r,onChange:A=>{o(A.target.value)}},t.map(A=>{let u=s?s.some(p=>ws(A,p)):!0,{len:m,mod:d}=zc(A);return dr.default.createElement(Ii.MenuItem,{value:ao(A),key:A.id(),disabled:!u},Kc(A)," (",m," aa)"," ",d?" (possible fragment)":"",s?u?" (has data)":" (no data)":"")})),dr.default.createElement("div",{className:a.centered},dr.default.createElement(Ii.Button,{variant:"contained",color:"primary",onClick:()=>{l(!c)}},c?"Hide sequence":"Show sequence"))),c?dr.default.createElement(km,{value:i?`>${Kc(n)}
73
- ${i}`:"Loading..."}):null)}var yl=f(w());var wn=f(Ce());function WD(e,t){return e.map(r=>t.slice(r.start,r.end)).join("")}function zD({cds:e,sequence:t,codonTable:r}){let n=WD(e,t),o="";for(let i=0;i<n.length;i+=3)o+=r[n.slice(i,i+3)]??"&";return o}function $D(e,t){return e.map(r=>({...r,start:t-r.end,end:t-r.start})).toSorted((r,n)=>r.start-n.start)}function RS({feature:e,seq:t}){let{subfeatures:r,start:n,strand:o}=e.toJSON(),i=(0,wn.dedupe)(r?.toSorted((s,a)=>s.start-a.start).map(s=>({...s,start:s.start-n,end:s.end-n})).filter(s=>s.type==="CDS")??[],s=>`${s.start}-${s.end}`);return zD({cds:o===-1?$D(i,t.length):i,sequence:o===-1?(0,wn.revcom)(t):t,codonTable:(0,wn.generateCodonTable)(wn.defaultCodonTable)})}var s1=f(Ce());var Je=f(w(),1),Wm=f(US(),1);var ct=f(w(),1);var Bn={};Ye(Bn,{ERROR_REVALIDATE_EVENT:()=>sN,FOCUS_EVENT:()=>HS,MUTATE_EVENT:()=>qS,RECONNECT_EVENT:()=>jS});var HS=0,jS=1,qS=2,sN=3;var JS=Object.prototype.hasOwnProperty;function Al(e,t){var r,n;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array){if((n=e.length)===t.length)for(;n--&&Al(e[n],t[n]););return n===-1}if(!r||typeof e=="object"){n=0;for(r in e)if(JS.call(e,r)&&++n&&!JS.call(t,r)||!(r in t)||!Al(e[r],t[r]))return!1;return Object.keys(t).length===n}}return e!==e&&t!==t}var pr=new WeakMap,hr=()=>{},qe=hr(),yi=Object,q=e=>e===qe,Ot=e=>typeof e=="function",Cr=(e,t)=>({...e,...t}),pl=e=>Ot(e.then),Nm={},ul={},Um="undefined",bi=typeof window!=Um,ml=typeof document!=Um,YS=bi&&"Deno"in window,WS=()=>bi&&typeof window.requestAnimationFrame!=Um,hl=(e,t)=>{let r=pr.get(e);return[()=>!q(t)&&e.get(t)||Nm,n=>{if(!q(t)){let o=e.get(t);t in ul||(ul[t]=o),r[5](t,Cr(o,n),o||Nm)}},r[6],()=>!q(t)&&t in ul?ul[t]:!q(t)&&e.get(t)||Nm]},Rm=!0,aN=()=>Rm,[Pm,Om]=bi&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[hr,hr],cN=()=>{let e=ml&&document.visibilityState;return q(e)||e!=="hidden"},lN=e=>(ml&&document.addEventListener("visibilitychange",e),Pm("focus",e),()=>{ml&&document.removeEventListener("visibilitychange",e),Om("focus",e)}),AN=e=>{let t=()=>{Rm=!0,e()},r=()=>{Rm=!1};return Pm("online",t),Pm("offline",r),()=>{Om("online",t),Om("offline",r)}},zS={isOnline:aN,isVisible:cN},$S={initFocus:lN,initReconnect:AN},Cl=!ct.default.useId,Sn=!bi||YS,Hm=e=>WS()?window.requestAnimationFrame(e):setTimeout(e,1),wi=Sn?ct.useEffect:ct.useLayoutEffect,Lm=typeof navigator<"u"&&navigator.connection,Gm=!Sn&&Lm&&(["slow-2g","2g"].includes(Lm.effectiveType)||Lm.saveData),fl=new WeakMap,uN=e=>yi.prototype.toString.call(e),Fm=(e,t)=>e===`[object ${t}]`,fN=0,dl=e=>{let t=typeof e,r=uN(e),n=Fm(r,"Date"),o=Fm(r,"RegExp"),i=Fm(r,"Object"),s,a;if(yi(e)===e&&!n&&!o){if(s=fl.get(e),s)return s;if(s=++fN+"~",fl.set(e,s),Array.isArray(e)){for(s="@",a=0;a<e.length;a++)s+=dl(e[a])+",";fl.set(e,s)}if(i){s="#";let c=yi.keys(e).sort();for(;!q(a=c.pop());)q(e[a])||(s+=a+":"+dl(e[a])+",");fl.set(e,s)}}else s=n?e.toJSON():t=="symbol"?e.toString():t=="string"?JSON.stringify(e):""+e;return s},ks=e=>{if(Ot(e))try{e=e()}catch{e=""}let t=e;return e=typeof e=="string"?e:(Array.isArray(e)?e.length:e)?dl(e):"",[e,t]},mN=0,_s=()=>++mN;async function El(...e){let[t,r,n,o]=e,i=Cr({populateCache:!0,throwOnError:!0},typeof o=="boolean"?{revalidate:o}:o||{}),s=i.populateCache,a=i.rollbackOnError,c=i.optimisticData,l=m=>typeof a=="function"?a(m):a!==!1,A=i.throwOnError;if(Ot(r)){let m=r,d=[],p=t.keys();for(let E of p)!/^\$(inf|sub)\$/.test(E)&&m(t.get(E)._k)&&d.push(E);return Promise.all(d.map(u))}return u(r);async function u(m){let[d]=ks(m);if(!d)return;let[p,E]=hl(t,d),[x,I,h,y]=pr.get(t),Q=()=>{let O=x[d];return(Ot(i.revalidate)?i.revalidate(p().data,m):i.revalidate!==!1)&&(delete h[d],delete y[d],O&&O[0])?O[0](2).then(()=>p().data):p().data};if(e.length<3)return Q();let M=n,B,v=!1,P=_s();I[d]=[P,0];let N=!q(c),$=p(),S=$.data,L=$._c,J=q(L)?S:L;if(N&&(c=Ot(c)?c(J,S):c,E({data:c,_c:J})),Ot(M))try{M=M(J)}catch(O){B=O,v=!0}if(M&&pl(M))if(M=await M.catch(O=>{B=O,v=!0}),P!==I[d][0]){if(v)throw B;return M}else v&&N&&l(B)&&(s=!0,E({data:J,_c:qe}));if(s&&!v)if(Ot(s)){let O=s(M,J);E({data:O,error:qe,_c:qe})}else E({data:M,error:qe,_c:qe});if(I[d][1]=_s(),Promise.resolve(Q()).then(()=>{E({_c:qe})}),v){if(A)throw B;return}return M}}var VS=(e,t)=>{for(let r in e)e[r][0]&&e[r][0](t)},jm=(e,t)=>{if(!pr.has(e)){let r=Cr($S,t),n=Object.create(null),o=El.bind(qe,e),i=hr,s=Object.create(null),a=(A,u)=>{let m=s[A]||[];return s[A]=m,m.push(u),()=>m.splice(m.indexOf(u),1)},c=(A,u,m)=>{e.set(A,u);let d=s[A];if(d)for(let p of d)p(u,m)},l=()=>{if(!pr.has(e)&&(pr.set(e,[n,Object.create(null),Object.create(null),Object.create(null),o,c,a]),!Sn)){let A=r.initFocus(setTimeout.bind(qe,VS.bind(qe,n,0))),u=r.initReconnect(setTimeout.bind(qe,VS.bind(qe,n,1)));i=()=>{A&&A(),u&&u(),pr.delete(e)}}};return l(),[e,o,l,i]}return[e,pr.get(e)[4]]},dN=(e,t,r,n,o)=>{let i=r.errorRetryCount,s=o.retryCount,a=~~((Math.random()+.5)*(1<<(s<8?s:8)))*r.errorRetryInterval;!q(i)&&s>i||setTimeout(n,a,o)},KS=Al,[Il,XS]=jm(new Map),xl=Cr({onLoadingSlow:hr,onSuccess:hr,onError:hr,onErrorRetry:dN,onDiscarded:hr,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:Gm?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:Gm?5e3:3e3,compare:KS,isPaused:()=>!1,cache:Il,mutate:XS,fallback:{}},zS),qm=(e,t)=>{let r=Cr(e,t);if(t){let{use:n,fallback:o}=e,{use:i,fallback:s}=t;n&&i&&(r.use=n.concat(i)),o&&s&&(r.fallback=Cr(o,s))}return r},gl=(0,ct.createContext)({}),Jm=e=>{let{value:t}=e,r=(0,ct.useContext)(gl),n=Ot(t),o=(0,ct.useMemo)(()=>n?t(r):t,[n,r,t]),i=(0,ct.useMemo)(()=>n?o:qm(r,o),[n,r,o]),s=o&&o.provider,a=(0,ct.useRef)(qe);s&&!a.current&&(a.current=jm(s(i.cache||Il),o));let c=a.current;return c&&(i.cache=c[0],i.mutate=c[1]),wi(()=>{if(c)return c[2]&&c[2](),c[3]},[]),(0,ct.createElement)(gl.Provider,Cr(e,{value:i}))};var ZS="$inf$";var Bi=f(w(),1);var e1=bi&&window.__SWR_DEVTOOLS_USE__,gN=e1?window.__SWR_DEVTOOLS_USE__:[],pN=()=>{e1&&(window.__SWR_DEVTOOLS_REACT__=Bi.default)},hN=e=>Ot(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}],CN=()=>{let e=(0,Bi.useContext)(gl);return(0,Bi.useMemo)(()=>Cr(xl,e),[e])};var EN=e=>(t,r,n)=>e(t,r&&((...i)=>{let[s]=ks(t),[,,,a]=pr.get(Il);if(s.startsWith(ZS))return r(...i);let c=a[s];return q(c)?r(...i):(delete a[s],c)}),n),IN=gN.concat(EN),t1=e=>function(...r){let n=CN(),[o,i,s]=hN(r),a=qm(n,s),c=e,{use:l}=a,A=(l||[]).concat(IN);for(let u=A.length;u--;)c=A[u](c);return c(o,i||a.fetcher||null,a)},r1=(e,t,r)=>{let n=t[e]||(t[e]=[]);return n.push(r),()=>{let o=n.indexOf(r);o>=0&&(n[o]=n[n.length-1],n.pop())}};pN();var xN=()=>{},Nj=xN();var Vm=Je.default.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}}),Ym={dedupe:!0},n1=Promise.resolve(qe),yN=()=>hr,bN=(e,t,r)=>{let{cache:n,compare:o,suspense:i,fallbackData:s,revalidateOnMount:a,revalidateIfStale:c,refreshInterval:l,refreshWhenHidden:A,refreshWhenOffline:u,keepPreviousData:m,strictServerPrefetchWarning:d}=r,[p,E,x,I]=pr.get(n),[h,y]=ks(e),Q=(0,Je.useRef)(!1),M=(0,Je.useRef)(!1),B=(0,Je.useRef)(h),v=(0,Je.useRef)(t),P=(0,Je.useRef)(r),N=()=>P.current,$=()=>N().isVisible()&&N().isOnline(),[S,L,J,O]=hl(n,h),Te=(0,Je.useRef)({}).current,Tt=q(s)?q(r.fallback)?qe:r.fallback[h]:s,Ut=(K,oe)=>{for(let ge in Te){let pe=ge;if(pe==="data"){if(!o(K[pe],oe[pe])&&(!q(K[pe])||!o(de,oe[pe])))return!1}else if(oe[pe]!==K[pe])return!1}return!0},Qn=!Q.current,Rs=(0,Je.useMemo)(()=>{let K=S(),oe=O(),ge=be=>{let Qt=Cr(be);return delete Qt._k,(()=>{if(!h||!t||N().isPaused())return!1;if(Qn&&!q(a))return a;let on=q(Tt)?Qt.data:Tt;return i?q(on)||c:q(on)||c})()?{isValidating:!0,isLoading:!0,...Qt}:Qt},pe=ge(K),tt=K===oe?pe:ge(oe),rt=pe;return[()=>{let be=ge(S());return Ut(be,rt)?(rt.data=be.data,rt.isLoading=be.isLoading,rt.isValidating=be.isValidating,rt.error=be.error,rt):(rt=be,be)},()=>tt]},[n,h]),en=(0,Wm.useSyncExternalStore)((0,Je.useCallback)(K=>J(h,(oe,ge)=>{Ut(ge,oe)||K()}),[n,h]),Rs[0],Rs[1]),Ps=p[h]&&p[h].length>0,tn=en.data,xr=q(tn)?Tt&&pl(Tt)?Vm(Tt):Tt:tn,ue=en.error,Mn=(0,Je.useRef)(xr),de=m?q(tn)?q(Mn.current)?xr:Mn.current:tn:xr,tr=h&&q(xr),se=(0,Je.useRef)(null);!Sn&&(0,Wm.useSyncExternalStore)(yN,()=>(se.current=!1,se),()=>(se.current=!0,se));let vn=se.current;d&&vn&&!i&&tr&&console.warn(`Missing pre-initiated data for serialized key "${h}" during server-side rendering. Data fetching should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);let Tn=!h||!t||N().isPaused()||Ps&&!q(ue)?!1:Qn&&!q(a)?a:i?q(xr)?!1:c:q(xr)||c,rr=Qn&&Tn,Os=q(en.isValidating)?rr:en.isValidating,Mi=q(en.isLoading)?rr:en.isLoading,rn=(0,Je.useCallback)(async K=>{let oe=v.current;if(!h||!oe||M.current||N().isPaused())return!1;let ge,pe,tt=!0,rt=K||{},be=!x[h]||!rt.dedupe,Qt=()=>Cl?!M.current&&h===B.current&&Q.current:h===B.current,nn={isValidating:!1,isLoading:!1},on=()=>{L(nn)},mo=()=>{let Ue=x[h];Ue&&Ue[1]===pe&&delete x[h]},sn={isValidating:!0};q(S().data)&&(sn.isLoading=!0);try{if(be&&(L(sn),r.loadingTimeout&&q(S().data)&&setTimeout(()=>{tt&&Qt()&&N().onLoadingSlow(h,r)},r.loadingTimeout),x[h]=[oe(y),_s()]),[ge,pe]=x[h],ge=await ge,be&&setTimeout(mo,r.dedupingInterval),!x[h]||x[h][1]!==pe)return be&&Qt()&&N().onDiscarded(h),!1;nn.error=qe;let Ue=E[h];if(!q(Ue)&&(pe<=Ue[0]||pe<=Ue[1]||Ue[1]===0))return on(),be&&Qt()&&N().onDiscarded(h),!1;let Re=S().data;nn.data=o(Re,ge)?Re:ge,be&&Qt()&&N().onSuccess(ge,h,r)}catch(Ue){mo();let Re=N(),{shouldRetryOnError:_n}=Re;Re.isPaused()||(nn.error=Ue,be&&Qt()&&(Re.onError(Ue,h,Re),(_n===!0||Ot(_n)&&_n(Ue))&&(!N().revalidateOnFocus||!N().revalidateOnReconnect||$())&&Re.onErrorRetry(Ue,h,Re,Gs=>{let go=p[h];go&&go[0]&&go[0](Bn.ERROR_REVALIDATE_EVENT,Gs)},{retryCount:(rt.retryCount||0)+1,dedupe:!0})))}return tt=!1,on(),!0},[h,n]),vi=(0,Je.useCallback)((...K)=>El(n,B.current,...K),[]);if(wi(()=>{v.current=t,P.current=r,q(tn)||(Mn.current=tn)}),wi(()=>{if(!h)return;let K=rn.bind(qe,Ym),oe=0;N().revalidateOnFocus&&(oe=Date.now()+N().focusThrottleInterval);let pe=r1(h,p,(tt,rt={})=>{if(tt==Bn.FOCUS_EVENT){let be=Date.now();N().revalidateOnFocus&&be>oe&&$()&&(oe=be+N().focusThrottleInterval,K())}else if(tt==Bn.RECONNECT_EVENT)N().revalidateOnReconnect&&$()&&K();else{if(tt==Bn.MUTATE_EVENT)return rn();if(tt==Bn.ERROR_REVALIDATE_EVENT)return rn(rt)}});return M.current=!1,B.current=h,Q.current=!0,L({_k:y}),Tn&&(x[h]||(q(xr)||Sn?K():Hm(K))),()=>{M.current=!0,pe()}},[h]),wi(()=>{let K;function oe(){let pe=Ot(l)?l(S().data):l;pe&&K!==-1&&(K=setTimeout(ge,pe))}function ge(){!S().error&&(A||N().isVisible())&&(u||N().isOnline())?rn(Ym).then(oe):oe()}return oe(),()=>{K&&(clearTimeout(K),K=-1)}},[l,A,u,h]),(0,Je.useDebugValue)(de),i){if(!Cl&&Sn&&tr)throw new Error("Fallback data is required when using Suspense in SSR.");tr&&(v.current=t,P.current=r,M.current=!1);let K=I[h],oe=!q(K)&&tr?vi(K):n1;if(Vm(oe),!q(ue)&&tr)throw ue;let ge=tr?rn(Ym):n1;!q(de)&&tr&&(ge.status="fulfilled",ge.value=!0),Vm(ge)}return{mutate:vi,get data(){return Te.data=!0,de},get error(){return Te.error=!0,ue},get isValidating(){return Te.isValidating=!0,Os},get isLoading(){return Te.isLoading=!0,Mi}}},Lj=yi.defineProperty(Jm,"defaultValue",{value:xl}),lo=t1(bN);var o1=f(Eo());async function i1({start:e,end:t,refName:r,session:n,assemblyName:o}){let{assemblyManager:i,rpcManager:s}=n,a=await i.waitForAssembly(o);if(!a)throw new Error("assembly not found");let c="getSequence";return(await s.call(c,"CoreGetFeatures",{adapterConfig:(0,o1.getConf)(a,["sequence","adapter"]),sessionId:c,regions:[{start:e,end:t,refName:a.getCanonicalRefName(r),assemblyName:o}]}))[0]?.get("seq")??""}var Ao={revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1,refreshWhenHidden:!1,refreshWhenOffline:!1,shouldRetryOnError:!1};async function wN({feature:e,assemblyName:t,view:r}){let n=(0,s1.getSession)(r),{start:o,end:i,refName:s}=e.toJSON();return{seq:await i1({start:o,end:i,refName:s,assemblyName:t,session:n})}}function a1({view:e,feature:t}){let r=e?.assemblyNames?.[0],n=t&&r?{feature:t,assemblyName:r,view:e}:void 0,{data:o,error:i}=lo(n?[n.feature.id(),n.assemblyName,"feature-sequence"]:null,()=>wN(n),Ao);return{sequence:o,error:i}}function c1({view:e,feature:t}){let{sequence:r,error:n}=a1({view:e,feature:t});return{proteinSequence:r&&t?RS({seq:r.seq,feature:t}):"",sequence:r,error:n}}function BN(e,t,r){if(r&&r.length>0){let n=t.find(i=>ao(i)===e),o=n&&r.some(i=>ws(n,i));if(n&&!o){let i=t.find(s=>r.some(a=>ws(s,a)));return i?ao(i):void 0}}}function Fr({feature:e,view:t,validIds:r}){let n=(0,yl.useMemo)(()=>MB(e),[e]),[o,i]=(0,yl.useState)(()=>ao(n[0])),s=BN(o,n,r)??o,a=n.find(A=>ao(A)===s),{proteinSequence:c,error:l}=c1({view:t,feature:a});return{options:n,selectedId:s,setSelectedId:i,selectedTranscript:a,proteinSequence:c,error:l,validIds:r}}var SN=(0,u1.makeStyles)()({textAreaFont:{fontFamily:"Courier New"},inputContainer:{marginBottom:30},fileContainer:{maxWidth:500},msaInput:{marginBottom:20},queryNameInput:{marginTop:20},warningAlert:{marginTop:10}}),QN=(0,A1.observer)(function({model:t,feature:r,handleClose:n}){let o=(0,l1.getSession)(t),i=$t(t),{classes:s}=SN(),[a,c]=(0,ne.useState)(),[l,A]=(0,ne.useState)("file"),[u,m]=(0,ne.useState)(""),[d,p]=(0,ne.useState)(""),[E,x]=(0,ne.useState)(),[I,h]=(0,ne.useState)(),[y,Q]=(0,ne.useState)(""),M=Fr({feature:r,view:i}),{selectedTranscript:B,error:v}=M;return ne.default.createElement(ne.default.Fragment,null,ne.default.createElement(mr,{error:a??v},ne.default.createElement(Kt.FormControl,{component:"fieldset"},ne.default.createElement(Kt.RadioGroup,{row:!0,value:l,onChange:N=>{A(N.target.value)}},ne.default.createElement(Kt.FormControlLabel,{value:"file",control:ne.default.createElement(Kt.Radio,null),label:"Open files"}),ne.default.createElement(Kt.FormControlLabel,{value:"text",control:ne.default.createElement(Kt.Radio,null),label:"Paste text"}))),ne.default.createElement("div",{className:s.inputContainer},l==="file"?ne.default.createElement("div",{className:s.fileContainer},ne.default.createElement(zm.FileSelector,{name:"MSA File .aln (Clustal), .fa/.mfa (aligned FASTA), .stock (Stockholm), etc)",inline:!0,location:E,setLocation:x}),ne.default.createElement(zm.FileSelector,{name:"Tree file .nh (Newick) or .asn (NCBI COBALT ASN.1)",inline:!0,location:I,setLocation:h})):ne.default.createElement(ne.default.Fragment,null,ne.default.createElement(at,{variant:"outlined",name:"MSA",multiline:!0,minRows:5,className:s.msaInput,maxRows:10,fullWidth:!0,placeholder:"Paste MSA here",value:u,onChange:N=>{m(N.target.value)}}),ne.default.createElement(at,{variant:"outlined",name:"Tree",multiline:!0,minRows:5,maxRows:10,fullWidth:!0,placeholder:"Paste newick tree (optional)",value:d,onChange:N=>{p(N.target.value)}}))),ne.default.createElement(gr,{feature:r,...M}),ne.default.createElement(at,{variant:"outlined",name:"MSA row name",fullWidth:!0,required:!0,className:s.queryNameInput,placeholder:"Row name in MSA that corresponds to the selected transcript",helperText:"Required: Specify the name of the row in your MSA that should be aligned with the selected transcript",value:y,onChange:N=>{Q(N.target.value)}}),y.trim()?null:ne.default.createElement(Kt.Alert,{severity:"warning",className:s.warningAlert},"Without specifying the MSA row name, clicking on the MSA will not navigate to the corresponding genome position, and hovering highlights will not work.")),ne.default.createElement(Xr,{submitDisabled:!B||l==="file"&&!E||l==="text"&&!u.trim(),onSubmit:()=>{try{B&&(c(void 0),vS({session:o,newViewTitle:co(B),view:i,feature:B,querySeqName:y.trim(),...l==="file"?{msaFilehandle:E,treeFilehandle:I}:{data:{msa:u,tree:d}}}),n())}catch(N){console.error(N),c(N)}},onCancel:n}))}),f1=QN;var Ir=f(w()),R1=f(Ce());Yu();var P1=f(k()),O1=f(Se());var Ae=f(w());Af();var Gt=f(k()),B1=f(G()),S1=f(Se());var et=f(w()),h1=f(we());W();var m1=f(R(),1),d1=(0,_.createSvgIcon)((0,m1.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete");var mt=f(k()),C1=f(G()),E1=f(Se());var $m=f(Ce());function bl({newViewTitle:e,view:t,feature:r,blastParams:n}){(0,$m.getSession)(t).addView("MsaView",{type:"MsaView",displayName:e,connectedViewId:t.id,connectedFeature:r.toJSON(),drawNodeBubbles:!0,colWidth:10,rowHeight:12,blastParams:n})}function g1({newViewTitle:e,view:t,cached:r}){(0,$m.getSession)(t).addView("MsaView",{type:"MsaView",displayName:e,connectedViewId:t.id,drawNodeBubbles:!0,colWidth:10,rowHeight:12,data:{msa:r.msa,tree:r.tree,treeMetadata:r.treeMetadata}})}function wl(e){let{data:t,error:r,mutate:n}=lo(`cached-blast-${e.join(",")}`,async()=>(await TB()).filter(a=>a.geneId&&e.includes(a.geneId)),Ao);return{results:t??[],error:r,isLoading:!t&&!r,handleDelete:async s=>{await _B(s),await n(a=>a?.filter(c=>c.id!==s)??[],!1)},handleClearAll:async()=>{await kB(),await n([],!1)}}}var MN=(0,E1.makeStyles)()({header:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8},resultList:{maxHeight:300,overflow:"auto"}});function p1(e){let t=[e.geneName,e.transcriptName!==e.geneName?e.transcriptName:void 0].filter(r=>!!r);return t.length>0?t.join(" - "):e.geneId??e.transcriptId??"Unknown"}var vN=(0,C1.observer)(function({model:e,handleClose:t,feature:r}){let{classes:n}=MN(),o=$t(e),[i,s]=(0,et.useState)(),a=(0,et.useMemo)(()=>el(r),[r]),{results:c,error:l,isLoading:A,handleDelete:u,handleClearAll:m}=wl(a),d=E=>{g1({view:o,cached:E,newViewTitle:`BLAST - ${p1(E)}`}),t()},p=l??i;return p?et.default.createElement(h1.ErrorMessage,{error:p}):A?et.default.createElement(mt.Typography,null,"Loading cached results..."):c.length===0?et.default.createElement(mt.Typography,{color:"textSecondary"},"No cached BLAST results found for this gene. Run a BLAST query to cache results."):et.default.createElement("div",null,et.default.createElement("div",{className:n.header},et.default.createElement(mt.Typography,{variant:"subtitle1"},"Cached BLAST Results (",c.length,")"),et.default.createElement(mt.Button,{size:"small",color:"error",onClick:async()=>{try{s(void 0),await m()}catch(E){s(E)}}},"Clear All")),et.default.createElement(mt.List,{dense:!0,className:n.resultList},c.map(E=>et.default.createElement(mt.ListItem,{key:E.id,disablePadding:!0,secondaryAction:et.default.createElement(mt.IconButton,{edge:"end",size:"small",onClick:async x=>{x.stopPropagation();try{s(void 0),await u(E.id)}catch(I){s(I)}}},et.default.createElement(d1,{fontSize:"small"}))},et.default.createElement(mt.ListItemButton,{onClick:()=>{d(E)}},et.default.createElement(mt.ListItemText,{primary:`${p1(E)} - ${E.blastDatabase}/${E.blastProgram} (${E.msaAlgorithm})`,secondary:`${new Date(E.timestamp).toLocaleString()} - Seq: ${E.proteinSequence.slice(0,30)}...`}))))))}),I1=vN;var Km=f(w()),w1=f(k());var Bl="https://blast.ncbi.nlm.nih.gov/Blast.cgi",x1=["clustalo","muscle","kalign","mafft"],y1=["nr","nr_cluster_seq"],b1=["blastp","quick-blastp"];function Ds({value:e,onChange:t,className:r}){return Km.default.createElement(at,{variant:"outlined",label:"MSA Algorithm",className:r,select:!0,value:e,onChange:n=>{t(n.target.value)}},x1.map(n=>Km.default.createElement(w1.MenuItem,{value:n,key:n},n)))}var TN=(0,S1.makeStyles)()({selectField:{width:150},databaseFieldContainer:{display:"flex"},clusterSeqMessage:{marginLeft:4,alignContent:"center"},cachedResultsAccordion:{marginTop:20},infoText:{marginTop:20}}),_N=(0,B1.observer)(function({handleClose:e,feature:t,model:r,children:n,baseUrl:o}){let{classes:i}=TN(),s=$t(r),[a,c]=(0,Ae.useState)(),[l,A]=(0,Ae.useState)("nr"),[u,m]=(0,Ae.useState)("clustalo"),[d,p]=(0,Ae.useState)("quick-blastp"),E=(0,Ae.useMemo)(()=>el(t),[t]),{results:x,error:I}=wl(E),h=Fr({feature:t,view:s}),{selectedTranscript:y,proteinSequence:Q}=h,M=h.error??a??I;return Ae.default.createElement(Ae.default.Fragment,null,Ae.default.createElement(mr,{error:M},n,Ae.default.createElement(at,{variant:"outlined",label:"BLAST database",className:i.selectField,select:!0,value:l,onChange:B=>{let v=B.target.value;A(v),v==="nr_cluster_seq"&&p("blastp")}},y1.map(B=>Ae.default.createElement(Gt.MenuItem,{value:B,key:B},B))),Ae.default.createElement(Ds,{className:i.selectField,value:u,onChange:m}),Ae.default.createElement("div",{className:i.databaseFieldContainer},Ae.default.createElement(at,{variant:"outlined",label:"BLAST program",disabled:l==="nr_cluster_seq",className:i.selectField,select:!0,value:d,onChange:B=>{p(B.target.value)}},b1.map(B=>Ae.default.createElement(Gt.MenuItem,{value:B,key:B},B))),l==="nr_cluster_seq"?Ae.default.createElement(Gt.Typography,{variant:"subtitle2",className:i.clusterSeqMessage},"Can only use blastp on nr_cluster_seq"):null),Ae.default.createElement(gr,{feature:t,...h}),Ae.default.createElement(Gt.Typography,{className:i.infoText},"This panel will automatically submit a query to NCBI. Using blastp can take 10+ minutes to run, quick-blastp is generally a lot faster but is not available for the clustered database. After completion, all the hits will be run through a multiple sequence alignment. Note: we are not able to currently run NCBI COBALT automatically on the BLAST results, even though that is the method NCBI uses on their website. If you need a COBALT alignment, please use the manual approach of submitting BLAST yourself and downloading the resulting files"),x.length>0?Ae.default.createElement(Gt.Accordion,{className:i.cachedResultsAccordion},Ae.default.createElement(Gt.AccordionSummary,{expandIcon:Ae.default.createElement(gc,null)},Ae.default.createElement(Gt.Typography,null,"Previous BLAST Results")),Ae.default.createElement(Gt.AccordionDetails,null,Ae.default.createElement(I1,{model:r,handleClose:e,feature:t}))):null),Ae.default.createElement(Xr,{submitDisabled:!Q,onSubmit:()=>{try{y&&(c(void 0),bl({feature:y,view:s,newViewTitle:Xc(t,y),blastParams:{baseUrl:o,blastProgram:d,blastDatabase:l,msaAlgorithm:u,selectedTranscript:y,proteinSequence:Q}}),e())}catch(B){console.error(B),c(B)}},onCancel:e}))}),Q1=_N;var Rr=f(w()),v1=f(Ce()),Si=f(k()),T1=f(G()),_1=f(Se());Sl();var kN=(0,_1.makeStyles)()({ncbiLink:{wordBreak:"break-all",margin:30,maxWidth:600},infoText:{marginTop:20}}),DN=(0,T1.observer)(function({handleClose:e,feature:t,model:r,children:n,baseUrl:o}){let{classes:i}=kN(),s=$t(r),a=Fr({feature:t,view:s}),{proteinSequence:c,error:l}=a,A=Zc(c),u=`${o}?PAGE_TYPE=BlastSearch&PAGE=Proteins&PROGRAM=blastp&QUERY=${A}`,m=`${o}?PAGE_TYPE=BlastSearch&PAGE=Proteins&PROGRAM=blastp&QUERY=${(0,v1.shorten2)(A,10)}`;return Rr.default.createElement(Rr.default.Fragment,null,Rr.default.createElement(mr,{error:l},n,Rr.default.createElement(gr,{feature:t,...a}),c?Rr.default.createElement("div",{className:i.ncbiLink},"Link to NCBI BLAST: ",Rr.default.createElement(uo,{href:u},m)):null,Rr.default.createElement(Si.Typography,{className:i.infoText},`Click the link above and run your BLAST query, and once you have results, click "Multiple Alignment" at the top of the results page to be redirected to COBALT, NCBI's multiple sequence aligner. Once COBALT completes, you can download an MSA (.aln file) and optionally a Newick tree (.nh) and paste the results into JBrowse`)),Rr.default.createElement(Si.DialogActions,null,Rr.default.createElement(Si.Button,{color:"primary",variant:"contained",onClick:()=>{e()}},"Close")))}),k1=DN;var Zr=f(w()),Xt=f(k());function Zm({lookupMethod:e,setLookupMethod:t}){return Zr.default.createElement(Xt.FormControl,{component:"fieldset"},Zr.default.createElement(Xt.RadioGroup,{row:!0,value:e,onChange:r=>{t(r.target.value)}},Zr.default.createElement(Xt.FormControlLabel,{value:"automatic",control:Zr.default.createElement(Xt.Radio,null),label:"Automatic"}),Zr.default.createElement(Xt.FormControlLabel,{value:"rid",control:Zr.default.createElement(Xt.Radio,null),label:"Load from RID"}),Zr.default.createElement(Xt.FormControlLabel,{value:"manual",control:Zr.default.createElement(Xt.Radio,null),label:"Manual"})))}var dt=f(w()),Ql=f(k()),D1=f(G()),N1=f(Se());Sl();var NN=(0,N1.makeStyles)()({marginBottom:{marginBottom:16},ridField:{width:150},infoText:{marginTop:20}}),LN=(0,D1.observer)(function({handleClose:e,feature:t,model:r,children:n,baseUrl:o}){let{classes:i}=NN(),s=$t(r),[a,c]=(0,dt.useState)(),[l,A]=(0,dt.useState)(""),[u,m]=(0,dt.useState)("clustalo"),d=Fr({feature:t,view:s}),{selectedTranscript:p,proteinSequence:E}=d,x=d.error??a,I=l.trim();return dt.default.createElement(dt.default.Fragment,null,dt.default.createElement(mr,{error:x},n,dt.default.createElement(Ql.Typography,{variant:"body2",className:i.marginBottom},"Enter the RID (Request ID) from a previously submitted NCBI BLAST query. You can find the RID in the BLAST results page URL or at the top of the results page. RIDs are typically valid for 24-36 hours after submission."),dt.default.createElement(at,{variant:"outlined",label:"BLAST RID",placeholder:"e.g., ABC12345",fullWidth:!0,className:i.marginBottom,value:l,onChange:h=>{A(h.target.value)}}),I?dt.default.createElement(Ql.Typography,{variant:"body2",className:i.marginBottom},dt.default.createElement(uo,{href:`${o}?CMD=Get&RID=${I}`},"View BLAST results on NCBI")):null,dt.default.createElement(Ds,{className:i.ridField,value:u,onChange:m}),dt.default.createElement(gr,{feature:t,...d}),dt.default.createElement(Ql.Typography,{className:i.infoText},"This will fetch the BLAST results for the provided RID and run them through a multiple sequence alignment. The protein sequence from the selected transcript will be added as the query sequence in the MSA.")),dt.default.createElement(Xr,{submitDisabled:!E||!I,onSubmit:()=>{try{p&&I&&(c(void 0),bl({feature:p,view:s,newViewTitle:Xc(t,p),blastParams:{baseUrl:o,blastProgram:"blastp",blastDatabase:"nr",msaAlgorithm:u,selectedTranscript:p,proteinSequence:E,rid:I}}),e())}catch(h){console.error(h),c(h)}},onCancel:e}))}),L1=LN;var Er=f(w()),Zt=f(k()),F1=f(Se());var FN=(0,F1.makeStyles)()({urlField:{minWidth:300}});function ed({handleClose:e,baseUrl:t}){let{classes:r}=FN(),[n,o]=(0,Er.useState)(t);return Er.default.createElement(Zt.Dialog,{open:!0,maxWidth:"lg",onClose:()=>{e()}},Er.default.createElement(Zt.DialogTitle,null,"BLAST Settings"),Er.default.createElement(Zt.DialogContent,null,Er.default.createElement(at,{autoFocus:!0,margin:"dense",label:"BLAST Base URL",fullWidth:!0,variant:"outlined",value:n,className:r.urlField,onChange:i=>{o(i.target.value)}}),Er.default.createElement(Zt.Button,{variant:"contained",onClick:()=>{o(Bl)}},"Reset")),Er.default.createElement(Zt.DialogActions,null,Er.default.createElement(Zt.Button,{variant:"contained",color:"secondary",onClick:()=>{e()}},"Cancel"),Er.default.createElement(Zt.Button,{color:"primary",variant:"contained",onClick:()=>{e(n)}},"Save")))}var RN=(0,O1.makeStyles)()({settingsButton:{float:"right"}}),PN={automatic:Q1,rid:L1,manual:k1};function td({handleClose:e,model:t,feature:r}){let[n,o]=(0,Ir.useState)("automatic"),[i,s]=(0,R1.useLocalStorage)("msa-blastRootUrl",Bl),[a,c]=(0,Ir.useState)(!1),{classes:l}=RN(),A=PN[n];return Ir.default.createElement(Ir.default.Fragment,null,Ir.default.createElement(P1.IconButton,{className:l.settingsButton,size:"small",onClick:()=>{c(!0)}},Ir.default.createElement(sc,null)),Ir.default.createElement(A,{model:t,feature:r,handleClose:e,baseUrl:i},Ir.default.createElement(Zm,{lookupMethod:n,setLookupMethod:o})),a?Ir.default.createElement(ed,{baseUrl:i,handleClose:u=>{u&&s(u),c(!1)}}):null)}var gt=f(w()),Ns=f(we()),vl=f(Ce()),Y1=f(k()),W1=f(G());var z1=f(Se());ln();function rd(e,t="",r=5e3){let n=[e];for(;n.length;){let o=n.pop();for(let[i,s]of Object.entries(o)){if(t.length>r)return Iu(t);typeof s=="object"&&s!==null?n.push(s):i==="locationType"&&s==="FileHandleLocation"?t+=`${i}-BlobLocation`:i==="handleId"?t+=`blobId-fh-blob-${s}`:t+=`${i}-${s}`}}return`adp-${Iu(t)}`}function G1(e={}){return e.type&&e.adapterId?`${e.type}-${e.adapterId}`:`${rd(e)}`}var U1={};async function ON(e,t,r){let n=r?.type;if(!n)throw new Error(`could not determine adapter type from adapter config snapshot ${JSON.stringify(r)}`);let o=e.getAdapterType(n);if(!o)throw new Error(`unknown data adapter type ${n}`);let i=o.configSchema.create(r,{pluginManager:e}),s=nd.bind(null,e,t),a=await o.getAdapterClass();return{dataAdapter:new a(i,s,e),sessionIds:new Set([t])}}async function nd(e,t,r){let n=G1(r);U1[n]??=ON(e,t,r);let o=await U1[n];return o.sessionIds.add(t),o}async function H1(e,t){return(await nd(e,"msa",t)).dataAdapter}async function j1({config:e,pluginManager:t}){return(await H1(t,e)).getMSAList()}async function q1({config:e,pluginManager:t,msaId:r}){return(await H1(t,e)).getMSA(r)}function J1({session:e,newViewTitle:t,view:r,feature:n,data:o,querySeqName:i}){e.addView("MsaView",{type:"MsaView",displayName:t,treeAreaWidth:200,querySeqName:i,treeWidth:100,drawNodeBubbles:!1,labelsAlignRight:!0,showBranchLen:!1,colWidth:10,rowHeight:12,colorSchemeName:"percent_identity_dynamic",data:o,connectedViewId:r.id,connectedFeature:n.toJSON()})}var V1=f(Eo());function Ml(e){return(0,V1.readConfObject)(e,["msa","datasets"])}var GN=(0,z1.makeStyles)()({selectedContainer:{marginTop:50}}),UN=(0,W1.observer)(function({model:e,feature:t,handleClose:r}){let n=(0,vl.getSession)(e),o=$t(e),{classes:i}=GN(),{pluginManager:s}=(0,vl.getEnv)(e),{assemblyNames:a}=o,[c,l]=(0,gt.useState)(),A=Ml(n.jbrowse),[u,m]=(0,gt.useState)(A?.[0]?.datasetId),d=A?.find(P=>P.datasetId===u),{data:p,isLoading:E,error:x}=lo(d?`${d.datasetId}-msa-list`:null,()=>j1({config:d.adapter,pluginManager:s}),Ao),I=Fr({feature:t,view:o,validIds:p}),{selectedId:h,selectedTranscript:y}=I,{data:Q,isLoading:M,error:B}=lo(h&&d&&p?`${d.datasetId}-${h}-${p.length}-msa`:null,()=>q1({msaId:h,config:d.adapter,pluginManager:s}),Ao),v=x??B??I.error??c;return gt.default.createElement(gt.default.Fragment,null,gt.default.createElement(mr,{error:v},gt.default.createElement(at,{select:!0,label:"Select MSA dataset",value:u,onChange:P=>{m(P.target.value)}},A?.map(P=>gt.default.createElement(Y1.MenuItem,{key:P.datasetId,value:P.datasetId},P.name))),d?gt.default.createElement("div",{className:i.selectedContainer},!E&&M?gt.default.createElement(Ns.LoadingEllipses,{variant:"h6",message:`Loading MSA for (${h})`}):null,E?gt.default.createElement(Ns.LoadingEllipses,{variant:"h6",message:`Loading available MSAs for (${d.name})`}):null,p?gt.default.createElement("div",null,gt.default.createElement(Ns.SanitizedHTML,{html:d.description}),gt.default.createElement(gr,{feature:t,...I})):null):null),gt.default.createElement(Xr,{submitDisabled:!y||!Q?.length,onSubmit:()=>{try{if(y&&Q){let P=`${h}_${a[0]}`;J1({session:n,newViewTitle:co(y),view:o,querySeqName:P,feature:y,data:{msa:Q.map(N=>`>${N.get("refName")}
74
- ${N.get("seq")}`).join(`
75
- `)}}),r()}}catch(P){l(P)}},onCancel:r}))}),$1=UN;var K1=f(w());function Ls({children:e,value:t,index:r,...n}){return K1.default.createElement("div",{role:"tabpanel",hidden:t!==r,...n},t===r?e:null)}function od({handleClose:e,feature:t,model:r}){let n=(0,Z1.getSession)(r),i=!!Ml(n.jbrowse)?.length,[s,a]=(0,vt.useState)("ncbi_blast");return vt.default.createElement(X1.Dialog,{maxWidth:"xl",title:"Launch MSA view",open:!0,onClose:e},vt.default.createElement(Qi.Tabs,{value:s,onChange:(c,l)=>{a(l)}},vt.default.createElement(Qi.Tab,{label:"NCBI BLAST query",value:"ncbi_blast"}),i?vt.default.createElement(Qi.Tab,{label:"Pre-loaded MSA datasets",value:"preloaded_msa"}):null,vt.default.createElement(Qi.Tab,{label:"Manual upload",value:"manual_msa"})),vt.default.createElement(Ls,{value:s,index:"ncbi_blast"},vt.default.createElement(td,{handleClose:e,feature:t,model:r})),i?vt.default.createElement(Ls,{value:s,index:"preloaded_msa"},vt.default.createElement($1,{model:r,feature:t,handleClose:e})):null,vt.default.createElement(Ls,{value:s,index:"manual_msa"},vt.default.createElement(f1,{model:r,feature:t,handleClose:e})))}function HN(e){return e.name==="LinearBasicDisplay"}function jN(e){return e.views(t=>{let r=t.contextMenuItems;return{contextMenuItems(){let n=t.contextMenuFeature,o=(0,Tl.getContainingTrack)(t),i=n?.get("type"),s=n&&["gene","mRNA","transcript"].includes(i);return[...r(),...s?[{label:"Launch MSA view",icon:MS,onClick:()=>{(0,Tl.getSession)(o).queueDialog(a=>[od,{model:o,handleClose:a,feature:n}])}}]:[]]}}})}function id(e){e.addToExtensionPoint("Core-extendPluggableElement",t=>(HN(t)&&(t.stateModel=jN(t.stateModel)),t))}function sd(e){e.addToExtensionPoint("LaunchView-MsaView",({session:t,data:r,msaFileLocation:n,treeFileLocation:o,connectedViewId:i,connectedFeature:s,displayName:a,colorSchemeName:c,colWidth:l,rowHeight:A,treeAreaWidth:u,treeWidth:m,drawNodeBubbles:d,labelsAlignRight:p,showBranchLen:E,querySeqName:x})=>{if(!r&&!n)throw new Error("No MSA data or file location provided when launching MSA view");t.addView("MsaView",{type:"MsaView",displayName:a,connectedViewId:i,connectedFeature:s,colorSchemeName:c,colWidth:l,rowHeight:A,treeAreaWidth:u,treeWidth:m,drawNodeBubbles:d,labelsAlignRight:p,showBranchLen:E,init:{msaData:r?.msa,treeData:r?.tree,msaUrl:n?.uri,treeUrl:o?.uri,querySeqName:x}})})}var pQ=f(w()),hQ=f(tQ());var KN=(0,pQ.lazy)(()=>Promise.resolve().then(()=>(gQ(),dQ)));function Ad(e){e.addViewType(()=>new hQ.default({name:"MsaView",stateModel:ym(),ReactComponent:KN}))}var CQ="2.5.0";var Dl=class extends EQ.default{constructor(){super(...arguments);this.name="MsaViewPlugin";this.version=CQ;this.rootConfigurationSchema=r=>({msa:(0,ud.ConfigurationSchema)("MSA",{datasets:fd.types.maybe(fd.types.array((0,ud.ConfigurationSchema)("MSAEntry",{datasetId:{type:"string",defaultValue:""},description:{type:"string",defaultValue:""},name:{type:"string",defaultValue:""},adapter:r.pluggableConfigSchemaType("adapter")})))})})}install(r){Ad(r),id(r),sd(r),Qm(r),vm(r)}configure(r){(0,IQ.isAbstractMenuManager)(r.rootModel)&&r.rootModel.appendToSubMenu(["Add"],{label:"Multiple sequence alignment view",icon:Fd,onClick:n=>{n.addView("MsaView",{})}})}};return DQ(XN);})();
69
+ .**: ****: ** ***.***`,mB="(((UniProt/Swiss-Prot|P26898|IL2RA_SHEEP:0.24036,(UniProt/Swiss-Prot|P41690|IL2RA_FELCA:0.17737,(UniProt/Swiss-Prot|P01589|IL2RA_HUMAN:0.03906,UniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU:0.03787):0.13033):0.04964):0.02189,UniProt/Swiss-Prot|P01590|IL2RA_MOUSE:0.23072):0.06814,(((UniProt/Swiss-Prot|Q95118|IL2RG_BOVIN:0.09600,UniProt/Swiss-Prot|P40321|IL2RG_CANFA:0.09845):0.25333,UniProt/Swiss-Prot|Q29416|IL2_CANFA:-0.35055):0.10231,(UniProt/Swiss-Prot|P26896|IL2RB_RAT:0.33631,UniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO:-0.33631):0.10166):0.01607,(UniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE:0.32378,UniProt/Swiss-Prot|P36835|IL2_CAPHI:-0.32378):0.09999)"});async function sl(e,t,r,n){e.setError(void 0),t&&e.setMSAFilehandle(t),r&&e.setTreeFilehandle(r),n&&e.setGFFFilehandle(n)}var Qd=g(()=>{});function Or({onClick:e,model:t,children:r}){return Tt.default.createElement("li",null,Tt.default.createElement(al.Link,{onClick:n=>{t.setError(void 0),n.preventDefault(),e()},href:"#"},Tt.default.createElement(al.Typography,{component:"span"},r)))}var Tt,al,gB,kn,uN,hB,CB=g(()=>{Tt=f(Q(),1),al=f(N(),1),gB=f(U(),1);pB();Qd();kn="https://jbrowse.org/genomes/multiple_sequence_alignments",uN=(0,gB.observer)(function({model:e}){function t({msa:r,tree:n,gff:o}){(async()=>{try{await sl(e,r?{uri:r,locationType:"UriLocation"}:void 0,n?{uri:n,locationType:"UriLocation"}:void 0,o?{uri:o,locationType:"UriLocation"}:void 0)}catch(i){console.error(i),e.setError(i)}})()}return Tt.default.createElement("ul",null,Tt.default.createElement(Or,{model:e,onClick:()=>{t({tree:"https://jbrowse.org/genomes/newicktrees/sarscov2phylo.pub.ft.nh"})}},"230k COVID-19 samples (tree only)"),Tt.default.createElement(Or,{model:e,onClick:()=>{e.setData({msa:fB,tree:mB})}},"Small protein MSA+tree"),Tt.default.createElement(Or,{model:e,onClick:()=>{e.setData({msa:dB})}},"Small MSA only"),Tt.default.createElement(Or,{model:e,onClick:()=>{t({msa:`${kn}/pfam-cov2.stock`})}},"PFAM SARS-CoV2 multi-stockholm"),Tt.default.createElement(Or,{model:e,onClick:()=>{t({msa:`${kn}/pfam-cov2.stock`,gff:`${kn}/pfam-cov2-domains.gff`})}},"PFAM SARS-CoV2 multi-stockholm w/ domains loaded"),Tt.default.createElement(Or,{model:e,onClick:()=>{t({msa:`${kn}/Lysine.stock`})}},"Lysine stockholm file"),Tt.default.createElement(Or,{model:e,onClick:()=>{t({msa:`${kn}/PF01601_full.txt`})}},"PF01601 stockholm file (SARS-CoV2 spike protein)"),Tt.default.createElement(Or,{model:e,onClick:()=>{t({msa:`${kn}/europe_covid.fa`})}},"Europe COVID full genomes (LR883044.1 and 199 other sequences)"),Tt.default.createElement(Or,{model:e,onClick:()=>{t({msa:`${kn}/rhv_test-only.aligned_with_mafft_auto.fa`,tree:`${kn}/rhv_test-only.aligned_with_mafft_auto.nh`})}},"MAFFT+VeryFastTree(17.9k samples)"),Tt.default.createElement(Or,{model:e,onClick:()=>{t({msa:"https://jbrowse.org/demos/ttc39a.mfa"})}},"Human BLAST results mfa"))}),hB=uN});var pe,vi,gr,EB,fN,IB,xB=g(()=>{pe=f(Q(),1),vi=f(Me(),1),gr=f(N(),1),EB=f(U(),1);CB();Qd();fN=(0,EB.observer)(function({model:e}){let[t,r]=(0,pe.useState)(),[n,o]=(0,pe.useState)(),[i,s]=(0,pe.useState)(),{error:a}=e;return pe.default.createElement(gr.Container,null,pe.default.createElement("div",{style:{width:"50%"}},a?pe.default.createElement(vi.ErrorMessage,{error:a}):null,pe.default.createElement(gr.Typography,null,"Open an MSA file (stockholm or clustal format) and/or a tree file (newick format)."),pe.default.createElement(gr.Typography,{color:"error"},"Note: you can open up just an MSA or just a tree, both are not required. Some MSA files e.g. stockholm format have an embedded tree also and this is fine, and opening a separate tree file is not required.")),pe.default.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",gap:40}},pe.default.createElement("div",null,pe.default.createElement("div",null,pe.default.createElement(gr.Typography,null,"MSA file or URL"),pe.default.createElement(vi.FileSelector,{location:t,setLocation:r})),pe.default.createElement("div",null,pe.default.createElement(gr.Typography,null,"Tree file or URL"),pe.default.createElement(vi.FileSelector,{location:n,setLocation:o})),pe.default.createElement("div",null,pe.default.createElement(gr.Typography,null,"InterProScan GFF file or URL (optional)"),pe.default.createElement(vi.FileSelector,{location:i,setLocation:s}))),pe.default.createElement("div",null,pe.default.createElement(gr.Button,{onClick:()=>{(async()=>{try{await sl(e,t,n,i)}catch(c){console.error(c),e.setError(c)}})()},variant:"contained",color:"primary",disabled:!t&&!n},"Open")),pe.default.createElement("div",null,pe.default.createElement(gr.Typography,null,"Examples"),pe.default.createElement(hB,{model:e}))))}),IB=fN});var et,wB,Us,cl,yB,dN,mN,ll,Md=g(()=>{et=f(Q(),1),wB=f(Me(),1);HA();Us=f(N(),1),cl=f(U(),1);uB();xB();yB=(0,cl.observer)(function({model:e}){let{status:t}=e;return et.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12,padding:20}},et.default.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},et.default.createElement("style",null,"@keyframes spinner { to { transform: rotate(360deg); } }"),et.default.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:"#ccc",strokeWidth:"3",fill:"none"}),et.default.createElement("path",{d:"M12 2a10 10 0 0 1 10 10",stroke:"#1976d2",strokeWidth:"3",fill:"none",strokeLinecap:"round",style:{animation:"spinner 1s linear infinite",transformOrigin:"center"}})),et.default.createElement(Us.Typography,{variant:"h6"},t?.msg??"Loading..."),t?.onCancel?et.default.createElement(Us.Button,{variant:"outlined",size:"small",onClick:()=>t.onCancel?.()},"Cancel"):null)}),dN=(0,cl.observer)(function({model:e,error:t}){return et.default.createElement("div",null,et.default.createElement(wB.ErrorMessage,{error:t}),et.default.createElement(Us.Button,{variant:"contained",color:"primary",onClick:()=>{e.reset()}},"Return to import form"))}),mN=(0,cl.observer)(function({model:e}){let{isLoading:t,dataInitialized:r,msaFilehandle:n,treeFilehandle:o}=e,i=!!(n||o);return et.default.createElement("div",null,et.default.createElement(Po,{FallbackComponent:s=>et.default.createElement(dN,{model:e,error:s.error})},r?t?et.default.createElement(yB,{model:e}):et.default.createElement(AB,{model:e}):i||t?et.default.createElement(yB,{model:e}):et.default.createElement(IB,{model:e})))}),ll=mN});var BB=j((Aj,bB)=>{bB.exports=JBrowseExports["@jbrowse/core/ui/theme"]});var QB=j((uj,SB)=>{SB.exports=JBrowseExports["@jbrowse/core/util/io"]});var vB=j((fj,MB)=>{MB.exports=JBrowseExports["@jbrowse/core/util/types/mst"]});function vd({mapSize:e,blockSize:t,viewportPos:r,viewportSize:n}){let o=Math.max(0,Math.min(r,e-n)),i=Math.floor(o/t),s=Math.floor((o+n-1)/t),a=[];for(let c=i;c<=s;c++)a.push(c*t);return a}var TB=g(()=>{});function LB(e,t){let{W:r=0,L:n=0,V:o=0,I:i=0,M:s=0,A:a=0,F:c=0,C:l=0,H:A=0,P:u=0,R:d=0,K:m=0,Q:C=0,E=0,D:x=0,T:I=0,S:p=0,G:y=0,Y:B=0,N:b=0}=e,S=r+n+o+i+s+a+c+l+A+u+B,M=m+d,G=C+E,R=E+x,k=I+p,v=H=>H/t,F={};return v(S)>.6&&(F.W=Nn,F.L=Nn,F.V=Nn,F.A=Nn,F.I=Nn,F.M=Nn,F.F=Nn,F.C=Nn),(v(M)>.6||v(m)>.8||v(d)>.8||v(C)>.8)&&(F.K=_B,F.R=_B),(v(M)>.6||v(G)>.5||v(E)>.8||v(C)>.8||v(x)>.8)&&(F.E=pN),(v(M)>.6||v(R)>.5||v(m)>.8||v(d)>.8||v(C)>.8)&&(F.D=gN),(v(b)>.5||v(B)>.85)&&(F.N=DB),(v(M)>.6||v(G)>.6||v(C)>.85||v(E)>.85||v(m)>.85||v(d)>.85)&&(F.Q=DB),(v(S)>.6||v(k)>.5||v(p)>.85||v(I)>.85)&&(F.S=kB,F.T=kB),v(l)>.85&&(F.C=hN),y>0&&(F.G=CN),u>0&&(F.P=EN),(v(S)>.6||v(r)>.85||v(B)>.85||v(a)>.85||v(l)>.85||v(u)>.85||v(C)>.85||v(c)>.85||v(A)>.85||v(i)>.85||v(n)>.85||v(s)>.85||v(o)>.85)&&(F.H=NB,F.Y=NB),F}var Nn,_B,pN,gN,DB,kB,hN,CN,EN,NB,RB=g(()=>{Nn="rgb(128,179,230)",_B="#d88",pN="rgb(192, 72, 192)",gN="rgb(204, 77, 204)",DB="#8f8",kB="rgb(26,204,26)",hN="rgb(240, 128, 128)",CN="rgb(240, 144, 72)",EN="rgb(204, 204, 0)",NB="rgb(26, 179, 179)"});var an,FB,Td,IN,xN,PB,OB=g(()=>{an=f(Q(),1),FB=f(lr(),1),Td=f(U(),1);JA();Ia();IN=(0,Td.observer)(function({model:e,offsetX:t,trackHeight:r}){let{blockSize:n,scrollX:o,highResScaleFactor:i}=e,s=(0,an.useRef)(null);return(0,an.useEffect)(()=>{let a=s.current?.getContext("2d");if(a)return(0,FB.autorun)(()=>{let{blockSize:c,colWidth:l,highResScaleFactor:A,conservation:u}=e;a.resetTransform(),a.scale(A,A),a.clearRect(0,0,c,r),a.translate(-t,0),DA({ctx:a,conservation:u,colWidth:l,trackHeight:r,offsetX:t,blockSize:c})})},[e,t,r]),an.default.createElement("canvas",{ref:s,height:r*i,width:n*i,style:{position:"absolute",left:o+t,width:n,height:r}})}),xN=(0,Td.observer)(function({model:e,track:t}){let{blocksX:r,msaAreaWidth:n}=e,o=t.model.height;return an.default.createElement("div",{style:{position:"relative",height:o,width:n,overflow:"hidden"}},r.map(i=>an.default.createElement(IN,{key:i,model:e,offsetX:i,trackHeight:o})),an.default.createElement(xg,{model:e}))}),PB=xN});var Ln,GB,_d,yN,wN,UB,HB=g(()=>{Ln=f(Q(),1),GB=f(lr(),1),_d=f(U(),1);No();yd();Ia();yN=(0,_d.observer)(function({track:e,model:t,offsetX:r}){let{blockSize:n,scrollX:o,colorScheme:i,rowHeight:s,highResScaleFactor:a}=t,{model:{customColorScheme:c,data:l}}=e,A=c??i,u=(0,Ln.useRef)(null),{contrastScheme:d}=ol(A);return(0,Ln.useEffect)(()=>{let m=u.current?.getContext("2d");if(m)return(0,GB.autorun)(()=>{let{blockSize:C,bgColor:E,colWidth:x,fontSize:I,rowHeight:p,highResScaleFactor:y}=t;m.resetTransform(),m.scale(y,y),m.clearRect(0,0,C,p),m.translate(-r,0),m.textAlign="center",Qr(m,I),kA({ctx:m,data:l,colorScheme:A,contrastScheme:d,bgColor:E,colWidth:x,rowHeight:p,offsetX:r,blockSize:C})})},[t,r,d,A,l]),Ln.default.createElement("canvas",{ref:u,height:s*a,width:n*a,style:{position:"absolute",left:o+r,width:n,height:s}})}),wN=(0,_d.observer)(function({track:e,model:t}){let{blocksX:r,msaAreaWidth:n,rowHeight:o}=t;return e.model.data?Ln.default.createElement("div",{style:{position:"relative",height:o,width:n,overflow:"hidden"}},r.map(i=>Ln.default.createElement(yN,{key:i,track:e,model:t,offsetX:i}))):null}),UB=wN});var Hs,Al=g(()=>{Hs="maeditor"});function jB(e){let t=Math.min(e.length-1,Uf.length-1),r=Uf[t];return Object.fromEntries(e.map((n,o)=>[n,r[o]]))}var qB=g(()=>{Hf()});function JB(e){let t=new Map(e.map(n=>[n.id,{id:`${n.id}`,name:`${n.id}`,parent:n.parent!==void 0?`${n.parent}`:void 0,children:[]}])),r;for(let n of e){let o=t.get(n.id),i=n.parent!==void 0?t.get(n.parent):void 0;i?i.children.push(o):r??=o}if(r===void 0)throw new Error("could not build tree from flat node list: no root found (input was empty or contains a parent cycle)");return r}var VB=g(()=>{});function YB(e,t){Dd||(Dd=document.createElement("canvas"));let r=Dd.getContext("2d");if(!r)throw new Error("no canvas context");return Qr(r,t),r.measureText(e).width}var Dd,WB=g(()=>{No()});function zB(){return Gr.types.model({tree:Gr.types.maybe(Gr.types.string),msa:Gr.types.maybe(Gr.types.string),treeMetadata:Gr.types.maybe(Gr.types.string),gff:Gr.types.maybe(Gr.types.string)}).actions(e=>({setTree(t){e.tree=t},setMSA(t){e.msa=t},setTreeMetadata(t){e.treeMetadata=t},setGFF(t){e.gff=t}})).postProcessSnapshot(e=>{let{tree:t,msa:r,treeMetadata:n,gff:o}=e,i=5e4;return{tree:t&&t.length>i?void 0:t,msa:r&&r.length>i?void 0:r,treeMetadata:n&&n.length>i?void 0:n,gff:o&&o.length>i?void 0:o}})}var Gr,$B=g(()=>{Gr=f(Ft(),1)});function XB(){return KB.types.model("DialogQueueSessionMixin",{}).volatile(()=>({queueOfDialogs:[]})).views(e=>({get DialogComponent(){return e.queueOfDialogs[0]?.[0]},get DialogProps(){return e.queueOfDialogs[0]?.[1]}})).actions(e=>({removeActiveDialog(){e.queueOfDialogs=e.queueOfDialogs.slice(1)},queueDialog(t){let[r,n]=t(()=>{this.removeActiveDialog()});e.queueOfDialogs=[...e.queueOfDialogs,[r,n]]}}))}var KB,ZB=g(()=>{KB=f(Ft(),1)});function eS(){return ul.types.model({bgColor:!0,colorSchemeName:Hs,msaFormat:ul.types.maybe(ul.types.enumeration("MSAFormat",bN))}).actions(e=>({setColorSchemeName(t){e.colorSchemeName=t},setBgColor(t){e.bgColor=t},setMSAFormat(t){e.msaFormat=t}}))}var ul,bN,tS=g(()=>{ul=f(Ft(),1);Al();bN=["stockholm","a3m","fasta","emf","clustal"]});function rS(){return Ti.types.model({drawLabels:!0,labelsAlignRight:!1,treeAreaWidth:Ti.types.optional(Ti.types.number,400),treeWidth:Ti.types.optional(Ti.types.number,300),showBranchLen:!0,drawTree:!0,drawNodeBubbles:!0}).actions(e=>({setTreeAreaWidth(t){e.treeAreaWidth=Math.round(t)},setTreeWidth(t){e.treeWidth=Math.round(t)},setLabelsAlignRight(t){e.labelsAlignRight=t},setDrawTree(t){e.drawTree=t},setShowBranchLen(t){e.showBranchLen=t},setDrawNodeBubbles(t){e.drawNodeBubbles=t},setDrawLabels(t){e.drawLabels=t}}))}var Ti,nS=g(()=>{Ti=f(Ft(),1);Al()});function Ud(e,t){return iS.get(e.toUpperCase())?.get(t.toUpperCase())??-4}function SN(e,t){if(e.length!==t.length)throw new Error("Sequences must have the same length (aligned)");let r=0,n=0,o=0,i=0;for(let l=0;l<e.length;l++){let A=e[l],u=t[l];if(A==="-"&&u==="-")continue;if(A==="-"||u==="-"){n++;continue}let d=Ud(A,u);o+=d,i+=Math.max(Ud(A,A),Ud(u,u)),A.toUpperCase()===u.toUpperCase()?r++:n++}if(r+n===0||i<=0)return 1;let a=o/i,c=Math.max(.01,Math.min(1,a));return-Math.log(c)}function QN(e){let t=e.length,r=[];for(let n=0;n<t;n++){r[n]=[];for(let o=0;o<t;o++)n===o?r[n][o]=0:o<n?r[n][o]=r[o][n]:r[n][o]=SN(e[n][1],e[o][1])}return r}function MN(e,t){let r=e.length;if(r<2)return{name:t[0]};if(r===2){let a=e[0][1];return{left:{name:t[0]},right:{name:t[1]},leftLength:a/2,rightLength:a/2}}let n=[];for(let a=0;a<r;a++)n[a]=[...e[a]];let o=t.map(a=>({name:a})),i=r;for(;i>2;){let a=[];for(let p=0;p<o.length;p++)o[p]!==void 0&&a.push(p);let c=new Map;for(let p of a){let y=0;for(let B of a)p!==B&&(y+=n[p][B]);c.set(p,y)}let l=1/0,A=-1,u=-1;for(let p=0;p<a.length;p++)for(let y=p+1;y<a.length;y++){let B=a[p],b=a[y],S=(i-2)*n[B][b]-c.get(B)-c.get(b);S<l&&(l=S,A=B,u=b)}let d=n[A][u],m=c.get(A),C=c.get(u),E=d/2+(m-C)/(2*(i-2)),x=d-E;E=Math.max(0,E),x=Math.max(0,x);let I={left:o[A],right:o[u],leftLength:E,rightLength:x};for(let p of a)if(p!==A&&p!==u){let y=(n[A][p]+n[u][p]-d)/2;n[A][p]=Math.max(0,y),n[p][A]=Math.max(0,y)}o[u]=void 0,o[A]=I,i--}let s=[];for(let a=0;a<o.length;a++)o[a]!==void 0&&s.push(a);if(s.length===2){let a=s[0],c=s[1],l=n[a][c];return{left:o[a],right:o[c],leftLength:l/2,rightLength:l/2}}return o[s[0]]}function oS(e,t){return t===void 0?e:`${e}:${t.toFixed(6)}`}function vN(e){let t=[],r=[e];for(;r.length>0;){let o=r.pop();t.push(o),o.left&&r.push(o.left),o.right&&r.push(o.right)}let n=new Map;for(let o=t.length-1;o>=0;o--){let i=t[o];if(i.name!==void 0&&!i.left&&!i.right)n.set(i,`'${i.name.replaceAll("'","''")}'`);else{let s=i.left?oS(n.get(i.left),i.leftLength):"",a=i.right?oS(n.get(i.right),i.rightLength):"";n.set(i,`(${s},${a})`)}}return n.get(e)}function sS(e){if(e.length<2)throw new Error("Need at least 2 sequences to build a tree");let t=e.map(o=>o[0]),r=QN(e),n=MN(r,t);return vN(n)+";"}var fl,BN,iS,aS=g(()=>{fl="ARNDCQEGHILKMFPSTWYVBZX*",BN=[[4,-1,-2,-2,0,-1,-1,0,-2,-1,-1,-1,-1,-2,-1,1,0,-3,-2,0,-2,-1,0,-4],[-1,5,0,-2,-3,1,0,-2,0,-3,-2,2,-1,-3,-2,-1,-1,-3,-2,-3,-1,0,-1,-4],[-2,0,6,1,-3,0,0,0,1,-3,-3,0,-2,-3,-2,1,0,-4,-2,-3,3,0,-1,-4],[-2,-2,1,6,-3,0,2,-1,-1,-3,-4,-1,-3,-3,-1,0,-1,-4,-3,-3,4,1,-1,-4],[0,-3,-3,-3,9,-3,-4,-3,-3,-1,-1,-3,-1,-2,-3,-1,-1,-2,-2,-1,-3,-3,-2,-4],[-1,1,0,0,-3,5,2,-2,0,-3,-2,1,0,-3,-1,0,-1,-2,-1,-2,0,3,-1,-4],[-1,0,0,2,-4,2,5,-2,0,-3,-3,1,-2,-3,-1,0,-1,-3,-2,-2,1,4,-1,-4],[0,-2,0,-1,-3,-2,-2,6,-2,-4,-4,-2,-3,-3,-2,0,-2,-2,-3,-3,-1,-2,-1,-4],[-2,0,1,-1,-3,0,0,-2,8,-3,-3,-1,-2,-1,-2,-1,-2,-2,2,-3,0,0,-1,-4],[-1,-3,-3,-3,-1,-3,-3,-4,-3,4,2,-3,1,0,-3,-2,-1,-3,-1,3,-3,-3,-1,-4],[-1,-2,-3,-4,-1,-2,-3,-4,-3,2,4,-2,2,0,-3,-2,-1,-2,-1,1,-4,-3,-1,-4],[-1,2,0,-1,-3,1,1,-2,-1,-3,-2,5,-1,-3,-1,0,-1,-3,-2,-2,0,1,-1,-4],[-1,-1,-2,-3,-1,0,-2,-3,-2,1,2,-1,5,0,-2,-1,-1,-1,-1,1,-3,-1,-1,-4],[-2,-3,-3,-3,-2,-3,-3,-3,-1,0,0,-3,0,6,-4,-2,-2,1,3,-1,-3,-3,-1,-4],[-1,-2,-2,-1,-3,-1,-1,-2,-2,-3,-3,-1,-2,-4,7,-1,-1,-4,-3,-2,-2,-1,-2,-4],[1,-1,1,0,-1,0,0,0,-1,-2,-2,0,-1,-2,-1,4,1,-3,-2,-2,0,0,0,-4],[0,-1,0,-1,-1,-1,-1,-2,-2,-1,-1,-1,-1,-2,-1,1,5,-2,-2,0,-1,-1,0,-4],[-3,-3,-4,-4,-2,-2,-3,-2,-2,-3,-2,-3,-1,1,-4,-3,-2,11,2,-3,-4,-3,-2,-4],[-2,-2,-2,-3,-2,-1,-2,-3,2,-1,-1,-2,-1,3,-3,-2,-2,2,7,-1,-3,-2,-1,-4],[0,-3,-3,-3,-1,-2,-2,-3,-3,3,1,-2,1,-1,-2,-2,0,-3,-1,4,-3,-2,-1,-4],[-2,-1,3,4,-3,0,1,-1,0,-3,-4,0,-3,-3,-2,0,-1,-4,-3,-3,4,1,-1,-4],[-1,0,0,1,-3,3,4,-2,0,-3,-3,1,-1,-3,-1,0,-1,-3,-2,-2,1,4,-1,-4],[0,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,0,0,-2,-1,-1,-1,-1,-1,-4],[-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,1]],iS=new Map;for(let e=0;e<fl.length;e++){let t=new Map;for(let r=0;r<fl.length;r++)t.set(fl[r],BN[e][r]);iS.set(fl[e],t)}});function Hd(e){let t=[],r=0;for(;r<e.length&&(r=e.indexOf("{",r),r!==-1);){let n=1,o=r+1;for(r++;r<e.length&&n>0;)e[r]==="{"?n++:e[r]==="}"&&n--,r++;n===0&&t.push(e.slice(o,r-1).trim())}return t}function _N(e,t){let r=e.indexOf("{",t);if(r===-1)return;let n=1,o=r+1;for(;o<e.length&&n>0;)e[o]==="{"?n++:e[o]==="}"&&n--,o++;return n===0?e.slice(r+1,o-1).trim():void 0}function cS(e){let t=e.replace(/\s+/g," ").replace(/\s*{\s*/g,"{").replace(/\s*}\s*/g,"}").replace(/\s*,\s*/g,",").replace(/\s*::\s*=\s*/g,"::=").replace(/^.*?::=/,""),r=DN(t),{fdict:n,nodes:o}=r;if(n===void 0||o===void 0)throw new Error(`invalid BioTreeContainer ASN.1: missing '${n===void 0?"fdict":"nodes"}' section`);let i=Object.fromEntries(Hd(n).flatMap(s=>{let a=kN(s);return a?[[a.id,TN[a.name]||a.name]]:[]}));return Hd(o).flatMap(s=>{let a=NN(s);if(!a)return[];let{features:c=[],...l}=a;return[{...l,...Object.fromEntries(c.map(A=>[i[A.featureid],A.value]))}]})}function DN(e){let t={},r=e.trim();r.startsWith("{")&&r.endsWith("}")&&(r=r.slice(1,-1).trim());let n=0;for(;n<r.length;){for(;n<r.length&&/\s/.test(r[n]);)n++;if(n>=r.length)break;let o=n;for(;n<r.length&&/\w/.test(r[n]);)n++;if(n>=r.length||r[n]!==" "&&r[n]!=="{"){n=r.indexOf(",",n),n=n===-1?r.length:n+1;continue}let i=r.slice(o,n).trim();for(;n<r.length&&/\s/.test(r[n]);)n++;if(n>=r.length||r[n]!=="{"){n=r.indexOf(",",n),n=n===-1?r.length:n+1;continue}let s=1,a=n+1;for(n++;n<r.length&&s>0;)r[n]==="{"?s++:r[n]==="}"&&s--,n++;s===0&&(t[i]=r.slice(a,n-1).trim()),n=r.indexOf(",",n),n=n===-1?r.length:n+1}return t}function kN(e){let t=/id\s+(\d+)/.exec(e),r=/name\s+"((?:[^"\\]|\\.)*)"/s.exec(e);return!t||!r?null:{id:parseInt(t[1],10),name:r[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\")}}function NN(e){let t=/id\s+(\d+)/.exec(e);if(!t)return null;let r=/parent\s+(\d+)/.exec(e),n=e.indexOf("features"),o=n!==-1?_N(e,n):void 0;return{id:parseInt(t[1],10),...r?{parent:parseInt(r[1],10)}:{},features:o?Hd(o).flatMap(i=>{let s=LN(i);return s?[s]:[]}):[]}}function LN(e){let t=/featureid\s+(\d+)/.exec(e),r=/value\s+"((?:[^"\\]|\\.)*)"/s.exec(e);return!t||!r?null:{featureid:parseInt(t[1],10),value:r[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\")}}var TN,lS=g(()=>{TN={$NODE_COLLAPSED:"collapsed",$NODE_COLOR:"color",$LABEL_BG_COLOR:"color","seq-id":"seqId","seq-title":"seqTitle","align-index":"alignIndex","accession-nbr":"accessionNbr","blast-name":"blastName","common-name":"commonName","leaf-count":"leafCount"}});function jd(e,t){let r=0,n=0,o=0,i=e.length;for(;n<i&&e[n]===o;)n++,o++;for(;r<t;)for(r++,o++;n<i&&e[n]===o;)n++,o++;return o}function AS(e,t){let r=0,n=e.length-1;for(;r<=n;){let i=Math.floor((r+n)/2);if(e[i]===t)return;e[i]<t?r=i+1:n=i-1}return t-r}function RN({seq:e,blanks:t,visibleCol:r}){let n=jd(t,r),o=e.length;if(n<o&&zi(e[n]))return;let i=0;for(let s=0;s<n&&s<o;s++)zi(e[s])||i++;return n<o?i:void 0}function uS({rowName:e,visibleCol:t,rowMap:r,blanks:n}){let o=r.get(e);return o!==void 0?RN({seq:o,visibleCol:t,blanks:n}):void 0}var fS=g(()=>{mn()});function dS({row:e,seqPos:t}){let r=0,n=0;for(;n<e.length;){if(!zi(e[n])){if(r===t)return n;r++}n++}return t===0?0:n}var mS=g(()=>{mn()});function pS(e,t){let r=URL.createObjectURL(e),n=document.createElement("a");n.href=r,n.download=t,n.click(),setTimeout(()=>{URL.revokeObjectURL(r)},4e4)}var gS=g(()=>{});function PN(e){return e.startsWith("BioTreeContainer")?JB(cS(e)):co(e.startsWith("SEQ")?Rc(e).tree:e)}function ON(){return K.types.compose(XB(),rS(),eS(),K.types.model("MsaView",{id:mo.ElementId,showDomains:!1,hideGaps:!0,allowedGappyness:100,subFeatureRows:!1,type:K.types.literal("MsaView"),drawMsaLetters:!0,scrollZoom:!1,height:K.types.optional(K.types.number,550),rowHeight:16,scrollY:0,scrollX:0,colWidth:12,treeFilehandle:K.types.maybe(mo.FileLocation),msaFilehandle:K.types.maybe(mo.FileLocation),treeMetadataFilehandle:K.types.maybe(mo.FileLocation),gffFilehandle:K.types.maybe(mo.FileLocation),currentAlignment:0,collapsed:K.types.array(K.types.string),showOnly:K.types.maybe(K.types.string),turnedOffTracks:K.types.map(K.types.boolean),data:K.types.optional(zB(),{tree:"",msa:"",treeMetadata:""}),featureFilters:K.types.map(K.types.boolean),relativeTo:K.types.maybe(K.types.string),highlightColumns:K.types.frozen()})).volatile(()=>({headerHeight:0,status:void 0,highResScaleFactor:typeof window>"u"?1:window.devicePixelRatio,loadingMSA:!1,loadingTree:!1,volatileWidth:void 0,resizeHandleWidth:5,blockSize:500,mouseRow:void 0,mouseCol:void 0,mouseClickRow:void 0,mouseClickCol:void 0,hoveredTreeNode:void 0,highlightedColumns:void 0,minimapHeight:56,conservationTrackHeight:40,marginLeft:20,error:void 0,interProAnnotations:void 0})).actions(e=>({drawRelativeTo(t){e.relativeTo=t},setHideGaps(t){e.hideGaps=t},setAllowedGappyness(t){e.allowedGappyness=t},setLoadingMSA(t){e.loadingMSA=t},setLoadingTree(t){e.loadingTree=t},setWidth(t){e.volatileWidth=t},setHighResScaleFactor(t){e.highResScaleFactor=t},setHeight(t){e.height=t},setError(t){e.error=t},setMousePos(t,r){e.mouseCol=t,e.mouseRow=r},setHighlightedColumns(t){e.highlightedColumns=t},setShowDomains(t){e.showDomains=t},setSubFeatureRows(t){e.subFeatureRows=t},setMouseClickPos(t,r){e.mouseClickCol=t,e.mouseClickRow=r},setRowHeight(t){e.rowHeight=t},setColWidth(t){e.colWidth=t},setScrollY(t){e.scrollY=t},setCurrentAlignment(t){e.currentAlignment=t},toggleCollapsed(t){e.collapsed.includes(t)?e.collapsed.remove(t):e.collapsed.push(t)},setShowOnly(t){e.showOnly=t},setData(t){e.data=(0,K.cast)(t)},setMSAFilehandle(t){e.msaFilehandle=t},setTreeFilehandle(t){e.treeFilehandle=t},setGFFFilehandle(t){e.gffFilehandle=t},setMSA(t){e.data.setMSA(t)},setTree(t){e.data.setTree(t)},setTreeMetadata(t){e.data.setTreeMetadata(t)}})).views(e=>({get hideGapsEffective(){return e.hideGaps&&(e.collapsed.length>0||e.allowedGappyness<100)},get realAllowedGappyness(){return this.hideGapsEffective?e.allowedGappyness:100},get actuallyShowDomains(){return e.showDomains&&!!e.interProAnnotations},get viewInitialized(){return e.volatileWidth!==void 0},get width(){if(e.volatileWidth===void 0)throw new Error("not initialized");return e.volatileWidth}})).views(e=>({extraViewMenuItems(){return[]},get colorScheme(){return ao[e.colorSchemeName]??ao[Hs]},get header(){return this.MSA?.getHeader()??{}},get alignmentNames(){return this.MSA?.alignmentNames??[]},get noTree(){return!!this.tree.noTree},get noDomains(){return!e.interProAnnotations},menuItems(){return[]},get treeMetadata(){return e.data.treeMetadata?JSON.parse(e.data.treeMetadata):{}},get MSA(){let t=e.data.msa;return t?td(t,e.currentAlignment,e.msaFormat):null},get numColumns(){return(this.MSA?.getWidth()??0)-this.blanks.length},get tree(){let t=e.data.tree;return t?xi(PN(t)):this.MSA?.getTree()??{noTree:!0,children:[],id:"empty",name:"empty"}},get rowNames(){return this.leaves.map(t=>t.data.name)},get rowNamesSet(){return new Map(this.leaves.map((t,r)=>[t.data.name,r]))},get mouseOverRowName(){let{mouseRow:t}=e;return t===void 0?void 0:this.leaves[t]?.data.name},get hoveredInsertion(){let{mouseCol:t,mouseRow:r}=e;if(t!==void 0&&r!==void 0){let n=this.leaves[r]?.data.name;if(n){let o=this.insertionPositions.get(n)?.find(i=>i.pos===t);if(o)return{rowName:n,col:t,letters:o.letters}}}},get root(){let t=Yp(this.tree,r=>r.children);if(Wp(t,r=>r.children.length>0?0:1),zp(t,(r,n)=>(r.data.length??1)-(n.data.length??1)),e.showOnly){let r=xa(t,n=>n.data.id===e.showOnly);r&&(t=r)}for(let r of e.collapsed){let n=xa(t,o=>o.data.id===r);n&&(n.children?Xp(n):n.parent?.children&&(n.parent.children=n.parent.children.filter(o=>o.data.id!==r)))}return t},get msaAreaWidth(){return e.width-e.treeAreaWidth-e.resizeHandleWidth},get treeAreaWidthMinusMargin(){return e.treeAreaWidth-e.marginLeft},get blanks(){let{hideGapsEffective:t,realAllowedGappyness:r}=e;if(!t)return[];let n=this.leaves.map(l=>this.MSA?.getRow(l.data.name)).filter(je.notEmpty);if(n.length===0)return[];let o=n[0].length,i=n.length,s=Math.ceil(r/100*i),a=new Uint16Array(o);for(let l=0;l<i;l++){let A=n[l];for(let u=0;u<o;u++)A.charCodeAt(u)-45>>>0<=1&&a[u]++}let c=[];for(let l=0;l<o;l++)a[l]>=s&&c.push(l);return c},get blanksSet(){return new Set(this.blanks)},get insertionPositions(){let{blanks:t,rows:r}=this;if(t.length===0||!e.hideGapsEffective)return new Map;let n=new Map;for(let[o,i]of r){let s=qp(t,i);s.length>0&&n.set(o,s)}return n},get rows(){let t=this.MSA;return this.leaves.map(r=>[r.data.name,t?.getRow(r.data.name)]).filter(r=>!!r[1])},get numRows(){return this.rows.length},get rowMap(){return new Map(this.rows)},get columns(){let t=this.columns2d;return new Map(this.rows.map((r,n)=>[r[0],t[n]]))},get columns2d(){let{hideGapsEffective:t}=e;return this.rows.map(([,r])=>(t?vA(this.blanks,r):r).toUpperCase())},get fontSize(){return Math.min(Math.max(6,e.rowHeight-3),18)},get colStats(){let t=[],r=this.columns2d;for(let n of r)for(let o=0;o<n.length;o++){let i=t[o]??={},s=n[o];i[s]=(i[s]??0)+1}return t},get colStatsSums(){return this.colStats.map(t=>(0,je.sum)(Object.values(t)))},get sequenceType(){let t=new Set;for(let s of this.colStats)for(let a of Object.keys(s))a!=="-"&&a!=="."&&t.add(a);let r=new Set(["A","C","G","T","N"]),n=new Set(["A","C","G","U","N"]),o=t.size>0&&[...t].every(s=>r.has(s)),i=t.size>0&&[...t].every(s=>n.has(s));return o?"dna":i?"rna":"amino"},get colConsensus(){let{colStats:t,colStatsSums:r}=this;return t.map((n,o)=>{let i=r[o];if(!i)return{letter:"",color:void 0};let s=0,a="";for(let[l,A]of Object.entries(n))A>s&&l!=="-"&&l!=="."&&(s=A,a=l);let c=s/i;return{letter:a,color:c>.4?`hsl(240, 30%, ${100*Math.max(1-c/3,.3)}%)`:void 0}})},get colClustalX(){let{colStats:t,colStatsSums:r}=this;return t.map((n,o)=>LB(n,r[o]))},get conservation(){let{colStats:t,colStatsSums:r,sequenceType:n}=this,i=Math.log2(n==="amino"?20:4);return t.map((s,a)=>{let c=r[a];if(!c)return 0;let l=(s["-"]??0)+(s["."]??0),A=c-l;if(A===0)return 0;let u=0;for(let[C,E]of Object.entries(s))if(C!=="-"&&C!=="."){let x=E/A;u-=x*Math.log2(x)}let d=l/c;return Math.max(0,1-u/i)*(1-d)})},get hierarchy(){let t=this.root;Kp(t,this.totalHeight,e.treeWidth),t.data.length=0;let r=tg(t),n=r?e.treeWidth/r:0;return rg(t,0,n),Ki(t,o=>{if(o._children){let{min:i,max:s}=Zp(o);o.collapsedTipXNear=(o.len??0)+i*n,o.collapsedTipXFar=(o.len??0)+s*n}}),t},get totalHeight(){return $i(this.root).length*e.rowHeight},get leaves(){return $i(this.hierarchy)},get maxBranchLength(){return eg(this.hierarchy)},get maxDepthToLeaf(){return Xi(this.hierarchy)},get allBranchesLength0(){return $p(this.hierarchy).every(t=>!t.source.data.length)},get showBranchLenEffective(){return this.allBranchesLength0?!1:e.showBranchLen}})).views(e=>({get totalWidth(){return e.numColumns*e.colWidth}})).views(e=>({get dataInitialized(){return(e.data.msa!==""||e.data.tree!=="")&&!e.error},get blocksX(){return vd({viewportSize:e.msaAreaWidth,viewportPos:-e.scrollX,blockSize:e.blockSize,mapSize:e.totalWidth})},get blocksY(){return vd({viewportSize:e.height,viewportPos:-e.scrollY,blockSize:e.blockSize,mapSize:e.totalHeight})}})).views(e=>({get blocks2d(){return e.blocksY.flatMap(t=>e.blocksX.map(r=>[r,t]))},get isLoading(){return e.loadingMSA||e.loadingTree},get maxScrollX(){return Math.min(-e.totalWidth+(e.msaAreaWidth-100),0)},get maxScrollY(){let t=e.height-e.headerHeight-(e.msaAreaWidth<e.totalWidth?e.minimapHeight:0);return Math.min(-e.totalHeight+t,0)},get showMsaLetters(){return e.drawMsaLetters&&e.rowHeight>=5&&e.colWidth>e.rowHeight/2},get showTreeText(){return e.drawLabels&&e.rowHeight>=5}})).actions(e=>({setDrawMsaLetters(t){e.drawMsaLetters=t},setScrollZoom(t){e.scrollZoom=t},setHoveredTreeNode(t){if(t){let r=xa(e.hierarchy,n=>n.data.id===t);e.hoveredTreeNode=r?{nodeId:t,descendantNames:$i(r).map(n=>n.data.name)}:void 0}else e.hoveredTreeNode=void 0},calculateNeighborJoiningTreeFromMSA(){if(e.rows.length<2)throw new Error("Need at least 2 sequences to build a tree");let t=sS(e.rows);e.setTree(t)},resetZoom(){e.setColWidth(12),e.setRowHeight(16)},zoomOutHorizontal(){e.colWidth=Math.max(.2,Math.floor(e.colWidth*.75)),e.scrollX=(0,je.clamp)(e.scrollX,e.maxScrollX,0)},zoomInHorizontal(){e.colWidth=Math.min(80,Math.ceil(e.colWidth*1.5)),e.scrollX=(0,je.clamp)(e.scrollX,e.maxScrollX,0)},zoomInVertical(){e.rowHeight=Math.min(80,Math.ceil(e.rowHeight*1.5))},zoomOutVertical(){e.rowHeight=Math.max(1,Math.floor(e.rowHeight*.75))},zoomIn(){(0,_t.transaction)(()=>{this.zoomInHorizontal(),this.zoomInVertical()})},zoomOut(){(0,_t.transaction)(()=>{this.zoomOutHorizontal(),this.zoomOutVertical()})},zoomToPos(t,r,n){(0,_t.transaction)(()=>{let o=(-e.scrollX+r)/e.colWidth,i=(-e.scrollY+n)/e.rowHeight;e.colWidth=(0,je.clamp)(e.colWidth*t,.2,80),e.rowHeight=(0,je.clamp)(e.rowHeight*t,1,80),e.scrollX=(0,je.clamp)(r-o*e.colWidth,e.maxScrollX,0);let s=n-i*e.rowHeight,a=Math.max(0,-e.maxScrollY),c=e.totalHeight-a,l=c>0?(0,je.clamp)(1-a/c,0,1):1;e.scrollY=(0,je.clamp)(s*(1-l),e.maxScrollY,0)})},doScrollY(t){e.scrollY=(0,je.clamp)(e.scrollY+t,e.maxScrollY,0)},setDomains(t){e.interProAnnotations=t,e.setShowDomains(!!t)},applyGFFText(t){let r=Fc(t);this.setDomains(Pc(r))},doScrollX(t){this.setScrollX(e.scrollX+t)},setScrollX(t){e.scrollX=(0,je.clamp)(t,e.maxScrollX,0)},toggleTrack(t){e.turnedOffTracks.has(t)?e.turnedOffTracks.delete(t):e.turnedOffTracks.set(t,!0)},setStatus(t){e.status=t}})).views(e=>({get labelWidthMap(){let{rowHeight:t,leaves:r,treeMetadata:n,fontSize:o}=e;return t<=5?new Map:new Map(r.map(i=>{let{name:s}=i.data,a=n[s]?.genome??s;return[s,YB(a,o)]}))},get labelsWidth(){let t=this.labelWidthMap;return t.size===0?0:Math.max(...t.values())},get secondaryStructureConsensus(){return e.MSA?.secondaryStructureConsensus},get seqConsensus(){return e.MSA?.seqConsensus},get adapterTrackModels(){let{rowHeight:t,MSA:r,hideGapsEffective:n,blanks:o}=e;return(r?.tracks??[]).filter(s=>!!s.data).map(s=>({model:{...s,data:n?vA(o,s.data):s.data,height:t},ReactComponent:UB}))},get tracks(){let t={model:{id:"conservation",name:"Conservation",height:e.conservationTrackHeight},ReactComponent:PB};return[...this.adapterTrackModels,t]},get turnedOnTracks(){return this.tracks.filter(t=>!e.turnedOffTracks.has(t.model.id))},get showHorizontalScrollbar(){return e.msaAreaWidth<e.totalWidth},visibleColToRowLetter(t,r){let{rowMap:n,blanks:o}=e;return n.get(t)?.[jd(o,r)]},visibleColToSeqPos(t,r){return uS({rowName:t,visibleCol:r,rowMap:e.rowMap,blanks:e.blanks})},visibleColToSeqPosOneBased(t,r){let n=this.visibleColToSeqPos(t,r);return n!==void 0?n+1:void 0},globalColToVisibleCol(t){let{blanks:r,hideGapsEffective:n}=e;return n?AS(r,t):t},seqPosToGlobalCol(t,r){let n=e.rowMap.get(t);return n?dS({row:n,seqPos:r}):0},seqPosToVisibleCol(t,r){let n=this.seqPosToGlobalCol(t,r);return this.globalColToVisibleCol(n)}})).views(e=>({get msaAreaHeight(){return e.height-(e.showHorizontalScrollbar?e.minimapHeight:0)-e.headerHeight},get totalTrackAreaHeight(){return(0,je.sum)(e.turnedOnTracks.map(t=>t.model.height))},get tidyInterProAnnotationTypes(){return new Map(this.tidyInterProAnnotations.map(t=>[t.accession,t]))},get tidyInterProAnnotations(){return e.interProAnnotations?Object.entries(e.interProAnnotations).flatMap(([t,r])=>r.matches.flatMap(({signature:n,locations:o})=>{let{entry:i}=n;return i?o.map(({start:s,end:a})=>({id:t,name:i.name,accession:i.accession,description:i.description,start:s,end:a})):[]})).toSorted((t,r)=>TA(r)-TA(t)):[]},get tidyFilteredInterProAnnotations(){return this.tidyInterProAnnotations.filter(t=>e.featureFilters.get(t.accession))},get tidyFilteredGatheredInterProAnnotations(){return(0,je.groupBy)(this.tidyFilteredInterProAnnotations,t=>t.id)}})).views(e=>({get showVerticalScrollbar(){return e.msaAreaHeight<e.totalHeight}})).views(e=>({get verticalScrollbarWidth(){return e.showVerticalScrollbar?20:0},get fillPalette(){return jB([...e.tidyInterProAnnotationTypes.keys()])},get strokePalette(){return Lo(this.fillPalette,([t,r])=>[t,nt(r).darken(.1).toHex()])},getRowData(t){return{data:e.MSA?.getRowData(t),treeMetadata:e.treeMetadata[t]}}})).actions(e=>({setHeaderHeight(t){e.headerHeight=t},setConservationTrackHeight(t){e.conservationTrackHeight=t},reset(){e.setData({tree:"",msa:""}),e.resetZoom(),e.setError(void 0),e.setScrollY(0),e.setScrollX(0),e.setCurrentAlignment(0),e.setTreeFilehandle(void 0),e.setMSAFilehandle(void 0),e.setGFFFilehandle(void 0),e.setDomains(void 0)},async exportSVG(t){let{renderToSvg:r}=await Promise.resolve().then(()=>(UA(),ug)),n=await r(e,t),o=new Blob([n],{type:"image/svg+xml"});pS(o,"image.svg")},initFilter(t){e.featureFilters.has(t)||e.featureFilters.set(t,!0)},setFilter(t,r){e.featureFilters.set(t,r)},fit(){this.fitVertically(),this.fitHorizontally()},fitVertically(){e.numRows>0&&(e.rowHeight=(0,je.clamp)(e.msaAreaHeight/e.numRows,1,80)),e.scrollY=0},fitHorizontally(){e.numColumns>0&&(e.colWidth=(0,je.clamp)(e.msaAreaWidth/e.numColumns,.2,80)),e.scrollX=0},afterCreate(){e.highlightColumns?.length&&e.setHighlightedColumns(e.highlightColumns),(0,K.addDisposer)(e,(0,_t.autorun)(()=>{for(let n of e.tidyInterProAnnotationTypes.keys())this.initFilter(n)}));let t=0;(0,K.addDisposer)(e,(0,_t.autorun)(async()=>{let{treeFilehandle:n}=e;if(n){let o=++t;try{e.setLoadingTree(!0);let i=await Ss((0,js.openLocation)(n),s=>{o===t&&e.setStatus(s)});o===t&&(0,_t.transaction)(()=>{e.setTree(i),n.locationType==="BlobLocation"&&e.setTreeFilehandle(void 0)})}catch(i){o===t&&(Bn(i)?e.setTreeFilehandle(void 0):(console.error(i),e.setError(i)))}finally{o===t&&e.setLoadingTree(!1)}}})),(0,K.addDisposer)(e,(0,_t.autorun)(async()=>{let{treeMetadataFilehandle:n}=e;if(n)try{e.setTreeMetadata(await Ss((0,js.openLocation)(n),o=>{e.setStatus(o)}))}catch(o){Bn(o)||(console.error(o),e.setError(o))}})),(0,K.addDisposer)(e,(0,_t.autorun)(()=>{let n=e.data.gff;if(n)try{e.applyGFFText(n)}catch(o){console.error(o),e.setError(o)}})),(0,K.addDisposer)(e,(0,_t.autorun)(async()=>{let{gffFilehandle:n}=e;if(n)try{let o=await Ss((0,js.openLocation)(n),i=>{e.setStatus(i)});e.applyGFFText(o),n.locationType==="BlobLocation"&&e.setGFFFilehandle(void 0)}catch(o){Bn(o)?e.setGFFFilehandle(void 0):(console.error(o),e.setError(o))}}));let r=0;(0,K.addDisposer)(e,(0,_t.autorun)(async()=>{let{msaFilehandle:n}=e;if(n){let o=++r;try{e.setLoadingMSA(!0),e.setError(void 0);let i=await Ss((0,js.openLocation)(n),s=>{o===r&&e.setStatus(s)});o===r&&(0,_t.transaction)(()=>{e.setMSA(i),n.locationType==="BlobLocation"&&e.setMSAFilehandle(void 0)})}catch(i){o===r&&(Bn(i)?e.setMSAFilehandle(void 0):(console.error(i),e.setError(i)))}finally{o===r&&e.setLoadingMSA(!1)}}})),(0,K.addDisposer)(e,(0,_t.autorun)(()=>{e.colorSchemeName.includes("dynamic")&&(e.colStats,e.colStatsSums),e.columns})),(0,K.addDisposer)(e,(0,_t.autorun)(()=>{e.setTreeWidth(Math.max(50,e.treeAreaWidth-e.labelsWidth-10-e.marginLeft))}))}})).postProcessSnapshot(e=>{let t=e,{data:{tree:r,msa:n,treeMetadata:o},showDomains:i,hideGaps:s,allowedGappyness:a,subFeatureRows:c,drawMsaLetters:l,height:A,rowHeight:u,scrollY:d,scrollX:m,colWidth:C,currentAlignment:E,collapsed:x,showOnly:I,turnedOffTracks:p,featureFilters:y,relativeTo:B,bgColor:b,colorSchemeName:S,drawLabels:M,labelsAlignRight:G,treeAreaWidth:R,treeWidth:k,showBranchLen:v,drawTree:F,drawNodeBubbles:H,...ee}=t,ge=Object.fromEntries(Object.entries({showDomains:!1,hideGaps:!0,allowedGappyness:100,subFeatureRows:!1,drawMsaLetters:!0,height:550,rowHeight:16,scrollY:0,scrollX:0,colWidth:12,currentAlignment:0,bgColor:!0,colorSchemeName:Hs,drawLabels:!0,labelsAlignRight:!1,treeAreaWidth:400,treeWidth:300,showBranchLen:!0,drawTree:!0,drawNodeBubbles:!0}).filter(([Et,Dt])=>t[Et]!==Dt).map(([Et])=>[Et,t[Et]]));return{...ee,data:{...e.treeFilehandle?{}:{tree:r},...e.msaFilehandle?{}:{msa:n},...e.treeMetadataFilehandle?{}:{treeMetadata:o}},...ge,...x?.length?{collapsed:x}:{},...I!==void 0?{showOnly:I}:{},...p&&Object.keys(p).length>0?{turnedOffTracks:p}:{},...y&&Object.keys(y).length>0?{featureFilters:y}:{},...B!==void 0?{relativeTo:B}:{}}})}var je,js,mo,K,_t,dl,Wd=g(()=>{je=f(de(),1),js=f(QB(),1),mo=f(vB(),1),K=f(Ft(),1);ha();_t=f(lr(),1);nd();TB();RB();vc();OB();HB();Al();qB();Nc();VB();LA();WB();$B();ZB();tS();nS();aS();lS();fS();mS();mn();gS();dl=ON});var zd,GN,UN,SS=g(()=>{zd=f(Q(),1),GN=f(BB(),1),UN=f(Eu(),1);Wd();Md()});var $d=g(()=>{UA();Md();SS();Wd()});function mL(e){let t=e;return t.type==="ProteinView"&&Array.isArray(t.structures)}function Pn(e){return e.filter(mL)}function Sl(e,t){if(t<0||t>=e.length)return;let r=0;for(let n=0;n<t;n++)e[n]!=="-"&&r++;if(e[t]!=="-")return r}var Ys=g(()=>{"use strict"});var C1={};We(C1,{default:()=>yL});var ue,Ml,p1,we,g1,h1,IL,xL,yL,E1=g(()=>{"use strict";ue=f(Q()),Ml=f(Me()),p1=f(de()),we=f(N()),g1=f(U()),h1=f(Qe());Ys();IL=(0,h1.makeStyles)()(e=>({formControl:{marginBottom:e.spacing(2)}})),xL=(0,g1.observer)(function({model:t,handleClose:r}){let{classes:n}=IL(),o=(0,p1.getSession)(t),[i,s]=(0,ue.useState)(""),[a,c]=(0,ue.useState)(0),[l,A]=(0,ue.useState)(t.querySeqName),[u,d]=(0,ue.useState)(),m=Pn(o.views),E=m.find(p=>p.id===i)?.structures??[],x=t.rows.map(p=>p[0]),I=()=>{if(!i){d("Please select a protein view");return}try{t.connectToStructure(i,a,l),r()}catch(p){d(p instanceof Error?p.message:String(p))}};return ue.default.createElement(Ml.Dialog,{maxWidth:"sm",title:"Connect to Protein Structure",open:!0,onClose:r},ue.default.createElement(we.DialogContent,null,m.length===0?ue.default.createElement(we.Typography,{color:"textSecondary"},"No protein views are currently open. Please open a protein structure view first."):ue.default.createElement(ue.default.Fragment,null,ue.default.createElement(we.FormControl,{fullWidth:!0,className:n.formControl},ue.default.createElement(we.InputLabel,null,"Protein View"),ue.default.createElement(we.Select,{value:i,label:"Protein View",onChange:p=>{s(p.target.value),c(0)}},m.map(p=>ue.default.createElement(we.MenuItem,{key:p.id,value:p.id},p.displayName??`ProteinView ${p.id}`)))),E.length>1?ue.default.createElement(we.FormControl,{fullWidth:!0,className:n.formControl},ue.default.createElement(we.InputLabel,null,"Structure"),ue.default.createElement(we.Select,{value:a,label:"Structure",onChange:p=>{c(p.target.value)}},E.map((p,y)=>ue.default.createElement(we.MenuItem,{key:y,value:y},p.url??`Structure ${y+1}`)))):null,ue.default.createElement(we.FormControl,{fullWidth:!0,className:n.formControl},ue.default.createElement(we.InputLabel,null,"MSA Row"),ue.default.createElement(we.Select,{value:l,label:"MSA Row",onChange:p=>{A(p.target.value)}},x.map(p=>ue.default.createElement(we.MenuItem,{key:p,value:p},p)))),u?ue.default.createElement(Ml.ErrorMessage,{error:u}):null)),ue.default.createElement(we.DialogActions,null,ue.default.createElement(we.Button,{onClick:r},"Cancel"),ue.default.createElement(we.Button,{onClick:I,variant:"contained",disabled:m.length===0||!i},"Connect")))}),yL=xL});var _1=j((PJ,T1)=>{T1.exports=JBrowseExports["@jbrowse/core/data_adapters/BaseAdapter"]});var N1={};We(N1,{default:()=>Tl});var D1,k1,Tl,L1=g(()=>{"use strict";D1=f(Do()),k1=f(_1());wE();Tl=class extends k1.BaseAdapter{async configurePre(){let t=this.getSubAdapter;if(t)return(await t({...(0,D1.readConfObject)(this.config),type:"BgzipFastaAdapter"})).dataAdapter;throw new Error("no get subadapter")}configure(){return this.configureP??=this.configurePre().catch(t=>{throw this.configureP=void 0,t}),this.configureP}async getMSARefs(){return this.refNamesP??=this.configure().then(t=>t.getRefNames()).catch(t=>{throw this.refNamesP=void 0,t}),this.refNamesP}getMsaRegex(){return new RegExp(this.getConf("msaRegex"))}refNameToMsaId(t){return t.split(this.getMsaRegex())[0]}async getMSAList(){let t=await this.getMSARefs();return[...new Set(t.map(n=>this.refNameToMsaId(n)))]}async getMSA(t){let r=await this.configure(),o=(await r.getRefNames()).filter(i=>this.refNameToMsaId(i)===t);return lf(r.getFeaturesInMultipleRegions(o.map(i=>({refName:i,start:0,end:1e9,assemblyName:""}))).pipe(Af()))}}});var z1=j(W1=>{"use strict";var Li=Q();function RL(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var FL=typeof Object.is=="function"?Object.is:RL,PL=Li.useState,OL=Li.useEffect,GL=Li.useLayoutEffect,UL=Li.useDebugValue;function HL(e,t){var r=t(),n=PL({inst:{value:r,getSnapshot:t}}),o=n[0].inst,i=n[1];return GL(function(){o.value=r,o.getSnapshot=t,um(o)&&i({inst:o})},[e,r,t]),OL(function(){return um(o)&&i({inst:o}),e(function(){um(o)&&i({inst:o})})},[e]),UL(r),r}function um(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!FL(e,r)}catch{return!0}}function jL(e,t){return t()}var qL=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?jL:HL;W1.useSyncExternalStore=Li.useSyncExternalStore!==void 0?Li.useSyncExternalStore:qL});var K1=j((tV,$1)=>{"use strict";$1.exports=z1()});function Eo(e){let{children:t,...r}=e;return Tm.default.createElement(FQ.Link,{...r,target:"_blank",rel:"noreferrer"},t," ",Tm.default.createElement(oc,{fontSize:"small"}))}var Tm,FQ,zl=g(()=>{"use strict";Tm=f(Q());Lu();FQ=f(N())});var AM=j((EY,lM)=>{lM.exports=JBrowseExports["@jbrowse/core/pluggableElementTypes/ViewType"]});var ra,uM,eA,fM=g(()=>{"use strict";ra=f(Q()),uM=f(Me()),eA=class extends ra.Component{constructor(t){super(t),this.state={hasError:!1,error:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,r){console.error("MsaViewPanel error:",t,r.componentStack)}render(){return this.state.hasError?ra.default.createElement("div",{style:{padding:20}},ra.default.createElement(uM.ErrorMessage,{error:this.state.error})):this.props.children}}});function vR({baseUrl:e,rid:t}){return Om.default.createElement(dM.Typography,null,"RID ",t," (",Om.default.createElement(Eo,{href:`${e}?CMD=Get&RID=${t}`},"see status"),")")}var Om,dM,Gm,mM=g(()=>{"use strict";Om=f(Q()),dM=f(N());zl();Gm=vR});function TR({baseUrl:e,rid:t,error:r}){return ir.default.createElement("div",null,t?ir.default.createElement(Gm,{rid:t,baseUrl:e}):null,ir.default.createElement(tA.ErrorMessage,{error:r}))}function _R({baseUrl:e,rid:t,progress:r}){let{classes:n}=hM();return ir.default.createElement("div",{className:n.loading},t?ir.default.createElement(Gm,{baseUrl:e,rid:t}):null,ir.default.createElement(Um.Typography,null,r))}var ir,tA,Um,pM,gM,hM,DR,CM,EM=g(()=>{"use strict";ir=f(Q()),tA=f(Me()),Um=f(N()),pM=f(U()),gM=f(Qe());mM();hM=(0,gM.makeStyles)()(e=>({margin:{padding:20},loading:{background:e.palette.background.paper}}));DR=(0,pM.observer)(function({model:t,baseUrl:r}){let{progress:n,rid:o,error:i}=t,{classes:s}=hM();return ir.default.createElement("div",{className:s.margin},ir.default.createElement(tA.LoadingEllipses,{message:"Running NCBI BLAST",variant:"h5"}),i?ir.default.createElement(TR,{baseUrl:r,rid:o,error:i}):o?ir.default.createElement(_R,{baseUrl:r,rid:o,progress:n}):ir.default.createElement(Um.Typography,null,n||"Initializing BLAST query"))}),CM=DR});var wM={};We(wM,{default:()=>LR});var Io,IM,xM,yM,kR,NR,LR,bM=g(()=>{"use strict";Io=f(Q()),IM=f(Me()),xM=f(U());$d();yM=f(Qe());fM();EM();kR=(0,yM.makeStyles)()({loadingContainer:{padding:20}}),NR=(0,xM.observer)(function({model:t}){let{classes:r}=kR(),{blastParams:n,loadingStoredData:o}=t;return Io.default.createElement(eA,null,Io.default.createElement("div",null,n?Io.default.createElement(CM,{model:t,baseUrl:n.baseUrl}):o?Io.default.createElement("div",{className:r.loadingContainer},Io.default.createElement(IM.LoadingEllipses,{message:"Loading MSA data",variant:"h6"})):Io.default.createElement(ll,{model:t})))}),LR=NR});var FR={};We(FR,{default:()=>rA});var MM=f(Ap()),jm=f(Do()),vM=f(de()),qm=f(Ft());V();var hp=f(P(),1),Cp=(0,D.createSvgIcon)((0,hp.jsx)("path",{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2M8 20H4v-4h4zm0-6H4v-4h4zm0-6H4V4h4zm6 12h-4v-4h4zm0-6h-4v-4h4zm0-6h-4V4h4zm6 12h-4v-4h4zm0-6h-4v-4h4zm0-6h-4V4h4z"}),"GridOn");var Q1=f(Q()),M1=f(de());var zs=f(Q()),B1=f(U());var tm=f(Q()),y1=f(de()),rm=f(U());var wp=f(Qe());function qn(e){return!!e&&typeof e=="object"&&"hoverPosition"in e&&!!e.hoverPosition}function Aa({assemblyManager:e,assemblyNames:t,refName:r}){let n=t?.[0];return n?e.get(n)?.getCanonicalRefName(r)??r:r}function yp(e){return/AF-([A-Z0-9]+)-F\d+/.exec(e)?.[1]}var ua=(0,wp.makeStyles)()({highlight:{height:"100%",background:"rgba(255,255,0,0.2)",border:"1px solid rgba(50,50,0,0.2)",position:"absolute",zIndex:99,textAlign:"center",pointerEvents:"none",overflow:"hidden"}});var I1=f(Q()),x1=f(gA()),Di=f(de()),qe=f(Ft());function Bp(e){let t=e.strand,r=e.refName;if(t!==-1&&t!==1)throw new Error(`Invalid strand value: ${t}. Expected 1 or -1.`);if(!r)throw new Error("refName is required");let n=new Map;for(let c of e.subfeatures??[])if(c.type==="CDS"&&c.start<c.end){let l=`${c.start}-${c.end}`;n.has(l)||n.set(l,c)}let o=[...n.values()].sort((c,l)=>t*(c.start-l.start)),i={},s={},a={};if(o.length!==0){let l=(3-(o[0]?.phase??0))%3,A=-1;for(let u of o){let d=u.end-u.start;for(let m=0;m<d;m++){let C=t===1?u.start+m:u.end-1-m,E=Math.floor(l++/3);i[C]=E,E!==A?(s[E]=C,a[E]=[C],A=E):a[E].push(C)}}}return{g2p:i,p2g:s,p2gCodon:a,refName:r,strand:t}}var vl=f(lr());$d();var Zd=f(de());function QS(e,t){let r=e.sciname.replaceAll(" ","_");if(e.taxid&&t?.has(e.taxid)){let n=t.get(e.taxid);n.commonName&&(r=n.commonName.split(" ").map(o=>o.charAt(0).toUpperCase()+o.slice(1).toLowerCase()).join("_"))}return`${e.accession}-${r}`}function MS(e){return e.replaceAll("-","")}var pl=f(de());function tr(e){return(0,pl.getContainingView)(e)}function vS(e){return[...new Set(e.filter(t=>!!t))]}function TS(e,t){return t.filter(r=>!!r).join(e)}function HN(e){let r=(e.get("subfeatures")??[]).filter(n=>(n.get("type")==="mRNA"||n.get("type")==="transcript")&&n.get("subfeatures")?.some(o=>o.get("type")==="CDS"));return r.length>0?r:[e]}function ml(e){let t=(0,pl.sum)(e.get("subfeatures")?.filter(r=>r.get("type")==="CDS").map(r=>r.get("end")-r.get("start"))??[]);return{len:Math.floor(t/3),mod:t%3}}function po(e){return e?.id()??""}function jN(e){return e?vS([e.id(),e.get("name"),e.get("id"),e.get("transcript_id")]):[]}function qs(e,t){return jN(e).includes(t)}function gl(e){return e?TS(" ",[e.get("name"),e.get("id")]):""}function go(e){return e?TS(" ",[e.get("gene_name")??e.get("name"),e.get("id")?`(${e.get("id")})`:void 0]):""}function hl(e,t){return`BLAST - ${go(e)} - ${gl(t)}`}function _S(e){return HN(e).toSorted((r,n)=>ml(n).len-ml(r).len)}function Cl(e){return e.replaceAll("*","").replaceAll("&","")}function El(e){return vS([e.id(),e.get("id"),e.get("name"),e.get("gene_id"),e.get("gene_name")])}pi();var qN="jbrowse-msaview-blast-cache",Rn="blast-results",JN=2;async function Il(){return en(qN,JN,{upgrade(e,t){t<2&&e.objectStoreNames.contains(Rn)&&e.deleteObjectStore(Rn),e.objectStoreNames.contains(Rn)||e.createObjectStore(Rn,{keyPath:"id"})}})}function VN(e,t,r,n){let o=n?`:${n}`:"";return`${t}:${r}${o}:${e}`}async function DS({proteinSequence:e,blastDatabase:t,blastProgram:r,msaAlgorithm:n,msa:o,tree:i,treeMetadata:s,rid:a,geneId:c,transcriptId:l,transcriptName:A,geneName:u}){let d=await Il(),C={id:VN(e,t,r,l),proteinSequence:e,blastDatabase:t,blastProgram:r,msaAlgorithm:n,msa:o,tree:i,treeMetadata:s,rid:a,timestamp:Date.now(),geneId:c,transcriptId:l,transcriptName:A,geneName:u};return await d.put(Rn,C),C}async function kS(){return(await(await Il()).getAll(Rn)).toSorted((r,n)=>n.timestamp-r.timestamp)}async function NS(e){await(await Il()).delete(Rn,e)}async function LS(){await(await Il()).clear(Rn)}async function RS(e,t){let r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP ${r.status} fetching ${e} ${await r.text()}`);return r}async function Ur(e,t){return(await RS(e,t)).text()}async function FS(e,t){return(await RS(e,t)).json()}function PS(e){return new Promise(t=>setTimeout(t,e))}async function xl({check:e,intervalSeconds:t,onCountdown:r}){for(;;){if(await e())return;for(let n=t;n>0;n--)r(n),await PS(1e3)}}var wl="https://www.ebi.ac.uk/Tools/services/rest",yl="colin.diesh@gmail.com",YN={clustalo:{params:{email:yl},msaResult:"aln-clustal_num",treeResult:"phylotree"},muscle:{params:{email:yl,format:"clw",tree:"tree1"},msaResult:"fa",treeResult:"phylotree"},kalign:{params:{email:yl,stype:"protein"},msaResult:"fa",treeResult:"phylotree"},mafft:{params:{email:yl,stype:"protein"},msaResult:"fa",treeResult:"phylotree"}};async function WN({onProgress:e,jobId:t,algorithm:r}){await xl({intervalSeconds:10,onCountdown:n=>{e(`Re-checking MSA status in... ${n}`)},check:async()=>{let n=await Ur(`${wl}/${r}/status/${t}`);if(n.includes("FINISHED"))return!0;if(n.includes("FAILURE"))throw new Error(`Failed to run: jobId ${t}`);return!1}})}async function OS({algorithm:e,sequence:t,onProgress:r}){let n=YN[e];r(`Launching ${e} MSA...`);let o=await Ur(`${wl}/${e}/run`,{method:"POST",body:new URLSearchParams({...n.params,sequence:t})});return await WN({jobId:o,algorithm:e,onProgress:r}),{msa:await Ur(`${wl}/${e}/result/${o}/${n.msaResult}`),tree:await Ur(`${wl}/${e}/result/${o}/${n.treeResult}`)}}async function Kd({rid:e,baseUrl:t,onProgress:r}){r(`Checking BLAST status for RID: ${e}...`),await $N({rid:e,onProgress:r,baseUrl:t});let n=await FS(`${t}?CMD=Get&RID=${e}&FORMAT_TYPE=JSON2_S&FORMAT_OBJECT=Alignment`);return{rid:e,hits:n.BlastOutput2[0]?.report.results.search.hits??[]}}async function GS({query:e,blastDatabase:t,blastProgram:r,baseUrl:n,onProgress:o,onRid:i}){o("Submitting to NCBI BLAST...");let{rid:s}=await zN({query:e,blastDatabase:t,blastProgram:r,baseUrl:n});return i(s),Kd({rid:s,baseUrl:n,onProgress:o})}async function zN({query:e,blastProgram:t,blastDatabase:r,baseUrl:n}){let o=await Ur(n,{method:"POST",body:new URLSearchParams({CMD:"Put",PROGRAM:t==="quick-blastp"?"blastp":t,DATABASE:r,QUERY:e,...r==="nr_cluster_seq"?{CLUSTERED_DB:"on",DB_TYPE:"Experimental Databases"}:{},...t==="quick-blastp"?{BLAST_PROGRAMS:"kmerBlastp"}:{}})}),i=/^ {4}RID = (.*$)/m.exec(o)?.[1],s=/^ {4}RTOE = (.*$)/m.exec(o)?.[1];if(!i)throw new Error("Failed to get RID from BLAST request");return{rid:i,rtoe:s}}async function $N({rid:e,onProgress:t,baseUrl:r}){await xl({intervalSeconds:20,onCountdown:n=>{t(`Re-checking BLAST status in... ${n}`)},check:async()=>{let n=await Ur(`${r}?CMD=Get&FORMAT_OBJECT=SearchInfo&RID=${e}`),o=/\s+Status=(\S+)/m.exec(n)?.[1],i=/\s+ThereAreHits=yes/m.test(n);if(o==="WAITING")return!1;if(o==="FAILED")throw new Error(`BLAST ${e} failed`);if(o==="READY"){if(i)return!0;throw new Error("No hits found")}throw new Error(`BLAST ${e} returned unexpected status: ${o??"unknown"}`)}})}pi();var KN="jbrowse-plugin-msaview",XN="colin.diesh@gmail.com",ZN="https://eutils.ncbi.nlm.nih.gov/entrez/eutils";function bl(e){let t=new URLSearchParams({...e,tool:KN,email:XN});return`${ZN}/efetch.fcgi?${t.toString()}`}var eL="jbrowse-msaview-taxonomy-cache",Js="common-names",tL=2;async function US(){return en(eL,tL,{upgrade(e){e.objectStoreNames.contains(Js)&&e.deleteObjectStore(Js),e.createObjectStore(Js,{keyPath:"taxid"})}})}async function rL(e){let r=(await US()).transaction(Js,"readonly"),n=await Promise.all(e.map(o=>r.store.get(o)));return await r.done,n}async function nL(e){let r=(await US()).transaction(Js,"readwrite");for(let n of e)await r.store.put(n);await r.done}async function HS(e){let t=new Map,r=[],n=await rL(e);for(let s=0;s<e.length;s++){let a=e[s],c=n[s];c?t.set(a,{sciname:c.sciname,commonName:c.commonName}):r.push(a)}if(r.length===0)return t;let o=100,i=[];for(let s=0;s<r.length;s+=o){let a=r.slice(s,s+o),c=a.join(",");try{let A=await(await fetch(bl({db:"taxonomy",id:c,retmode:"xml"}))).text(),u=new Map,d=/<Taxon>\s*<TaxId>(\d+)<\/TaxId>/g,m;for(;(m=d.exec(A))!==null;){let C=Number(m[1]),E=m.index,x=1,I=E+m[0].length;for(;x>0&&I<A.length;){let S=A.indexOf("<Taxon>",I),M=A.indexOf("</Taxon>",I);if(M===-1)break;S!==-1&&S<M?(x++,I=S+7):(x--,I=M+8)}let p=A.slice(E,I),y=u.get(C),B=p.includes("<LineageEx>"),b=y?.includes("<LineageEx>");(!y||B&&!b)&&u.set(C,p)}for(let C of a){let E=u.get(C);if(E){let x=/<GenbankCommonName>(.*?)<\/GenbankCommonName>/.exec(E),I=/<CommonName>(.*?)<\/CommonName>/.exec(E),p=/<ScientificName>(.*?)<\/ScientificName>/.exec(E),y=x?.[1]??I?.[1],B=p?.[1]??"";t.set(C,{sciname:B,commonName:y}),i.push({taxid:C,sciname:B,commonName:y})}}}catch(l){console.error("Failed to fetch taxonomy data:",l)}}return i.length>0&&await nL(i),t}async function jS({self:e}){let{baseUrl:t,blastDatabase:r,blastProgram:n,msaAlgorithm:o,proteinSequence:i,selectedTranscript:s,rid:a}=e.blastParams,c=Cl(i),l,A;if(a){e.setRid(a);let I=await Kd({rid:a,baseUrl:t,onProgress:p=>{e.setProgress(p)}});l=I.hits,A=I.rid}else{let I=await GS({query:c,blastDatabase:r,blastProgram:n,baseUrl:t,onProgress:p=>{e.setProgress(p)},onRid:p=>{e.setRid(p)}});l=I.hits,A=I.rid}e.setProgress("Fetching species taxonomy info...");let u=l.map(I=>I.description[0]?.taxid).filter(I=>I!==void 0),d=await HS(u),m={},C=l.map(I=>{let p=I.description[0]??{accession:"unknown",id:"unknown",sciname:"unknown"},y=QS(p,d),B=MS(I.hsps[0]?.hseq??"");return m[y]=oL(p,d),`>${y}
70
+ ${B}`}),E=await OS({algorithm:o,sequence:[`>QUERY
71
+ ${c}`,...C].join(`
72
+ `),onProgress:I=>{e.setProgress(I)}}),x=JSON.stringify(m);return await DS({proteinSequence:c,blastDatabase:r,blastProgram:n,msaAlgorithm:o,msa:E.msa,tree:E.tree,treeMetadata:x,rid:A,geneId:s?.get("parentId"),transcriptId:s?.id(),transcriptName:s?.get("name")??s?.get("id"),geneName:s?.get("gene_name")??s?.get("parentId")}),{...E,treeMetadata:x}}function oL(e,t){let r={},n=e.taxid?t.get(e.taxid):void 0;return n?.sciname&&(r["Scientific name"]=n.sciname),n?.commonName&&(r["Common name"]=n.commonName),e.accession&&(r.Accession=e.accession),e.id&&(r.ID=e.id),e.title&&(r.Description=e.title),r}var qS=f(de());function JS({model:e}){let{hovered:t}=(0,qS.getSession)(e),{querySeqName:r,transcriptToMsaMap:n,connectedView:o,mafRegion:i}=e;if(!o?.initialized||!qn(t))return;let{coord:s,refName:a}=t.hoverPosition;if(i)return a!==i.refName||!o.assemblyNames.includes(i.assemblyName)||s<i.start||s>=i.end?void 0:e.seqPosToVisibleCol(r,s-i.start);if(n){let c=n.g2p[s];if(c!==void 0)return e.seqPosToVisibleCol(r,c)}}pi();var iL="jbrowse-msaview-domain-cache",Bl="domains",sL=1;async function VS(){return en(iL,sL,{upgrade(e){e.objectStoreNames.contains(Bl)||e.createObjectStore(Bl,{keyPath:"accession"})}})}async function YS(e){let r=(await VS()).transaction(Bl,"readonly"),n=await Promise.all(e.map(o=>r.store.get(o)));return await r.done,n}async function WS(e){let r=(await VS()).transaction(Bl,"readwrite");for(let n of e)await r.store.put(n);await r.done}function Fn(e,t){return new RegExp(`<${t}>(.*?)</${t}>`,"s").exec(e)?.[1]}function aL(e){let t={},r=/<GBQualifier>([\s\S]*?)<\/GBQualifier>/g,n;for(;(n=r.exec(e))!==null;){let o=Fn(n[1],"GBQualifier_name"),i=Fn(n[1],"GBQualifier_value");o&&i!==void 0&&t[o]===void 0&&(t[o]=i)}return t}function cL(e){let t=[],r=[],n=/<GBInterval>([\s\S]*?)<\/GBInterval>/g,o;for(;(o=n.exec(e))!==null;){let i=o[1],s=Fn(i,"GBInterval_from"),a=Fn(i,"GBInterval_to"),c=Fn(i,"GBInterval_point");s&&a?(t.push(Number(s)),r.push(Number(a))):c&&(t.push(Number(c)),r.push(Number(c)))}return t.length>0?{start:Math.min(...t),end:Math.max(...r)}:void 0}var lL=2;function AL(e){let t=Fn(e,"GBFeature_key"),r=aL(e),n=r.db_xref,o=cL(e);if((t==="Region"||t==="Site")&&n?.startsWith("CDD:")&&o&&o.end-o.start+1>=lL){let i=n.replace("CDD:",""),s=t==="Region",a=r.note?.split(/[[(]/)[0]?.trim(),c=s?r.region_name??i:a||r.site_type||"site",l=s?i:`${i}:${c}`;return{signature:{entry:{name:c,description:r.note??c,accession:l}},locations:[o]}}}function uL(e){let t=new Map,r=/<GBSeq>([\s\S]*?)<\/GBSeq>/g,n;for(;(n=r.exec(e))!==null;){let o=n[1],i=[],s=/<GBFeature>([\s\S]*?)<\/GBFeature>/g,a;for(;(a=s.exec(o))!==null;){let c=AL(a[1]);c&&i.push(c)}for(let c of[Fn(o,"GBSeq_accession-version"),Fn(o,"GBSeq_primary-accession")])c&&t.set(c,i)}return t}async function zS(e){let t=[...new Set(e)].filter(Boolean),r=new Map,n=await YS(t),o=[];t.forEach((a,c)=>{let l=n[c];l?r.set(a,l.matches):o.push(a)});let i=[],s=100;for(let a=0;a<o.length;a+=s){let c=o.slice(a,a+s),l=await Ur(bl({db:"protein",id:c.join(","),rettype:"gp",retmode:"xml"})),A=uL(l);for(let u of c){let d=A.get(u)??[];r.set(u,d),i.push({accession:u,matches:d})}}return i.length>0&&await WS(i),r}async function $S(e){let t=e.data.treeMetadata;if(!t)throw new Error("No sequence metadata available to look up domains");let r=JSON.parse(t),n=Object.entries(r).map(([s,a])=>({rowName:s,accession:a.Accession})).filter(s=>!!s.accession);if(n.length===0)throw new Error("No NCBI accessions found in alignment rows");e.setProgress(`Fetching protein domains from NCBI for ${n.length} sequences...`);let o=await zS(n.map(s=>s.accession)),i={};for(let{rowName:s,accession:a}of n){let c=o.get(a);c&&c.length>0&&(i[s]={matches:c,xref:[{id:s}]})}if(Object.keys(i).length===0)throw new Error("No CDD domain annotations found for these proteins");e.setDomains(i)}pi();var fL="jbrowse-msaview-data",dL=1,Vs="msa-data";async function Xd(){return en(fL,dL,{upgrade(e){e.objectStoreNames.contains(Vs)||e.createObjectStore(Vs,{keyPath:"id"}).createIndex("timestamp","timestamp",{unique:!1})}})}function KS(){return`msa-${Date.now()}-${Math.random().toString(36).slice(2,11)}`}async function XS(e,t){try{let r=await Xd(),n={id:e,msa:t.msa,tree:t.tree,treeMetadata:t.treeMetadata,timestamp:Date.now()};return await r.put(Vs,n),!0}catch(r){return console.warn("Failed to store MSA data:",r),!1}}async function ZS(e){try{let r=await(await Xd()).get(Vs,e);return r?{msa:r.msa,tree:r.tree,treeMetadata:r.treeMetadata}:void 0}catch(t){console.warn("Failed to retrieve MSA data:",t);return}}async function e1(e=10080*60*1e3){try{let t=await Xd(),r=Date.now()-e,i=await t.transaction(Vs,"readwrite").store.index("timestamp").openCursor(IDBKeyRange.upperBound(r)),s=0;for(;i;)await i.delete(),s++,i=await i.continue();return s}catch(t){return console.warn("Failed to cleanup old MSA data:",t),0}}Ys();function t1(e){let{dataStoreId:t,rows:r}=e;t&&r.length===0&&(async()=>{try{e.setLoadingStoredData(!0);let n=await ZS(t);n&&(n.msa&&e.setMSA(n.msa),n.tree&&e.setTree(n.tree),n.treeMetadata&&e.setTreeMetadata(n.treeMetadata))}catch(n){console.error("Failed to load MSA data from IndexedDB:",n)}finally{e.setLoadingStoredData(!1)}})()}function r1(e){let{rows:t,dataStoreId:r,isStoringData:n}=e;if(t.length>0&&!r&&!n){if(e.msaFilehandle||e.treeFilehandle)return;let o=e.data.msa,i=e.data.tree;(o||i)&&(e.setIsStoringData(!0),(async()=>{try{let s=KS();await XS(s,{msa:o,tree:i,treeMetadata:e.data.treeMetadata})&&e.setDataStoreId(s)}catch(s){console.error("Failed to store MSA data to IndexedDB:",s)}finally{e.setIsStoringData(!1)}})())}}function n1(e){e.blastParams&&(async()=>{try{e.setProgress("Submitting query"),e.setError(void 0);let t=await jS({self:e});e.setData(t),e.setBlastParams(void 0)}catch(t){e.setError(t),console.error(t)}finally{e.setProgress("")}})()}function o1(e){let{rows:t,domainsRequested:r,interProAnnotations:n}=e,o=e.data.treeMetadata?.includes('"Accession"')??!1;t.length>0&&o&&!n&&!r&&(e.setDomainsRequested(!0),(async()=>{try{await $S(e)}catch(i){console.error("[msaview-domains] auto-load failed:",i)}finally{e.setProgress("")}})())}function i1(e){let{init:t}=e;t&&(async()=>{try{e.setError(void 0);let{msaData:r,msaUrl:n,treeData:o,treeUrl:i,querySeqName:s}=t;if(n){let a=yp(n);a&&(e.setUniprotId(a),e.setQuerySeqName("query"))}if(s&&e.setQuerySeqName(s),r)e.setMSA(r);else if(n){let a=await fetch(n);if(!a.ok)throw new Error(`Failed to fetch MSA: ${a.status}`);let c=await a.text();e.setMSA(c)}if(o)e.setTree(o);else if(i){let a=await fetch(i);if(!a.ok)throw new Error(`Failed to fetch tree: ${a.status}`);let c=await a.text();e.setTree(c)}e.setInit(void 0)}catch(r){e.setError(r),console.error(r)}})()}function s1(e){let t=!1;return()=>{let r=JS({model:e});r!==void 0?(e.setMousePos(r),t=!0):t&&(e.setMousePos(void 0),t=!1)}}function a1(e){let{mouseCol:t,connectedProteinViews:r}=e;if(r.length!==0)for(let n of r){let o=n.proteinView.structures[n.structureIdx];if(!o)continue;if(t===void 0){o.clearHighlightFromExternal?.();continue}let i=e.getSequenceByRowName(n.msaRowName);if(!i)continue;let s=Sl(i,t);if(s===void 0){o.clearHighlightFromExternal?.();continue}let a=n.msaToStructure[s];a===void 0?o.clearHighlightFromExternal?.():o.highlightFromExternal?.(a)}}function c1(e){let{connectedViewId:t,uniprotId:r,rows:n,connectedStructures:o}=e;if(!(!r||n.length===0))for(let i of Pn((0,Zd.getSession)(e).views))for(let s=0;s<i.structures.length;s++){let a=i.structures[s];if(!(!a||a.connectedViewId!==t||a.uniprotId!==r||o.some(l=>l.proteinViewId===i.id&&l.structureIdx===s))&&a.structureSequences?.[0])try{e.connectToStructure(i.id,s)}catch(l){console.error("Failed to auto-connect to ProteinView:",l)}}}function l1(e){let t=!1;return()=>{let{connectedViewId:r,transcriptToMsaMap:n,querySeqName:o}=e;if(!r||!n)return;let i=new Set;for(let a of Pn((0,Zd.getSession)(e).views))for(let c of a.structures){if(c.connectedViewId!==r)continue;let l=c.hoverGenomeHighlights;if(!l||l.length===0)continue;let{g2p:A}=n;for(let u of l)for(let d=u.start;d<u.end;d++){let m=A[d];if(m!==void 0){let C=e.seqPosToGlobalCol(o,m);i.add(C)}}}let s=Array.from(i).map(a=>e.globalColToVisibleCol(a)).filter(a=>a!==void 0);s.length>0?(e.setHighlightedColumns(s),t=!0):t&&(e.setHighlightedColumns(e.highlightColumns?.length?e.highlightColumns:void 0),t=!1)}}function A1(){e1().catch(e=>{console.error("Failed to cleanup old MSA data:",e)})}Ys();function Ql({model:e,coord:t}){let{querySeqName:r,transcriptToMsaMap:n,mafRegion:o}=e,i=e.rows.find(a=>a[0]===r)?.[1];if(!i)return;let s=Sl(i,t);if(s!==void 0){if(o){let a=o.start+s;return a<o.end?{refName:o.refName,start:a,end:a+1}:void 0}if(n){let{refName:a,p2g:c}=n,l=c[s],A=c[s+1];return l!==void 0&&A!==void 0?{refName:a,start:Math.min(l,A),end:Math.max(l,A)}:void 0}}}var pL={A:{A:4,R:-1,N:-2,D:-2,C:0,Q:-1,E:-1,G:0,H:-2,I:-1,L:-1,K:-1,M:-1,F:-2,P:-1,S:1,T:0,W:-3,Y:-2,V:0,B:-2,Z:-1,X:0,"*":-4},R:{A:-1,R:5,N:0,D:-2,C:-3,Q:1,E:0,G:-2,H:0,I:-3,L:-2,K:2,M:-1,F:-3,P:-2,S:-1,T:-1,W:-3,Y:-2,V:-3,B:-1,Z:0,X:-1,"*":-4},N:{A:-2,R:0,N:6,D:1,C:-3,Q:0,E:0,G:0,H:1,I:-3,L:-3,K:0,M:-2,F:-3,P:-2,S:1,T:0,W:-4,Y:-2,V:-3,B:3,Z:0,X:-1,"*":-4},D:{A:-2,R:-2,N:1,D:6,C:-3,Q:0,E:2,G:-1,H:-1,I:-3,L:-4,K:-1,M:-3,F:-3,P:-1,S:0,T:-1,W:-4,Y:-3,V:-3,B:4,Z:1,X:-1,"*":-4},C:{A:0,R:-3,N:-3,D:-3,C:9,Q:-3,E:-4,G:-3,H:-3,I:-1,L:-1,K:-3,M:-1,F:-2,P:-3,S:-1,T:-1,W:-2,Y:-2,V:-1,B:-3,Z:-3,X:-2,"*":-4},Q:{A:-1,R:1,N:0,D:0,C:-3,Q:5,E:2,G:-2,H:0,I:-3,L:-2,K:1,M:0,F:-3,P:-1,S:0,T:-1,W:-2,Y:-1,V:-2,B:0,Z:3,X:-1,"*":-4},E:{A:-1,R:0,N:0,D:2,C:-4,Q:2,E:5,G:-2,H:0,I:-3,L:-3,K:1,M:-2,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:1,Z:4,X:-1,"*":-4},G:{A:0,R:-2,N:0,D:-1,C:-3,Q:-2,E:-2,G:6,H:-2,I:-4,L:-4,K:-2,M:-3,F:-3,P:-2,S:0,T:-2,W:-2,Y:-3,V:-3,B:-1,Z:-2,X:-1,"*":-4},H:{A:-2,R:0,N:1,D:-1,C:-3,Q:0,E:0,G:-2,H:8,I:-3,L:-3,K:-1,M:-2,F:-1,P:-2,S:-1,T:-2,W:-2,Y:2,V:-3,B:0,Z:0,X:-1,"*":-4},I:{A:-1,R:-3,N:-3,D:-3,C:-1,Q:-3,E:-3,G:-4,H:-3,I:4,L:2,K:-3,M:1,F:0,P:-3,S:-2,T:-1,W:-3,Y:-1,V:3,B:-3,Z:-3,X:-1,"*":-4},L:{A:-1,R:-2,N:-3,D:-4,C:-1,Q:-2,E:-3,G:-4,H:-3,I:2,L:4,K:-2,M:2,F:0,P:-3,S:-2,T:-1,W:-2,Y:-1,V:1,B:-4,Z:-3,X:-1,"*":-4},K:{A:-1,R:2,N:0,D:-1,C:-3,Q:1,E:1,G:-2,H:-1,I:-3,L:-2,K:5,M:-1,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:0,Z:1,X:-1,"*":-4},M:{A:-1,R:-1,N:-2,D:-3,C:-1,Q:0,E:-2,G:-3,H:-2,I:1,L:2,K:-1,M:5,F:0,P:-2,S:-1,T:-1,W:-1,Y:-1,V:1,B:-3,Z:-1,X:-1,"*":-4},F:{A:-2,R:-3,N:-3,D:-3,C:-2,Q:-3,E:-3,G:-3,H:-1,I:0,L:0,K:-3,M:0,F:6,P:-4,S:-2,T:-2,W:1,Y:3,V:-1,B:-3,Z:-3,X:-1,"*":-4},P:{A:-1,R:-2,N:-2,D:-1,C:-3,Q:-1,E:-1,G:-2,H:-2,I:-3,L:-3,K:-1,M:-2,F:-4,P:7,S:-1,T:-1,W:-4,Y:-3,V:-2,B:-2,Z:-1,X:-2,"*":-4},S:{A:1,R:-1,N:1,D:0,C:-1,Q:0,E:0,G:0,H:-1,I:-2,L:-2,K:0,M:-1,F:-2,P:-1,S:4,T:1,W:-3,Y:-2,V:-2,B:0,Z:0,X:0,"*":-4},T:{A:0,R:-1,N:0,D:-1,C:-1,Q:-1,E:-1,G:-2,H:-2,I:-1,L:-1,K:-1,M:-1,F:-2,P:-1,S:1,T:5,W:-2,Y:-2,V:0,B:-1,Z:-1,X:0,"*":-4},W:{A:-3,R:-3,N:-4,D:-4,C:-2,Q:-2,E:-3,G:-2,H:-2,I:-3,L:-2,K:-3,M:-1,F:1,P:-4,S:-3,T:-2,W:11,Y:2,V:-3,B:-4,Z:-3,X:-2,"*":-4},Y:{A:-2,R:-2,N:-2,D:-3,C:-2,Q:-1,E:-2,G:-3,H:2,I:-1,L:-1,K:-2,M:-1,F:3,P:-3,S:-2,T:-2,W:2,Y:7,V:-1,B:-3,Z:-2,X:-1,"*":-4},V:{A:0,R:-3,N:-3,D:-3,C:-1,Q:-2,E:-2,G:-3,H:-3,I:3,L:1,K:-2,M:1,F:-1,P:-2,S:-2,T:0,W:-3,Y:-1,V:4,B:-3,Z:-2,X:-1,"*":-4},B:{A:-2,R:-1,N:3,D:4,C:-3,Q:0,E:1,G:-1,H:0,I:-3,L:-4,K:0,M:-3,F:-3,P:-2,S:0,T:-1,W:-4,Y:-3,V:-3,B:4,Z:1,X:-1,"*":-4},Z:{A:-1,R:0,N:0,D:1,C:-3,Q:3,E:4,G:-2,H:0,I:-3,L:-3,K:1,M:-1,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:1,Z:4,X:-1,"*":-4},X:{A:0,R:-1,N:-1,D:-1,C:-2,Q:-1,E:-1,G:-1,H:-1,I:-1,L:-1,K:-1,M:-1,F:-1,P:-2,S:0,T:0,W:-2,Y:-1,V:-1,B:-1,Z:-1,X:-1,"*":-4},"*":{A:-4,R:-4,N:-4,D:-4,C:-4,Q:-4,E:-4,G:-4,H:-4,I:-4,L:-4,K:-4,M:-4,F:-4,P:-4,S:-4,T:-4,W:-4,Y:-4,V:-4,B:-4,Z:-4,X:-4,"*":1}},u1=pL;function f1(e,t){return u1[e.toUpperCase()]?.[t.toUpperCase()]??-4}var gL=-10,hL=-.5;function CL(e,t,r=gL,n=hL){let o=e.length,i=t.length,s=[],a=[],c=[];for(let p=0;p<=o;p++){s[p]=[],a[p]=[],c[p]=[];for(let y=0;y<=i;y++)s[p][y]=-1/0,a[p][y]=-1/0,c[p][y]=-1/0}s[0][0]=0;for(let p=1;p<=o;p++)a[p][0]=r+(p-1)*n;for(let p=1;p<=i;p++)c[0][p]=r+(p-1)*n;for(let p=1;p<=o;p++)for(let y=1;y<=i;y++){let B=f1(e[p-1],t[y-1]);s[p][y]=Math.max(s[p-1][y-1],a[p-1][y-1],c[p-1][y-1])+B,a[p][y]=Math.max(s[p-1][y]+r,a[p-1][y]+n),c[p][y]=Math.max(s[p][y-1]+r,c[p][y-1]+n)}let l="",A="",u=o,d=i,m=s[o][i],C=a[o][i],E=c[o][i],x=Math.max(m,C,E),I=x===m?"M":x===C?"Ix":"Iy";for(;u>0||d>0;)if(I==="M"&&u>0&&d>0){l=e[u-1]+l,A=t[d-1]+A;let p=f1(e[u-1],t[d-1]),y=s[u-1][d-1],B=a[u-1][d-1],b=s[u][d];b===y+p?I="M":b===B+p?I="Ix":I="Iy",u--,d--}else if(I==="Ix"&&u>0){l=e[u-1]+l,A="-"+A;let p=a[u][d],y=s[u-1][d]+r;I=p===y?"M":"Ix",u--}else if(d>0){l="-"+l,A=t[d-1]+A;let p=c[u][d],y=s[u][d-1]+r;I=p===y?"M":"Iy",d--}else break;return{alignedSeq1:l,alignedSeq2:A,score:x}}function EL(e,t){let r="";for(let n=0;n<e.length;n++){let o=e[n],i=t[n],s=o!=="-"&&i!=="-"&&o.toUpperCase()===i.toUpperCase();r+=s?"|":" "}return r}function d1(e,t){let{alignedSeq1:r,alignedSeq2:n}=CL(e,t);return{consensus:EL(r,n),alns:[{id:"msa",seq:r},{id:"structure",seq:n}]}}function m1(e){let t=e.alns[0].seq,r=e.alns[1].seq;if(t.length!==r.length)throw new Error("Aligned sequences must have same length");let n=0,o=0,i=new Map,s=new Map;for(let a=0;a<t.length;a++){let c=t[a],l=r[a];c!=="-"&&l!=="-"?(i.set(n,o),s.set(o,n),n++,o++):c==="-"?o++:n++}return{seq1ToSeq2:i,seq2ToSeq1:s}}Ys();var wL=(0,I1.lazy)(()=>Promise.resolve().then(()=>(E1(),C1)));function em(){return qe.types.compose(x1.BaseViewModel,dl(),qe.types.model("MsaView",{connectedViewId:qe.types.maybe(qe.types.string),connectedFeature:qe.types.frozen(),blastParams:qe.types.frozen(),querySeqName:"QUERY",uniprotId:qe.types.maybe(qe.types.string),zoomToBaseLevel:!1,init:qe.types.frozen(),connectedStructures:qe.types.array(qe.types.frozen()),dataStoreId:qe.types.maybe(qe.types.string),mafRegion:qe.types.frozen()})).volatile(()=>({rid:void 0,progress:"",error:void 0,loadingStoredData:!1,isStoringData:!1,domainsRequested:!1})).views(e=>({getRowByName(t){return e.rows.find(r=>r[0]===t)},getSequenceByRowName(t){return e.rows.find(r=>r[0]===t)?.[1]}})).views(e=>({get transcriptToMsaMap(){return e.connectedFeature?Bp(e.connectedFeature):void 0},get connectedView(){let{views:t}=(0,Di.getSession)(e);return t.find(r=>r.id===e.connectedViewId)},get connectedProteinViews(){let t=Pn((0,Di.getSession)(e).views),r=[];for(let n of e.connectedStructures){let o=t.find(i=>i.id===n.proteinViewId);o&&r.push({...n,proteinView:o})}return r}})).views(e=>({get connectedHighlights(){let{mouseCol:t,mouseClickCol:r}=e;return[t===void 0?void 0:Ql({model:e,coord:t}),r===void 0?void 0:Ql({model:e,coord:r})].filter(n=>n!==void 0)}})).actions(e=>({setZoomToBaseLevel(t){e.zoomToBaseLevel=t},setError(t){e.error=t},setProgress(t){e.progress=t},setRid(t){e.rid=t},setBlastParams(t){e.blastParams=t},setInit(t){e.init=t},setQuerySeqName(t){e.querySeqName=t},setUniprotId(t){e.uniprotId=t},setDataStoreId(t){e.dataStoreId=t},setMafRegion(t){e.mafRegion=t},setLoadingStoredData(t){e.loadingStoredData=t},setIsStoringData(t){e.isStoringData=t},setDomainsRequested(t){e.domainsRequested=t},handleMsaClick(t){let{connectedView:r,zoomToBaseLevel:n}=e,{assemblyManager:o}=(0,Di.getSession)(e),i=Ql({model:e,coord:t});if(!(!i||!r))if(n)r.navTo(i);else{let s=Aa({assemblyManager:o,assemblyNames:r.assemblyNames,refName:i.refName});r.centerAt(i.start,s)}},connectToStructure(t,r,n){let o=n??e.querySeqName,i=e.getSequenceByRowName(o);if(!i)throw new Error(`MSA row "${o}" not found`);let s=i.replaceAll("-",""),a=Pn((0,Di.getSession)(e).views).find(m=>m.id===t);if(!a)throw new Error(`ProteinView "${t}" not found`);let c=a.structures[r];if(!c)throw new Error(`Structure at index ${r} not found`);let l=c.structureSequences?.[0];if(!l)throw new Error("Structure sequence not available");let A=d1(s,l),{seq1ToSeq2:u}=m1(A),d={proteinViewId:t,structureIdx:r,msaRowName:o,msaToStructure:Object.fromEntries(u)};e.connectedStructures.push(d)},disconnectFromStructure(t,r){let n=e.connectedStructures.findIndex(o=>o.proteinViewId===t&&o.structureIdx===r);n!==-1&&e.connectedStructures.splice(n,1)},disconnectAllStructures(){e.connectedStructures.clear()}})).actions(e=>{let t=e.setMouseClickPos.bind(e);return{setMouseClickPos(r,n){t(r,n),r!==void 0&&e.handleMsaClick(r)}}}).views(e=>({extraViewMenuItems(){return[{label:"Zoom to base level on click?",checked:e.zoomToBaseLevel,type:"checkbox",onClick:()=>{e.setZoomToBaseLevel(!e.zoomToBaseLevel)}},{label:"Connect to protein structure...",onClick:()=>{(0,Di.getSession)(e).queueDialog(t=>[wL,{model:e,handleClose:t}])}},...e.connectedStructures.length>0?[{label:"Disconnect from protein structures",onClick:()=>{e.disconnectAllStructures()}}]:[]]}})).actions(e=>({afterCreate(){A1();for(let t of[t1,r1,n1,i1,a1,c1,o1])(0,qe.addDisposer)(e,(0,vl.autorun)(()=>{t(e)}));(0,qe.addDisposer)(e,(0,vl.autorun)(s1(e))),(0,qe.addDisposer)(e,(0,vl.autorun)(l1(e)))}}))}function ki(e){return e.type==="MsaView"}var bL=(0,rm.observer)(function({model:e}){let{hovered:t,views:r}=(0,y1.getSession)(e);return r.some(o=>ki(o)&&o.connectedViewId===e.id)&&qn(t)?tm.default.createElement(BL,{model:e,hovered:t}):null}),BL=(0,rm.observer)(function({model:e,hovered:t}){let{classes:r}=ua(),{offsetPx:n}=e,{coord:o,refName:i}=t.hoverPosition,s=e.bpToPx({refName:i,coord:o-1}),a=e.bpToPx({refName:i,coord:o});if(s&&a){let c=Math.max(Math.abs(a.offsetPx-s.offsetPx),4),l=Math.min(s.offsetPx,a.offsetPx)-n;return tm.default.createElement("div",{className:r.highlight,style:{left:l,width:c}})}return null}),w1=bL;var Ws=f(Q()),nm=f(de()),om=f(U());var SL=(0,om.observer)(function({model:t}){let{views:r,hovered:n}=(0,nm.getSession)(t),i=r.filter(ki).find(s=>s.connectedViewId===t.id)?.connectedHighlights;return!qn(n)&&i?.length?Ws.default.createElement(QL,{model:t,highlights:i}):null}),QL=(0,om.observer)(function({model:e,highlights:t}){let{classes:r}=ua(),{assemblyManager:n}=(0,nm.getSession)(e),{offsetPx:o}=e;return Ws.default.createElement(Ws.default.Fragment,null,t.map((i,s)=>{let a=Aa({assemblyManager:n,assemblyNames:e.assemblyNames,refName:i.refName}),c=e.bpToPx({refName:a,coord:i.start}),l=e.bpToPx({refName:a,coord:i.end});if(c&&l){let A=Math.max(Math.abs(l.offsetPx-c.offsetPx),4),u=Math.min(c.offsetPx,l.offsetPx)-o;return Ws.default.createElement("div",{key:`${i.refName}-${i.start}-${i.end}-${s}`,className:r.highlight,style:{left:u,width:A}})}return null}))}),b1=SL;var ML=(0,B1.observer)(function({model:t}){return zs.default.createElement(zs.default.Fragment,null,zs.default.createElement(b1,{model:t}),zs.default.createElement(w1,{model:t}))}),S1=ML;function im(e){e.addToExtensionPoint("LinearGenomeView-TracksContainerComponent",(t,{model:r})=>{let{views:n}=(0,M1.getSession)(r);return n.some(i=>ki(i)&&i.connectedViewId===r.id)?[...t,Q1.default.createElement(S1,{key:"highlight_protein_viewer_msaview",model:r})]:t})}var R1=f(gA());var v1=f(Do());function sm(e){let t=e.getAdapterType("BgzipFastaAdapter");return(0,v1.ConfigurationSchema)("BgzipFastaMsaAdapter",{msaRegex:{type:"string",defaultValue:"_"}},{baseConfiguration:t?.configSchema})}function am(e){return e.addAdapterType(()=>new R1.AdapterType({name:"BgzipFastaMsaAdapter",configSchema:sm(e),adapterMetadata:{hiddenFromGUI:!0},getAdapterClass:()=>Promise.resolve().then(()=>(L1(),N1)).then(t=>t.default)}))}var Zl=f(de());V();var F1=f(P(),1),P1=(0,D.createSvgIcon)((0,F1.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");var Nt=f(Q()),aM=f(Me()),cM=f(de()),Ui=f(N());var oe=f(Q()),Qm=f(Me()),CQ=f(de()),rr=f(N()),EQ=f(U()),IQ=f(Qe());function O1({session:e,newViewTitle:t,view:r,feature:n,msaFilehandle:o,treeFilehandle:i,querySeqName:s,data:a}){e.addView("MsaView",{type:"MsaView",displayName:t,connectedViewId:r.id,connectedFeature:n.toJSON(),msaFilehandle:o,treeFilehandle:i,querySeqName:s,data:a})}var cm=f(Q()),G1=f(N());function vL({children:e,...t}){return cm.default.createElement("div",null,cm.default.createElement(G1.TextField,{...t},e))}var lt=vL;var lm=f(Q()),U1=f(Me()),H1=f(N()),j1=f(Qe()),TL=(0,j1.makeStyles)()({dialogContent:{width:"80em"}});function hr({error:e,children:t}){let{classes:r}=TL();return lm.default.createElement(H1.DialogContent,{className:r.dialogContent},e?lm.default.createElement(U1.ErrorMessage,{error:e}):null,t)}var _l=f(Q()),$s=f(N());function cn({onSubmit:e,onCancel:t,submitDisabled:r,submitLabel:n="Submit",cancelLabel:o="Cancel"}){return _l.default.createElement($s.DialogActions,null,_l.default.createElement($s.Button,{color:"primary",variant:"contained",disabled:r,onClick:()=>{e()}},n),_l.default.createElement($s.Button,{color:"secondary",variant:"contained",onClick:()=>{t()}},o))}var Cr=f(Q()),Ni=f(N()),V1=f(Qe());var q1=f(Q()),J1=f(Qe());var _L=(0,J1.makeStyles)()({textAreaFont:{fontFamily:"Courier New"}});function Am({value:e}){let{classes:t}=_L();return q1.default.createElement(lt,{variant:"outlined",multiline:!0,minRows:5,maxRows:10,fullWidth:!0,value:e,slotProps:{input:{readOnly:!0,classes:{input:t.textAreaFont}}}})}var DL=(0,V1.makeStyles)()({flex:{display:"flex"},minWidth:{minWidth:300},centered:{alignContent:"center",marginLeft:20}});function Er({feature:e,options:t,selectedId:r,selectedTranscript:n,setSelectedId:o,proteinSequence:i,validIds:s}){let{classes:a}=DL(),[c,l]=(0,Cr.useState)(!1);return Cr.default.createElement(Cr.default.Fragment,null,Cr.default.createElement("div",{className:a.flex},Cr.default.createElement(Ni.TextField,{variant:"outlined",label:`Choose isoform of ${go(e)}`,select:!0,className:a.minWidth,value:r,onChange:A=>{o(A.target.value)}},t.map(A=>{let u=s?s.some(C=>qs(A,C)):!0,{len:d,mod:m}=ml(A);return Cr.default.createElement(Ni.MenuItem,{value:po(A),key:A.id(),disabled:!u},gl(A)," (",d," aa)"," ",m?" (possible fragment)":"",s?u?" (has data)":" (no data)":"")})),Cr.default.createElement("div",{className:a.centered},Cr.default.createElement(Ni.Button,{variant:"contained",color:"primary",onClick:()=>{l(!c)}},c?"Hide sequence":"Show sequence"))),c?Cr.default.createElement(Am,{value:i?`>${gl(n)}
73
+ ${i}`:"Loading..."}):null)}var Jl=f(Q());var On=f(de());function kL(e,t){return e.map(r=>t.slice(r.start,r.end)).join("")}function NL({cds:e,sequence:t,codonTable:r}){let n=kL(e,t),o="";for(let i=0;i<n.length;i+=3)o+=r[n.slice(i,i+3)]??"&";return o}function LL(e,t){return e.map(r=>({...r,start:t-r.end,end:t-r.start})).toSorted((r,n)=>r.start-n.start)}function Y1({feature:e,seq:t}){let{subfeatures:r,start:n,strand:o}=e.toJSON(),i=(0,On.dedupe)(r?.toSorted((s,a)=>s.start-a.start).map(s=>({...s,start:s.start-n,end:s.end-n})).filter(s=>s.type==="CDS")??[],s=>`${s.start}-${s.end}`);return NL({cds:o===-1?LL(i,t.length):i,sequence:o===-1?(0,On.revcom)(t):t,codonTable:(0,On.generateCodonTable)(On.defaultCodonTable)})}var pQ=f(de());var Je=f(Q(),1),Sm=f(K1(),1);var At=f(Q(),1);var Gn={};We(Gn,{ERROR_REVALIDATE_EVENT:()=>JL,FOCUS_EVENT:()=>X1,MUTATE_EVENT:()=>eQ,RECONNECT_EVENT:()=>Z1});var X1=0,Z1=1,eQ=2,JL=3;var tQ=Object.prototype.hasOwnProperty;function Dl(e,t){var r,n;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array){if((n=e.length)===t.length)for(;n--&&Dl(e[n],t[n]););return n===-1}if(!r||typeof e=="object"){n=0;for(r in e)if(tQ.call(e,r)&&++n&&!tQ.call(t,r)||!(r in t)||!Dl(e[r],t[r]))return!1;return Object.keys(t).length===n}}return e!==e&&t!==t}var Ir=new WeakMap,xr=()=>{},Ue=xr(),Ri=Object,J=e=>e===Ue,Jt=e=>typeof e=="function",yr=(e,t)=>({...e,...t}),Pl=e=>Jt(e.then),fm={},kl={},Em="undefined",Fi=typeof window!=Em,Ll=typeof document!=Em,nQ=Fi&&"Deno"in window,oQ=()=>Fi&&typeof window.requestAnimationFrame!=Em,Ol=(e,t)=>{let r=Ir.get(e);return[()=>!J(t)&&e.get(t)||fm,n=>{if(!J(t)){let o=e.get(t);t in kl||(kl[t]=o),r[5](t,yr(o,n),o||fm)}},r[6],()=>!J(t)&&t in kl?kl[t]:!J(t)&&e.get(t)||fm]},pm=!0,VL=()=>pm,[gm,hm]=Fi&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[xr,xr],YL=()=>{let e=Ll&&document.visibilityState;return J(e)||e!=="hidden"},WL=e=>(Ll&&document.addEventListener("visibilitychange",e),gm("focus",e),()=>{Ll&&document.removeEventListener("visibilitychange",e),hm("focus",e)}),zL=e=>{let t=()=>{pm=!0,e()},r=()=>{pm=!1};return gm("online",t),gm("offline",r),()=>{hm("online",t),hm("offline",r)}},iQ={isOnline:VL,isVisible:YL},sQ={initFocus:WL,initReconnect:zL},Gl=!At.default.useId,Un=!Fi||nQ,Im=e=>oQ()?window.requestAnimationFrame(e):setTimeout(e,1),Pi=Un?At.useEffect:At.useLayoutEffect,dm=typeof navigator<"u"&&navigator.connection,Cm=!Un&&dm&&(["slow-2g","2g"].includes(dm.effectiveType)||dm.saveData),Nl=new WeakMap,$L=e=>Ri.prototype.toString.call(e),mm=(e,t)=>e===`[object ${t}]`,KL=0,Rl=e=>{let t=typeof e,r=$L(e),n=mm(r,"Date"),o=mm(r,"RegExp"),i=mm(r,"Object"),s,a;if(Ri(e)===e&&!n&&!o){if(s=Nl.get(e),s)return s;if(s=++KL+"~",Nl.set(e,s),Array.isArray(e)){for(s="@",a=0;a<e.length;a++)s+=Rl(e[a])+",";Nl.set(e,s)}if(i){s="#";let c=Ri.keys(e).sort();for(;!J(a=c.pop());)J(e[a])||(s+=a+":"+Rl(e[a])+",");Nl.set(e,s)}}else s=n?e.toJSON():t=="symbol"?e.toString():t=="string"?JSON.stringify(e):""+e;return s},Xs=e=>{if(Jt(e))try{e=e()}catch{e=""}let t=e;return e=typeof e=="string"?e:(Array.isArray(e)?e.length:e)?Rl(e):"",[e,t]},XL=0,Ks=()=>++XL;async function Ul(...e){let[t,r,n,o]=e,i=yr({populateCache:!0,throwOnError:!0},typeof o=="boolean"?{revalidate:o}:o||{}),s=i.populateCache,a=i.rollbackOnError,c=i.optimisticData,l=d=>typeof a=="function"?a(d):a!==!1,A=i.throwOnError;if(Jt(r)){let d=r,m=[],C=t.keys();for(let E of C)!/^\$(inf|sub)\$/.test(E)&&d(t.get(E)._k)&&m.push(E);return Promise.all(m.map(u))}return u(r);async function u(d){let[m]=Xs(d);if(!m)return;let[C,E]=Ol(t,m),[x,I,p,y]=Ir.get(t),B=()=>{let ee=x[m];return(Jt(i.revalidate)?i.revalidate(C().data,d):i.revalidate!==!1)&&(delete p[m],delete y[m],ee&&ee[0])?ee[0](2).then(()=>C().data):C().data};if(e.length<3)return B();let b=n,S,M=!1,G=Ks();I[m]=[G,0];let R=!J(c),k=C(),v=k.data,F=k._c,H=J(F)?v:F;if(R&&(c=Jt(c)?c(H,v):c,E({data:c,_c:H})),Jt(b))try{b=b(H)}catch(ee){S=ee,M=!0}if(b&&Pl(b))if(b=await b.catch(ee=>{S=ee,M=!0}),G!==I[m][0]){if(M)throw S;return b}else M&&R&&l(S)&&(s=!0,E({data:H,_c:Ue}));if(s&&!M)if(Jt(s)){let ee=s(b,H);E({data:ee,error:Ue,_c:Ue})}else E({data:b,error:Ue,_c:Ue});if(I[m][1]=Ks(),Promise.resolve(B()).then(()=>{E({_c:Ue})}),M){if(A)throw S;return}return b}}var rQ=(e,t)=>{for(let r in e)e[r][0]&&e[r][0](t)},xm=(e,t)=>{if(!Ir.has(e)){let r=yr(sQ,t),n=Object.create(null),o=Ul.bind(Ue,e),i=xr,s=Object.create(null),a=(A,u)=>{let d=s[A]||[];return s[A]=d,d.push(u),()=>{let m=d.indexOf(u);m>=0&&(d[m]=d[d.length-1],d.pop())}},c=(A,u,d)=>{e.set(A,u);let m=s[A];if(m)for(let C of m)C(u,d)},l=()=>{if(!Ir.has(e)&&(Ir.set(e,[n,Object.create(null),Object.create(null),Object.create(null),o,c,a]),!Un)){let A=r.initFocus(setTimeout.bind(Ue,rQ.bind(Ue,n,0))),u=r.initReconnect(setTimeout.bind(Ue,rQ.bind(Ue,n,1)));i=()=>{A&&A(),u&&u(),Ir.delete(e)}}};return l(),[e,o,l,i]}return[e,Ir.get(e)[4]]},ZL=(e,t,r,n,o)=>{let i=r.errorRetryCount,s=o.retryCount,a=~~((Math.random()+.5)*(1<<(s<8?s:8)))*r.errorRetryInterval;!J(i)&&s>i||setTimeout(n,a,o)},aQ=Dl,[Hl,cQ]=xm(new Map),jl=yr({onLoadingSlow:xr,onSuccess:xr,onError:xr,onErrorRetry:ZL,onDiscarded:xr,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:Cm?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:Cm?5e3:3e3,compare:aQ,isPaused:()=>!1,cache:Hl,mutate:cQ,fallback:{}},iQ),ym=(e,t)=>{let r=yr(e,t);if(t){let{use:n,fallback:o}=e,{use:i,fallback:s}=t;n&&i&&(r.use=n.concat(i)),o&&s&&(r.fallback=yr(o,s))}return r},Fl=(0,At.createContext)({}),wm=e=>{let{value:t}=e,r=(0,At.useContext)(Fl),n=Jt(t),o=(0,At.useMemo)(()=>n?t(r):t,[n,r,t]),i=(0,At.useMemo)(()=>n?o:ym(r,o),[n,r,o]),s=o&&o.provider,a=(0,At.useRef)(Ue);s&&!a.current&&(a.current=xm(s(i.cache||Hl),o));let c=a.current;return c&&(i.cache=c[0],i.mutate=c[1]),Pi(()=>{if(c)return c[2]&&c[2](),c[3]},[]),(0,At.createElement)(Fl.Provider,yr(e,{value:i}))};var lQ="$inf$";var Oi=f(Q(),1);var AQ=Fi&&window.__SWR_DEVTOOLS_USE__,eR=AQ?window.__SWR_DEVTOOLS_USE__:[],tR=()=>{AQ&&(window.__SWR_DEVTOOLS_REACT__=Oi.default)},rR=e=>Jt(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}],nR=()=>{let e=(0,Oi.useContext)(Fl);return(0,Oi.useMemo)(()=>yr(jl,e),[e])};var oR=e=>(t,r,n)=>e(t,r&&((...i)=>{let[s]=Xs(t),[,,,a]=Ir.get(Hl);if(s.startsWith(lQ))return r(...i);let c=a[s];return J(c)?r(...i):(delete a[s],c)}),n),iR=eR.concat(oR),uQ=e=>function(...r){let n=nR(),[o,i,s]=rR(r),a=ym(n,s),c=e,{use:l}=a,A=(l||[]).concat(iR);for(let u=A.length;u--;)c=A[u](c);return c(o,i||a.fetcher||null,a)},fQ=(e,t,r)=>{let n=t[e]||(t[e]=[]);return n.push(r),()=>{let o=n.indexOf(r);o>=0&&(n[o]=n[n.length-1],n.pop())}};tR();var sR=()=>{},fV=sR();var bm=Je.default.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}}),Bm={dedupe:!0},ql=Promise.resolve(Ue);ql.status="fulfilled";ql.value=Ue;var aR=()=>xr,cR=(e,t,r)=>{let{cache:n,compare:o,suspense:i,fallbackData:s,revalidateOnMount:a,revalidateIfStale:c,refreshInterval:l,refreshWhenHidden:A,refreshWhenOffline:u,keepPreviousData:d,strictServerPrefetchWarning:m}=r,[C,E,x,I]=Ir.get(n),[p,y]=Xs(e),B=(0,Je.useRef)(!1),b=(0,Je.useRef)(!1),S=(0,Je.useRef)(p),M=(0,Je.useRef)(t),G=(0,Je.useRef)(r),R=()=>G.current,k=()=>R().isVisible()&&R().isOnline(),[v,F,H,ee]=Ol(n,p),Ve=(0,Je.useRef)({}).current,ge=J(s)?J(r.fallback)?Ue:r.fallback[p]:s,Et=(ie,re)=>{for(let Be in Ve){let Ee=Be;if(Ee==="data"){if(!o(ie[Ee],re[Ee])&&(!J(ie[Ee])||!o(yo,re[Ee])))return!1}else if(re[Ee]!==ie[Ee])return!1}return!0},Dt=!B.current,Hn=(0,Je.useMemo)(()=>{let ie=v(),re=ee(),Be=ce=>{let rt=yr(ce);return delete rt._k,(()=>{if(!p||!t||R().isPaused())return!1;if(Dt&&!J(a))return a;let Vr=J(ge)?rt.data:ge;return i?J(Vr)||c:J(Vr)||c})()?{isValidating:!0,isLoading:!0,...rt}:rt},Ee=Be(ie),Lt=ie===re?Ee:Be(re),It=Ee;return[()=>{let ce=Be(v());return Et(ce,It)?(It.data=ce.data,It.isLoading=ce.isLoading,It.isValidating=ce.isValidating,It.error=ce.error,It):(It=ce,ce)},()=>Lt]},[n,p]),sr=(0,Sm.useSyncExternalStore)((0,Je.useCallback)(ie=>H(p,(re,Be)=>{Et(Be,re)||ie()}),[n,p]),Hn[0],Hn[1]),te=C[p]&&C[p].length>0,ar=sr.data,qr=J(ar)?ge&&Pl(ge)?bm(ge):ge:ar,xo=sr.error,Hi=(0,Je.useRef)(qr),yo=d?J(ar)?J(Hi.current)?qr:Hi.current:ar:qr,Jr=p&&J(qr),An=(0,Je.useRef)(null);!Un&&(0,Sm.useSyncExternalStore)(aR,()=>(An.current=!1,An),()=>(An.current=!0,An));let nA=An.current;m&&nA&&!i&&Jr&&console.warn(`Missing pre-initiated data for serialized key "${p}" during server-side rendering. Data fetching should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);let ji=!p||!t||R().isPaused()||te&&!J(xo)?!1:Dt&&!J(a)?a:i?J(qr)?!1:c:J(qr)||c,he=Dt&&ji,na=J(sr.isValidating)?he:sr.isValidating,be=J(sr.isLoading)?he:sr.isLoading,un=(0,Je.useCallback)(async ie=>{let re=M.current;if(!p||!re||b.current||R().isPaused())return!1;let Be,Ee,Lt=!0,It=ie||{},ce=!x[p]||!It.dedupe,rt=()=>Gl?!b.current&&p===S.current&&B.current:p===S.current,Rt={isValidating:!1,isLoading:!1},Vr=()=>{F(Rt)},bo=()=>{let ut=x[p];ut&&ut[1]===Ee&&delete x[p]},Bo={isValidating:!0};J(v().data)&&(Bo.isLoading=!0);try{if(ce&&(F(Bo),r.loadingTimeout&&J(v().data)&&setTimeout(()=>{Lt&&rt()&&R().onLoadingSlow(p,r)},r.loadingTimeout),x[p]=[re(y),Ks()]),[Be,Ee]=x[p],Be=await Be,ce&&setTimeout(bo,r.dedupingInterval),!x[p]||x[p][1]!==Ee)return ce&&rt()&&R().onDiscarded(p),!1;Rt.error=Ue;let ut=E[p];if(!J(ut)&&(Ee<=ut[0]||Ee<=ut[1]||ut[1]===0))return Vr(),ce&&rt()&&R().onDiscarded(p),!1;let ft=v().data;Rt.data=o(ft,Be)?ft:Be,ce&&rt()&&R().onSuccess(Be,p,r)}catch(ut){bo();let ft=R(),{shouldRetryOnError:fn}=ft;ft.isPaused()||(Rt.error=ut,ce&&rt()&&(ft.onError(ut,p,ft),(fn===!0||Jt(fn)&&fn(ut))&&(!R().revalidateOnFocus||!R().revalidateOnReconnect||k())&&ft.onErrorRetry(ut,p,ft,So=>{let Qo=C[p];Qo&&Qo[0]&&Qo[0](Gn.ERROR_REVALIDATE_EVENT,So)},{retryCount:(It.retryCount||0)+1,dedupe:!0})))}return Lt=!1,Vr(),!0},[p,n]),Ce=(0,Je.useCallback)((...ie)=>Ul(n,S.current,...ie),[]);if(Pi(()=>{M.current=t,G.current=r,J(ar)||(Hi.current=ar)}),Pi(()=>{if(!p)return;let ie=un.bind(Ue,Bm),re=0;R().revalidateOnFocus&&(re=Date.now()+R().focusThrottleInterval);let Ee=fQ(p,C,(Lt,It={})=>{if(Lt==Gn.FOCUS_EVENT){let ce=Date.now();R().revalidateOnFocus&&ce>re&&k()&&(re=ce+R().focusThrottleInterval,ie())}else if(Lt==Gn.RECONNECT_EVENT)R().revalidateOnReconnect&&k()&&ie();else{if(Lt==Gn.MUTATE_EVENT)return un();if(Lt==Gn.ERROR_REVALIDATE_EVENT)return un(It)}});return b.current=!1,S.current=p,B.current=!0,F({_k:y}),ji&&(x[p]||(J(qr)||Un?ie():Im(ie))),()=>{b.current=!0,Ee()}},[p]),Pi(()=>{let ie;function re(){let Ee=Jt(l)?l(v().data):l;Ee&&ie!==-1&&(ie=setTimeout(Be,Ee))}function Be(){!v().error&&(A||R().isVisible())&&(u||R().isOnline())?un(Bm).then(re):re()}return re(),()=>{ie&&(clearTimeout(ie),ie=-1)}},[l,A,u,p]),(0,Je.useDebugValue)(yo),i){if(!Gl&&Un&&Jr)throw new Error("Fallback data is required when using Suspense in SSR.");Jr&&(M.current=t,G.current=r,b.current=!1);let ie=I[p],re=!J(ie)&&Jr?Ce(ie):ql;if(bm(re),!J(xo)&&Jr)throw xo;let Be=Jr?un(Bm):ql;!J(yo)&&Jr&&(Be.status="fulfilled",Be.value=!0),bm(Be)}return{mutate:Ce,get data(){return Ve.data=!0,yo},get error(){return Ve.error=!0,xo},get isValidating(){return Ve.isValidating=!0,na},get isLoading(){return Ve.isLoading=!0,be}}},dV=Ri.defineProperty(wm,"defaultValue",{value:jl}),ho=uQ(cR);var dQ=f(Do());async function mQ({start:e,end:t,refName:r,session:n,assemblyName:o}){let{assemblyManager:i,rpcManager:s}=n,a=await i.waitForAssembly(o);if(!a)throw new Error("assembly not found");let c="getSequence";return(await s.call(c,"CoreGetFeatures",{adapterConfig:(0,dQ.getConf)(a,["sequence","adapter"]),sessionId:c,regions:[{start:e,end:t,refName:a.getCanonicalRefName(r),assemblyName:o}]}))[0]?.get("seq")??""}var Co={revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1,refreshWhenHidden:!1,refreshWhenOffline:!1,shouldRetryOnError:!1};async function lR({feature:e,assemblyName:t,view:r}){let n=(0,pQ.getSession)(r),{start:o,end:i,refName:s}=e.toJSON();return{seq:await mQ({start:o,end:i,refName:s,assemblyName:t,session:n})}}function gQ({view:e,feature:t}){let r=e?.assemblyNames?.[0],n=t&&r?{feature:t,assemblyName:r,view:e}:void 0,{data:o,error:i}=ho(n?[n.feature.id(),n.assemblyName,"feature-sequence"]:null,()=>lR(n),Co);return{sequence:o,error:i}}function hQ({view:e,feature:t}){let{sequence:r,error:n}=gQ({view:e,feature:t});return{proteinSequence:r&&t?Y1({seq:r.seq,feature:t}):"",sequence:r,error:n}}function AR(e,t,r){if(r&&r.length>0){let n=t.find(i=>po(i)===e),o=n&&r.some(i=>qs(n,i));if(n&&!o){let i=t.find(s=>r.some(a=>qs(s,a)));return i?po(i):void 0}}}function Hr({feature:e,view:t,validIds:r}){let n=(0,Jl.useMemo)(()=>_S(e),[e]),[o,i]=(0,Jl.useState)(()=>po(n[0])),s=AR(o,n,r)??o,a=n.find(A=>po(A)===s),{proteinSequence:c,error:l}=hQ({view:t,feature:a});return{options:n,selectedId:s,setSelectedId:i,selectedTranscript:a,proteinSequence:c,error:l,validIds:r}}var uR=(0,IQ.makeStyles)()({textAreaFont:{fontFamily:"Courier New"},inputContainer:{marginBottom:30},fileContainer:{maxWidth:500},msaInput:{marginBottom:20},queryNameInput:{marginTop:20},warningAlert:{marginTop:10}}),fR=(0,EQ.observer)(function({model:t,feature:r,handleClose:n}){let o=(0,CQ.getSession)(t),i=tr(t),{classes:s}=uR(),[a,c]=(0,oe.useState)(),[l,A]=(0,oe.useState)("file"),[u,d]=(0,oe.useState)(""),[m,C]=(0,oe.useState)(""),[E,x]=(0,oe.useState)(),[I,p]=(0,oe.useState)(),[y,B]=(0,oe.useState)(""),b=Hr({feature:r,view:i}),{selectedTranscript:S,error:M}=b;return oe.default.createElement(oe.default.Fragment,null,oe.default.createElement(hr,{error:a??M},oe.default.createElement(rr.FormControl,{component:"fieldset"},oe.default.createElement(rr.RadioGroup,{row:!0,value:l,onChange:R=>{A(R.target.value)}},oe.default.createElement(rr.FormControlLabel,{value:"file",control:oe.default.createElement(rr.Radio,null),label:"Open files"}),oe.default.createElement(rr.FormControlLabel,{value:"text",control:oe.default.createElement(rr.Radio,null),label:"Paste text"}))),oe.default.createElement("div",{className:s.inputContainer},l==="file"?oe.default.createElement("div",{className:s.fileContainer},oe.default.createElement(Qm.FileSelector,{name:"MSA File .aln (Clustal), .fa/.mfa (aligned FASTA), .stock (Stockholm), etc)",inline:!0,location:E,setLocation:x}),oe.default.createElement(Qm.FileSelector,{name:"Tree file .nh (Newick) or .asn (NCBI COBALT ASN.1)",inline:!0,location:I,setLocation:p})):oe.default.createElement(oe.default.Fragment,null,oe.default.createElement(lt,{variant:"outlined",name:"MSA",multiline:!0,minRows:5,className:s.msaInput,maxRows:10,fullWidth:!0,placeholder:"Paste MSA here",value:u,onChange:R=>{d(R.target.value)}}),oe.default.createElement(lt,{variant:"outlined",name:"Tree",multiline:!0,minRows:5,maxRows:10,fullWidth:!0,placeholder:"Paste newick tree (optional)",value:m,onChange:R=>{C(R.target.value)}}))),oe.default.createElement(Er,{feature:r,...b}),oe.default.createElement(lt,{variant:"outlined",name:"MSA row name",fullWidth:!0,required:!0,className:s.queryNameInput,placeholder:"Row name in MSA that corresponds to the selected transcript",helperText:"Required: Specify the name of the row in your MSA that should be aligned with the selected transcript",value:y,onChange:R=>{B(R.target.value)}}),y.trim()?null:oe.default.createElement(rr.Alert,{severity:"warning",className:s.warningAlert},"Without specifying the MSA row name, clicking on the MSA will not navigate to the corresponding genome position, and hovering highlights will not work.")),oe.default.createElement(cn,{submitDisabled:!S||l==="file"&&!E||l==="text"&&!u.trim(),onSubmit:()=>{try{S&&(c(void 0),O1({session:o,newViewTitle:go(S),view:i,feature:S,querySeqName:y.trim(),...l==="file"?{msaFilehandle:E,treeFilehandle:I}:{data:{msa:u,tree:m}}}),n())}catch(R){console.error(R),c(R)}},onCancel:n}))}),xQ=fR;var br=f(Q()),VQ=f(de());Of();var YQ=f(N()),WQ=f(Qe());var fe=f(Q());fd();var Vt=f(N()),NQ=f(U()),LQ=f(Qe());var tt=f(Q()),SQ=f(Me());V();var yQ=f(P(),1),wQ=(0,D.createSvgIcon)((0,yQ.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete");var gt=f(N()),QQ=f(U()),MQ=f(Qe());var Mm=f(de());function Vl({newViewTitle:e,view:t,feature:r,blastParams:n}){(0,Mm.getSession)(t).addView("MsaView",{type:"MsaView",displayName:e,connectedViewId:t.id,connectedFeature:r.toJSON(),drawNodeBubbles:!0,colWidth:10,rowHeight:12,blastParams:n})}function bQ({newViewTitle:e,view:t,cached:r}){(0,Mm.getSession)(t).addView("MsaView",{type:"MsaView",displayName:e,connectedViewId:t.id,drawNodeBubbles:!0,colWidth:10,rowHeight:12,data:{msa:r.msa,tree:r.tree,treeMetadata:r.treeMetadata}})}function Yl(e){let{data:t,error:r,mutate:n}=ho(`cached-blast-${e.join(",")}`,async()=>(await kS()).filter(a=>a.geneId&&e.includes(a.geneId)),Co);return{results:t??[],error:r,isLoading:!t&&!r,handleDelete:async s=>{await NS(s),await n(a=>a?.filter(c=>c.id!==s)??[],!1)},handleClearAll:async()=>{await LS(),await n([],!1)}}}var dR=(0,MQ.makeStyles)()({header:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8},resultList:{maxHeight:300,overflow:"auto"}});function BQ(e){let t=[e.geneName,e.transcriptName!==e.geneName?e.transcriptName:void 0].filter(r=>!!r);return t.length>0?t.join(" - "):e.geneId??e.transcriptId??"Unknown"}var mR=(0,QQ.observer)(function({model:e,handleClose:t,feature:r}){let{classes:n}=dR(),o=tr(e),[i,s]=(0,tt.useState)(),a=(0,tt.useMemo)(()=>El(r),[r]),{results:c,error:l,isLoading:A,handleDelete:u,handleClearAll:d}=Yl(a),m=E=>{bQ({view:o,cached:E,newViewTitle:`BLAST - ${BQ(E)}`}),t()},C=l??i;return C?tt.default.createElement(SQ.ErrorMessage,{error:C}):A?tt.default.createElement(gt.Typography,null,"Loading cached results..."):c.length===0?tt.default.createElement(gt.Typography,{color:"textSecondary"},"No cached BLAST results found for this gene. Run a BLAST query to cache results."):tt.default.createElement("div",null,tt.default.createElement("div",{className:n.header},tt.default.createElement(gt.Typography,{variant:"subtitle1"},"Cached BLAST Results (",c.length,")"),tt.default.createElement(gt.Button,{size:"small",color:"error",onClick:async()=>{try{s(void 0),await d()}catch(E){s(E)}}},"Clear All")),tt.default.createElement(gt.List,{dense:!0,className:n.resultList},c.map(E=>tt.default.createElement(gt.ListItem,{key:E.id,disablePadding:!0,secondaryAction:tt.default.createElement(gt.IconButton,{edge:"end",size:"small",onClick:async x=>{x.stopPropagation();try{s(void 0),await u(E.id)}catch(I){s(I)}}},tt.default.createElement(wQ,{fontSize:"small"}))},tt.default.createElement(gt.ListItemButton,{onClick:()=>{m(E)}},tt.default.createElement(gt.ListItemText,{primary:`${BQ(E)} - ${E.blastDatabase}/${E.blastProgram} (${E.msaAlgorithm})`,secondary:`${new Date(E.timestamp).toLocaleString()} - Seq: ${E.proteinSequence.slice(0,30)}...`}))))))}),vQ=mR;var vm=f(Q()),kQ=f(N());var Wl="https://blast.ncbi.nlm.nih.gov/Blast.cgi",TQ=["clustalo","muscle","kalign","mafft"],_Q=["nr","nr_cluster_seq"],DQ=["blastp","quick-blastp"];function Zs({value:e,onChange:t,className:r}){return vm.default.createElement(lt,{variant:"outlined",label:"MSA Algorithm",className:r,select:!0,value:e,onChange:n=>{t(n.target.value)}},TQ.map(n=>vm.default.createElement(kQ.MenuItem,{value:n,key:n},n)))}var pR=(0,LQ.makeStyles)()({selectField:{width:150},databaseFieldContainer:{display:"flex"},clusterSeqMessage:{marginLeft:4,alignContent:"center"},cachedResultsAccordion:{marginTop:20},infoText:{marginTop:20}}),gR=(0,NQ.observer)(function({handleClose:e,feature:t,model:r,children:n,baseUrl:o}){let{classes:i}=pR(),s=tr(r),[a,c]=(0,fe.useState)(),[l,A]=(0,fe.useState)("nr"),[u,d]=(0,fe.useState)("clustalo"),[m,C]=(0,fe.useState)("quick-blastp"),E=(0,fe.useMemo)(()=>El(t),[t]),{results:x,error:I}=Yl(E),p=Hr({feature:t,view:s}),{selectedTranscript:y,proteinSequence:B}=p,b=p.error??a??I;return fe.default.createElement(fe.default.Fragment,null,fe.default.createElement(hr,{error:b},n,fe.default.createElement(lt,{variant:"outlined",label:"BLAST database",className:i.selectField,select:!0,value:l,onChange:S=>{let M=S.target.value;A(M),M==="nr_cluster_seq"&&C("blastp")}},_Q.map(S=>fe.default.createElement(Vt.MenuItem,{value:S,key:S},S))),fe.default.createElement(Zs,{className:i.selectField,value:u,onChange:d}),fe.default.createElement("div",{className:i.databaseFieldContainer},fe.default.createElement(lt,{variant:"outlined",label:"BLAST program",disabled:l==="nr_cluster_seq",className:i.selectField,select:!0,value:m,onChange:S=>{C(S.target.value)}},DQ.map(S=>fe.default.createElement(Vt.MenuItem,{value:S,key:S},S))),l==="nr_cluster_seq"?fe.default.createElement(Vt.Typography,{variant:"subtitle2",className:i.clusterSeqMessage},"Can only use blastp on nr_cluster_seq"):null),fe.default.createElement(Er,{feature:t,...p}),fe.default.createElement(Vt.Typography,{className:i.infoText},"This panel will automatically submit a query to NCBI. Using blastp can take 10+ minutes to run, quick-blastp is generally a lot faster but is not available for the clustered database. After completion, all the hits will be run through a multiple sequence alignment. Note: we are not able to currently run NCBI COBALT automatically on the BLAST results, even though that is the method NCBI uses on their website. If you need a COBALT alignment, please use the manual approach of submitting BLAST yourself and downloading the resulting files"),x.length>0?fe.default.createElement(Vt.Accordion,{className:i.cachedResultsAccordion},fe.default.createElement(Vt.AccordionSummary,{expandIcon:fe.default.createElement(Jc,null)},fe.default.createElement(Vt.Typography,null,"Previous BLAST Results")),fe.default.createElement(Vt.AccordionDetails,null,fe.default.createElement(vQ,{model:r,handleClose:e,feature:t}))):null),fe.default.createElement(cn,{submitDisabled:!B,onSubmit:()=>{try{y&&(c(void 0),Vl({feature:y,view:s,newViewTitle:hl(t,y),blastParams:{baseUrl:o,blastProgram:m,blastDatabase:l,msaAlgorithm:u,selectedTranscript:y,proteinSequence:B}}),e())}catch(S){console.error(S),c(S)}},onCancel:e}))}),RQ=gR;var jr=f(Q()),PQ=f(de()),Gi=f(N()),OQ=f(U()),GQ=f(Qe());zl();var hR=(0,GQ.makeStyles)()({ncbiLink:{wordBreak:"break-all",margin:30,maxWidth:600},infoText:{marginTop:20}}),CR=(0,OQ.observer)(function({handleClose:e,feature:t,model:r,children:n,baseUrl:o}){let{classes:i}=hR(),s=tr(r),a=Hr({feature:t,view:s}),{proteinSequence:c,error:l}=a,A=Cl(c),u=`${o}?PAGE_TYPE=BlastSearch&PAGE=Proteins&PROGRAM=blastp&QUERY=${A}`,d=`${o}?PAGE_TYPE=BlastSearch&PAGE=Proteins&PROGRAM=blastp&QUERY=${(0,PQ.shorten2)(A,10)}`;return jr.default.createElement(jr.default.Fragment,null,jr.default.createElement(hr,{error:l},n,jr.default.createElement(Er,{feature:t,...a}),c?jr.default.createElement("div",{className:i.ncbiLink},"Link to NCBI BLAST: ",jr.default.createElement(Eo,{href:u},d)):null,jr.default.createElement(Gi.Typography,{className:i.infoText},`Click the link above and run your BLAST query, and once you have results, click "Multiple Alignment" at the top of the results page to be redirected to COBALT, NCBI's multiple sequence aligner. Once COBALT completes, you can download an MSA (.aln file) and optionally a Newick tree (.nh) and paste the results into JBrowse`)),jr.default.createElement(Gi.DialogActions,null,jr.default.createElement(Gi.Button,{color:"primary",variant:"contained",onClick:()=>{e()}},"Close")))}),UQ=CR;var ln=f(Q()),nr=f(N());function _m({lookupMethod:e,setLookupMethod:t}){return ln.default.createElement(nr.FormControl,{component:"fieldset"},ln.default.createElement(nr.RadioGroup,{row:!0,value:e,onChange:r=>{t(r.target.value)}},ln.default.createElement(nr.FormControlLabel,{value:"automatic",control:ln.default.createElement(nr.Radio,null),label:"Automatic"}),ln.default.createElement(nr.FormControlLabel,{value:"rid",control:ln.default.createElement(nr.Radio,null),label:"Load from RID"}),ln.default.createElement(nr.FormControlLabel,{value:"manual",control:ln.default.createElement(nr.Radio,null),label:"Manual"})))}var ht=f(Q()),$l=f(N()),HQ=f(U()),jQ=f(Qe());zl();var ER=(0,jQ.makeStyles)()({marginBottom:{marginBottom:16},ridField:{width:150},infoText:{marginTop:20}}),IR=(0,HQ.observer)(function({handleClose:e,feature:t,model:r,children:n,baseUrl:o}){let{classes:i}=ER(),s=tr(r),[a,c]=(0,ht.useState)(),[l,A]=(0,ht.useState)(""),[u,d]=(0,ht.useState)("clustalo"),m=Hr({feature:t,view:s}),{selectedTranscript:C,proteinSequence:E}=m,x=m.error??a,I=l.trim();return ht.default.createElement(ht.default.Fragment,null,ht.default.createElement(hr,{error:x},n,ht.default.createElement($l.Typography,{variant:"body2",className:i.marginBottom},"Enter the RID (Request ID) from a previously submitted NCBI BLAST query. You can find the RID in the BLAST results page URL or at the top of the results page. RIDs are typically valid for 24-36 hours after submission."),ht.default.createElement(lt,{variant:"outlined",label:"BLAST RID",placeholder:"e.g., ABC12345",fullWidth:!0,className:i.marginBottom,value:l,onChange:p=>{A(p.target.value)}}),I?ht.default.createElement($l.Typography,{variant:"body2",className:i.marginBottom},ht.default.createElement(Eo,{href:`${o}?CMD=Get&RID=${I}`},"View BLAST results on NCBI")):null,ht.default.createElement(Zs,{className:i.ridField,value:u,onChange:d}),ht.default.createElement(Er,{feature:t,...m}),ht.default.createElement($l.Typography,{className:i.infoText},"This will fetch the BLAST results for the provided RID and run them through a multiple sequence alignment. The protein sequence from the selected transcript will be added as the query sequence in the MSA.")),ht.default.createElement(cn,{submitDisabled:!E||!I,onSubmit:()=>{try{C&&I&&(c(void 0),Vl({feature:C,view:s,newViewTitle:hl(t,C),blastParams:{baseUrl:o,blastProgram:"blastp",blastDatabase:"nr",msaAlgorithm:u,selectedTranscript:C,proteinSequence:E,rid:I}}),e())}catch(p){console.error(p),c(p)}},onCancel:e}))}),qQ=IR;var wr=f(Q()),or=f(N()),JQ=f(Qe());var xR=(0,JQ.makeStyles)()({urlField:{minWidth:300}});function Dm({handleClose:e,baseUrl:t}){let{classes:r}=xR(),[n,o]=(0,wr.useState)(t);return wr.default.createElement(or.Dialog,{open:!0,maxWidth:"lg",onClose:()=>{e()}},wr.default.createElement(or.DialogTitle,null,"BLAST Settings"),wr.default.createElement(or.DialogContent,null,wr.default.createElement(lt,{autoFocus:!0,margin:"dense",label:"BLAST Base URL",fullWidth:!0,variant:"outlined",value:n,className:r.urlField,onChange:i=>{o(i.target.value)}}),wr.default.createElement(or.Button,{variant:"contained",onClick:()=>{o(Wl)}},"Reset")),wr.default.createElement(or.DialogActions,null,wr.default.createElement(or.Button,{variant:"contained",color:"secondary",onClick:()=>{e()}},"Cancel"),wr.default.createElement(or.Button,{color:"primary",variant:"contained",onClick:()=>{e(n)}},"Save")))}var yR=(0,WQ.makeStyles)()({settingsButton:{float:"right"}}),wR={automatic:RQ,rid:qQ,manual:UQ};function km({handleClose:e,model:t,feature:r}){let[n,o]=(0,br.useState)("automatic"),[i,s]=(0,VQ.useLocalStorage)("msa-blastRootUrl",Wl),[a,c]=(0,br.useState)(!1),{classes:l}=yR(),A=wR[n];return br.default.createElement(br.default.Fragment,null,br.default.createElement(YQ.IconButton,{className:l.settingsButton,size:"small",onClick:()=>{c(!0)}},br.default.createElement(_c,null)),br.default.createElement(A,{model:t,feature:r,handleClose:e,baseUrl:i},br.default.createElement(_m,{lookupMethod:n,setLookupMethod:o})),a?br.default.createElement(Dm,{baseUrl:i,handleClose:u=>{u&&s(u),c(!1)}}):null)}var Ct=f(Q()),ea=f(Me()),Xl=f(de()),rM=f(N()),nM=f(U());var oM=f(Qe());Cn();function Nm(e,t="",r=5e3){let n=[e];for(;n.length;){let o=n.pop();for(let[i,s]of Object.entries(o)){if(t.length>r)return If(t);typeof s=="object"&&s!==null?n.push(s):i==="locationType"&&s==="FileHandleLocation"?t+=`${i}-BlobLocation`:i==="handleId"?t+=`blobId-fh-blob-${s}`:t+=`${i}-${s}`}}return`adp-${If(t)}`}function zQ(e={}){return e.type&&e.adapterId?`${e.type}-${e.adapterId}`:`${Nm(e)}`}var $Q={};async function bR(e,t,r){let n=r?.type;if(!n)throw new Error(`could not determine adapter type from adapter config snapshot ${JSON.stringify(r)}`);let o=e.getAdapterType(n);if(!o)throw new Error(`unknown data adapter type ${n}`);let i=o.configSchema.create(r,{pluginManager:e}),s=Lm.bind(null,e,t),a=await o.getAdapterClass();return{dataAdapter:new a(i,s,e),sessionIds:new Set([t])}}async function Lm(e,t,r){let n=zQ(r);$Q[n]??=bR(e,t,r);let o=await $Q[n];return o.sessionIds.add(t),o}async function KQ(e,t){return(await Lm(e,"msa",t)).dataAdapter}async function XQ({config:e,pluginManager:t}){return(await KQ(t,e)).getMSAList()}async function ZQ({config:e,pluginManager:t,msaId:r}){return(await KQ(t,e)).getMSA(r)}function eM({session:e,newViewTitle:t,view:r,feature:n,data:o,querySeqName:i}){e.addView("MsaView",{type:"MsaView",displayName:t,treeAreaWidth:200,querySeqName:i,treeWidth:100,drawNodeBubbles:!1,labelsAlignRight:!0,showBranchLen:!1,colWidth:10,rowHeight:12,colorSchemeName:"percent_identity_dynamic",data:o,connectedViewId:r.id,connectedFeature:n.toJSON()})}var tM=f(Do());function Kl(e){return(0,tM.readConfObject)(e,["msa","datasets"])}var BR=(0,oM.makeStyles)()({selectedContainer:{marginTop:50}}),SR=(0,nM.observer)(function({model:e,feature:t,handleClose:r}){let n=(0,Xl.getSession)(e),o=tr(e),{classes:i}=BR(),{pluginManager:s}=(0,Xl.getEnv)(e),{assemblyNames:a}=o,[c,l]=(0,Ct.useState)(),A=Kl(n.jbrowse),[u,d]=(0,Ct.useState)(A?.[0]?.datasetId),m=A?.find(G=>G.datasetId===u),{data:C,isLoading:E,error:x}=ho(m?`${m.datasetId}-msa-list`:null,()=>XQ({config:m.adapter,pluginManager:s}),Co),I=Hr({feature:t,view:o,validIds:C}),{selectedId:p,selectedTranscript:y}=I,{data:B,isLoading:b,error:S}=ho(p&&m&&C?`${m.datasetId}-${p}-${C.length}-msa`:null,()=>ZQ({msaId:p,config:m.adapter,pluginManager:s}),Co),M=x??S??I.error??c;return Ct.default.createElement(Ct.default.Fragment,null,Ct.default.createElement(hr,{error:M},Ct.default.createElement(lt,{select:!0,label:"Select MSA dataset",value:u,onChange:G=>{d(G.target.value)}},A?.map(G=>Ct.default.createElement(rM.MenuItem,{key:G.datasetId,value:G.datasetId},G.name))),m?Ct.default.createElement("div",{className:i.selectedContainer},!E&&b?Ct.default.createElement(ea.LoadingEllipses,{variant:"h6",message:`Loading MSA for (${p})`}):null,E?Ct.default.createElement(ea.LoadingEllipses,{variant:"h6",message:`Loading available MSAs for (${m.name})`}):null,C?Ct.default.createElement("div",null,Ct.default.createElement(ea.SanitizedHTML,{html:m.description}),Ct.default.createElement(Er,{feature:t,...I})):null):null),Ct.default.createElement(cn,{submitDisabled:!y||!B?.length,onSubmit:()=>{try{if(y&&B){let G=`${p}_${a[0]}`;eM({session:n,newViewTitle:go(y),view:o,querySeqName:G,feature:y,data:{msa:B.map(R=>`>${R.get("refName")}
74
+ ${R.get("seq")}`).join(`
75
+ `)}}),r()}}catch(G){l(G)}},onCancel:r}))}),iM=SR;var sM=f(Q());function ta({children:e,value:t,index:r,...n}){return sM.default.createElement("div",{role:"tabpanel",hidden:t!==r,...n},t===r?e:null)}function Rm({handleClose:e,feature:t,model:r}){let n=(0,cM.getSession)(r),i=!!Kl(n.jbrowse)?.length,[s,a]=(0,Nt.useState)("ncbi_blast");return Nt.default.createElement(aM.Dialog,{maxWidth:"xl",title:"Launch MSA view",open:!0,onClose:e},Nt.default.createElement(Ui.Tabs,{value:s,onChange:(c,l)=>{a(l)}},Nt.default.createElement(Ui.Tab,{label:"NCBI BLAST query",value:"ncbi_blast"}),i?Nt.default.createElement(Ui.Tab,{label:"Pre-loaded MSA datasets",value:"preloaded_msa"}):null,Nt.default.createElement(Ui.Tab,{label:"Manual upload",value:"manual_msa"})),Nt.default.createElement(ta,{value:s,index:"ncbi_blast"},Nt.default.createElement(km,{handleClose:e,feature:t,model:r})),i?Nt.default.createElement(ta,{value:s,index:"preloaded_msa"},Nt.default.createElement(iM,{model:r,feature:t,handleClose:e})):null,Nt.default.createElement(ta,{value:s,index:"manual_msa"},Nt.default.createElement(xQ,{model:r,feature:t,handleClose:e})))}function QR(e){return e.name==="LinearBasicDisplay"}function MR(e){return e.views(t=>{let r=t.contextMenuItems;return{contextMenuItems(){let n=t.contextMenuFeature,o=(0,Zl.getContainingTrack)(t),i=n?.get("type"),s=n&&["gene","mRNA","transcript"].includes(i);return[...r(),...s?[{label:"Launch MSA view",icon:P1,onClick:()=>{(0,Zl.getSession)(o).queueDialog(a=>[Rm,{model:o,handleClose:a,feature:n}])}}]:[]]}}})}function Fm(e){e.addToExtensionPoint("Core-extendPluggableElement",t=>(QR(t)&&(t.stateModel=MR(t.stateModel)),t))}function Pm(e){e.addToExtensionPoint("LaunchView-MsaView",({session:t,data:r,msaFileLocation:n,treeFileLocation:o,connectedViewId:i,connectedFeature:s,displayName:a,colorSchemeName:c,colWidth:l,rowHeight:A,treeAreaWidth:u,treeWidth:d,drawNodeBubbles:m,labelsAlignRight:C,showBranchLen:E,querySeqName:x,highlightColumns:I})=>{if(!r&&!n)throw new Error("No MSA data or file location provided when launching MSA view");t.addView("MsaView",{type:"MsaView",displayName:a,connectedViewId:i,connectedFeature:s,colorSchemeName:c,colWidth:l,rowHeight:A,treeAreaWidth:u,treeWidth:d,drawNodeBubbles:m,labelsAlignRight:C,showBranchLen:E,highlightColumns:I,init:{msaData:r?.msa,treeData:r?.tree,msaUrl:n?.uri,treeUrl:o?.uri,querySeqName:x}})})}var BM=f(Q()),SM=f(AM());var RR=(0,BM.lazy)(()=>Promise.resolve().then(()=>(bM(),wM)));function Hm(e){e.addViewType(()=>new SM.default({name:"MsaView",stateModel:em(),ReactComponent:RR}))}var QM="2.5.2";var rA=class extends MM.default{constructor(){super(...arguments);this.name="MsaViewPlugin";this.version=QM;this.rootConfigurationSchema=r=>({msa:(0,jm.ConfigurationSchema)("MSA",{datasets:qm.types.maybe(qm.types.array((0,jm.ConfigurationSchema)("MSAEntry",{datasetId:{type:"string",defaultValue:""},description:{type:"string",defaultValue:""},name:{type:"string",defaultValue:""},adapter:r.pluggableConfigSchemaType("adapter")})))})})}install(r){Hm(r),Fm(r),Pm(r),im(r),am(r)}configure(r){(0,vM.isAbstractMenuManager)(r.rootModel)&&r.rootModel.appendToSubMenu(["Add"],{label:"Multiple sequence alignment view",icon:Cp,onClick:n=>{n.addView("MsaView",{})}})}};return KM(FR);})();
76
76
  /*! Bundled license information:
77
77
 
78
78
  react-is/cjs/react-is.production.min.js:
@@ -95,7 +95,7 @@ escape-html/index.js:
95
95
  *)
96
96
 
97
97
  dompurify/dist/purify.es.mjs:
98
- (*! @license DOMPurify 3.4.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.7/LICENSE *)
98
+ (*! @license DOMPurify 3.4.11 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.11/LICENSE *)
99
99
 
100
100
  use-sync-external-store/cjs/use-sync-external-store-shim.production.js:
101
101
  (**