gensplore 0.0.11 → 0.0.12

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.
@@ -6,7 +6,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
6
6
  font-size: .6rem;
7
7
  font-weight: bold;
8
8
  color: hsl(${Math.max(0,Math.min(120-120*r,120))}deg 100% 31%);`,n?.key)}return n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i}return o.updateDeps=e=>{r=e},o}function Ze(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var Qe=(e,t)=>Math.abs(e-t)<1.01,$e=(e,t,n)=>{let r;return Object.assign(function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)},{cancel:()=>{e.clearTimeout(r)}})},et,tt=()=>{if(et!==void 0)return et;if(typeof navigator>`u`)return et=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return et=!0;let e=navigator.maxTouchPoints;return et=navigator.platform===`MacIntel`&&e!==void 0&&e>0},nt=e=>e,rt=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},it={passive:!0},at=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=()=>{t({width:n.innerWidth,height:n.innerHeight})};return r(),n.addEventListener(`resize`,r,it),()=>{n.removeEventListener(`resize`,r)}},ot=typeof window>`u`||`onscrollend`in window,st=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&ot,o=0,s=a?null:$e(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,it),a&&r.addEventListener(`scrollend`,u,it),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u),s?.cancel()}},ct=(e,t)=>st(e,t,t=>e.options.horizontal?t.scrollX:t.scrollY),lt=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},ut=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},dt=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this._clampedAdjustment=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.isIndexInRange(n)&&this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:nt,rangeExtractor:rt,onChange:()=>{},measureElement:lt,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=Math.max(0,e.start+t);n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=Xe(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:process.env.NODE_ENV!==`production`&&`maybeNotify`,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.isScrolling=!1,this.scrollDirection=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._clampedAdjustment=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.targetWindow=this.scrollElement&&`ownerDocument`in this.scrollElement?this.scrollElement.ownerDocument.defaultView:this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this._clampedAdjustment!==null&&Math.abs(e-this._clampedAdjustment.maxAtWrite)>=1.5&&(this._clampedAdjustment=null),this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,tt()&&this.targetWindow!=null&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,it),e.addEventListener(`touchend`,n,it),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(tt()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}this._retryClampedAdjustment()},this._retryClampedAdjustment=()=>{if(this._clampedAdjustment===null||!this.scrollElement||!this.options.enabled)return;let{target:e,maxAtWrite:t}=this._clampedAdjustment,n=this.getMaxScrollOffset();n>t+.5&&(this._clampedAdjustment=e>n+.5?{target:e,maxAtWrite:n}:null,this._scrollToOffset(e,{adjustments:void 0,behavior:void 0}))},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;if(this._iosDeferredAdjustment<0&&e>=t-1){this._iosDeferredAdjustment=0;return}let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=Xe(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.isIndexInRange=e=>e>=0&&e<this.options.count,this.getMeasurements=Xe(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._flatMeasurements;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,u*2)),a=e,this._flatMeasurements=a}let o;if(u===0)o=t+n;else{let e=u-1;o=a[e*2]+a[e*2+1]+s}for(let t=u;t<e;t++){let e=r(t),n=l.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=o,a[t*2+1]=i,o+=i+s}let c=Ye(e,a,r);return this.measurementsCache=c,c}let d=this.measurementsCache.slice(0,u),f=Array(a).fill(void 0),p=new Float64Array(a),m=0;for(let e=0;e<u;e++){let t=d[e];t&&(f[t.lane]===void 0&&m++,f[t.lane]=e,p[t.lane]=t.end)}for(let i=u;i<e;i++){let e=r(i),c=this.laneAssignments.get(i),u,h,g=o===`estimate`||l.has(e);if(c!==void 0&&this.options.lanes>1){u=c;let e=f[u],r=e===void 0?void 0:d[e];h=r?r.end+s:t+n}else if(m===a){let e=0,t=p[0],n=f[0];for(let r=1;r<a;r++){let i=p[r];(i<t||i===t&&f[r]<n)&&(e=r,t=i,n=f[r])}u=e,h=t+s,g&&this.laneAssignments.set(i,u)}else u=i%this.options.lanes,h=t+n,g&&this.laneAssignments.set(i,u);let _=l.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=h+v;d[i]={index:i,start:h,size:v,end:y,key:e,lane:u},f[u]===void 0&&m++,f[u]=i,p[u]=y}return this.measurementsCache=d,d},{key:process.env.NODE_ENV!==`production`&&`getMeasurements`,debug:()=>this.options.debug}),this.calculateRange=Xe(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=mt(e,t,n,r,r===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:process.env.NODE_ENV!==`production`&&`calculateRange`,debug:()=>this.options.debug}),this.getVirtualIndexes=Xe(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:process.env.NODE_ENV!==`production`&&`getVirtualIndexes`,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e);if(!this.isIndexInRange(t))return;let n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(!this.isIndexInRange(e))return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=this.itemSizeCache.get(i)??n,s=t-o;if(s!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,c=a?this.getTotalSize():0,l=this.getScrollOffset()+this.scrollAdjustments,u=this.itemSizeCache.has(i)?r+o<=l&&this.scrollDirection!==`backward`:r<l,d=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?u:this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},s,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++;let f=!1;a?f=this.applyScrollAdjustment(this.getTotalSize()-c):d&&(f=this.applyScrollAdjustment(s)),this.notify(f),this._retryClampedAdjustment()}},this.getVirtualItems=Xe(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:process.env.NODE_ENV!==`production`&&`getVirtualItems`,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return Ze(t[ft(0,t.length-1,r?e=>n[e*2]:e=>Ze(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`){if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t]}if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0;let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0,e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){if(e===0)return!1;if(process.env.NODE_ENV!==`production`&&this.options.debug&&console.info(`correction`,e),tt()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded))return this._iosDeferredAdjustment+=e,!1;{let n=this.getScrollOffset()+this.scrollAdjustments+e,r=this.scrollElement,i=r!==null&&(`scrollHeight`in r||`document`in r)?this.getMaxScrollOffset():null;return this._clampedAdjustment=i!==null&&n>i+.5?{target:n,maxAtWrite:i}:null,this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0}}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&Qe(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},ft=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function pt(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function mt(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=pt(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=ft(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var ht=typeof document<`u`?u.useLayoutEffect:u.useEffect;function gt({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=u.useReducer(e=>e+1,0)[1],a=u.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}},s=e=>{let t=a.current;if(!t.enabled||!t.container)return;o(e);let n=!!e.options.horizontal,r=t.mode===`transform`,i=n?`left`:`top`,s=e.options.scrollMargin,c=e.getVirtualItems();for(let a of c){let o=a.start-s,c=e.elementsCache.get(a.key);c&&t.lastPositions.get(c)!==o&&(t.lastPositions.set(c,o),r?c.style.transform=n?`translate3d(${o}px, 0, 0)`:`translate3d(0, ${o}px, 0)`:c.style[i]=`${o}px`)}},c={...r,onChange:(t,n)=>{var o;let c=a.current,l=!0;if(c.enabled){s(t);let e=t.range,n=c.prevRange;l=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,l&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}l&&(e&&n?(0,f.flushSync)(i):i()),(o=r.onChange)==null||o.call(r,t,n)}},[l]=u.useState(()=>{let e=new dt(c);return Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return l.setOptions(c),ht(()=>l._didMount(),[]),ht(()=>(o(l),l._willUpdate())),ht(()=>{s(l)}),l}function _t(e){return gt({getScrollElement:()=>typeof document<`u`?window:null,observeElementRect:at,observeElementOffset:ct,scrollToFn:ut,initialOffset:()=>typeof document<`u`?window.scrollY:0,...e})}var vt=class extends Map{constructor(e){super(),this.factory=e}get(e){let t=super.get(e);return t===void 0&&(t=this.factory(e),this.set(e,t)),t}},yt=Object.defineProperty,bt=(e,t,n)=>t in e?yt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,xt=(e,t,n)=>(bt(e,typeof t==`symbol`?t:t+``,n),n),St=(e,t,n)=>{if(!t.has(e))throw TypeError(`Cannot `+n)},Ct=(e,t,n)=>(St(e,t,`read from private field`),n?n.call(e):t.get(e)),wt=(e,t,n)=>{if(t.has(e))throw TypeError(`Cannot add the same private member more than once`);t instanceof WeakSet?t.add(e):t.set(e,n)},Tt=(e,t,n,r)=>(St(e,t,`write to private field`),r?r.call(e,n):t.set(e,n),n),Et,Dt,Ot,kt=class{constructor(e){wt(this,Et,{}),wt(this,Dt,new vt(()=>new Set)),wt(this,Ot,new Set),xt(this,`disposables`,ie()),Tt(this,Et,e),R.isServer&&this.disposables.microTask(()=>{this.dispose()})}dispose(){this.disposables.dispose()}get state(){return Ct(this,Et)}subscribe(e,t){if(R.isServer)return()=>{};let n={selector:e,callback:t,current:e(Ct(this,Et))};return Ct(this,Ot).add(n),this.disposables.add(()=>{Ct(this,Ot).delete(n)})}on(e,t){return R.isServer?()=>{}:(Ct(this,Dt).get(e).add(t),this.disposables.add(()=>{Ct(this,Dt).get(e).delete(t)}))}send(e){let t=this.reduce(Ct(this,Et),e);if(t!==Ct(this,Et)){Tt(this,Et,t);for(let e of Ct(this,Ot)){let t=e.selector(Ct(this,Et));At(e.current,t)||(e.current=t,e.callback(t))}for(let t of Ct(this,Dt).get(e.type))t(Ct(this,Et),e)}}};Et=new WeakMap,Dt=new WeakMap,Ot=new WeakMap;function At(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t?!1:Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&jt(e[Symbol.iterator](),t[Symbol.iterator]()):e instanceof Map&&t instanceof Map||e instanceof Set&&t instanceof Set?e.size===t.size&&jt(e.entries(),t.entries()):Mt(e)&&Mt(t)?jt(Object.entries(e)[Symbol.iterator](),Object.entries(t)[Symbol.iterator]()):!1}function jt(e,t){do{let n=e.next(),r=t.next();if(n.done&&r.done)return!0;if(n.done||r.done||!Object.is(n.value,r.value))return!1}while(1)}function Mt(e){if(Object.prototype.toString.call(e)!==`[object Object]`)return!1;let t=Object.getPrototypeOf(e);return t===null||Object.getPrototypeOf(t)===null}var Nt=Object.defineProperty,Pt=(e,t,n)=>t in e?Nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ft=(e,t,n)=>(Pt(e,typeof t==`symbol`?t:t+``,n),n),It=(e=>(e[e.Push=0]=`Push`,e[e.Pop=1]=`Pop`,e))(It||{}),Lt={0(e,t){let n=t.id,r=e.stack,i=e.stack.indexOf(n);if(i!==-1){let t=e.stack.slice();return t.splice(i,1),t.push(n),r=t,{...e,stack:r}}return{...e,stack:[...e.stack,n]}},1(e,t){let n=t.id,r=e.stack.indexOf(n);if(r===-1)return e;let i=e.stack.slice();return i.splice(r,1),{...e,stack:i}}},Rt=class e extends kt{constructor(){super(...arguments),Ft(this,`actions`,{push:e=>this.send({type:0,id:e}),pop:e=>this.send({type:1,id:e})}),Ft(this,`selectors`,{isTop:(e,t)=>e.stack[e.stack.length-1]===t,inStack:(e,t)=>e.stack.includes(t)})}static new(){return new e({stack:[]})}reduce(e,t){return V(t.type,Lt,e,t)}},zt=new vt(()=>Rt.new()),Bt=o((e=>{var t=require("react");function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useSyncExternalStore,a=t.useRef,o=t.useEffect,s=t.useMemo,c=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,l,u){var d=a(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=s(function(){function e(e){if(!i){if(i=!0,a=e,e=l(e),u!==void 0&&f.hasValue){var t=f.value;if(u(t,e))return o=t}return o=e}if(t=o,r(a,e))return t;var n=l(e);return u!==void 0&&u(t,n)?(a=e,t):(a=e,o=n)}var i=!1,a,o,s=n===void 0?null:n;return[function(){return e(t())},s===null?void 0:function(){return e(s())}]},[t,n,l,u]);var p=i(e,d[0],d[1]);return o(function(){f.hasValue=!0,f.value=p},[p]),c(p),p}})),Vt=o((e=>{process.env.NODE_ENV!==`production`&&(function(){function t(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=require("react"),r=typeof Object.is==`function`?Object.is:t,i=n.useSyncExternalStore,a=n.useRef,o=n.useEffect,s=n.useMemo,c=n.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,l,u){var d=a(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=s(function(){function e(e){if(!i){if(i=!0,a=e,e=l(e),u!==void 0&&f.hasValue){var t=f.value;if(u(t,e))return o=t}return o=e}if(t=o,r(a,e))return t;var n=l(e);return u!==void 0&&u(t,n)?(a=e,t):(a=e,o=n)}var i=!1,a,o,s=n===void 0?null:n;return[function(){return e(t())},s===null?void 0:function(){return e(s())}]},[t,n,l,u]);var p=i(e,d[0],d[1]);return o(function(){f.hasValue=!0,f.value=p},[p]),c(p),p},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()})),Ht=o(((e,t)=>{t.exports=process.env.NODE_ENV===`production`?Bt():Vt()}))();function Ut(e,t,n=At){return(0,Ht.useSyncExternalStoreWithSelector)(B(t=>e.subscribe(Wt,t)),B(()=>e.state),B(()=>e.state),B(t),n)}function Wt(e){return e}function Gt(e,t){let n=(0,u.useId)(),r=zt.get(t),[i,a]=Ut(r,(0,u.useCallback)(e=>[r.selectors.isTop(e,n),r.selectors.inStack(e,n)],[r,n]));return oe(()=>{if(e)return r.actions.push(n),()=>r.actions.pop(n)},[r,e,n]),e?!a||i:!1}var Kt=new Map,qt=new Map;function Jt(e){let t=qt.get(e)??0;return qt.set(e,t+1),t===0?(Kt.set(e,{"aria-hidden":e.getAttribute(`aria-hidden`),inert:e.inert}),e.setAttribute(`aria-hidden`,`true`),e.inert=!0,()=>Yt(e)):()=>Yt(e)}function Yt(e){let t=qt.get(e)??1;if(t===1?qt.delete(e):qt.set(e,t-1),t!==1)return;let n=Kt.get(e);n&&(n[`aria-hidden`]===null?e.removeAttribute(`aria-hidden`):e.setAttribute(`aria-hidden`,n[`aria-hidden`]),e.inert=n.inert,Kt.delete(e))}function Xt(e,{allowed:t,disallowed:n}={}){let r=Gt(e,`inert-others`);oe(()=>{if(!r)return;let e=ie();for(let t of n?.()??[])t&&e.add(Jt(t));let i=t?.()??[];for(let t of i){if(!t)continue;let n=z(t);if(!n)continue;let r=t.parentElement;for(;r&&r!==n.body;){for(let t of r.children)i.some(e=>t.contains(e))||e.add(Jt(t));r=r.parentElement}}return e.dispose},[r,t,n])}function Zt(e,t,n){let r=se(e=>{let t=e.getBoundingClientRect();t.x===0&&t.y===0&&t.width===0&&t.height===0&&n()});(0,u.useEffect)(()=>{if(!e)return;let n=t===null?null:Me(t)?t:t.current;if(!n)return;let i=ie();if(typeof ResizeObserver<`u`){let e=new ResizeObserver(()=>r.current(n));e.observe(n),i.add(()=>e.disconnect())}if(typeof IntersectionObserver<`u`){let e=new IntersectionObserver(()=>r.current(n));e.observe(n),i.add(()=>e.disconnect())}return()=>i.dispose()},[t,r,e])}var Qt=[`[contentEditable=true]`,`[tabindex]`,`a[href]`,`area[href]`,`button:not([disabled])`,`iframe`,`input:not([disabled])`,`select:not([disabled])`,`details>summary`,`textarea:not([disabled])`].map(e=>`${e}:not([tabindex='-1'])`).join(`,`),$t=[`[data-autofocus]`].map(e=>`${e}:not([tabindex='-1'])`).join(`,`),en=(e=>(e[e.First=1]=`First`,e[e.Previous=2]=`Previous`,e[e.Next=4]=`Next`,e[e.Last=8]=`Last`,e[e.WrapAround=16]=`WrapAround`,e[e.NoScroll=32]=`NoScroll`,e[e.AutoFocus=64]=`AutoFocus`,e))(en||{}),tn=(e=>(e[e.Error=0]=`Error`,e[e.Overflow=1]=`Overflow`,e[e.Success=2]=`Success`,e[e.Underflow=3]=`Underflow`,e))(tn||{}),nn=(e=>(e[e.Previous=-1]=`Previous`,e[e.Next=1]=`Next`,e))(nn||{});function rn(e=document.body){return e==null?[]:Array.from(e.querySelectorAll(Qt)).sort((e,t)=>Math.sign((e.tabIndex||2**53-1)-(t.tabIndex||2**53-1)))}function an(e=document.body){return e==null?[]:Array.from(e.querySelectorAll($t)).sort((e,t)=>Math.sign((e.tabIndex||2**53-1)-(t.tabIndex||2**53-1)))}var on=(e=>(e[e.Strict=0]=`Strict`,e[e.Loose=1]=`Loose`,e))(on||{});function sn(e,t=0){return e!==z(e)?.body&&V(t,{0(){return e.matches(Qt)},1(){let t=e;for(;t!==null;){if(t.matches(Qt))return!0;t=t.parentElement}return!1}})}var cn=(e=>(e[e.Keyboard=0]=`Keyboard`,e[e.Mouse=1]=`Mouse`,e))(cn||{});typeof window<`u`&&typeof document<`u`&&(document.addEventListener(`keydown`,e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=``)},!0),document.addEventListener(`click`,e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=``)},!0));function ln(e){e?.focus({preventScroll:!0})}var un=[`textarea`,`input`].join(`,`);function dn(e){return(e?.matches)?.call(e,un)??!1}function fn(e,t=e=>e){return e.slice().sort((e,n)=>{let r=t(e),i=t(n);if(r===null||i===null)return 0;let a=r.compareDocumentPosition(i);return a&Node.DOCUMENT_POSITION_FOLLOWING?-1:a&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function pn(e,t,{sorted:n=!0,relativeTo:r=null,skipElements:i=[]}={}){let a=Array.isArray(e)?e.length>0?ee(e[0]):document:ee(e),o=Array.isArray(e)?n?fn(e):e:t&64?an(e):rn(e);i.length>0&&o.length>1&&(o=o.filter(e=>!i.some(t=>t!=null&&`current`in t?t?.current===e:t===e))),r??=a?.activeElement;let s=(()=>{if(t&5)return 1;if(t&10)return-1;throw Error(`Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last`)})(),c=(()=>{if(t&1)return 0;if(t&2)return Math.max(0,o.indexOf(r))-1;if(t&4)return Math.max(0,o.indexOf(r))+1;if(t&8)return o.length-1;throw Error(`Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last`)})(),l=t&32?{preventScroll:!0}:{},u=0,d=o.length,f;do{if(u>=d||u+d<=0)return 0;let e=c+u;if(t&16)e=(e+d)%d;else{if(e<0)return 3;if(e>=d)return 1}f=o[e],f?.focus(l),u+=s}while(f!==te(f));return t&6&&dn(f)&&f.select(),2}function mn(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function hn(){return/Android/gi.test(window.navigator.userAgent)}function gn(){return mn()||hn()}function _n(e,t,n,r){let i=se(n);(0,u.useEffect)(()=>{if(!e)return;function n(e){i.current(e)}return document.addEventListener(t,n,r),()=>document.removeEventListener(t,n,r)},[e,t,r])}function vn(e,t,n,r){let i=se(n);(0,u.useEffect)(()=>{if(!e)return;function n(e){i.current(e)}return window.addEventListener(t,n,r),()=>window.removeEventListener(t,n,r)},[e,t,r])}var yn=30;function bn(e,t,n){let r=se(n),i=(0,u.useCallback)(function(e,n){if(e.defaultPrevented)return;let i=n(e);if(i===null||!i.getRootNode().contains(i)||!i.isConnected)return;let a=function e(t){return typeof t==`function`?e(t()):Array.isArray(t)||t instanceof Set?t:[t]}(t);for(let t of a)if(t!==null&&(t.contains(i)||e.composed&&e.composedPath().includes(t)))return;return!sn(i,on.Loose)&&i.tabIndex!==-1&&e.preventDefault(),r.current(e,i)},[r,t]),a=(0,u.useRef)(null);_n(e,`pointerdown`,e=>{gn()||(a.current=e.composedPath?.call(e)?.[0]||e.target)},!0),_n(e,`pointerup`,e=>{if(gn()||!a.current)return;let t=a.current;return a.current=null,i(e,()=>t)},!0);let o=(0,u.useRef)({x:0,y:0});_n(e,`touchstart`,e=>{o.current.x=e.touches[0].clientX,o.current.y=e.touches[0].clientY},!0),_n(e,`touchend`,e=>{let t={x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY};if(!(Math.abs(t.x-o.current.x)>=yn||Math.abs(t.y-o.current.y)>=yn))return i(e,()=>U(e.target)?e.target:null)},!0),vn(e,`blur`,e=>i(e,()=>Pe(window.document.activeElement)?window.document.activeElement:null),!0)}function xn(...e){return(0,u.useMemo)(()=>z(...e),[...e])}function Sn(e,t,n,r){let i=se(n);(0,u.useEffect)(()=>{e??=window;function n(e){i.current(e)}return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)},[e,t,r])}function Cn(e){return(0,u.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot)}function wn(e,t){let n=e(),r=new Set;return{getSnapshot(){return n},subscribe(e){return r.add(e),()=>r.delete(e)},dispatch(e,...i){let a=t[e].call(n,...i);a&&(n=a,r.forEach(e=>e()))}}}function Tn(){let e;return{before({doc:t}){let n=t.documentElement,r=t.defaultView??window;e=Math.max(0,r.innerWidth-n.clientWidth)},after({doc:t,d:n}){let r=t.documentElement,i=Math.max(0,r.clientWidth-r.offsetWidth),a=Math.max(0,e-i);n.style(r,`paddingRight`,`${a}px`)}}}function En(){return mn()?{before({doc:e,d:t,meta:n}){function r(e){for(let t of n().containers)for(let n of t())if(n.contains(e))return!0;return!1}t.microTask(()=>{if(window.getComputedStyle(e.documentElement).scrollBehavior!==`auto`){let n=ie();n.style(e.documentElement,`scrollBehavior`,`auto`),t.add(()=>t.microTask(()=>n.dispose()))}let n=window.scrollY??window.pageYOffset,i=null;t.addEventListener(e,`click`,t=>{if(U(t.target))try{let n=t.target.closest(`a`);if(!n)return;let{hash:a}=new URL(n.href),o=e.querySelector(a);U(o)&&!r(o)&&(i=o)}catch{}},!0),t.group(n=>{t.addEventListener(e,`touchstart`,e=>{if(n.dispose(),U(e.target)&&Ne(e.target)){if(r(e.target)){let t=e.target;for(;t.parentElement&&r(t.parentElement);)t=t.parentElement;n.style(t,`overscrollBehavior`,`contain`)}else n.style(e.target,`touchAction`,`none`)}})}),t.addEventListener(e,`touchmove`,e=>{if(U(e.target)){if(Fe(e.target))return;if(r(e.target)){let t=e.target;for(;t.parentElement&&t.dataset.headlessuiPortal!==``&&!(t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth);)t=t.parentElement;t.dataset.headlessuiPortal===``&&e.preventDefault()}else e.preventDefault()}},{passive:!1}),t.add(()=>{let e=window.scrollY??window.pageYOffset;n!==e&&window.scrollTo(0,n),i&&i.isConnected&&(i.scrollIntoView({block:`nearest`}),i=null)})})}}:{}}function Dn(){return{before({doc:e,d:t}){t.style(e.documentElement,`overflow`,`hidden`)}}}function On(e){let t={};for(let n of e)Object.assign(t,n(t));return t}var kn=wn(()=>new Map,{PUSH(e,t){let n=this.get(e)??{doc:e,count:0,d:ie(),meta:new Set,computedMeta:{}};return n.count++,n.meta.add(t),n.computedMeta=On(n.meta),this.set(e,n),this},POP(e,t){let n=this.get(e);return n&&(n.count--,n.meta.delete(t),n.computedMeta=On(n.meta)),this},SCROLL_PREVENT(e){let t={doc:e.doc,d:e.d,meta(){return e.computedMeta}},n=[En(),Tn(),Dn()];n.forEach(({before:e})=>e?.(t)),n.forEach(({after:e})=>e?.(t))},SCROLL_ALLOW({d:e}){e.dispose()},TEARDOWN({doc:e}){this.delete(e)}});kn.subscribe(()=>{let e=kn.getSnapshot(),t=new Map;for(let[n]of e)t.set(n,n.documentElement.style.overflow);for(let n of e.values()){let e=t.get(n.doc)===`hidden`,r=n.count!==0;(r&&!e||!r&&e)&&kn.dispatch(n.count>0?`SCROLL_PREVENT`:`SCROLL_ALLOW`,n),n.count===0&&kn.dispatch(`TEARDOWN`,n)}});function An(e,t,n=()=>({containers:[]})){let r=Cn(kn),i=t?r.get(t):void 0,a=i?i.count>0:!1;return oe(()=>{if(t&&e)return kn.dispatch(`PUSH`,t,n),()=>kn.dispatch(`POP`,t,n)},[e,t]),a}function jn(e,t,n=()=>[document.body]){An(Gt(e,`scroll-lock`),t,e=>({containers:[...e.containers??[],n]}))}function Mn(e=0){let[t,n]=(0,u.useState)(e);return{flags:t,setFlag:(0,u.useCallback)(e=>n(e),[]),addFlag:(0,u.useCallback)(e=>n(t=>t|e),[]),hasFlag:(0,u.useCallback)(e=>(t&e)===e,[t]),removeFlag:(0,u.useCallback)(e=>n(t=>t&~e),[]),toggleFlag:(0,u.useCallback)(e=>n(t=>t^e),[])}}typeof process<`u`&&typeof globalThis<`u`&&typeof Element<`u`&&(process==null?void 0:process.env)?.NODE_ENV===`test`&&(Element==null?void 0:Element.prototype)?.getAnimations===void 0&&(Element.prototype.getAnimations=function(){return console.warn(["Headless UI has polyfilled `Element.prototype.getAnimations` for your tests.","Please install a proper polyfill e.g. `jsdom-testing-mocks`, to silence these warnings.",``,`Example usage:`,"```js",`import { mockAnimationsApi } from 'jsdom-testing-mocks'`,`mockAnimationsApi()`,"```"].join(`
9
- `)),[]});var Nn=(e=>(e[e.None=0]=`None`,e[e.Closed=1]=`Closed`,e[e.Enter=2]=`Enter`,e[e.Leave=4]=`Leave`,e))(Nn||{});function Pn(e){let t={};for(let n in e)e[n]===!0&&(t[`data-${n}`]=``);return t}function Fn(e,t,n,r){let[i,a]=(0,u.useState)(n),{hasFlag:o,addFlag:s,removeFlag:c}=Mn(e&&i?3:0),l=(0,u.useRef)(!1),d=(0,u.useRef)(!1);return oe(()=>{var i;if(e){if(n&&a(!0),!t){n&&s(3);return}return(i=r?.start)==null||i.call(r,n),In(t,{inFlight:l,prepare(){d.current?d.current=!1:d.current=l.current,l.current=!0,!d.current&&(n?(s(3),c(4)):(s(4),c(2)))},run(){d.current?n?(c(3),s(4)):(c(4),s(3)):n?c(1):s(1)},done(){var e;d.current&&zn(t)||(l.current=!1,c(7),n||a(!1),(e=r?.end)==null||e.call(r,n))}})}},[e,n,t,ae()]),e?[i,{closed:o(1),enter:o(2),leave:o(4),transition:o(2)||o(4)}]:[n,{closed:void 0,enter:void 0,leave:void 0,transition:void 0}]}function In(e,{prepare:t,run:n,done:r,inFlight:i}){let a=ie();return Rn(e,{prepare:t,inFlight:i}),a.nextFrame(()=>{n(),a.requestAnimationFrame(()=>{a.add(Ln(e,r))})}),a.dispose}function Ln(e,t){let n=ie();if(!e)return n.dispose;let r=!1;n.add(()=>{r=!0});let i=e.getAnimations?.call(e).filter(e=>e instanceof CSSTransition)??[];return i.length===0?(t(),n.dispose):(Promise.allSettled(i.map(e=>e.finished)).then(()=>{r||t()}),n.dispose)}function Rn(e,{inFlight:t,prepare:n}){if(t!=null&&t.current){n();return}let r=e.style.transition;e.style.transition=`none`,n(),e.offsetHeight,e.style.transition=r}function zn(e){return(e.getAnimations?.call(e)??[]).some(e=>e instanceof CSSTransition&&e.playState!==`finished`)}function Bn(e,t){let n=(0,u.useRef)([]),r=B(e);(0,u.useEffect)(()=>{let e=[...n.current];for(let[i,a]of t.entries())if(n.current[i]!==a){let i=r(t,e);return n.current=t,i}},[r,...t])}var Vn=(0,u.createContext)(null);Vn.displayName=`OpenClosedContext`;var Hn=(e=>(e[e.Open=1]=`Open`,e[e.Closed=2]=`Closed`,e[e.Closing=4]=`Closing`,e[e.Opening=8]=`Opening`,e))(Hn||{});function Un(){return(0,u.useContext)(Vn)}function Wn({value:e,children:t}){return u.default.createElement(Vn.Provider,{value:e},t)}function Gn({children:e}){return u.default.createElement(Vn.Provider,{value:null},e)}function Kn(e){function t(){document.readyState!==`loading`&&(e(),document.removeEventListener(`DOMContentLoaded`,t))}typeof window<`u`&&typeof document<`u`&&(document.addEventListener(`DOMContentLoaded`,t),t())}var qn=[];Kn(()=>{function e(e){if(!U(e.target)||e.target===document.body||qn[0]===e.target)return;let t=e.target;t=t.closest(Qt),qn.unshift(t??e.target),qn=qn.filter(e=>e!=null&&e.isConnected),qn.splice(10)}window.addEventListener(`click`,e,{capture:!0}),window.addEventListener(`mousedown`,e,{capture:!0}),window.addEventListener(`focus`,e,{capture:!0}),document.body.addEventListener(`click`,e,{capture:!0}),document.body.addEventListener(`mousedown`,e,{capture:!0}),document.body.addEventListener(`focus`,e,{capture:!0})});function Jn(e){let t=B(e),n=(0,u.useRef)(!1);(0,u.useEffect)(()=>(n.current=!1,()=>{n.current=!0,re(()=>{n.current&&t()})}),[t])}function Yn(){let e=typeof document>`u`;return`useSyncExternalStore`in u&&(e=>e.useSyncExternalStore)(u)(()=>()=>{},()=>!1,()=>!e)}function Xn(){let e=Yn(),[t,n]=u.useState(R.isHandoffComplete);return t&&R.isHandoffComplete===!1&&n(!1),u.useEffect(()=>{t!==!0&&n(!0)},[t]),u.useEffect(()=>R.handoff(),[]),!e&&t}var Zn=(0,u.createContext)(!1);function Qn(){return(0,u.useContext)(Zn)}function $n(e){return u.default.createElement(Zn.Provider,{value:e.force},e.children)}function er(e){let t=Qn(),n=(0,u.useContext)(ar),[r,i]=(0,u.useState)(()=>{if(!t&&n!==null)return n.current??null;if(R.isServer)return null;let r=e?.getElementById(`headlessui-portal-root`);if(r)return r;if(e===null)return null;let i=e.createElement(`div`);return i.setAttribute(`id`,`headlessui-portal-root`),e.body.appendChild(i)});return(0,u.useEffect)(()=>{r!==null&&(e!=null&&e.body.contains(r)||e==null||e.body.appendChild(r))},[r,e]),(0,u.useEffect)(()=>{t||n!==null&&i(n.current)},[n,i,t]),r}var tr=u.Fragment,nr=ye(function(e,t){let{ownerDocument:n=null,...r}=e,i=(0,u.useRef)(null),a=Re(Le(e=>{i.current=e}),t),o=xn(i.current),s=er(n??o),c=(0,u.useContext)(sr),l=ae(),d=Xn(),p=H();return Jn(()=>{var e;s&&s.childNodes.length<=0&&((e=s.parentElement)==null||e.removeChild(s))}),!s||!d?null:(0,f.createPortal)(u.default.createElement(`div`,{"data-headlessui-portal":``,ref:e=>{l.dispose(),c&&e&&l.add(c.register(e))}},p({ourProps:{ref:a},theirProps:r,slot:{},defaultTag:tr,name:`Portal`})),s)});function rr(e,t){let n=Re(t),{enabled:r=!0,ownerDocument:i,...a}=e,o=H();return r?u.default.createElement(nr,{...a,ownerDocument:i,ref:n}):o({ourProps:{ref:n},theirProps:a,slot:{},defaultTag:tr,name:`Portal`})}var ir=u.Fragment,ar=(0,u.createContext)(null);function or(e,t){let{target:n,...r}=e,i={ref:Re(t)},a=H();return u.default.createElement(ar.Provider,{value:n},a({ourProps:i,theirProps:r,defaultTag:ir,name:`Popover.Group`}))}var sr=(0,u.createContext)(null);function cr(){let e=(0,u.useContext)(sr),t=(0,u.useRef)([]),n=B(n=>(t.current.push(n),e&&e.register(n),()=>r(n))),r=B(n=>{let r=t.current.indexOf(n);r!==-1&&t.current.splice(r,1),e&&e.unregister(n)}),i=(0,u.useMemo)(()=>({register:n,unregister:r,portals:t}),[n,r,t]);return[t,(0,u.useMemo)(()=>function({children:e}){return u.default.createElement(sr.Provider,{value:i},e)},[i])]}var lr=ye(rr),ur=ye(or),dr=Object.assign(lr,{Group:ur});function fr(e,t=typeof document<`u`?document.defaultView:null,n){let r=Gt(e,`escape`);Sn(t,`keydown`,e=>{r&&(e.defaultPrevented||e.key===Ke.Escape&&n(e))})}function pr(){let[e]=(0,u.useState)(()=>typeof window<`u`&&typeof window.matchMedia==`function`?window.matchMedia(`(pointer: coarse)`):null),[t,n]=(0,u.useState)(e?.matches??!1);return oe(()=>{if(!e)return;function t(e){n(e.matches)}return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[e]),t}function mr({defaultContainers:e=[],portals:t,mainTreeNode:n}={}){let r=B(()=>{let r=z(n),i=[];for(let t of e)t!==null&&(je(t)?i.push(t):`current`in t&&je(t.current)&&i.push(t.current));if(t!=null&&t.current)for(let e of t.current)i.push(e);for(let e of r?.querySelectorAll(`html > *, body > *`)??[])e!==document.body&&e!==document.head&&je(e)&&e.id!==`headlessui-portal-root`&&(n&&(e.contains(n)||e.contains(n?.getRootNode()?.host))||i.some(t=>e.contains(t))||i.push(e));return i});return{resolveContainers:r,contains:B(e=>r().some(t=>t.contains(e)))}}var hr=(0,u.createContext)(null);function gr({children:e,node:t}){let[n,r]=(0,u.useState)(null),i=_r(t??n);return u.default.createElement(hr.Provider,{value:i},e,i===null&&u.default.createElement(ke,{features:De.Hidden,ref:e=>{if(e){for(let t of z(e)?.querySelectorAll(`html > *, body > *`)??[])if(t!==document.body&&t!==document.head&&je(t)&&t!=null&&t.contains(e)){r(t);break}}}}))}function _r(e=null){return(0,u.useContext)(hr)??e}function vr(){let e=(0,u.useRef)(!1);return oe(()=>(e.current=!0,()=>{e.current=!1}),[]),e}var yr=(e=>(e[e.Forwards=0]=`Forwards`,e[e.Backwards=1]=`Backwards`,e))(yr||{});function br(){let e=(0,u.useRef)(0);return vn(!0,`keydown`,t=>{t.key===`Tab`&&(e.current=+!!t.shiftKey)},!0),e}function xr(e){if(!e)return new Set;if(typeof e==`function`)return new Set(e());let t=new Set;for(let n of e.current)je(n.current)&&t.add(n.current);return t}var Sr=`div`,Cr=(e=>(e[e.None=0]=`None`,e[e.InitialFocus=1]=`InitialFocus`,e[e.TabLock=2]=`TabLock`,e[e.FocusLock=4]=`FocusLock`,e[e.RestoreFocus=8]=`RestoreFocus`,e[e.AutoFocus=16]=`AutoFocus`,e))(Cr||{});function wr(e,t){let n=(0,u.useRef)(null),r=Re(n,t),{initialFocus:i,initialFocusFallback:a,containers:o,features:s=15,...c}=e;Xn()||(s=0);let l=xn(n.current);Or(s,{ownerDocument:l});let d=kr(s,{ownerDocument:l,container:n,initialFocus:i,initialFocusFallback:a});Ar(s,{ownerDocument:l,container:n,containers:o,previousActiveElement:d});let f=br(),p=B(e=>{if(!Me(n.current))return;let t=n.current;(e=>e())(()=>{V(f.current,{[yr.Forwards]:()=>{pn(t,en.First,{skipElements:[e.relatedTarget,a]})},[yr.Backwards]:()=>{pn(t,en.Last,{skipElements:[e.relatedTarget,a]})}})})}),m=Gt(!!(s&2),`focus-trap#tab-lock`),h=ae(),g=(0,u.useRef)(!1),_={ref:r,onKeyDown(e){e.key==`Tab`&&(g.current=!0,h.requestAnimationFrame(()=>{g.current=!1}))},onBlur(e){if(!(s&4))return;let t=xr(o);Me(n.current)&&t.add(n.current);let r=e.relatedTarget;U(r)&&r.dataset.headlessuiFocusGuard!==`true`&&(jr(t,r)||(g.current?pn(n.current,V(f.current,{[yr.Forwards]:()=>en.Next,[yr.Backwards]:()=>en.Previous})|en.WrapAround,{relativeTo:e.target}):U(e.target)&&ln(e.target)))}},v=H();return u.default.createElement(u.default.Fragment,null,m&&u.default.createElement(ke,{as:`button`,type:`button`,"data-headlessui-focus-guard":!0,onFocus:p,features:De.Focusable}),v({ourProps:_,theirProps:c,defaultTag:Sr,name:`FocusTrap`}),m&&u.default.createElement(ke,{as:`button`,type:`button`,"data-headlessui-focus-guard":!0,onFocus:p,features:De.Focusable}))}var Tr=ye(wr),Er=Object.assign(Tr,{features:Cr});function Dr(e=!0){let t=(0,u.useRef)(qn.slice());return Bn(([e],[n])=>{n===!0&&e===!1&&re(()=>{t.current.splice(0)}),n===!1&&e===!0&&(t.current=qn.slice())},[e,qn,t]),B(()=>t.current.find(e=>e!=null&&e.isConnected)??null)}function Or(e,{ownerDocument:t}){let n=!!(e&8),r=Dr(n);Bn(()=>{n||ne(t?.body)&&ln(r())},[n]),Jn(()=>{n&&ln(r())})}function kr(e,{ownerDocument:t,container:n,initialFocus:r,initialFocusFallback:i}){let a=(0,u.useRef)(null),o=Gt(!!(e&1),`focus-trap#initial-focus`),s=vr();return Bn(()=>{if(e===0)return;if(!o){i!=null&&i.current&&ln(i.current);return}let c=n.current;c&&re(()=>{if(!s.current)return;let n=t?.activeElement;if(r!=null&&r.current){if(r?.current===n){a.current=n;return}}else if(c.contains(n)){a.current=n;return}if(r!=null&&r.current)ln(r.current);else{if(e&16){if(pn(c,en.First|en.AutoFocus)!==tn.Error)return}else if(pn(c,en.First)!==tn.Error)return;if(i!=null&&i.current&&(ln(i.current),t?.activeElement===i.current))return;console.warn(`There are no focusable elements inside the <FocusTrap />`)}a.current=t?.activeElement})},[i,o,e]),a}function Ar(e,{ownerDocument:t,container:n,containers:r,previousActiveElement:i}){let a=vr(),o=!!(e&4);Sn(t?.defaultView,`focus`,e=>{if(!o||!a.current)return;let t=xr(r);Me(n.current)&&t.add(n.current);let s=i.current;if(!s)return;let c=e.target;Me(c)?jr(t,c)?(i.current=c,ln(c)):(e.preventDefault(),e.stopPropagation(),ln(s)):ln(i.current)},!0)}function jr(e,t){for(let n of e)if(n.contains(t))return!0;return!1}function Mr(e){return!!(e.enter||e.enterFrom||e.enterTo||e.leave||e.leaveFrom||e.leaveTo)||!we(e.as??Br)||u.default.Children.count(e.children)===1}var Nr=(0,u.createContext)(null);Nr.displayName=`TransitionContext`;var Pr=(e=>(e.Visible=`visible`,e.Hidden=`hidden`,e))(Pr||{});function Fr(){let e=(0,u.useContext)(Nr);if(e===null)throw Error(`A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.`);return e}function Ir(){let e=(0,u.useContext)(Lr);if(e===null)throw Error(`A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.`);return e}var Lr=(0,u.createContext)(null);Lr.displayName=`NestingContext`;function Rr(e){return`children`in e?Rr(e.children):e.current.filter(({el:e})=>e.current!==null).filter(({state:e})=>e===`visible`).length>0}function zr(e,t){let n=se(e),r=(0,u.useRef)([]),i=vr(),a=ae(),o=B((e,t=pe.Hidden)=>{let o=r.current.findIndex(({el:t})=>t===e);o!==-1&&(V(t,{[pe.Unmount](){r.current.splice(o,1)},[pe.Hidden](){r.current[o].state=`hidden`}}),a.microTask(()=>{var e;!Rr(r)&&i.current&&((e=n.current)==null||e.call(n))}))}),s=B(e=>{let t=r.current.find(({el:t})=>t===e);return t?t.state!==`visible`&&(t.state=`visible`):r.current.push({el:e,state:`visible`}),()=>o(e,pe.Unmount)}),c=(0,u.useRef)([]),l=(0,u.useRef)(Promise.resolve()),d=(0,u.useRef)({enter:[],leave:[]}),f=B((e,n,r)=>{c.current.splice(0),t&&(t.chains.current[n]=t.chains.current[n].filter(([t])=>t!==e)),t?.chains.current[n].push([e,new Promise(e=>{c.current.push(e)})]),t?.chains.current[n].push([e,new Promise(e=>{Promise.all(d.current[n].map(([e,t])=>t)).then(()=>e())})]),n===`enter`?l.current=l.current.then(()=>t?.wait.current).then(()=>r(n)):r(n)}),p=B((e,t,n)=>{Promise.all(d.current[t].splice(0).map(([e,t])=>t)).then(()=>{var e;(e=c.current.shift())==null||e()}).then(()=>n(t))});return(0,u.useMemo)(()=>({children:r,register:s,unregister:o,onStart:f,onStop:p,wait:l,chains:d}),[s,o,r,f,p,d,l])}var Br=u.Fragment,Vr=fe.RenderStrategy;function Hr(e,t){var n;let{transition:r=!0,beforeEnter:i,afterEnter:a,beforeLeave:o,afterLeave:s,enter:c,enterFrom:l,enterTo:d,entered:f,leave:p,leaveFrom:m,leaveTo:h,...g}=e,[_,v]=(0,u.useState)(null),y=(0,u.useRef)(null),b=Mr(e),x=Re(...b?[y,t,v]:t===null?[]:[t]),S=(n=g.unmount)==null||n?pe.Unmount:pe.Hidden,{show:C,appear:w,initial:T}=Fr(),[E,D]=(0,u.useState)(C?`visible`:`hidden`),O=Ir(),{register:k,unregister:A}=O;oe(()=>k(y),[k,y]),oe(()=>{if(S===pe.Hidden&&y.current){if(C&&E!==`visible`){D(`visible`);return}return V(E,{hidden:()=>A(y),visible:()=>k(y)})}},[E,y,k,A,C,S]);let j=Xn();oe(()=>{if(b&&j&&E===`visible`&&y.current===null)throw Error("Did you forget to passthrough the `ref` to the actual DOM node?")},[y,E,j,b]);let M=T&&!w,N=w&&C&&T,P=(0,u.useRef)(!1),F=zr(()=>{P.current||(D(`hidden`),A(y))},O),I=B(e=>{P.current=!0;let t=e?`enter`:`leave`;F.onStart(y,t,e=>{e===`enter`?i?.():e===`leave`&&o?.()})}),L=B(e=>{let t=e?`enter`:`leave`;P.current=!1,F.onStop(y,t,e=>{e===`enter`?a?.():e===`leave`&&s?.()}),t===`leave`&&!Rr(F)&&(D(`hidden`),A(y))});(0,u.useEffect)(()=>{b&&r||(I(C),L(C))},[C,b,r]);let[,R]=Fn(!(!r||!b||!j||M),_,C,{start:I,end:L}),z=be({ref:x,className:de(g.className,N&&c,N&&l,R.enter&&c,R.enter&&R.closed&&l,R.enter&&!R.closed&&d,R.leave&&p,R.leave&&!R.closed&&m,R.leave&&R.closed&&h,!R.transition&&C&&f)?.trim()||void 0,...Pn(R)}),ee=0;E===`visible`&&(ee|=Hn.Open),E===`hidden`&&(ee|=Hn.Closed),C&&E===`hidden`&&(ee|=Hn.Opening),!C&&E===`visible`&&(ee|=Hn.Closing);let te=H();return u.default.createElement(Lr.Provider,{value:F},u.default.createElement(Wn,{value:ee},te({ourProps:z,theirProps:g,defaultTag:Br,features:Vr,visible:E===`visible`,name:`Transition.Child`})))}function Ur(e,t){let{show:n,appear:r=!1,unmount:i=!0,...a}=e,o=(0,u.useRef)(null),s=Re(...Mr(e)?[o,t]:t===null?[]:[t]);Xn();let c=Un();if(n===void 0&&c!==null&&(n=(c&Hn.Open)===Hn.Open),n===void 0)throw Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");let[l,d]=(0,u.useState)(n?`visible`:`hidden`),f=zr(()=>{n||d(`hidden`)}),[p,m]=(0,u.useState)(!0),h=(0,u.useRef)([n]);oe(()=>{p!==!1&&h.current[h.current.length-1]!==n&&(h.current.push(n),m(!1))},[h,n]);let g=(0,u.useMemo)(()=>({show:n,appear:r,initial:p}),[n,r,p]);oe(()=>{n?d(`visible`):!Rr(f)&&o.current!==null&&d(`hidden`)},[n,f]);let _={unmount:i},v=B(()=>{var t;p&&m(!1),(t=e.beforeEnter)==null||t.call(e)}),y=B(()=>{var t;p&&m(!1),(t=e.beforeLeave)==null||t.call(e)}),b=H();return u.default.createElement(Lr.Provider,{value:f},u.default.createElement(Nr.Provider,{value:g},b({ourProps:{..._,as:u.Fragment,children:u.default.createElement(Kr,{ref:s,..._,...a,beforeEnter:v,beforeLeave:y})},theirProps:{},defaultTag:u.Fragment,features:Vr,visible:l===`visible`,name:`Transition`})))}function Wr(e,t){let n=(0,u.useContext)(Nr)!==null,r=Un()!==null;return u.default.createElement(u.default.Fragment,null,!n&&r?u.default.createElement(Gr,{ref:t,...e}):u.default.createElement(Kr,{ref:t,...e}))}var Gr=ye(Ur),Kr=ye(Hr),qr=ye(Wr),Jr=Object.assign(Gr,{Child:qr,Root:Gr}),Yr=(e=>(e[e.Open=0]=`Open`,e[e.Closed=1]=`Closed`,e))(Yr||{}),Xr=(e=>(e[e.SetTitleId=0]=`SetTitleId`,e))(Xr||{}),Zr={0(e,t){return e.titleId===t.id?e:{...e,titleId:t.id}}},Qr=(0,u.createContext)(null);Qr.displayName=`DialogContext`;function $r(e){let t=(0,u.useContext)(Qr);if(t===null){let t=Error(`<${e} /> is missing a parent <Dialog /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,$r),t}return t}function ei(e,t){return V(t.type,Zr,e,t)}var ti=ye(function(e,t){let n=(0,u.useId)(),{id:r=`headlessui-dialog-${n}`,open:i,onClose:a,initialFocus:o,role:s=`dialog`,autoFocus:c=!0,__demoMode:l=!1,unmount:d=!1,...f}=e,p=(0,u.useRef)(!1);s=function(){return s===`dialog`||s===`alertdialog`?s:(p.current||(p.current=!0,console.warn(`Invalid role [${s}] passed to <Dialog />. Only \`dialog\` and and \`alertdialog\` are supported. Using \`dialog\` instead.`)),`dialog`)}();let m=Un();i===void 0&&m!==null&&(i=(m&Hn.Open)===Hn.Open);let h=(0,u.useRef)(null),g=Re(h,t),_=xn(h.current),v=+!i,[y,b]=(0,u.useReducer)(ei,{titleId:null,descriptionId:null,panelRef:(0,u.createRef)()}),x=B(()=>a(!1)),S=B(e=>b({type:0,id:e})),C=Xn()?v===0:!1,[w,T]=cr(),E={get current(){return y.panelRef.current??h.current}},D=_r(),{resolveContainers:O}=mr({mainTreeNode:D,portals:w,defaultContainers:[E]}),k=m!==null&&(m&Hn.Closing)===Hn.Closing;Xt(l||k?!1:C,{allowed:B(()=>[h.current?.closest(`[data-headlessui-portal]`)??null]),disallowed:B(()=>[D?.closest(`body > *:not(#headlessui-portal-root)`)??null])});let A=zt.get(null);oe(()=>{if(C)return A.actions.push(r),()=>A.actions.pop(r)},[A,r,C]);let j=Ut(A,(0,u.useCallback)(e=>A.selectors.isTop(e,r),[A,r]));bn(j,O,e=>{e.preventDefault(),x()}),fr(j,_?.defaultView,e=>{e.preventDefault(),e.stopPropagation(),document.activeElement&&`blur`in document.activeElement&&typeof document.activeElement.blur==`function`&&document.activeElement.blur(),x()}),jn(l||k?!1:C,_,O),Zt(C,h,x);let[M,N]=Ve(),P=(0,u.useMemo)(()=>[{dialogState:v,close:x,setTitleId:S,unmount:d},y],[v,x,S,d,y]),F=ce({open:v===0}),I={ref:g,id:r,role:s,tabIndex:-1,"aria-modal":l?void 0:v===0||void 0,"aria-labelledby":y.titleId,"aria-describedby":M,unmount:d},L=!pr(),R=Cr.None;C&&!l&&(R|=Cr.RestoreFocus,R|=Cr.TabLock,c&&(R|=Cr.AutoFocus),L&&(R|=Cr.InitialFocus));let z=H();return u.default.createElement(Gn,null,u.default.createElement($n,{force:!0},u.default.createElement(dr,null,u.default.createElement(Qr.Provider,{value:P},u.default.createElement(ur,{target:h},u.default.createElement($n,{force:!1},u.default.createElement(N,{slot:F},u.default.createElement(T,null,u.default.createElement(Er,{initialFocus:o,initialFocusFallback:h,containers:O,features:R},u.default.createElement(Je,{value:x},z({ourProps:I,theirProps:f,slot:F,defaultTag:ni,features:ri,visible:v===0,name:`Dialog`})))))))))))}),ni=`div`,ri=fe.RenderStrategy|fe.Static;function ii(e,t){let{transition:n=!1,open:r,...i}=e,a=Un(),o=e.hasOwnProperty(`open`)||a!==null,s=e.hasOwnProperty(`onClose`);if(!o&&!s)throw Error("You have to provide an `open` and an `onClose` prop to the `Dialog` component.");if(!o)throw Error("You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.");if(!s)throw Error("You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.");if(!a&&typeof e.open!=`boolean`)throw Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${e.open}`);if(typeof e.onClose!=`function`)throw Error(`You provided an \`onClose\` prop to the \`Dialog\`, but the value is not a function. Received: ${e.onClose}`);return(r!==void 0||n)&&!i.static?u.default.createElement(gr,null,u.default.createElement(Jr,{show:r,transition:n,unmount:i.unmount},u.default.createElement(ti,{ref:t,...i}))):u.default.createElement(gr,null,u.default.createElement(ti,{ref:t,open:r,...i}))}var ai=`div`;function oi(e,t){let n=(0,u.useId)(),{id:r=`headlessui-dialog-panel-${n}`,transition:i=!1,...a}=e,[{dialogState:o,unmount:s},c]=$r(`Dialog.Panel`),l=Re(t,c.panelRef),d=ce({open:o===0}),f={ref:l,id:r,onClick:B(e=>{e.stopPropagation()})},p=i?qr:u.Fragment,m=i?{unmount:s}:{},h=H();return u.default.createElement(p,{...m},h({ourProps:f,theirProps:a,slot:d,defaultTag:ai,name:`Dialog.Panel`}))}var si=`div`;function ci(e,t){let{transition:n=!1,...r}=e,[{dialogState:i,unmount:a}]=$r(`Dialog.Backdrop`),o=ce({open:i===0}),s={ref:t,"aria-hidden":!0},c=n?qr:u.Fragment,l=n?{unmount:a}:{},d=H();return u.default.createElement(c,{...l},d({ourProps:s,theirProps:r,slot:o,defaultTag:si,name:`Dialog.Backdrop`}))}var li=`h2`;function ui(e,t){let n=(0,u.useId)(),{id:r=`headlessui-dialog-title-${n}`,...i}=e,[{dialogState:a,setTitleId:o}]=$r(`Dialog.Title`),s=Re(t);(0,u.useEffect)(()=>(o(r),()=>o(null)),[r,o]);let c=ce({open:a===0}),l={ref:s,id:r};return H()({ourProps:l,theirProps:i,slot:c,defaultTag:li,name:`Dialog.Title`})}var di=ye(ii),fi=ye(oi);ye(ci);var pi=ye(ui),mi=Object.assign(di,{Panel:fi,Title:pi,Description:Ge}),hi="function e(e,t){if(!t||typeof t.sequence!=`string`)throw Error(`Expected an aligned DNA sequence.`);let n=t.sequence.toUpperCase();if(!e.length||n.length!==e.length)throw Error(`Aligned sequence length must match the reference.`);if(/[^ACGTRYSWKMBDHVN-]/.test(n))throw Error(`Aligned sequences must contain IUPAC DNA bases or deletion gaps (-).`);let r=[],i=0;for(let t=0;t<n.length;){if(n[t]===e[t]){t++;continue}let a=n[t]===`-`?`Deletion`:/[^ACGT]/.test(n[t]+e[t])?`Ambiguous`:`Substitution`,o=t+1;if(a===`Deletion`||a===`Ambiguous`)for(;o<n.length&&n[o]!==e[o]&&(a===`Deletion`?n[o]===`-`:n[o]!==`-`&&/[^ACGT]/.test(n[o]+e[o]));)o++;r.push({type:a,start:t,end:o,reference:e.slice(t,o),alternative:a===`Deletion`?``:n.slice(t,o)}),i+=o-t,t=o}let a=new Set;for(let n of t.insertions||[]){let t=n.position,o=typeof n.sequence==`string`?n.sequence.toUpperCase():``;if(!Number.isInteger(t)||t<0||t>e.length||a.has(t))throw Error(`Insertions need unique integer positions from 0 to the reference length.`);if(!o||/[^ACGTRYSWKMBDHVN]/.test(o))throw Error(`Insertions must contain ungapped IUPAC DNA bases.`);a.add(t),r.push({type:`Insertion`,start:t,end:t,reference:``,alternative:o}),i+=o.length}return r.sort((e,t)=>e.start-t.start||e.end-t.end),{name:t.name||`Alternative`,distance:i,differences:r}}const t=e=>{switch(e){case`TTT`:case`TTC`:return`F`;case`TTA`:case`TTG`:case`CTT`:case`CTC`:case`CTA`:case`CTG`:return`L`;case`ATT`:case`ATC`:case`ATA`:return`I`;case`ATG`:return`M`;case`GTT`:case`GTC`:case`GTA`:case`GTG`:return`V`;case`TCT`:case`TCC`:case`TCA`:case`TCG`:case`AGT`:case`AGC`:return`S`;case`CCT`:case`CCC`:case`CCA`:case`CCG`:return`P`;case`ACT`:case`ACC`:case`ACA`:case`ACG`:return`T`;case`GCT`:case`GCC`:case`GCA`:case`GCG`:return`A`;case`TAT`:case`TAC`:return`Y`;case`TAA`:case`TAG`:case`TGA`:return`*`;case`CAT`:case`CAC`:return`H`;case`CAA`:case`CAG`:return`Q`;case`AAT`:case`AAC`:return`N`;case`AAA`:case`AAG`:return`K`;case`GAT`:case`GAC`:return`D`;case`GAA`:case`GAG`:return`E`;case`TGT`:case`TGC`:return`C`;case`TGG`:return`W`;case`CGT`:case`CGC`:case`CGA`:case`CGG`:case`AGA`:case`AGG`:return`R`;case`GGT`:case`GGC`:case`GGA`:case`GGG`:return`G`;default:return`X`}};function n(e){let t=e.trim().split(/\\r?\\n/);if(!t[0]?.startsWith(`>`))throw Error(`Expected a FASTA header starting with >.`);if(t.slice(1).some(e=>e.startsWith(`>`)))throw Error(`Please supply exactly one FASTA record.`);let n=t.slice(1).join(``).replace(/\\s/g,``).toUpperCase();if(!n||/[^ACGTRYSWKMBDHVN]/.test(n))throw Error(`Expected an ungapped DNA sequence (IUPAC bases).`);return{name:t[0].slice(1).trim()||`Alternative`,sequence:n}}function r(e,t,n=128){let r=e.length,i=t.length;if(!r||!i)throw Error(`Both sequences must contain bases.`);if(Math.max(r,i)>1e5)throw Error(`Comparison supports sequences up to 100,000 bases.`);let a=()=>Error(`Sequences exceed the ${n}-edit comparison limit. Use complete sequences in the same orientation and with the same starting point.`);if(Math.abs(r-i)>n)throw a();let o=2*n+1,s=n+1,c=s*s,l=new Uint8Array((r+1)*o),u=(e,t,n)=>e<=t&&e<=n?0:t<=n?1:2,d=new Uint32Array(o*3).fill(c);d[n*3]=0;for(let e=1;e<=Math.min(i,n);e++)d[(e+n)*3+2]=e*s+1,l[e+n]=(e===1?0:2)<<4;for(let a=1;a<=r;a++){let r=new Uint32Array(o*3).fill(c);for(let f=Math.max(0,a-n);f<=Math.min(i,a+n);f++){let i=f-a+n,p=i*3;if(f===0){r[p+1]=a*s+1,l[a*o+i]=(a===1?0:1)<<2;continue}let m=u(d[p],d[p+1],d[p+2]);r[p]=Math.min(c,d[p+m]+(e[a-1]===t[f-1]?0:s));let h=0,g=0;if(i+1<o){let e=p+3,t=d[e]+s+1,n=d[e+1]+s,i=d[e+2]+s+1;h=u(t,n,i),r[p+1]=Math.min(c,t,n,i)}if(i>0){let e=p-3,t=r[e]+s+1,n=r[e+1]+s+1,i=r[e+2]+s;g=u(t,n,i),r[p+2]=Math.min(c,t,n,i)}l[a*o+i]=m|h<<2|g<<4}d=r}let f=(i-r+n)*3,p=u(d[f],d[f+1],d[f+2]),m=Math.floor(d[f+p]/s);if(m>n)throw a();let h=r,g=i,_=[];for(;h||g;){let r=l[h*o+g-h+n]>>p*2&3;p===0?_.push([e[--h],t[--g]]):p===1?_.push([e[--h],`-`]):_.push([`-`,t[--g]]),p=r}_.reverse();let v=[],y=0;for(let[e,t]of _){if(e!==t){let n=e===`-`?`Insertion`:t===`-`?`Deletion`:/[^ACGT]/.test(e+t)?`Ambiguous`:`Substitution`,r=v.at(-1);r&&r.type===n&&n!==`Substitution`&&n!==`Ambiguous`&&r.end===y?(r.reference+=e===`-`?``:e,r.alternative+=t===`-`?``:t,r.end+=e===`-`?0:1):v.push({type:n,start:y,end:y+(e===`-`?0:1),reference:e===`-`?``:e,alternative:t===`-`?``:t})}e!==`-`&&y++}return{distance:m,differences:v}}function i(e,t){return e.locations?.length?e.locations:e.start>e.end?[{start:e.start,end:t-1},{start:0,end:e.end}]:[{start:e.start,end:e.end}]}const a={A:`T`,T:`A`,C:`G`,G:`C`,R:`Y`,Y:`R`,S:`S`,W:`W`,K:`M`,M:`K`,B:`V`,V:`B`,D:`H`,H:`D`,N:`N`},o=e=>[...e].reverse().map(e=>a[e]||`N`).join(``),s=e=>{let n=``;for(let r=0;r+2<e.length;r+=3)n+=t(e.slice(r,r+3));return n},c=(e,t,n)=>{let r=e.notes?.[t];return(Array.isArray(r)?r[0]:r)??n};function l(e,t,n){if(![`CDS`,`mat_peptide`].includes(t.type))return null;let a=i(t,e.length),l=[];for(let t of a){if(!Number.isInteger(t.start)||!Number.isInteger(t.end)||t.start<0||t.end>=e.length||t.end<t.start)return{warning:`Unsupported coding location`,codons:[],changes:[]};for(let e=t.start;e<=t.end;e++)l.push(e)}t.strand<0&&l.reverse();let u=Number(c(t,`codon_start`,1))-1;if(![0,1,2].includes(u))return{warning:`Unsupported codon_start`,codons:[],changes:[]};l.splice(0,u);let d=Number(c(t,`transl_table`,1));if(![1,11].includes(d)||[`transl_except`,`ribosomal_slippage`,`exception`].some(e=>t.notes?.[e]))return{warning:`AA comparison unavailable for this translation table or exception`,codons:[],changes:[]};let f=new Map(l.map((e,t)=>[e,t])),p=e=>t.strand<0?o(e):e,m=l.map(t=>p(e[t])).join(``),h=s(m),g=[...h].map((e,t)=>({positions:l.slice(t*3,t*3+3),aminoAcid:e,codonIndex:t})),_=new Set,v=new Map,y=new Map,b=1/0,x=!1;for(let e of n)if(e.type===`Insertion`){let n=t.strand<0?e.start-1:e.start,r=f.get(n),i=t.strand<0?e.start:e.start-1;r>0&&l[r-1]===i?(y.set(r,p(e.alternative)),e.alternative.length%3&&(b=Math.min(b,r))):(f.has(n)||f.has(i))&&(x=!0)}else if(e.type===`Deletion`){let t=[];for(let n=e.start;n<e.end;n++){let e=f.get(n);e!==void 0&&(_.add(e),t.push(e))}t.length%3&&(b=Math.min(b,...t))}else for(let t=e.start;t<e.end;t++){let n=f.get(t);n!==void 0&&v.set(n,p(e.alternative[t-e.start]))}let S=``,C=[];for(let e=0;e<l.length;e++)C[e]=S.length,S+=y.get(e)||``,_.has(e)||(S+=v.get(e)??m[e]);let w=Math.floor(b/3),T=Number.isFinite(b)?h.slice(0,w):h,E=s(Number.isFinite(b)?S.slice(0,C[w*3]):S),D=[],O=e=>{let n=Math.min(e.start,Math.max(0,g.length-1)),r=g[n],i=e.start<g.length?(r?.positions[0]??l[0])+(t.strand<0?.5:-.5):(r?.positions[2]??l[0])+(t.strand<0?-.5:.5);return{...e,anchor:r?.positions[1]??l[0],...e.type===`Insertion`?{pointerPosition:i}:{},aaPosition:e.type===`Insertion`?e.start:e.start+1}};try{T&&E?D=r(T,E).differences.map(e=>O({...e,type:e.type===`Ambiguous`?/X/.test(e.reference+e.alternative)?`Ambiguous`:`Substitution`:e.type})):(T||E)&&(D=[O({type:T?`Deletion`:`Insertion`,start:0,end:T.length,reference:T,alternative:E})])}catch{return{codons:g,changes:[],warning:`AA comparison exceeds the alignment limit`}}return Number.isFinite(b)&&D.push(O({type:`Frameshift`,start:w,end:w+1,reference:``,alternative:``})),{codons:g,changes:D,warning:x?`Insertion at a coding boundary: AA assignment is uncertain`:void 0}}function u(e,t,n){return t.map(t=>l(e,t,n))}self.onmessage=({data:t})=>{try{let i=t.alignedSequence||n(t.fasta),a=t.alignedSequence?e(t.reference,i):r(t.reference,i.sequence);self.postMessage({...a,name:i.name,proteins:u(t.reference,t.features||[],a.differences)})}catch(e){self.postMessage({error:e.message})}};",gi=typeof self<`u`&&self.Blob&&new Blob([`URL.revokeObjectURL(import.meta.url);`,hi],{type:`text/javascript;charset=utf-8`});function _i(e){let t;try{if(t=gi&&(self.URL||self.webkitURL).createObjectURL(gi),!t)throw``;let n=new Worker(t,{type:`module`,name:e?.name});return n.addEventListener(`error`,()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),n}catch{return new Worker(`data:text/javascript;charset=utf-8,`+encodeURIComponent(hi),{type:`module`,name:e?.name})}}function vi({reference:e,features:t,fastaUrl:n,alignedSequence:r,onResult:i,onGoTo:a,open:o,setOpen:s,onStatus:c}){let[l,f]=(0,u.useState)(null),[p,m]=(0,u.useState)(n||``),[h,g]=(0,u.useState)(0),[_,v]=(0,u.useState)(n||``),[y,b]=(0,u.useState)(``),[x,S]=(0,u.useState)(!1),[C,w]=(0,u.useState)(null),T=(0,u.useRef)(0),E=(0,u.useRef)();(0,u.useEffect)(()=>{(r||E.current)&&(T.current++,f(null),v(``)),E.current=r},[r]),(0,u.useEffect)(()=>{c({busy:x,error:y})},[x,y,c]),(0,u.useEffect)(()=>{y&&s(!0)},[y,s]);let D=()=>{w(null),i(null),b(``)};(0,u.useEffect)(()=>{m(n||``),v(n||``),n||(T.current++,f(null),w(null),i(null),b(``),S(!1))},[n,i]),(0,u.useEffect)(()=>{if(!_||r)return;let e=new AbortController,t=++T.current;return D(),f(null),S(!0),(async()=>{try{let n=new URL(_,window.location.href);if(![`http:`,`https:`].includes(n.protocol))throw Error(`Use an HTTP or HTTPS URL.`);let r=await fetch(n,{signal:e.signal});if(!r.ok)throw Error(`FASTA request failed (${r.status}).`);let i=await r.text();if(i.length>1e6)throw Error(`FASTA file is too large.`);t===T.current&&f(i)}catch(n){!e.signal.aborted&&t===T.current&&(b(n.message),S(!1))}})(),()=>e.abort()},[_,h,r]),(0,u.useEffect)(()=>{if(l===null&&!r){w(null),i(null);return}D(),S(!0);let n=new _i,a=T.current,o=!1;return n.onmessage=({data:e})=>{o||a!==T.current||(S(!1),e.error?b(e.error):(w(e),i(e)))},n.onerror=()=>{o||a!==T.current||(b(`Alignment failed. Please try another FASTA.`),S(!1))},n.postMessage({reference:e,features:t,fasta:l,alignedSequence:r}),()=>{o=!0,n.terminate()}},[e,t,l,r,i]);let O=async e=>{if(!e)return;let t=++T.current;v(``),f(null),D(),S(!0);try{if(e.size>1e6)throw Error(`FASTA file is too large.`);let n=await e.text();t===T.current&&f(n)}catch(e){t===T.current&&(b(e.message),S(!1))}};return(0,d.jsxs)(mi,{open:o,onClose:()=>s(!1),className:`gensplore comparison-drawer`,children:[(0,d.jsx)(`div`,{className:`comparison-drawer-overlay`,"aria-hidden":`true`}),(0,d.jsxs)(fi,{id:`comparison-drawer-panel`,className:`comparison-drawer-content`,children:[(0,d.jsxs)(`div`,{className:`comparison-drawer-header`,children:[(0,d.jsx)(pi,{children:`Compare FASTA`}),(0,d.jsx)(`button`,{type:`button`,onClick:()=>s(!1),"aria-label":`Close comparison`,children:`×`})]}),(0,d.jsxs)(`section`,{className:`comparison-panel`,"aria-label":`Compare FASTA`,children:[!r&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`label`,{className:`comparison-field`,children:[`FASTA file `,(0,d.jsx)(`input`,{type:`file`,accept:`.fa,.fasta,.fna,.txt`,onChange:e=>{O(e.target.files[0]),e.target.value=``}})]}),(0,d.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),v(p.trim()),g(e=>e+1)},children:[(0,d.jsxs)(`label`,{className:`comparison-field`,children:[`FASTA URL `,(0,d.jsx)(`input`,{type:`text`,inputMode:`url`,className:`comparison-url`,value:p,onChange:e=>m(e.target.value),placeholder:`https://example.org/alternative.fasta`,required:!0})]}),(0,d.jsx)(`button`,{type:`submit`,children:`Load URL`})]}),(l!==null||_||C||y||x)&&(0,d.jsx)(`button`,{onClick:()=>{T.current++,v(``),f(null),S(!1),D()},children:`Clear`})]}),x&&(0,d.jsx)(`p`,{role:`status`,children:`Loading / aligning FASTA…`}),y&&(0,d.jsx)(`p`,{role:`alert`,children:y}),C&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`p`,{role:`status`,className:`comparison-summary`,children:[(0,d.jsxs)(`strong`,{children:[C.differences.length,` `,C.differences.length===1?`change`:`changes`]}),(0,d.jsx)(`span`,{title:C.name,children:C.name})]}),C.proteins?.some(e=>e?.warning)&&(0,d.jsx)(`ul`,{"aria-label":`Amino-acid comparison notes`,children:C.proteins.map((e,n)=>e?.warning&&(0,d.jsxs)(`li`,{children:[t[n].name,`: `,e.warning]},n))}),C.differences.length>0&&(0,d.jsx)(`div`,{className:`comparison-table`,children:(0,d.jsxs)(`table`,{children:[(0,d.jsx)(`thead`,{children:(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`th`,{title:`1-based reference coordinates; insertions follow the indicated base`,children:`Ref. position`}),(0,d.jsx)(`th`,{children:`Type`}),(0,d.jsx)(`th`,{children:`Reference`}),(0,d.jsx)(`th`,{children:`Alternative`}),(0,d.jsx)(`th`,{"aria-label":`Navigate`})]})}),(0,d.jsx)(`tbody`,{children:C.differences.map((t,n)=>(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:t.type===`Insertion`?`After ${t.start}`:t.end>t.start+1?`${t.start+1}–${t.end}`:t.start+1}),(0,d.jsx)(`td`,{children:t.type}),(0,d.jsx)(`td`,{children:t.reference||`—`}),(0,d.jsx)(`td`,{children:t.alternative||`—`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`button`,{onClick:()=>{s(!1),requestAnimationFrame(()=>a(Math.min(t.start,e.length-1)))},children:`Go to`})})]},n))})]})})]})]})]})]})}var yi=({hoveredInfo:e})=>{let[t,n]=(0,u.useState)({x:0,y:0}),r=t.x>window.innerWidth-200?{right:`${window.innerWidth-t.x+10}px`}:{left:`${t.x+10}px`},i={position:`absolute`,top:`${t.y+10}px`,...r,visibility:e?`visible`:`hidden`,zIndex:1e3};return(0,u.useEffect)(()=>{let e=e=>{n({x:e.pageX,y:e.pageY})};return document.addEventListener(`mousemove`,e),()=>{document.removeEventListener(`mousemove`,e)}},[]),(0,d.jsxs)(`div`,{style:i,className:`text-sm bg-gray-100 p-2 rounded`,children:[e&&(0,d.jsx)(`span`,{children:e.label}),e&&e.product&&(0,d.jsx)(`div`,{className:`text-xs`,children:e.product})]})},bi={A:`T`,T:`A`,G:`C`,C:`G`,N:`N`,"-":`-`},xi=e=>e.split(``).map(e=>bi[e]).reverse().join(``),Si=(e,t)=>e.filter(e=>!!(e.name.toLowerCase().includes(t.toLowerCase())||(e.notes&&e.notes.product?e.notes.product[0]:``).toLowerCase().includes(t.toLowerCase())||(e.notes&&e.notes.locus_tag?e.notes.locus_tag[0]:``).toLowerCase().includes(t.toLowerCase()))),W=function(e,t,n){if(!t.has(e))throw TypeError(`attempted to set private field on non-instance`);return t.set(e,n),n},G=function(e,t){if(!t.has(e))throw TypeError(`attempted to get private field on non-instance`);return t.get(e)},Ci,wi,Ti,Ei,Di,Oi,ki,Ai,ji,Mi,Ni,Pi,Fi,Ii,Li,Ri,zi,Bi,Vi=function(e){var t=131,n=137,r=0;e+=`x`;var i=Math.floor(9007199254740991/n);for(let a=0;a<e.length;a++)r>i&&(r=Math.floor(r/n)),r=r*t+e.charCodeAt(a);return r},K=`0123456789abcdef`.split(``),Hi=[-2147483648,8388608,32768,128],Ui=[24,16,8,0],Wi=[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],Gi=[],Ki=class{constructor(e=!1,t=!1){Ci.set(this,void 0),wi.set(this,void 0),Ti.set(this,void 0),Ei.set(this,void 0),Di.set(this,void 0),Oi.set(this,void 0),ki.set(this,void 0),Ai.set(this,void 0),ji.set(this,void 0),Mi.set(this,void 0),Ni.set(this,void 0),Pi.set(this,void 0),Fi.set(this,void 0),Ii.set(this,void 0),Li.set(this,void 0),Ri.set(this,void 0),zi.set(this,0),Bi.set(this,void 0),this.init(e,t)}init(e,t){t?(Gi[0]=Gi[16]=Gi[1]=Gi[2]=Gi[3]=Gi[4]=Gi[5]=Gi[6]=Gi[7]=Gi[8]=Gi[9]=Gi[10]=Gi[11]=Gi[12]=Gi[13]=Gi[14]=Gi[15]=0,W(this,wi,Gi)):W(this,wi,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),e?(W(this,Oi,3238371032),W(this,ki,914150663),W(this,Ai,812702999),W(this,ji,4144912697),W(this,Mi,4290775857),W(this,Ni,1750603025),W(this,Pi,1694076839),W(this,Fi,3204075428)):(W(this,Oi,1779033703),W(this,ki,3144134277),W(this,Ai,1013904242),W(this,ji,2773480762),W(this,Mi,1359893119),W(this,Ni,2600822924),W(this,Pi,528734635),W(this,Fi,1541459225)),W(this,Ci,W(this,Bi,W(this,Ti,W(this,Li,0)))),W(this,Ei,W(this,Ii,!1)),W(this,Di,!0),W(this,Ri,e)}update(e){if(G(this,Ei))return this;let t;t=e instanceof ArrayBuffer?new Uint8Array(e):e;let n=0,r=t.length,i=G(this,wi);for(;n<r;){let e;if(G(this,Ii)&&(W(this,Ii,!1),i[0]=G(this,Ci),i[16]=i[1]=i[2]=i[3]=i[4]=i[5]=i[6]=i[7]=i[8]=i[9]=i[10]=i[11]=i[12]=i[13]=i[14]=i[15]=0),typeof t!=`string`)for(e=G(this,Bi);n<r&&e<64;++n)i[e>>2]|=t[n]<<Ui[e++&3];else for(e=G(this,Bi);n<r&&e<64;++n){let r=t.charCodeAt(n);r<128?i[e>>2]|=r<<Ui[e++&3]:r<2048?(i[e>>2]|=(192|r>>6)<<Ui[e++&3],i[e>>2]|=(128|r&63)<<Ui[e++&3]):r<55296||r>=57344?(i[e>>2]|=(224|r>>12)<<Ui[e++&3],i[e>>2]|=(128|r>>6&63)<<Ui[e++&3],i[e>>2]|=(128|r&63)<<Ui[e++&3]):(r=65536+((r&1023)<<10|t.charCodeAt(++n)&1023),i[e>>2]|=(240|r>>18)<<Ui[e++&3],i[e>>2]|=(128|r>>12&63)<<Ui[e++&3],i[e>>2]|=(128|r>>6&63)<<Ui[e++&3],i[e>>2]|=(128|r&63)<<Ui[e++&3])}W(this,zi,e),W(this,Ti,G(this,Ti)+(e-G(this,Bi))),e>=64?(W(this,Ci,i[16]),W(this,Bi,e-64),this.hash(),W(this,Ii,!0)):W(this,Bi,e)}return G(this,Ti)>4294967295&&(W(this,Li,G(this,Li)+(G(this,Ti)/4294967296<<0)),W(this,Ti,G(this,Ti)%4294967296)),this}finalize(){if(G(this,Ei))return;W(this,Ei,!0);let e=G(this,wi),t=G(this,zi);e[16]=G(this,Ci),e[t>>2]|=Hi[t&3],W(this,Ci,e[16]),t>=56&&(G(this,Ii)||this.hash(),e[0]=G(this,Ci),e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=G(this,Li)<<3|G(this,Ti)>>>29,e[15]=G(this,Ti)<<3,this.hash()}hash(){let e=G(this,Oi),t=G(this,ki),n=G(this,Ai),r=G(this,ji),i=G(this,Mi),a=G(this,Ni),o=G(this,Pi),s=G(this,Fi),c=G(this,wi),l,u,d,f,p,m,h,g,_,v;for(let e=16;e<64;++e)f=c[e-15],l=(f>>>7|f<<25)^(f>>>18|f<<14)^f>>>3,f=c[e-2],u=(f>>>17|f<<15)^(f>>>19|f<<13)^f>>>10,c[e]=c[e-16]+l+c[e-7]+u<<0;v=t&n;for(let y=0;y<64;y+=4)G(this,Di)?(G(this,Ri)?(h=300032,f=c[0]-1413257819,s=f-150054599<<0,r=f+24177077<<0):(h=704751109,f=c[0]-210244248,s=f-1521486534<<0,r=f+143694565<<0),W(this,Di,!1)):(l=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),u=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),h=e&t,d=h^e&n^v,m=i&a^~i&o,f=s+u+m+Wi[y]+c[y],p=l+d,s=r+f<<0,r=f+p<<0),l=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),u=(s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7),g=r&e,d=g^r&t^h,m=s&i^~s&a,f=o+u+m+Wi[y+1]+c[y+1],p=l+d,o=n+f<<0,n=f+p<<0,l=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),u=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),_=n&r,d=_^n&e^g,m=o&s^~o&i,f=a+u+m+Wi[y+2]+c[y+2],p=l+d,a=t+f<<0,t=f+p<<0,l=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),u=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),v=t&n,d=v^t&r^_,m=a&o^~a&s,f=i+u+m+Wi[y+3]+c[y+3],p=l+d,i=e+f<<0,e=f+p<<0;W(this,Oi,G(this,Oi)+e<<0),W(this,ki,G(this,ki)+t<<0),W(this,Ai,G(this,Ai)+n<<0),W(this,ji,G(this,ji)+r<<0),W(this,Mi,G(this,Mi)+i<<0),W(this,Ni,G(this,Ni)+a<<0),W(this,Pi,G(this,Pi)+o<<0),W(this,Fi,G(this,Fi)+s<<0)}hex(){this.finalize();let e=G(this,Oi),t=G(this,ki),n=G(this,Ai),r=G(this,ji),i=G(this,Mi),a=G(this,Ni),o=G(this,Pi),s=G(this,Fi),c=K[e>>28&15]+K[e>>24&15]+K[e>>20&15]+K[e>>16&15]+K[e>>12&15]+K[e>>8&15]+K[e>>4&15]+K[e&15]+K[t>>28&15]+K[t>>24&15]+K[t>>20&15]+K[t>>16&15]+K[t>>12&15]+K[t>>8&15]+K[t>>4&15]+K[t&15]+K[n>>28&15]+K[n>>24&15]+K[n>>20&15]+K[n>>16&15]+K[n>>12&15]+K[n>>8&15]+K[n>>4&15]+K[n&15]+K[r>>28&15]+K[r>>24&15]+K[r>>20&15]+K[r>>16&15]+K[r>>12&15]+K[r>>8&15]+K[r>>4&15]+K[r&15]+K[i>>28&15]+K[i>>24&15]+K[i>>20&15]+K[i>>16&15]+K[i>>12&15]+K[i>>8&15]+K[i>>4&15]+K[i&15]+K[a>>28&15]+K[a>>24&15]+K[a>>20&15]+K[a>>16&15]+K[a>>12&15]+K[a>>8&15]+K[a>>4&15]+K[a&15]+K[o>>28&15]+K[o>>24&15]+K[o>>20&15]+K[o>>16&15]+K[o>>12&15]+K[o>>8&15]+K[o>>4&15]+K[o&15];return G(this,Ri)||(c+=K[s>>28&15]+K[s>>24&15]+K[s>>20&15]+K[s>>16&15]+K[s>>12&15]+K[s>>8&15]+K[s>>4&15]+K[s&15]),c}toString(){return this.hex()}digest(){this.finalize();let e=G(this,Oi),t=G(this,ki),n=G(this,Ai),r=G(this,ji),i=G(this,Mi),a=G(this,Ni),o=G(this,Pi),s=G(this,Fi),c=[e>>24&255,e>>16&255,e>>8&255,e&255,t>>24&255,t>>16&255,t>>8&255,t&255,n>>24&255,n>>16&255,n>>8&255,n&255,r>>24&255,r>>16&255,r>>8&255,r&255,i>>24&255,i>>16&255,i>>8&255,i&255,a>>24&255,a>>16&255,a>>8&255,a&255,o>>24&255,o>>16&255,o>>8&255,o&255];return G(this,Ri)||c.push(s>>24&255,s>>16&255,s>>8&255,s&255),c}array(){return this.digest()}arrayBuffer(){this.finalize();let e=new ArrayBuffer(G(this,Ri)?28:32),t=new DataView(e);return t.setUint32(0,G(this,Oi)),t.setUint32(4,G(this,ki)),t.setUint32(8,G(this,Ai)),t.setUint32(12,G(this,ji)),t.setUint32(16,G(this,Mi)),t.setUint32(20,G(this,Ni)),t.setUint32(24,G(this,Pi)),G(this,Ri)||t.setUint32(28,G(this,Fi)),e}};Ci=new WeakMap,wi=new WeakMap,Ti=new WeakMap,Ei=new WeakMap,Di=new WeakMap,Oi=new WeakMap,ki=new WeakMap,Ai=new WeakMap,ji=new WeakMap,Mi=new WeakMap,Ni=new WeakMap,Pi=new WeakMap,Fi=new WeakMap,Ii=new WeakMap,Li=new WeakMap,Ri=new WeakMap,zi=new WeakMap,Bi=new WeakMap;function qi(e){let t=new Ki;return t.update(e),parseInt(t.hex().substring(0,8),16)}var Ji=function(e){var t=`#`;return e.forEach(function(e){e<16&&(t+=0),t+=e.toString(16)}),t},Yi=function(e,t,n){e/=360;var r=n<.5?n*(1+t):n+t-n*t,i=2*n-r;return[e+1/3,e,e-1/3].map(function(e){return e<0&&e++,e>1&&e--,e=e<1/6?i+(r-i)*6*e:e<.5?r:e<2/3?i+(r-i)*6*(2/3-e):i,Math.round(e*255)})},Xi=class{constructor(e={}){let[t,n]=[e.lightness,e.saturation].map(function(e){return e=e===void 0?[.35,.5,.65]:e,Array.isArray(e)?e.concat():[e]});this.L=t,this.S=n,typeof e.hue==`number`&&(e.hue={min:e.hue,max:e.hue}),typeof e.hue==`object`&&!Array.isArray(e.hue)&&(e.hue=[e.hue]),e.hue===void 0&&(e.hue=[]),this.hueRanges=e.hue.map(function(e){return{min:e.min===void 0?0:e.min,max:e.max===void 0?360:e.max}}),this.hash=qi,typeof e.hash==`function`&&(this.hash=e.hash),e.hash===`bkdr`&&(this.hash=Vi)}hsl(e){var t,n,r,i=this.hash(e),a=727;if(this.hueRanges.length){let e=this.hueRanges[i%this.hueRanges.length];t=i/this.hueRanges.length%a*(e.max-e.min)/a+e.min}else t=i%359;return i=Math.ceil(i/360),n=this.S[i%this.S.length],i=Math.ceil(i/this.S.length),r=this.L[i%this.L.length],[t,n,r]}rgb(e){var t=this.hsl(e);return Yi.apply(this,t)}hex(e){return Ji(this.rgb(e))}};function Zi(e,t){return e.locations?.length?e.locations:e.start>e.end?[{start:e.start,end:t-1},{start:0,end:e.end}]:[{start:e.start,end:e.end}]}function Qi(e,t,n){return e.filter(e=>e.start<n&&e.end>=t).map(e=>({start:Math.max(e.start,t)-t,end:Math.min(e.end,n-1)-t,startIsActual:e.start>=t,endIsActual:e.end<n}))}function $i(e,t,n){if(e.type!==`Insertion`||e.pointerPosition===void 0)return e.anchor;let r=Math.min(n-1,Math.max(0,Math.floor(e.pointerPosition+.5))),i=e=>t.some(t=>e>=t.start&&e<=t.end);return!i(r)&&i(r-1)&&r--,r}var ea=new Xi({lightness:[.75,.9,.7,.8]}),ta=(e,t)=>{switch(e.type){case`CDS`:switch(e.name){case`S`:return`#ff7373`;case`nsp3`:return`#d3ffce`;case`leader`:return`#ff7f50`;case`nsp2`:return`#ddffdd`;case`nsp4`:return`#ff7373`;case`N`:return`#7fffd4`;case`E`:return`#ff7f50`;case`M`:return`#eeee88`;case`nsp12; RdRp`:return`#ff7f50`;case`nsp6`:return`#ee99ee`;case`nsp7`:return`#99ee99`;case`nsp8`:return`#ff7373`;case`nsp10`:return`#d3ffce`;case`nsp14`:return`#ff7f50`;case`nsp15`:return`#ddffdd`;case`nsp16`:return`#ffeeee`;case`nsp13`:return`#ff7f50`;default:return ea.hex(e.name+t+e.type)}case`gene`:return`blue`;case`misc_feature`:return`green`;case`5'UTR`:return`orange`;case`3'UTR`:return`orange`;default:return ea.hex(e.name+t+e.type)}},na=e=>{switch(e){case`TTT`:case`TTC`:return`F`;case`TTA`:case`TTG`:case`CTT`:case`CTC`:case`CTA`:case`CTG`:return`L`;case`ATT`:case`ATC`:case`ATA`:return`I`;case`ATG`:return`M`;case`GTT`:case`GTC`:case`GTA`:case`GTG`:return`V`;case`TCT`:case`TCC`:case`TCA`:case`TCG`:case`AGT`:case`AGC`:return`S`;case`CCT`:case`CCC`:case`CCA`:case`CCG`:return`P`;case`ACT`:case`ACC`:case`ACA`:case`ACG`:return`T`;case`GCT`:case`GCC`:case`GCA`:case`GCG`:return`A`;case`TAT`:case`TAC`:return`Y`;case`TAA`:case`TAG`:case`TGA`:return`*`;case`CAT`:case`CAC`:return`H`;case`CAA`:case`CAG`:return`Q`;case`AAT`:case`AAC`:return`N`;case`AAA`:case`AAG`:return`K`;case`GAT`:case`GAC`:return`D`;case`GAA`:case`GAG`:return`E`;case`TGT`:case`TGC`:return`C`;case`TGG`:return`W`;case`CGT`:case`CGC`:case`CGA`:case`CGG`:case`AGA`:case`AGG`:return`R`;case`GGT`:case`GGC`:case`GGA`:case`GGG`:return`G`;default:return`X`}},ra=e=>typeof e==`number`&&!isNaN(e),ia=e=>typeof e==`string`,aa=e=>typeof e==`function`,oa=e=>ia(e)||ra(e),sa=e=>ia(e)||aa(e)?e:null,ca=(e,t)=>e===!1||ra(e)&&e>0?e:t,la=e=>(0,u.isValidElement)(e)||ia(e)||aa(e)||ra(e);function ua(e,t,n=300){let{scrollHeight:r,style:i}=e;requestAnimationFrame(()=>{i.minHeight=`initial`,i.height=r+`px`,i.transition=`all ${n}ms`,requestAnimationFrame(()=>{i.height=`0`,i.padding=`0`,i.margin=`0`,setTimeout(t,n)})})}function da({enter:e,exit:t,appendPosition:n=!1,collapse:r=!0,collapseDuration:i=300}){return function({children:a,position:o,preventExitTransition:s,done:c,nodeRef:l,isIn:d,playToast:f}){let p=n?`${e}--${o}`:e,m=n?`${t}--${o}`:t,h=(0,u.useRef)(0);return(0,u.useLayoutEffect)(()=>{let e=l.current,t=p.split(` `),n=r=>{r.target===l.current&&(f(),e.removeEventListener(`animationend`,n),e.removeEventListener(`animationcancel`,n),h.current===0&&r.type!==`animationcancel`&&e.classList.remove(...t))};e.classList.add(...t),e.addEventListener(`animationend`,n),e.addEventListener(`animationcancel`,n)},[]),(0,u.useEffect)(()=>{let e=l.current,t=()=>{e.removeEventListener(`animationend`,t),r?ua(e,c,i):c()};d||(s?t():(h.current=1,e.className+=` ${m}`,e.addEventListener(`animationend`,t)))},[d]),u.default.createElement(u.default.Fragment,null,a)}}function fa(e,t){return{content:pa(e.content,e.props),containerId:e.props.containerId,id:e.props.toastId,theme:e.props.theme,type:e.props.type,data:e.props.data||{},isLoading:e.props.isLoading,icon:e.props.icon,reason:e.removalReason,status:t}}function pa(e,t,n=!1){return(0,u.isValidElement)(e)&&!ia(e.type)?(0,u.cloneElement)(e,{closeToast:t.closeToast,toastProps:t,data:t.data,isPaused:n}):aa(e)?e({closeToast:t.closeToast,toastProps:t,data:t.data,isPaused:n}):e}function ma({closeToast:e,theme:t,ariaLabel:n=`close`}){return u.default.createElement(`button`,{className:`Toastify__close-button Toastify__close-button--${t}`,type:`button`,onClick:t=>{t.stopPropagation(),e(!0)},"aria-label":n},u.default.createElement(`svg`,{"aria-hidden":`true`,viewBox:`0 0 14 16`},u.default.createElement(`path`,{fillRule:`evenodd`,d:`M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z`})))}function ha({delay:e,isRunning:t,closeToast:n,type:r=`default`,hide:i,className:a,controlledProgress:o,progress:s,rtl:c,isIn:l,theme:d}){let f=i||o&&s===0,p={animationDuration:`${e}ms`,animationPlayState:t?`running`:`paused`};o&&(p.transform=`scaleX(${s})`);let m=P(`Toastify__progress-bar`,o?`Toastify__progress-bar--controlled`:`Toastify__progress-bar--animated`,`Toastify__progress-bar-theme--${d}`,`Toastify__progress-bar--${r}`,{"Toastify__progress-bar--rtl":c}),h=aa(a)?a({rtl:c,type:r,defaultClassName:m}):P(m,a),g={[o&&s>=1?`onTransitionEnd`:`onAnimationEnd`]:o&&s<1?null:()=>{l&&n()}};return u.default.createElement(`div`,{className:`Toastify__progress-bar--wrp`,"data-hidden":f},u.default.createElement(`div`,{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${d} Toastify__progress-bar--${r}`}),u.default.createElement(`div`,{role:`progressbar`,"aria-hidden":f?`true`:`false`,"aria-label":`notification timer`,"aria-valuenow":o?Math.round(s*100):void 0,"aria-valuemin":0,"aria-valuemax":100,className:h,style:p,...g}))}var ga=1,_a=()=>`${ga++}`;function va(e,t,n){let r=1,i=0,a=[],o=[],s=t,c=new Map,l=new Set,u=e=>(l.add(e),()=>l.delete(e)),d=()=>{o=Array.from(c.values()),l.forEach(e=>e())},f=({containerId:t,toastId:n,updateId:r})=>{let i=t?t!==e:e!==1,a=c.has(n)&&r==null;return i||a},p=(e,t)=>{c.forEach(n=>{var r;(t==null||t===n.props.toastId)&&((r=n.toggle)==null||r.call(n,e))})},m=e=>{var t,r;e.isActive&&((r=(t=e.props)?.onClose)==null||r.call(t,e.removalReason),e.isActive=!1,n(fa(e,`removed`)))},h=e=>{if(e==null)c.forEach(m);else{let t=c.get(e);t&&m(t)}d()},g=()=>{i-=a.length,a=[]},_=e=>{var t,r;let{toastId:i,updateId:a}=e.props,o=a==null;e.staleId&&c.delete(e.staleId),e.isActive=!0,c.set(i,e),d(),n(fa(e,o?`added`:`updated`)),o&&((r=(t=e.props).onOpen)==null||r.call(t))};return{id:e,props:s,observe:u,toggle:p,removeToast:h,toasts:c,clearQueue:g,buildToast:(e,t)=>{if(f(t))return;let{toastId:n,updateId:o,data:l,staleId:u,delay:p}=t,m=o==null;m&&i++;let g={...s,style:s.toastStyle,key:r++,...Object.fromEntries(Object.entries(t).filter(([e,t])=>t!=null)),toastId:n,updateId:o,data:l,isIn:!1,className:sa(t.className||s.toastClassName),progressClassName:sa(t.progressClassName||s.progressClassName),autoClose:!t.isLoading&&ca(t.autoClose,s.autoClose),closeToast(e){let t=c.get(n);t&&(t.removalReason=e,h(n))},deleteToast(){if(c.get(n)!=null){if(c.delete(n),i--,i<0&&(i=0),a.length>0){_(a.shift());return}d()}}};g.closeButton=s.closeButton,t.closeButton===!1||la(t.closeButton)?g.closeButton=t.closeButton:t.closeButton===!0&&(g.closeButton=!la(s.closeButton)||s.closeButton);let v={content:e,props:g,staleId:u};s.limit&&s.limit>0&&i>s.limit&&m?a.push(v):ra(p)?setTimeout(()=>{_(v)},p):_(v)},setProps(e){s=e},setToggle:(e,t)=>{let n=c.get(e);n&&(n.toggle=t)},isToastActive:e=>c.get(e)?.isActive,getSnapshot:()=>o}}var ya=new Map,ba=[],xa=new Set,Sa=e=>xa.forEach(t=>t(e)),Ca=()=>ya.size>0;function wa(){ba.forEach(e=>ka(e.content,e.options)),ba=[]}var Ta=(e,{containerId:t})=>ya.get(t||1)?.toasts.get(e);function Ea(e,t){var n;if(t)return!!((n=ya.get(t))!=null&&n.isToastActive(e));let r=!1;return ya.forEach(t=>{t.isToastActive(e)&&(r=!0)}),r}function Da(e){if(!Ca()){ba=ba.filter(t=>e!=null&&t.options.toastId!==e);return}if(e==null||oa(e))ya.forEach(t=>{t.removeToast(e)});else if(e&&(`containerId`in e||`id`in e)){let t=ya.get(e.containerId);t?t.removeToast(e.id):ya.forEach(t=>{t.removeToast(e.id)})}}var Oa=(e={})=>{ya.forEach(t=>{t.props.limit&&(!e.containerId||t.id===e.containerId)&&t.clearQueue()})};function ka(e,t){la(e)&&(Ca()||ba.push({content:e,options:t}),ya.forEach(n=>{n.buildToast(e,t)}))}function Aa(e){var t;(t=ya.get(e.containerId||1))==null||t.setToggle(e.id,e.fn)}function ja(e,t){ya.forEach(n=>{(t==null||!(t!=null&&t.containerId)||t?.containerId===n.id)&&n.toggle(e,t?.id)})}function Ma(e){let t=e.containerId||1;return{subscribe(n){let r=va(t,e,Sa);ya.set(t,r);let i=r.observe(n);return wa(),()=>{i(),ya.delete(t)}},setProps(e){var n;(n=ya.get(t))==null||n.setProps(e)},getSnapshot(){return ya.get(t)?.getSnapshot()}}}function Na(e){return xa.add(e),()=>{xa.delete(e)}}function Pa(e){return e&&(ia(e.toastId)||ra(e.toastId))?e.toastId:_a()}function Fa(e,t){return ka(e,t),t.toastId}function Ia(e,t){return{...t,type:t&&t.type||e,toastId:Pa(t)}}function La(e){return(t,n)=>Fa(t,Ia(e,n))}function q(e,t){return Fa(e,Ia(`default`,t))}q.loading=(e,t)=>Fa(e,Ia(`default`,{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...t}));function Ra(e,{pending:t,error:n,success:r},i){let a;t&&(a=ia(t)?q.loading(t,i):q.loading(t.render,{...i,...t}));let o={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},s=(e,t,n)=>{if(t==null){q.dismiss(a);return}let r={type:e,...o,...i,data:n},s=ia(t)?{render:t}:t;return a?q.update(a,{...r,...s}):q(s.render,{...r,...s}),n},c=aa(e)?e():e;return c.then(e=>s(`success`,r,e)).catch(e=>s(`error`,n,e)),c}q.promise=Ra,q.success=La(`success`),q.info=La(`info`),q.error=La(`error`),q.warning=La(`warning`),q.warn=q.warning,q.dark=(e,t)=>Fa(e,Ia(`default`,{theme:`dark`,...t}));function za(e){Da(e)}q.dismiss=za,q.clearWaitingQueue=Oa,q.isActive=Ea,q.update=(e,t={})=>{let n=Ta(e,t);if(n){let{props:r,content:i}=n,a={delay:100,...r,...t,toastId:t.toastId||e,updateId:_a()};a.toastId!==e&&(a.staleId=e);let o=a.render||i;delete a.render,Fa(o,a)}},q.done=e=>{q.update(e,{progress:1})},q.onChange=Na,q.play=e=>ja(!0,e),q.pause=e=>ja(!1,e);function Ba(e){let{subscribe:t,getSnapshot:n,setProps:r}=(0,u.useRef)(Ma(e)).current;r(e);let i=(0,u.useSyncExternalStore)(t,n,n)?.slice();function a(t){if(!i)return[];let n=new Map;return e.newestOnTop&&i.reverse(),i.forEach(e=>{let{position:t}=e.props;n.has(t)||n.set(t,[]),n.get(t).push(e)}),Array.from(n,e=>t(e[0],e[1]))}return{getToastToRender:a,isToastActive:Ea,count:i?.length}}function Va(e){let[t,n]=(0,u.useState)(!1),[r,i]=(0,u.useState)(!1),a=(0,u.useRef)(null),o=(0,u.useRef)({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:s,pauseOnHover:c,closeToast:l,onClick:d,closeOnClick:f}=e;Aa({id:e.toastId,containerId:e.containerId,fn:n}),(0,u.useEffect)(()=>{if(e.pauseOnFocusLoss)return p(),()=>{m()}},[e.pauseOnFocusLoss]);function p(){document.hasFocus()||v(),window.addEventListener(`focus`,_),window.addEventListener(`blur`,v)}function m(){window.removeEventListener(`focus`,_),window.removeEventListener(`blur`,v)}function h(t){if(e.draggable===!0||e.draggable===t.pointerType){y();let n=a.current;o.canCloseOnClick=!0,o.canDrag=!0,n.style.transition=`none`,e.draggableDirection===`x`?(o.start=t.clientX,o.removalDistance=n.offsetWidth*(e.draggablePercent/100)):(o.start=t.clientY,o.removalDistance=n.offsetHeight*(e.draggablePercent===80?e.draggablePercent*1.5:e.draggablePercent)/100)}}function g(t){let{top:n,bottom:r,left:i,right:o}=a.current.getBoundingClientRect();t.pointerType===`mouse`&&e.pauseOnHover&&t.clientX>=i&&t.clientX<=o&&t.clientY>=n&&t.clientY<=r?v():_()}function _(){n(!0)}function v(){n(!1)}function y(){o.didMove=!1,document.addEventListener(`pointermove`,x),document.addEventListener(`pointerup`,S)}function b(){document.removeEventListener(`pointermove`,x),document.removeEventListener(`pointerup`,S)}function x(n){let r=a.current;if(o.canDrag&&r){o.didMove=!0,t&&v(),e.draggableDirection===`x`?o.delta=n.clientX-o.start:o.delta=n.clientY-o.start,o.start!==n.clientX&&(o.canCloseOnClick=!1);let i=e.draggableDirection===`x`?`${o.delta}px, var(--y)`:`0, calc(${o.delta}px + var(--y))`;r.style.transform=`translate3d(${i},0)`,r.style.opacity=`${1-Math.abs(o.delta/o.removalDistance)}`}}function S(){b();let t=a.current;if(o.canDrag&&o.didMove&&t){if(o.canDrag=!1,Math.abs(o.delta)>o.removalDistance){i(!0),e.closeToast(!0),e.collapseAll();return}t.style.transition=`transform 0.2s, opacity 0.2s`,t.style.removeProperty(`transform`),t.style.removeProperty(`opacity`)}}let C={onPointerDown:h,onPointerUp:g};return s&&c&&(C.onMouseEnter=v,e.stacked||(C.onMouseLeave=_)),f&&(C.onClick=e=>{d&&d(e),o.canCloseOnClick&&l(!0)}),{playToast:_,pauseToast:v,isRunning:t,preventExitTransition:r,toastRef:a,eventHandlers:C}}var Ha=typeof window<`u`?u.useLayoutEffect:u.useEffect,Ua=({theme:e,type:t,isLoading:n,...r})=>u.default.createElement(`svg`,{viewBox:`0 0 24 24`,width:`100%`,height:`100%`,fill:e===`colored`?`currentColor`:`var(--toastify-icon-color-${t})`,...r});function Wa(e){return u.default.createElement(Ua,{...e},u.default.createElement(`path`,{d:`M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z`}))}function Ga(e){return u.default.createElement(Ua,{...e},u.default.createElement(`path`,{d:`M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z`}))}function Ka(e){return u.default.createElement(Ua,{...e},u.default.createElement(`path`,{d:`M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z`}))}function qa(e){return u.default.createElement(Ua,{...e},u.default.createElement(`path`,{d:`M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z`}))}function Ja(){return u.default.createElement(`div`,{className:`Toastify__spinner`})}var Ya={info:Ga,warning:Wa,success:Ka,error:qa,spinner:Ja},Xa=e=>e in Ya;function Za({theme:e,type:t,isLoading:n,icon:r}){let i=null,a={theme:e,type:t};return r===!1||(aa(r)?i=r({...a,isLoading:n}):(0,u.isValidElement)(r)?i=(0,u.cloneElement)(r,a):n?i=Ya.spinner():Xa(t)&&(i=Ya[t](a))),i}var Qa=e=>{let{isRunning:t,preventExitTransition:n,toastRef:r,eventHandlers:i,playToast:a}=Va(e),{closeButton:o,children:s,autoClose:c,onClick:l,type:d,hideProgressBar:f,closeToast:p,transition:m,position:h,className:g,style:_,progressClassName:v,updateId:y,role:b,progress:x,rtl:S,toastId:C,deleteToast:w,isIn:T,isLoading:E,closeOnClick:D,theme:O,ariaLabel:k}=e,A=P(`Toastify__toast`,`Toastify__toast-theme--${O}`,`Toastify__toast--${d}`,{"Toastify__toast--rtl":S},{"Toastify__toast--close-on-click":D}),j=aa(g)?g({rtl:S,position:h,type:d,defaultClassName:A}):P(A,g),M=Za(e),N=!!x||!c,F={closeToast:p,type:d,theme:O},I=null;return o===!1||(I=aa(o)?o(F):(0,u.isValidElement)(o)?(0,u.cloneElement)(o,F):ma(F)),u.default.createElement(m,{isIn:T,done:w,position:h,preventExitTransition:n,nodeRef:r,playToast:a},u.default.createElement(`div`,{id:C,tabIndex:0,onClick:l,"data-in":T,className:j,...i,style:_,ref:r,...T&&{role:b,"aria-label":k}},M!=null&&u.default.createElement(`div`,{className:P(`Toastify__toast-icon`,{"Toastify--animate-icon Toastify__zoom-enter":!E})},M),pa(s,e,!t),I,!e.customProgressBar&&u.default.createElement(ha,{...y&&!N?{key:`p-${y}`}:{},rtl:S,theme:O,delay:c,isRunning:t,isIn:T,closeToast:p,hide:f,type:d,className:v,controlledProgress:N,progress:x||0})))},$a=(e,t=!1)=>({enter:`Toastify--animate Toastify__${e}-enter`,exit:`Toastify--animate Toastify__${e}-exit`,appendPosition:t}),eo=da($a(`bounce`,!0));da($a(`slide`,!0)),da($a(`zoom`)),da($a(`flip`));var to={position:`top-right`,transition:eo,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:`touch`,draggablePercent:80,draggableDirection:`x`,role:`alert`,theme:`light`,"aria-label":`Notifications Alt+T`,hotKeys:e=>e.altKey&&e.code===`KeyT`};function no(e){let t={...to,...e},n=e.stacked,[r,i]=(0,u.useState)(!0),a=(0,u.useRef)(null),{getToastToRender:o,isToastActive:s,count:c}=Ba(t),{className:l,style:d,rtl:f,containerId:p,hotKeys:m}=t;function h(e){let t=P(`Toastify__toast-container`,`Toastify__toast-container--${e}`,{"Toastify__toast-container--rtl":f});return aa(l)?l({position:e,rtl:f,defaultClassName:t}):P(t,sa(l))}function g(){n&&(i(!0),q.play())}return Ha(()=>{if(n){let e=a.current.querySelectorAll(`[data-in="true"]`),n=t.position?.includes(`top`),i=0,o=0;Array.from(e).reverse().forEach((e,t)=>{let a=e;a.classList.add(`Toastify__toast--stacked`),t>0&&(a.dataset.collapsed=`${r}`),a.dataset.pos||(a.dataset.pos=n?`top`:`bot`);let s=i*(r?.2:1)+(r?0:12*t),c=Math.max(.5,1-(r?o:0));a.style.setProperty(`--y`,`${n?s:s*-1}px`),a.style.setProperty(`--g`,`12`),a.style.setProperty(`--s`,`${c}`),i+=a.offsetHeight,o+=.025})}},[r,c,n]),(0,u.useEffect)(()=>{function e(e){var t;let n=a.current;m(e)&&((t=n?.querySelector(`[tabIndex="0"]`))==null||t.focus(),i(!1),q.pause()),e.key===`Escape`&&(document.activeElement===n||n!=null&&n.contains(document.activeElement))&&(i(!0),q.play())}return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[m]),u.default.createElement(`section`,{ref:a,className:`Toastify`,id:p,onMouseEnter:()=>{n&&(i(!1),q.pause())},onMouseLeave:g,"aria-live":`polite`,"aria-atomic":`false`,"aria-relevant":`additions text`,"aria-label":t[`aria-label`]},o((e,t)=>{let r=t.length?{...d}:{...d,pointerEvents:`none`};return u.default.createElement(`div`,{tabIndex:-1,className:h(e),"data-stacked":n,style:r,key:`c-${e}`},t.map(({content:e,props:t})=>u.default.createElement(Qa,{...t,stacked:n,collapseAll:g,isIn:s(t.toastId,t.containerId),key:`t-${t.key}`},e)))}))}var ro=6,io=1;new Xi({lightness:[.75,.9,.7,.8]});function ao(e){let t=e.slice().sort((e,t)=>e.start-t.start),n=[];return t.forEach(e=>{let t=!1;for(let r=0;r<n.length;r++){let i=!1;for(let t of n[r])if(e.start<=t.end&&e.end>=t.start){i=!0;break}if(!i){n[r].push(e),e.lane=r,t=!0;break}}t||(n.push([e]),e.lane=n.length-1)}),n.length}function oo(e,t){return!(e.left>t.right||e.right<t.left||e.top>t.bottom||e.bottom<t.top)}function so(e,t,n,r,i,a,o){let s=n.length*6+10,c=a,l=a+o;if(l<c)return null;let u=e==0?e-5:e;for(let e=0;e<i;e++){let e={left:u,top:t,right:u+s,bottom:t+10};if(!r.some(t=>oo(e,t)))return r.push(e),{x:u};if(u+=10,u>l)break}return null}var co=({parsedSequence:e,rowStart:t,rowEnd:n,setHoveredInfo:r,rowId:i,intSearchInput:a,annotSearchInput:o,zoomLevel:s,whereMouseWentDown:c,setWhereMouseWentDown:l,whereMouseWentUp:u,setWhereMouseWentUp:f,whereMouseCurrentlyIs:p,setWhereMouseCurrentlyIs:m,sequenceHits:h,curSeqHitIndex:g,enableRC:_,visibleFeatures:v,differences:y=[],proteins:b})=>{let x=2**s,S=10*x,C=e.sequence,w=C.slice(t,n),T=v.filter(e=>Zi(e,C.length).some(e=>e.start<n&&e.end>=t)),E=o?Si(T,o):[],D=a>=t&&a<=n||E.length>0,O=T.map((r,i)=>{let a=b?.[e.features.indexOf(r)],o=Zi(r,C.length),c=Qi(o,t,n),l=o.reduce((e,t)=>e+t.end-t.start+1,0),u=[];if(s>-2&&(r.type===`CDS`||r.type===`mat_peptide`))for(let e=t;e<n;e++){let n=0;for(let i=0;i<o.length;i++){if(e>=o[i].start&&e<=o[i].end){let a=e,s=Math.floor((e-(o[i].start-n))/3),c=r.strand>0?s:l/3-s-1;if((e-(o[i].start-n))%3!=1)continue;let d=a,f=C.slice(d,d+1),p=a-o[i].start>0?a-1:o[i-1]?.end,m=C.slice(p,p+1),h=a<o[i].end?a+1:o[i+1]?.start,g=C.slice(h,h+1),_=m+f+g,v=na(r.strand>0?_:xi(_));u.push({first:p-t,middle:a-t,last:h-t,aminoAcid:v,codonIndex:c,gene:r.name})}n+=o[i].end-o[i].start+1}}return a?.codons.length&&(u=a.codons.filter(e=>e.positions[1]>=t&&e.positions[1]<n).map(e=>({first:e.positions[0]-t,middle:e.positions[1]-t,last:e.positions[2]-t,aminoAcid:e.aminoAcid,codonIndex:e.codonIndex,gene:r.name}))),{start:Math.min(...c.map(e=>e.start)),end:Math.max(...c.map(e=>e.end)),proteinChanges:a?.changes||[],blocks:c,name:r.name,type:r.type,notes:r.notes,strand:r.strand,locations:o,codonMap:u,lane:0,key:i}}),k=ao(O),A=w.length*S,j=y.filter(e=>e.type===`Insertion`?e.start>=t&&(e.start<n||e.start===n&&n===C.length):e.start<n&&e.end>t),M=[],N=Math.max(A,120),P=j.map(e=>{let r=Math.max(t,e.start),i=Math.min(n,e.end),a=e.type===`Insertion`,o=a?(e.start-t-.5)*S:((r+i-1)/2-t)*S,s=a?`INS +${e.alternative}`:e.type===`Deletion`?`DEL ${e.reference}`:e.type===`Ambiguous`?`Coverage gap`:`${e.reference} → ${e.alternative}`,c=Math.max(8,Math.floor((N-20)/7)),l=s.length>c?`${s.slice(0,c-1)}…`:s,u=Math.min(N,l.length*7+16),d=Math.max(-S/2,Math.min(o-u/2,N-u)),f=M.findIndex(e=>e+8<=d);f===-1&&(f=M.length),M[f]=d+u;let p=a?`#1d4ed8`:e.type===`Deletion`?`#b91c1c`:e.type===`Ambiguous`?`#6d28d9`:`#92400e`,m=a?`#eff6ff`:e.type===`Deletion`?`#fef2f2`:e.type===`Ambiguous`?`#f5f3ff`:`#fffbeb`,h=a?`after reference base ${e.start}`:`reference ${e.start+1}${e.end>e.start+1?`–${e.end}`:``}`,g=e.type===`Ambiguous`?`Coverage gap at ${h}`:`${e.type} at ${h}: ${e.reference||`—`} → ${e.alternative||`—`}`;return{...e,start:r,end:i,anchor:o,displayLabel:l,labelWidth:u,left:d,lane:f,color:p,background:m,description:g}}),F=P.length?18+M.length*28:0,I=70+k*20+F,L=Array.from({length:k},()=>[]);O.forEach(e=>{e.proteinLabels=e.proteinChanges.filter(r=>{let i=$i(r,e.locations,C.length);return i>=t&&i<n}).sort((e,t)=>e.anchor-t.anchor).map(n=>{let r=n.end>n.start+1?`${n.start+1}–${n.end}`:n.start+1,i=n.type===`Insertion`?`AA INS +${n.alternative} · after ${n.aaPosition}`:n.type===`Deletion`?`AA DEL ${n.reference} · ${r}`:n.type===`Frameshift`?`Frame shift · AA ${n.aaPosition}`:`AA ${n.reference}${n.aaPosition} → ${n.alternative}`,a=Math.max(8,Math.floor((N-20)/7)),o=i.length>a?`${i.slice(0,a-1)}…`:i,s=Math.min(N,o.length*7+16),c=((n.pointerPosition??n.anchor)-t)*S,l=Math.max(-S/2,Math.min(c-s/2,N-s)),u=L[e.lane],d=u.findIndex(e=>e+8<=l);d===-1&&(d=u.length),u[d]=l+s;let f=n.type===`Insertion`?`#1d4ed8`:n.type===`Deletion`?`#b91c1c`:[`Frameshift`,`Ambiguous`].includes(n.type)?`#6d28d9`:`#92400e`;return{...n,text:i,label:o,labelWidth:s,anchor:c,left:l,lane:d,color:f}})});let R=[],z=0;L.forEach((e,t)=>{R[t]=t*20+z,z+=e.length?12+e.length*26:0}),I+=z;let ee=Math.ceil(A/(t>1e4?60:40)),te=Math.ceil(w.length/ee);te=[5,10,20,50,100,200,500,1e3,2e3,5e3,1e4,2e4,5e4,1e5,2e5,5e5,1e6,2e6,5e6,1e7].find(e=>e>=te)||te;let ne=t%te,re=Math.floor((n-t)/te)+1,ie=Array.from({length:re},(e,n)=>(n+1)*te+t-ne-1).map((e,r)=>{let i=(e-t)/(n-t)*A;return(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`line`,{x1:i,y1:0,x2:i,y2:10,stroke:`black`}),(0,d.jsx)(`text`,{x:i,y:20,textAnchor:`middle`,fontSize:`10`,children:e+1})]},r)}),ae=new Set;j.filter(e=>e.type===`Ambiguous`).forEach(e=>{for(let r=Math.max(t,e.start);r<Math.min(n,e.end);r++)ae.add(r)});let oe=null,se=null;s>-1&&(oe=w.split(``).map((e,n)=>{let i=n*S;return(0,d.jsx)(`text`,{x:i,y:10,textAnchor:`middle`,fontSize:s<-1?`11`:`12`,fontFamily:s<-.25?`Open Sans Condensed`:`sans-serif`,fontWeight:s<-.25?`600`:`400`,fillOpacity:ae.has(t+n)?.35:.9,onMouseEnter:()=>r({label:`Nucleotide ${n+t+1}: ${e}`}),onMouseLeave:()=>r(null),children:e},n)}));let B={A:`T`,T:`A`,C:`G`,G:`C`,N:`N`};s>-1&&(se=w.split(``).map((e,n)=>{let i=n*S;return(0,d.jsx)(`text`,{x:i,y:10,textAnchor:`middle`,fontSize:s<-1?`11`:`12`,fontFamily:s<-.25?`Open Sans Condensed`:`sans-serif`,fontWeight:s<-.25?`600`:`400`,fillOpacity:ae.has(t+n)?.35:.9,onMouseEnter:()=>r({label:`Nucleotide ${n+t+1}: ${e}`}),onMouseLeave:()=>r(null),children:B[e]},n)}));let ce=e=>{let t=e.locations.map(e=>Math.min(e.start,e.end)).reduce((e,t)=>Math.min(e,t)),n=e.locations.map(e=>Math.max(e.start,e.end)).reduce((e,t)=>Math.max(e,t));l(t),f(n+1),e.locations.length>1&&q.info(`This feature has multiple locations. The selection will be from the start of the first location to the end of the last location.`)},le=[],ue=O.map(e=>{let t=e.start*S,n=(e.end-e.start)*S,i=L[e.lane].length,a=7+R[e.lane]+(i?12+i*26:0),o=e.notes?.product||``,c=e.type===`mat_peptide`?o:e.name,l=e.type===`mat_peptide`?e.name:o;return c===`Untitled Feature`&&(c=e.type),(0,d.jsxs)(`g`,{children:[e.proteinLabels.map((e,t)=>(0,d.jsx)(`path`,{d:`M ${e.left+e.labelWidth/2} ${a-14-e.lane*26} L ${e.anchor} ${a-7} L ${e.anchor} ${a+3}`,fill:`none`,stroke:e.color,strokeWidth:1.25},`aa-pointer-${t}`)),e.proteinLabels.map((t,n)=>(0,d.jsxs)(`g`,{role:`img`,"aria-label":`${e.name}: ${t.text}`,children:[(0,d.jsxs)(`title`,{children:[e.name,`: `,t.text,t.type===`Frameshift`?`; downstream amino-acid correspondence is uncertain`:``]}),(0,d.jsx)(`rect`,{x:t.left,y:a-34-t.lane*26,width:t.labelWidth,height:20,rx:4,fill:`white`,stroke:t.color}),(0,d.jsx)(`text`,{x:t.left+t.labelWidth/2,y:a-20-t.lane*26,textAnchor:`middle`,fontSize:12,fontFamily:`monospace`,fontWeight:600,fill:t.color,children:t.label})]},`aa-label-${n}`)),(0,d.jsx)(`line`,{x1:t+2,y1:a+5,x2:t+n-2,y2:a+5,stroke:ta(e,o),strokeWidth:1.5}),e.blocks.map((t,n)=>{let i=t.start*S-5*x,c=t.end*S+5*x;return(0,d.jsx)(`path`,{d:`${e.strand<0?`M ${c} ${a}
9
+ `)),[]});var Nn=(e=>(e[e.None=0]=`None`,e[e.Closed=1]=`Closed`,e[e.Enter=2]=`Enter`,e[e.Leave=4]=`Leave`,e))(Nn||{});function Pn(e){let t={};for(let n in e)e[n]===!0&&(t[`data-${n}`]=``);return t}function Fn(e,t,n,r){let[i,a]=(0,u.useState)(n),{hasFlag:o,addFlag:s,removeFlag:c}=Mn(e&&i?3:0),l=(0,u.useRef)(!1),d=(0,u.useRef)(!1);return oe(()=>{var i;if(e){if(n&&a(!0),!t){n&&s(3);return}return(i=r?.start)==null||i.call(r,n),In(t,{inFlight:l,prepare(){d.current?d.current=!1:d.current=l.current,l.current=!0,!d.current&&(n?(s(3),c(4)):(s(4),c(2)))},run(){d.current?n?(c(3),s(4)):(c(4),s(3)):n?c(1):s(1)},done(){var e;d.current&&zn(t)||(l.current=!1,c(7),n||a(!1),(e=r?.end)==null||e.call(r,n))}})}},[e,n,t,ae()]),e?[i,{closed:o(1),enter:o(2),leave:o(4),transition:o(2)||o(4)}]:[n,{closed:void 0,enter:void 0,leave:void 0,transition:void 0}]}function In(e,{prepare:t,run:n,done:r,inFlight:i}){let a=ie();return Rn(e,{prepare:t,inFlight:i}),a.nextFrame(()=>{n(),a.requestAnimationFrame(()=>{a.add(Ln(e,r))})}),a.dispose}function Ln(e,t){let n=ie();if(!e)return n.dispose;let r=!1;n.add(()=>{r=!0});let i=e.getAnimations?.call(e).filter(e=>e instanceof CSSTransition)??[];return i.length===0?(t(),n.dispose):(Promise.allSettled(i.map(e=>e.finished)).then(()=>{r||t()}),n.dispose)}function Rn(e,{inFlight:t,prepare:n}){if(t!=null&&t.current){n();return}let r=e.style.transition;e.style.transition=`none`,n(),e.offsetHeight,e.style.transition=r}function zn(e){return(e.getAnimations?.call(e)??[]).some(e=>e instanceof CSSTransition&&e.playState!==`finished`)}function Bn(e,t){let n=(0,u.useRef)([]),r=B(e);(0,u.useEffect)(()=>{let e=[...n.current];for(let[i,a]of t.entries())if(n.current[i]!==a){let i=r(t,e);return n.current=t,i}},[r,...t])}var Vn=(0,u.createContext)(null);Vn.displayName=`OpenClosedContext`;var Hn=(e=>(e[e.Open=1]=`Open`,e[e.Closed=2]=`Closed`,e[e.Closing=4]=`Closing`,e[e.Opening=8]=`Opening`,e))(Hn||{});function Un(){return(0,u.useContext)(Vn)}function Wn({value:e,children:t}){return u.default.createElement(Vn.Provider,{value:e},t)}function Gn({children:e}){return u.default.createElement(Vn.Provider,{value:null},e)}function Kn(e){function t(){document.readyState!==`loading`&&(e(),document.removeEventListener(`DOMContentLoaded`,t))}typeof window<`u`&&typeof document<`u`&&(document.addEventListener(`DOMContentLoaded`,t),t())}var qn=[];Kn(()=>{function e(e){if(!U(e.target)||e.target===document.body||qn[0]===e.target)return;let t=e.target;t=t.closest(Qt),qn.unshift(t??e.target),qn=qn.filter(e=>e!=null&&e.isConnected),qn.splice(10)}window.addEventListener(`click`,e,{capture:!0}),window.addEventListener(`mousedown`,e,{capture:!0}),window.addEventListener(`focus`,e,{capture:!0}),document.body.addEventListener(`click`,e,{capture:!0}),document.body.addEventListener(`mousedown`,e,{capture:!0}),document.body.addEventListener(`focus`,e,{capture:!0})});function Jn(e){let t=B(e),n=(0,u.useRef)(!1);(0,u.useEffect)(()=>(n.current=!1,()=>{n.current=!0,re(()=>{n.current&&t()})}),[t])}function Yn(){let e=typeof document>`u`;return`useSyncExternalStore`in u&&(e=>e.useSyncExternalStore)(u)(()=>()=>{},()=>!1,()=>!e)}function Xn(){let e=Yn(),[t,n]=u.useState(R.isHandoffComplete);return t&&R.isHandoffComplete===!1&&n(!1),u.useEffect(()=>{t!==!0&&n(!0)},[t]),u.useEffect(()=>R.handoff(),[]),!e&&t}var Zn=(0,u.createContext)(!1);function Qn(){return(0,u.useContext)(Zn)}function $n(e){return u.default.createElement(Zn.Provider,{value:e.force},e.children)}function er(e){let t=Qn(),n=(0,u.useContext)(ar),[r,i]=(0,u.useState)(()=>{if(!t&&n!==null)return n.current??null;if(R.isServer)return null;let r=e?.getElementById(`headlessui-portal-root`);if(r)return r;if(e===null)return null;let i=e.createElement(`div`);return i.setAttribute(`id`,`headlessui-portal-root`),e.body.appendChild(i)});return(0,u.useEffect)(()=>{r!==null&&(e!=null&&e.body.contains(r)||e==null||e.body.appendChild(r))},[r,e]),(0,u.useEffect)(()=>{t||n!==null&&i(n.current)},[n,i,t]),r}var tr=u.Fragment,nr=ye(function(e,t){let{ownerDocument:n=null,...r}=e,i=(0,u.useRef)(null),a=Re(Le(e=>{i.current=e}),t),o=xn(i.current),s=er(n??o),c=(0,u.useContext)(sr),l=ae(),d=Xn(),p=H();return Jn(()=>{var e;s&&s.childNodes.length<=0&&((e=s.parentElement)==null||e.removeChild(s))}),!s||!d?null:(0,f.createPortal)(u.default.createElement(`div`,{"data-headlessui-portal":``,ref:e=>{l.dispose(),c&&e&&l.add(c.register(e))}},p({ourProps:{ref:a},theirProps:r,slot:{},defaultTag:tr,name:`Portal`})),s)});function rr(e,t){let n=Re(t),{enabled:r=!0,ownerDocument:i,...a}=e,o=H();return r?u.default.createElement(nr,{...a,ownerDocument:i,ref:n}):o({ourProps:{ref:n},theirProps:a,slot:{},defaultTag:tr,name:`Portal`})}var ir=u.Fragment,ar=(0,u.createContext)(null);function or(e,t){let{target:n,...r}=e,i={ref:Re(t)},a=H();return u.default.createElement(ar.Provider,{value:n},a({ourProps:i,theirProps:r,defaultTag:ir,name:`Popover.Group`}))}var sr=(0,u.createContext)(null);function cr(){let e=(0,u.useContext)(sr),t=(0,u.useRef)([]),n=B(n=>(t.current.push(n),e&&e.register(n),()=>r(n))),r=B(n=>{let r=t.current.indexOf(n);r!==-1&&t.current.splice(r,1),e&&e.unregister(n)}),i=(0,u.useMemo)(()=>({register:n,unregister:r,portals:t}),[n,r,t]);return[t,(0,u.useMemo)(()=>function({children:e}){return u.default.createElement(sr.Provider,{value:i},e)},[i])]}var lr=ye(rr),ur=ye(or),dr=Object.assign(lr,{Group:ur});function fr(e,t=typeof document<`u`?document.defaultView:null,n){let r=Gt(e,`escape`);Sn(t,`keydown`,e=>{r&&(e.defaultPrevented||e.key===Ke.Escape&&n(e))})}function pr(){let[e]=(0,u.useState)(()=>typeof window<`u`&&typeof window.matchMedia==`function`?window.matchMedia(`(pointer: coarse)`):null),[t,n]=(0,u.useState)(e?.matches??!1);return oe(()=>{if(!e)return;function t(e){n(e.matches)}return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[e]),t}function mr({defaultContainers:e=[],portals:t,mainTreeNode:n}={}){let r=B(()=>{let r=z(n),i=[];for(let t of e)t!==null&&(je(t)?i.push(t):`current`in t&&je(t.current)&&i.push(t.current));if(t!=null&&t.current)for(let e of t.current)i.push(e);for(let e of r?.querySelectorAll(`html > *, body > *`)??[])e!==document.body&&e!==document.head&&je(e)&&e.id!==`headlessui-portal-root`&&(n&&(e.contains(n)||e.contains(n?.getRootNode()?.host))||i.some(t=>e.contains(t))||i.push(e));return i});return{resolveContainers:r,contains:B(e=>r().some(t=>t.contains(e)))}}var hr=(0,u.createContext)(null);function gr({children:e,node:t}){let[n,r]=(0,u.useState)(null),i=_r(t??n);return u.default.createElement(hr.Provider,{value:i},e,i===null&&u.default.createElement(ke,{features:De.Hidden,ref:e=>{if(e){for(let t of z(e)?.querySelectorAll(`html > *, body > *`)??[])if(t!==document.body&&t!==document.head&&je(t)&&t!=null&&t.contains(e)){r(t);break}}}}))}function _r(e=null){return(0,u.useContext)(hr)??e}function vr(){let e=(0,u.useRef)(!1);return oe(()=>(e.current=!0,()=>{e.current=!1}),[]),e}var yr=(e=>(e[e.Forwards=0]=`Forwards`,e[e.Backwards=1]=`Backwards`,e))(yr||{});function br(){let e=(0,u.useRef)(0);return vn(!0,`keydown`,t=>{t.key===`Tab`&&(e.current=+!!t.shiftKey)},!0),e}function xr(e){if(!e)return new Set;if(typeof e==`function`)return new Set(e());let t=new Set;for(let n of e.current)je(n.current)&&t.add(n.current);return t}var Sr=`div`,Cr=(e=>(e[e.None=0]=`None`,e[e.InitialFocus=1]=`InitialFocus`,e[e.TabLock=2]=`TabLock`,e[e.FocusLock=4]=`FocusLock`,e[e.RestoreFocus=8]=`RestoreFocus`,e[e.AutoFocus=16]=`AutoFocus`,e))(Cr||{});function wr(e,t){let n=(0,u.useRef)(null),r=Re(n,t),{initialFocus:i,initialFocusFallback:a,containers:o,features:s=15,...c}=e;Xn()||(s=0);let l=xn(n.current);Or(s,{ownerDocument:l});let d=kr(s,{ownerDocument:l,container:n,initialFocus:i,initialFocusFallback:a});Ar(s,{ownerDocument:l,container:n,containers:o,previousActiveElement:d});let f=br(),p=B(e=>{if(!Me(n.current))return;let t=n.current;(e=>e())(()=>{V(f.current,{[yr.Forwards]:()=>{pn(t,en.First,{skipElements:[e.relatedTarget,a]})},[yr.Backwards]:()=>{pn(t,en.Last,{skipElements:[e.relatedTarget,a]})}})})}),m=Gt(!!(s&2),`focus-trap#tab-lock`),h=ae(),g=(0,u.useRef)(!1),_={ref:r,onKeyDown(e){e.key==`Tab`&&(g.current=!0,h.requestAnimationFrame(()=>{g.current=!1}))},onBlur(e){if(!(s&4))return;let t=xr(o);Me(n.current)&&t.add(n.current);let r=e.relatedTarget;U(r)&&r.dataset.headlessuiFocusGuard!==`true`&&(jr(t,r)||(g.current?pn(n.current,V(f.current,{[yr.Forwards]:()=>en.Next,[yr.Backwards]:()=>en.Previous})|en.WrapAround,{relativeTo:e.target}):U(e.target)&&ln(e.target)))}},v=H();return u.default.createElement(u.default.Fragment,null,m&&u.default.createElement(ke,{as:`button`,type:`button`,"data-headlessui-focus-guard":!0,onFocus:p,features:De.Focusable}),v({ourProps:_,theirProps:c,defaultTag:Sr,name:`FocusTrap`}),m&&u.default.createElement(ke,{as:`button`,type:`button`,"data-headlessui-focus-guard":!0,onFocus:p,features:De.Focusable}))}var Tr=ye(wr),Er=Object.assign(Tr,{features:Cr});function Dr(e=!0){let t=(0,u.useRef)(qn.slice());return Bn(([e],[n])=>{n===!0&&e===!1&&re(()=>{t.current.splice(0)}),n===!1&&e===!0&&(t.current=qn.slice())},[e,qn,t]),B(()=>t.current.find(e=>e!=null&&e.isConnected)??null)}function Or(e,{ownerDocument:t}){let n=!!(e&8),r=Dr(n);Bn(()=>{n||ne(t?.body)&&ln(r())},[n]),Jn(()=>{n&&ln(r())})}function kr(e,{ownerDocument:t,container:n,initialFocus:r,initialFocusFallback:i}){let a=(0,u.useRef)(null),o=Gt(!!(e&1),`focus-trap#initial-focus`),s=vr();return Bn(()=>{if(e===0)return;if(!o){i!=null&&i.current&&ln(i.current);return}let c=n.current;c&&re(()=>{if(!s.current)return;let n=t?.activeElement;if(r!=null&&r.current){if(r?.current===n){a.current=n;return}}else if(c.contains(n)){a.current=n;return}if(r!=null&&r.current)ln(r.current);else{if(e&16){if(pn(c,en.First|en.AutoFocus)!==tn.Error)return}else if(pn(c,en.First)!==tn.Error)return;if(i!=null&&i.current&&(ln(i.current),t?.activeElement===i.current))return;console.warn(`There are no focusable elements inside the <FocusTrap />`)}a.current=t?.activeElement})},[i,o,e]),a}function Ar(e,{ownerDocument:t,container:n,containers:r,previousActiveElement:i}){let a=vr(),o=!!(e&4);Sn(t?.defaultView,`focus`,e=>{if(!o||!a.current)return;let t=xr(r);Me(n.current)&&t.add(n.current);let s=i.current;if(!s)return;let c=e.target;Me(c)?jr(t,c)?(i.current=c,ln(c)):(e.preventDefault(),e.stopPropagation(),ln(s)):ln(i.current)},!0)}function jr(e,t){for(let n of e)if(n.contains(t))return!0;return!1}function Mr(e){return!!(e.enter||e.enterFrom||e.enterTo||e.leave||e.leaveFrom||e.leaveTo)||!we(e.as??Br)||u.default.Children.count(e.children)===1}var Nr=(0,u.createContext)(null);Nr.displayName=`TransitionContext`;var Pr=(e=>(e.Visible=`visible`,e.Hidden=`hidden`,e))(Pr||{});function Fr(){let e=(0,u.useContext)(Nr);if(e===null)throw Error(`A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.`);return e}function Ir(){let e=(0,u.useContext)(Lr);if(e===null)throw Error(`A <Transition.Child /> is used but it is missing a parent <Transition /> or <Transition.Root />.`);return e}var Lr=(0,u.createContext)(null);Lr.displayName=`NestingContext`;function Rr(e){return`children`in e?Rr(e.children):e.current.filter(({el:e})=>e.current!==null).filter(({state:e})=>e===`visible`).length>0}function zr(e,t){let n=se(e),r=(0,u.useRef)([]),i=vr(),a=ae(),o=B((e,t=pe.Hidden)=>{let o=r.current.findIndex(({el:t})=>t===e);o!==-1&&(V(t,{[pe.Unmount](){r.current.splice(o,1)},[pe.Hidden](){r.current[o].state=`hidden`}}),a.microTask(()=>{var e;!Rr(r)&&i.current&&((e=n.current)==null||e.call(n))}))}),s=B(e=>{let t=r.current.find(({el:t})=>t===e);return t?t.state!==`visible`&&(t.state=`visible`):r.current.push({el:e,state:`visible`}),()=>o(e,pe.Unmount)}),c=(0,u.useRef)([]),l=(0,u.useRef)(Promise.resolve()),d=(0,u.useRef)({enter:[],leave:[]}),f=B((e,n,r)=>{c.current.splice(0),t&&(t.chains.current[n]=t.chains.current[n].filter(([t])=>t!==e)),t?.chains.current[n].push([e,new Promise(e=>{c.current.push(e)})]),t?.chains.current[n].push([e,new Promise(e=>{Promise.all(d.current[n].map(([e,t])=>t)).then(()=>e())})]),n===`enter`?l.current=l.current.then(()=>t?.wait.current).then(()=>r(n)):r(n)}),p=B((e,t,n)=>{Promise.all(d.current[t].splice(0).map(([e,t])=>t)).then(()=>{var e;(e=c.current.shift())==null||e()}).then(()=>n(t))});return(0,u.useMemo)(()=>({children:r,register:s,unregister:o,onStart:f,onStop:p,wait:l,chains:d}),[s,o,r,f,p,d,l])}var Br=u.Fragment,Vr=fe.RenderStrategy;function Hr(e,t){var n;let{transition:r=!0,beforeEnter:i,afterEnter:a,beforeLeave:o,afterLeave:s,enter:c,enterFrom:l,enterTo:d,entered:f,leave:p,leaveFrom:m,leaveTo:h,...g}=e,[_,v]=(0,u.useState)(null),y=(0,u.useRef)(null),b=Mr(e),x=Re(...b?[y,t,v]:t===null?[]:[t]),S=(n=g.unmount)==null||n?pe.Unmount:pe.Hidden,{show:C,appear:w,initial:T}=Fr(),[E,D]=(0,u.useState)(C?`visible`:`hidden`),O=Ir(),{register:k,unregister:A}=O;oe(()=>k(y),[k,y]),oe(()=>{if(S===pe.Hidden&&y.current){if(C&&E!==`visible`){D(`visible`);return}return V(E,{hidden:()=>A(y),visible:()=>k(y)})}},[E,y,k,A,C,S]);let j=Xn();oe(()=>{if(b&&j&&E===`visible`&&y.current===null)throw Error("Did you forget to passthrough the `ref` to the actual DOM node?")},[y,E,j,b]);let M=T&&!w,N=w&&C&&T,P=(0,u.useRef)(!1),F=zr(()=>{P.current||(D(`hidden`),A(y))},O),I=B(e=>{P.current=!0;let t=e?`enter`:`leave`;F.onStart(y,t,e=>{e===`enter`?i?.():e===`leave`&&o?.()})}),L=B(e=>{let t=e?`enter`:`leave`;P.current=!1,F.onStop(y,t,e=>{e===`enter`?a?.():e===`leave`&&s?.()}),t===`leave`&&!Rr(F)&&(D(`hidden`),A(y))});(0,u.useEffect)(()=>{b&&r||(I(C),L(C))},[C,b,r]);let[,R]=Fn(!(!r||!b||!j||M),_,C,{start:I,end:L}),z=be({ref:x,className:de(g.className,N&&c,N&&l,R.enter&&c,R.enter&&R.closed&&l,R.enter&&!R.closed&&d,R.leave&&p,R.leave&&!R.closed&&m,R.leave&&R.closed&&h,!R.transition&&C&&f)?.trim()||void 0,...Pn(R)}),ee=0;E===`visible`&&(ee|=Hn.Open),E===`hidden`&&(ee|=Hn.Closed),C&&E===`hidden`&&(ee|=Hn.Opening),!C&&E===`visible`&&(ee|=Hn.Closing);let te=H();return u.default.createElement(Lr.Provider,{value:F},u.default.createElement(Wn,{value:ee},te({ourProps:z,theirProps:g,defaultTag:Br,features:Vr,visible:E===`visible`,name:`Transition.Child`})))}function Ur(e,t){let{show:n,appear:r=!1,unmount:i=!0,...a}=e,o=(0,u.useRef)(null),s=Re(...Mr(e)?[o,t]:t===null?[]:[t]);Xn();let c=Un();if(n===void 0&&c!==null&&(n=(c&Hn.Open)===Hn.Open),n===void 0)throw Error("A <Transition /> is used but it is missing a `show={true | false}` prop.");let[l,d]=(0,u.useState)(n?`visible`:`hidden`),f=zr(()=>{n||d(`hidden`)}),[p,m]=(0,u.useState)(!0),h=(0,u.useRef)([n]);oe(()=>{p!==!1&&h.current[h.current.length-1]!==n&&(h.current.push(n),m(!1))},[h,n]);let g=(0,u.useMemo)(()=>({show:n,appear:r,initial:p}),[n,r,p]);oe(()=>{n?d(`visible`):!Rr(f)&&o.current!==null&&d(`hidden`)},[n,f]);let _={unmount:i},v=B(()=>{var t;p&&m(!1),(t=e.beforeEnter)==null||t.call(e)}),y=B(()=>{var t;p&&m(!1),(t=e.beforeLeave)==null||t.call(e)}),b=H();return u.default.createElement(Lr.Provider,{value:f},u.default.createElement(Nr.Provider,{value:g},b({ourProps:{..._,as:u.Fragment,children:u.default.createElement(Kr,{ref:s,..._,...a,beforeEnter:v,beforeLeave:y})},theirProps:{},defaultTag:u.Fragment,features:Vr,visible:l===`visible`,name:`Transition`})))}function Wr(e,t){let n=(0,u.useContext)(Nr)!==null,r=Un()!==null;return u.default.createElement(u.default.Fragment,null,!n&&r?u.default.createElement(Gr,{ref:t,...e}):u.default.createElement(Kr,{ref:t,...e}))}var Gr=ye(Ur),Kr=ye(Hr),qr=ye(Wr),Jr=Object.assign(Gr,{Child:qr,Root:Gr}),Yr=(e=>(e[e.Open=0]=`Open`,e[e.Closed=1]=`Closed`,e))(Yr||{}),Xr=(e=>(e[e.SetTitleId=0]=`SetTitleId`,e))(Xr||{}),Zr={0(e,t){return e.titleId===t.id?e:{...e,titleId:t.id}}},Qr=(0,u.createContext)(null);Qr.displayName=`DialogContext`;function $r(e){let t=(0,u.useContext)(Qr);if(t===null){let t=Error(`<${e} /> is missing a parent <Dialog /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,$r),t}return t}function ei(e,t){return V(t.type,Zr,e,t)}var ti=ye(function(e,t){let n=(0,u.useId)(),{id:r=`headlessui-dialog-${n}`,open:i,onClose:a,initialFocus:o,role:s=`dialog`,autoFocus:c=!0,__demoMode:l=!1,unmount:d=!1,...f}=e,p=(0,u.useRef)(!1);s=function(){return s===`dialog`||s===`alertdialog`?s:(p.current||(p.current=!0,console.warn(`Invalid role [${s}] passed to <Dialog />. Only \`dialog\` and and \`alertdialog\` are supported. Using \`dialog\` instead.`)),`dialog`)}();let m=Un();i===void 0&&m!==null&&(i=(m&Hn.Open)===Hn.Open);let h=(0,u.useRef)(null),g=Re(h,t),_=xn(h.current),v=+!i,[y,b]=(0,u.useReducer)(ei,{titleId:null,descriptionId:null,panelRef:(0,u.createRef)()}),x=B(()=>a(!1)),S=B(e=>b({type:0,id:e})),C=Xn()?v===0:!1,[w,T]=cr(),E={get current(){return y.panelRef.current??h.current}},D=_r(),{resolveContainers:O}=mr({mainTreeNode:D,portals:w,defaultContainers:[E]}),k=m!==null&&(m&Hn.Closing)===Hn.Closing;Xt(l||k?!1:C,{allowed:B(()=>[h.current?.closest(`[data-headlessui-portal]`)??null]),disallowed:B(()=>[D?.closest(`body > *:not(#headlessui-portal-root)`)??null])});let A=zt.get(null);oe(()=>{if(C)return A.actions.push(r),()=>A.actions.pop(r)},[A,r,C]);let j=Ut(A,(0,u.useCallback)(e=>A.selectors.isTop(e,r),[A,r]));bn(j,O,e=>{e.preventDefault(),x()}),fr(j,_?.defaultView,e=>{e.preventDefault(),e.stopPropagation(),document.activeElement&&`blur`in document.activeElement&&typeof document.activeElement.blur==`function`&&document.activeElement.blur(),x()}),jn(l||k?!1:C,_,O),Zt(C,h,x);let[M,N]=Ve(),P=(0,u.useMemo)(()=>[{dialogState:v,close:x,setTitleId:S,unmount:d},y],[v,x,S,d,y]),F=ce({open:v===0}),I={ref:g,id:r,role:s,tabIndex:-1,"aria-modal":l?void 0:v===0||void 0,"aria-labelledby":y.titleId,"aria-describedby":M,unmount:d},L=!pr(),R=Cr.None;C&&!l&&(R|=Cr.RestoreFocus,R|=Cr.TabLock,c&&(R|=Cr.AutoFocus),L&&(R|=Cr.InitialFocus));let z=H();return u.default.createElement(Gn,null,u.default.createElement($n,{force:!0},u.default.createElement(dr,null,u.default.createElement(Qr.Provider,{value:P},u.default.createElement(ur,{target:h},u.default.createElement($n,{force:!1},u.default.createElement(N,{slot:F},u.default.createElement(T,null,u.default.createElement(Er,{initialFocus:o,initialFocusFallback:h,containers:O,features:R},u.default.createElement(Je,{value:x},z({ourProps:I,theirProps:f,slot:F,defaultTag:ni,features:ri,visible:v===0,name:`Dialog`})))))))))))}),ni=`div`,ri=fe.RenderStrategy|fe.Static;function ii(e,t){let{transition:n=!1,open:r,...i}=e,a=Un(),o=e.hasOwnProperty(`open`)||a!==null,s=e.hasOwnProperty(`onClose`);if(!o&&!s)throw Error("You have to provide an `open` and an `onClose` prop to the `Dialog` component.");if(!o)throw Error("You provided an `onClose` prop to the `Dialog`, but forgot an `open` prop.");if(!s)throw Error("You provided an `open` prop to the `Dialog`, but forgot an `onClose` prop.");if(!a&&typeof e.open!=`boolean`)throw Error(`You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${e.open}`);if(typeof e.onClose!=`function`)throw Error(`You provided an \`onClose\` prop to the \`Dialog\`, but the value is not a function. Received: ${e.onClose}`);return(r!==void 0||n)&&!i.static?u.default.createElement(gr,null,u.default.createElement(Jr,{show:r,transition:n,unmount:i.unmount},u.default.createElement(ti,{ref:t,...i}))):u.default.createElement(gr,null,u.default.createElement(ti,{ref:t,open:r,...i}))}var ai=`div`;function oi(e,t){let n=(0,u.useId)(),{id:r=`headlessui-dialog-panel-${n}`,transition:i=!1,...a}=e,[{dialogState:o,unmount:s},c]=$r(`Dialog.Panel`),l=Re(t,c.panelRef),d=ce({open:o===0}),f={ref:l,id:r,onClick:B(e=>{e.stopPropagation()})},p=i?qr:u.Fragment,m=i?{unmount:s}:{},h=H();return u.default.createElement(p,{...m},h({ourProps:f,theirProps:a,slot:d,defaultTag:ai,name:`Dialog.Panel`}))}var si=`div`;function ci(e,t){let{transition:n=!1,...r}=e,[{dialogState:i,unmount:a}]=$r(`Dialog.Backdrop`),o=ce({open:i===0}),s={ref:t,"aria-hidden":!0},c=n?qr:u.Fragment,l=n?{unmount:a}:{},d=H();return u.default.createElement(c,{...l},d({ourProps:s,theirProps:r,slot:o,defaultTag:si,name:`Dialog.Backdrop`}))}var li=`h2`;function ui(e,t){let n=(0,u.useId)(),{id:r=`headlessui-dialog-title-${n}`,...i}=e,[{dialogState:a,setTitleId:o}]=$r(`Dialog.Title`),s=Re(t);(0,u.useEffect)(()=>(o(r),()=>o(null)),[r,o]);let c=ce({open:a===0}),l={ref:s,id:r};return H()({ourProps:l,theirProps:i,slot:c,defaultTag:li,name:`Dialog.Title`})}var di=ye(ii),fi=ye(oi);ye(ci);var pi=ye(ui),mi=Object.assign(di,{Panel:fi,Title:pi,Description:Ge}),hi="function e(e,t){if(!t||typeof t.sequence!=`string`)throw Error(`Expected an aligned DNA sequence.`);let n=t.sequence.toUpperCase();if(!e.length||n.length!==e.length)throw Error(`Aligned sequence length must match the reference.`);if(/[^ACGTRYSWKMBDHVN-]/.test(n))throw Error(`Aligned sequences must contain IUPAC DNA bases or deletion gaps (-).`);let r=[],i=0;for(let t=0;t<n.length;){if(n[t]===e[t]){t++;continue}let a=n[t]===`-`?`Deletion`:/[^ACGT]/.test(n[t]+e[t])?`Ambiguous`:`Substitution`,o=t+1;if(a===`Deletion`||a===`Ambiguous`)for(;o<n.length&&n[o]!==e[o]&&(a===`Deletion`?n[o]===`-`:n[o]!==`-`&&/[^ACGT]/.test(n[o]+e[o]));)o++;r.push({type:a,start:t,end:o,reference:e.slice(t,o),alternative:a===`Deletion`?``:n.slice(t,o)}),i+=o-t,t=o}let a=new Set;for(let n of t.insertions||[]){let t=n.position,o=typeof n.sequence==`string`?n.sequence.toUpperCase():``;if(!Number.isInteger(t)||t<0||t>e.length||a.has(t))throw Error(`Insertions need unique integer positions from 0 to the reference length.`);if(!o||/[^ACGTRYSWKMBDHVN]/.test(o))throw Error(`Insertions must contain ungapped IUPAC DNA bases.`);a.add(t),r.push({type:`Insertion`,start:t,end:t,reference:``,alternative:o}),i+=o.length}return r.sort((e,t)=>e.start-t.start||e.end-t.end),{name:t.name||`Alternative`,distance:i,differences:r}}const t=e=>{switch(e){case`TTT`:case`TTC`:return`F`;case`TTA`:case`TTG`:case`CTT`:case`CTC`:case`CTA`:case`CTG`:return`L`;case`ATT`:case`ATC`:case`ATA`:return`I`;case`ATG`:return`M`;case`GTT`:case`GTC`:case`GTA`:case`GTG`:return`V`;case`TCT`:case`TCC`:case`TCA`:case`TCG`:case`AGT`:case`AGC`:return`S`;case`CCT`:case`CCC`:case`CCA`:case`CCG`:return`P`;case`ACT`:case`ACC`:case`ACA`:case`ACG`:return`T`;case`GCT`:case`GCC`:case`GCA`:case`GCG`:return`A`;case`TAT`:case`TAC`:return`Y`;case`TAA`:case`TAG`:case`TGA`:return`*`;case`CAT`:case`CAC`:return`H`;case`CAA`:case`CAG`:return`Q`;case`AAT`:case`AAC`:return`N`;case`AAA`:case`AAG`:return`K`;case`GAT`:case`GAC`:return`D`;case`GAA`:case`GAG`:return`E`;case`TGT`:case`TGC`:return`C`;case`TGG`:return`W`;case`CGT`:case`CGC`:case`CGA`:case`CGG`:case`AGA`:case`AGG`:return`R`;case`GGT`:case`GGC`:case`GGA`:case`GGG`:return`G`;default:return`X`}};function n(e){let t=e.trim().split(/\\r?\\n/);if(!t[0]?.startsWith(`>`))throw Error(`Expected a FASTA header starting with >.`);if(t.slice(1).some(e=>e.startsWith(`>`)))throw Error(`Please supply exactly one FASTA record.`);let n=t.slice(1).join(``).replace(/\\s/g,``).toUpperCase();if(!n||/[^ACGTRYSWKMBDHVN]/.test(n))throw Error(`Expected an ungapped DNA sequence (IUPAC bases).`);return{name:t[0].slice(1).trim()||`Alternative`,sequence:n}}function r(e,t,n=128){let r=e.length,i=t.length;if(!r||!i)throw Error(`Both sequences must contain bases.`);if(Math.max(r,i)>1e5)throw Error(`Comparison supports sequences up to 100,000 bases.`);let a=()=>Error(`Sequences exceed the ${n}-edit comparison limit. Use complete sequences in the same orientation and with the same starting point.`);if(Math.abs(r-i)>n)throw a();let o=2*n+1,s=n+1,c=s*s,l=new Uint8Array((r+1)*o),u=(e,t,n)=>e<=t&&e<=n?0:t<=n?1:2,d=new Uint32Array(o*3).fill(c);d[n*3]=0;for(let e=1;e<=Math.min(i,n);e++)d[(e+n)*3+2]=e*s+1,l[e+n]=(e===1?0:2)<<4;for(let a=1;a<=r;a++){let r=new Uint32Array(o*3).fill(c);for(let f=Math.max(0,a-n);f<=Math.min(i,a+n);f++){let i=f-a+n,p=i*3;if(f===0){r[p+1]=a*s+1,l[a*o+i]=(a===1?0:1)<<2;continue}let m=u(d[p],d[p+1],d[p+2]);r[p]=Math.min(c,d[p+m]+(e[a-1]===t[f-1]?0:s));let h=0,g=0;if(i+1<o){let e=p+3,t=d[e]+s+1,n=d[e+1]+s,i=d[e+2]+s+1;h=u(t,n,i),r[p+1]=Math.min(c,t,n,i)}if(i>0){let e=p-3,t=r[e]+s+1,n=r[e+1]+s+1,i=r[e+2]+s;g=u(t,n,i),r[p+2]=Math.min(c,t,n,i)}l[a*o+i]=m|h<<2|g<<4}d=r}let f=(i-r+n)*3,p=u(d[f],d[f+1],d[f+2]),m=Math.floor(d[f+p]/s);if(m>n)throw a();let h=r,g=i,_=[];for(;h||g;){let r=l[h*o+g-h+n]>>p*2&3;p===0?_.push([e[--h],t[--g]]):p===1?_.push([e[--h],`-`]):_.push([`-`,t[--g]]),p=r}_.reverse();let v=[],y=0;for(let[e,t]of _){if(e!==t){let n=e===`-`?`Insertion`:t===`-`?`Deletion`:/[^ACGT]/.test(e+t)?`Ambiguous`:`Substitution`,r=v.at(-1);r&&r.type===n&&n!==`Substitution`&&n!==`Ambiguous`&&r.end===y?(r.reference+=e===`-`?``:e,r.alternative+=t===`-`?``:t,r.end+=e===`-`?0:1):v.push({type:n,start:y,end:y+(e===`-`?0:1),reference:e===`-`?``:e,alternative:t===`-`?``:t})}e!==`-`&&y++}return{distance:m,differences:v}}function i(e,t){return e.locations?.length?e.locations:e.start>e.end?[{start:e.start,end:t-1},{start:0,end:e.end}]:[{start:e.start,end:e.end}]}const a={A:`T`,T:`A`,C:`G`,G:`C`,R:`Y`,Y:`R`,S:`S`,W:`W`,K:`M`,M:`K`,B:`V`,V:`B`,D:`H`,H:`D`,N:`N`},o=e=>[...e].reverse().map(e=>a[e]||`N`).join(``),s=e=>{let n=``;for(let r=0;r+2<e.length;r+=3)n+=t(e.slice(r,r+3));return n},c=(e,t,n)=>{let r=e.notes?.[t];return(Array.isArray(r)?r[0]:r)??n};function l(e,t,n){if(![`CDS`,`mat_peptide`].includes(t.type))return null;let a=i(t,e.length),l=[];for(let t of a){if(!Number.isInteger(t.start)||!Number.isInteger(t.end)||t.start<0||t.end>=e.length||t.end<t.start)return{warning:`Unsupported coding location`,codons:[],changes:[]};for(let e=t.start;e<=t.end;e++)l.push(e)}t.strand<0&&l.reverse();let u=Number(c(t,`codon_start`,1))-1;if(![0,1,2].includes(u))return{warning:`Unsupported codon_start`,codons:[],changes:[]};l.splice(0,u);let d=Number(c(t,`transl_table`,1));if(![1,11].includes(d)||[`transl_except`,`ribosomal_slippage`,`exception`].some(e=>t.notes?.[e]))return{warning:`AA comparison unavailable for this translation table or exception`,codons:[],changes:[]};let f=new Map(l.map((e,t)=>[e,t])),p=e=>t.strand<0?o(e):e,m=l.map(t=>p(e[t])).join(``),h=s(m),g=[...h].map((e,t)=>({positions:l.slice(t*3,t*3+3),aminoAcid:e,codonIndex:t})),_=new Set,v=new Map,y=new Map,b=1/0,x=!1;for(let e of n)if(e.type===`Insertion`){let n=t.strand<0?e.start-1:e.start,r=f.get(n),i=t.strand<0?e.start:e.start-1;r>0&&l[r-1]===i?(y.set(r,p(e.alternative)),e.alternative.length%3&&(b=Math.min(b,r))):(f.has(n)||f.has(i))&&(x=!0)}else if(e.type===`Deletion`){let t=[];for(let n=e.start;n<e.end;n++){let e=f.get(n);e!==void 0&&(_.add(e),t.push(e))}t.length%3&&(b=Math.min(b,...t))}else for(let t=e.start;t<e.end;t++){let n=f.get(t);n!==void 0&&v.set(n,p(e.alternative[t-e.start]))}let S=``,C=[];for(let e=0;e<l.length;e++)C[e]=S.length,S+=y.get(e)||``,_.has(e)||(S+=v.get(e)??m[e]);let w=Math.floor(b/3),T=Number.isFinite(b)?h.slice(0,w):h,E=s(Number.isFinite(b)?S.slice(0,C[w*3]):S),D=[],O=e=>{let n=Math.min(e.start,Math.max(0,g.length-1)),r=g[n],i=e.start<g.length?(r?.positions[0]??l[0])+(t.strand<0?.5:-.5):(r?.positions[2]??l[0])+(t.strand<0?-.5:.5);return{...e,anchor:r?.positions[1]??l[0],...e.type===`Insertion`?{pointerPosition:i}:{},aaPosition:e.type===`Insertion`?e.start:e.start+1}};try{if(T&&E){let e=[];for(let t of r(T,E).differences){let n={...t,type:t.type===`Ambiguous`?/X/.test(t.reference+t.alternative)?`Ambiguous`:`Substitution`:t.type},r=e.at(-1);n.type===`Ambiguous`&&r?.type===`Ambiguous`&&r.end===n.start?(r.end=n.end,r.reference+=n.reference,r.alternative+=n.alternative):e.push(n)}D=e.map(O)}else(T||E)&&(D=[O({type:T?`Deletion`:`Insertion`,start:0,end:T.length,reference:T,alternative:E})])}catch{return{codons:g,changes:[],warning:`AA comparison exceeds the alignment limit`}}return Number.isFinite(b)&&D.push(O({type:`Frameshift`,start:w,end:w+1,reference:``,alternative:``})),{codons:g,changes:D,warning:x?`Insertion at a coding boundary: AA assignment is uncertain`:void 0}}function u(e,t,n){return t.map(t=>l(e,t,n))}self.onmessage=({data:t})=>{try{let i=t.alignedSequence||n(t.fasta),a=t.alignedSequence?e(t.reference,i):r(t.reference,i.sequence);self.postMessage({...a,name:i.name,proteins:u(t.reference,t.features||[],a.differences)})}catch(e){self.postMessage({error:e.message})}};",gi=typeof self<`u`&&self.Blob&&new Blob([`URL.revokeObjectURL(import.meta.url);`,hi],{type:`text/javascript;charset=utf-8`});function _i(e){let t;try{if(t=gi&&(self.URL||self.webkitURL).createObjectURL(gi),!t)throw``;let n=new Worker(t,{type:`module`,name:e?.name});return n.addEventListener(`error`,()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),n}catch{return new Worker(`data:text/javascript;charset=utf-8,`+encodeURIComponent(hi),{type:`module`,name:e?.name})}}function vi({reference:e,features:t,fastaUrl:n,alignedSequence:r,onResult:i,onGoTo:a,open:o,setOpen:s,onStatus:c}){let[l,f]=(0,u.useState)(null),[p,m]=(0,u.useState)(n||``),[h,g]=(0,u.useState)(0),[_,v]=(0,u.useState)(n||``),[y,b]=(0,u.useState)(``),[x,S]=(0,u.useState)(!1),[C,w]=(0,u.useState)(null),T=(0,u.useRef)(0),E=(0,u.useRef)();(0,u.useEffect)(()=>{(r||E.current)&&(T.current++,f(null),v(``)),E.current=r},[r]),(0,u.useEffect)(()=>{c({busy:x,error:y})},[x,y,c]),(0,u.useEffect)(()=>{y&&s(!0)},[y,s]);let D=()=>{w(null),i(null),b(``)};(0,u.useEffect)(()=>{m(n||``),v(n||``),n||(T.current++,f(null),w(null),i(null),b(``),S(!1))},[n,i]),(0,u.useEffect)(()=>{if(!_||r)return;let e=new AbortController,t=++T.current;return D(),f(null),S(!0),(async()=>{try{let n=new URL(_,window.location.href);if(![`http:`,`https:`].includes(n.protocol))throw Error(`Use an HTTP or HTTPS URL.`);let r=await fetch(n,{signal:e.signal});if(!r.ok)throw Error(`FASTA request failed (${r.status}).`);let i=await r.text();if(i.length>1e6)throw Error(`FASTA file is too large.`);t===T.current&&f(i)}catch(n){!e.signal.aborted&&t===T.current&&(b(n.message),S(!1))}})(),()=>e.abort()},[_,h,r]),(0,u.useEffect)(()=>{if(l===null&&!r){w(null),i(null);return}D(),S(!0);let n=new _i,a=T.current,o=!1;return n.onmessage=({data:e})=>{o||a!==T.current||(S(!1),e.error?b(e.error):(w(e),i(e)))},n.onerror=()=>{o||a!==T.current||(b(`Alignment failed. Please try another FASTA.`),S(!1))},n.postMessage({reference:e,features:t,fasta:l,alignedSequence:r}),()=>{o=!0,n.terminate()}},[e,t,l,r,i]);let O=async e=>{if(!e)return;let t=++T.current;v(``),f(null),D(),S(!0);try{if(e.size>1e6)throw Error(`FASTA file is too large.`);let n=await e.text();t===T.current&&f(n)}catch(e){t===T.current&&(b(e.message),S(!1))}};return(0,d.jsxs)(mi,{open:o,onClose:()=>s(!1),className:`gensplore comparison-drawer`,children:[(0,d.jsx)(`div`,{className:`comparison-drawer-overlay`,"aria-hidden":`true`}),(0,d.jsxs)(fi,{id:`comparison-drawer-panel`,className:`comparison-drawer-content`,children:[(0,d.jsxs)(`div`,{className:`comparison-drawer-header`,children:[(0,d.jsx)(pi,{children:`Compare FASTA`}),(0,d.jsx)(`button`,{type:`button`,onClick:()=>s(!1),"aria-label":`Close comparison`,children:`×`})]}),(0,d.jsxs)(`section`,{className:`comparison-panel`,"aria-label":`Compare FASTA`,children:[!r&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`label`,{className:`comparison-field`,children:[`FASTA file `,(0,d.jsx)(`input`,{type:`file`,accept:`.fa,.fasta,.fna,.txt`,onChange:e=>{O(e.target.files[0]),e.target.value=``}})]}),(0,d.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),v(p.trim()),g(e=>e+1)},children:[(0,d.jsxs)(`label`,{className:`comparison-field`,children:[`FASTA URL `,(0,d.jsx)(`input`,{type:`text`,inputMode:`url`,className:`comparison-url`,value:p,onChange:e=>m(e.target.value),placeholder:`https://example.org/alternative.fasta`,required:!0})]}),(0,d.jsx)(`button`,{type:`submit`,children:`Load URL`})]}),(l!==null||_||C||y||x)&&(0,d.jsx)(`button`,{onClick:()=>{T.current++,v(``),f(null),S(!1),D()},children:`Clear`})]}),x&&(0,d.jsx)(`p`,{role:`status`,children:`Loading / aligning FASTA…`}),y&&(0,d.jsx)(`p`,{role:`alert`,children:y}),C&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`p`,{role:`status`,className:`comparison-summary`,children:[(0,d.jsxs)(`strong`,{children:[C.differences.length,` `,C.differences.length===1?`change`:`changes`]}),(0,d.jsx)(`span`,{title:C.name,children:C.name})]}),C.proteins?.some(e=>e?.warning)&&(0,d.jsx)(`ul`,{"aria-label":`Amino-acid comparison notes`,children:C.proteins.map((e,n)=>e?.warning&&(0,d.jsxs)(`li`,{children:[t[n].name,`: `,e.warning]},n))}),C.differences.length>0&&(0,d.jsx)(`div`,{className:`comparison-table`,children:(0,d.jsxs)(`table`,{children:[(0,d.jsx)(`thead`,{children:(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`th`,{title:`1-based reference coordinates; insertions follow the indicated base`,children:`Ref. position`}),(0,d.jsx)(`th`,{children:`Type`}),(0,d.jsx)(`th`,{children:`Reference`}),(0,d.jsx)(`th`,{children:`Alternative`}),(0,d.jsx)(`th`,{"aria-label":`Navigate`})]})}),(0,d.jsx)(`tbody`,{children:C.differences.map((t,n)=>(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`td`,{children:t.type===`Insertion`?`After ${t.start}`:t.end>t.start+1?`${t.start+1}–${t.end}`:t.start+1}),(0,d.jsx)(`td`,{children:t.type}),(0,d.jsx)(`td`,{children:t.reference||`—`}),(0,d.jsx)(`td`,{children:t.alternative||`—`}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`button`,{onClick:()=>{s(!1),requestAnimationFrame(()=>a(Math.min(t.start,e.length-1)))},children:`Go to`})})]},n))})]})})]})]})]})]})}var yi=({hoveredInfo:e})=>{let[t,n]=(0,u.useState)({x:0,y:0}),r=t.x>window.innerWidth-200?{right:`${window.innerWidth-t.x+10}px`}:{left:`${t.x+10}px`},i={position:`absolute`,top:`${t.y+10}px`,...r,visibility:e?`visible`:`hidden`,zIndex:1e3};return(0,u.useEffect)(()=>{let e=e=>{n({x:e.pageX,y:e.pageY})};return document.addEventListener(`mousemove`,e),()=>{document.removeEventListener(`mousemove`,e)}},[]),(0,d.jsxs)(`div`,{style:i,className:`text-sm bg-gray-100 p-2 rounded`,children:[e&&(0,d.jsx)(`span`,{children:e.label}),e&&e.product&&(0,d.jsx)(`div`,{className:`text-xs`,children:e.product})]})},bi={A:`T`,T:`A`,G:`C`,C:`G`,N:`N`,"-":`-`},xi=e=>e.split(``).map(e=>bi[e]).reverse().join(``),Si=(e,t)=>e.filter(e=>!!(e.name.toLowerCase().includes(t.toLowerCase())||(e.notes&&e.notes.product?e.notes.product[0]:``).toLowerCase().includes(t.toLowerCase())||(e.notes&&e.notes.locus_tag?e.notes.locus_tag[0]:``).toLowerCase().includes(t.toLowerCase()))),W=function(e,t,n){if(!t.has(e))throw TypeError(`attempted to set private field on non-instance`);return t.set(e,n),n},G=function(e,t){if(!t.has(e))throw TypeError(`attempted to get private field on non-instance`);return t.get(e)},Ci,wi,Ti,Ei,Di,Oi,ki,Ai,ji,Mi,Ni,Pi,Fi,Ii,Li,Ri,zi,Bi,Vi=function(e){var t=131,n=137,r=0;e+=`x`;var i=Math.floor(9007199254740991/n);for(let a=0;a<e.length;a++)r>i&&(r=Math.floor(r/n)),r=r*t+e.charCodeAt(a);return r},K=`0123456789abcdef`.split(``),Hi=[-2147483648,8388608,32768,128],Ui=[24,16,8,0],Wi=[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],Gi=[],Ki=class{constructor(e=!1,t=!1){Ci.set(this,void 0),wi.set(this,void 0),Ti.set(this,void 0),Ei.set(this,void 0),Di.set(this,void 0),Oi.set(this,void 0),ki.set(this,void 0),Ai.set(this,void 0),ji.set(this,void 0),Mi.set(this,void 0),Ni.set(this,void 0),Pi.set(this,void 0),Fi.set(this,void 0),Ii.set(this,void 0),Li.set(this,void 0),Ri.set(this,void 0),zi.set(this,0),Bi.set(this,void 0),this.init(e,t)}init(e,t){t?(Gi[0]=Gi[16]=Gi[1]=Gi[2]=Gi[3]=Gi[4]=Gi[5]=Gi[6]=Gi[7]=Gi[8]=Gi[9]=Gi[10]=Gi[11]=Gi[12]=Gi[13]=Gi[14]=Gi[15]=0,W(this,wi,Gi)):W(this,wi,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),e?(W(this,Oi,3238371032),W(this,ki,914150663),W(this,Ai,812702999),W(this,ji,4144912697),W(this,Mi,4290775857),W(this,Ni,1750603025),W(this,Pi,1694076839),W(this,Fi,3204075428)):(W(this,Oi,1779033703),W(this,ki,3144134277),W(this,Ai,1013904242),W(this,ji,2773480762),W(this,Mi,1359893119),W(this,Ni,2600822924),W(this,Pi,528734635),W(this,Fi,1541459225)),W(this,Ci,W(this,Bi,W(this,Ti,W(this,Li,0)))),W(this,Ei,W(this,Ii,!1)),W(this,Di,!0),W(this,Ri,e)}update(e){if(G(this,Ei))return this;let t;t=e instanceof ArrayBuffer?new Uint8Array(e):e;let n=0,r=t.length,i=G(this,wi);for(;n<r;){let e;if(G(this,Ii)&&(W(this,Ii,!1),i[0]=G(this,Ci),i[16]=i[1]=i[2]=i[3]=i[4]=i[5]=i[6]=i[7]=i[8]=i[9]=i[10]=i[11]=i[12]=i[13]=i[14]=i[15]=0),typeof t!=`string`)for(e=G(this,Bi);n<r&&e<64;++n)i[e>>2]|=t[n]<<Ui[e++&3];else for(e=G(this,Bi);n<r&&e<64;++n){let r=t.charCodeAt(n);r<128?i[e>>2]|=r<<Ui[e++&3]:r<2048?(i[e>>2]|=(192|r>>6)<<Ui[e++&3],i[e>>2]|=(128|r&63)<<Ui[e++&3]):r<55296||r>=57344?(i[e>>2]|=(224|r>>12)<<Ui[e++&3],i[e>>2]|=(128|r>>6&63)<<Ui[e++&3],i[e>>2]|=(128|r&63)<<Ui[e++&3]):(r=65536+((r&1023)<<10|t.charCodeAt(++n)&1023),i[e>>2]|=(240|r>>18)<<Ui[e++&3],i[e>>2]|=(128|r>>12&63)<<Ui[e++&3],i[e>>2]|=(128|r>>6&63)<<Ui[e++&3],i[e>>2]|=(128|r&63)<<Ui[e++&3])}W(this,zi,e),W(this,Ti,G(this,Ti)+(e-G(this,Bi))),e>=64?(W(this,Ci,i[16]),W(this,Bi,e-64),this.hash(),W(this,Ii,!0)):W(this,Bi,e)}return G(this,Ti)>4294967295&&(W(this,Li,G(this,Li)+(G(this,Ti)/4294967296<<0)),W(this,Ti,G(this,Ti)%4294967296)),this}finalize(){if(G(this,Ei))return;W(this,Ei,!0);let e=G(this,wi),t=G(this,zi);e[16]=G(this,Ci),e[t>>2]|=Hi[t&3],W(this,Ci,e[16]),t>=56&&(G(this,Ii)||this.hash(),e[0]=G(this,Ci),e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=G(this,Li)<<3|G(this,Ti)>>>29,e[15]=G(this,Ti)<<3,this.hash()}hash(){let e=G(this,Oi),t=G(this,ki),n=G(this,Ai),r=G(this,ji),i=G(this,Mi),a=G(this,Ni),o=G(this,Pi),s=G(this,Fi),c=G(this,wi),l,u,d,f,p,m,h,g,_,v;for(let e=16;e<64;++e)f=c[e-15],l=(f>>>7|f<<25)^(f>>>18|f<<14)^f>>>3,f=c[e-2],u=(f>>>17|f<<15)^(f>>>19|f<<13)^f>>>10,c[e]=c[e-16]+l+c[e-7]+u<<0;v=t&n;for(let y=0;y<64;y+=4)G(this,Di)?(G(this,Ri)?(h=300032,f=c[0]-1413257819,s=f-150054599<<0,r=f+24177077<<0):(h=704751109,f=c[0]-210244248,s=f-1521486534<<0,r=f+143694565<<0),W(this,Di,!1)):(l=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),u=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),h=e&t,d=h^e&n^v,m=i&a^~i&o,f=s+u+m+Wi[y]+c[y],p=l+d,s=r+f<<0,r=f+p<<0),l=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),u=(s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7),g=r&e,d=g^r&t^h,m=s&i^~s&a,f=o+u+m+Wi[y+1]+c[y+1],p=l+d,o=n+f<<0,n=f+p<<0,l=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),u=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),_=n&r,d=_^n&e^g,m=o&s^~o&i,f=a+u+m+Wi[y+2]+c[y+2],p=l+d,a=t+f<<0,t=f+p<<0,l=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),u=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),v=t&n,d=v^t&r^_,m=a&o^~a&s,f=i+u+m+Wi[y+3]+c[y+3],p=l+d,i=e+f<<0,e=f+p<<0;W(this,Oi,G(this,Oi)+e<<0),W(this,ki,G(this,ki)+t<<0),W(this,Ai,G(this,Ai)+n<<0),W(this,ji,G(this,ji)+r<<0),W(this,Mi,G(this,Mi)+i<<0),W(this,Ni,G(this,Ni)+a<<0),W(this,Pi,G(this,Pi)+o<<0),W(this,Fi,G(this,Fi)+s<<0)}hex(){this.finalize();let e=G(this,Oi),t=G(this,ki),n=G(this,Ai),r=G(this,ji),i=G(this,Mi),a=G(this,Ni),o=G(this,Pi),s=G(this,Fi),c=K[e>>28&15]+K[e>>24&15]+K[e>>20&15]+K[e>>16&15]+K[e>>12&15]+K[e>>8&15]+K[e>>4&15]+K[e&15]+K[t>>28&15]+K[t>>24&15]+K[t>>20&15]+K[t>>16&15]+K[t>>12&15]+K[t>>8&15]+K[t>>4&15]+K[t&15]+K[n>>28&15]+K[n>>24&15]+K[n>>20&15]+K[n>>16&15]+K[n>>12&15]+K[n>>8&15]+K[n>>4&15]+K[n&15]+K[r>>28&15]+K[r>>24&15]+K[r>>20&15]+K[r>>16&15]+K[r>>12&15]+K[r>>8&15]+K[r>>4&15]+K[r&15]+K[i>>28&15]+K[i>>24&15]+K[i>>20&15]+K[i>>16&15]+K[i>>12&15]+K[i>>8&15]+K[i>>4&15]+K[i&15]+K[a>>28&15]+K[a>>24&15]+K[a>>20&15]+K[a>>16&15]+K[a>>12&15]+K[a>>8&15]+K[a>>4&15]+K[a&15]+K[o>>28&15]+K[o>>24&15]+K[o>>20&15]+K[o>>16&15]+K[o>>12&15]+K[o>>8&15]+K[o>>4&15]+K[o&15];return G(this,Ri)||(c+=K[s>>28&15]+K[s>>24&15]+K[s>>20&15]+K[s>>16&15]+K[s>>12&15]+K[s>>8&15]+K[s>>4&15]+K[s&15]),c}toString(){return this.hex()}digest(){this.finalize();let e=G(this,Oi),t=G(this,ki),n=G(this,Ai),r=G(this,ji),i=G(this,Mi),a=G(this,Ni),o=G(this,Pi),s=G(this,Fi),c=[e>>24&255,e>>16&255,e>>8&255,e&255,t>>24&255,t>>16&255,t>>8&255,t&255,n>>24&255,n>>16&255,n>>8&255,n&255,r>>24&255,r>>16&255,r>>8&255,r&255,i>>24&255,i>>16&255,i>>8&255,i&255,a>>24&255,a>>16&255,a>>8&255,a&255,o>>24&255,o>>16&255,o>>8&255,o&255];return G(this,Ri)||c.push(s>>24&255,s>>16&255,s>>8&255,s&255),c}array(){return this.digest()}arrayBuffer(){this.finalize();let e=new ArrayBuffer(G(this,Ri)?28:32),t=new DataView(e);return t.setUint32(0,G(this,Oi)),t.setUint32(4,G(this,ki)),t.setUint32(8,G(this,Ai)),t.setUint32(12,G(this,ji)),t.setUint32(16,G(this,Mi)),t.setUint32(20,G(this,Ni)),t.setUint32(24,G(this,Pi)),G(this,Ri)||t.setUint32(28,G(this,Fi)),e}};Ci=new WeakMap,wi=new WeakMap,Ti=new WeakMap,Ei=new WeakMap,Di=new WeakMap,Oi=new WeakMap,ki=new WeakMap,Ai=new WeakMap,ji=new WeakMap,Mi=new WeakMap,Ni=new WeakMap,Pi=new WeakMap,Fi=new WeakMap,Ii=new WeakMap,Li=new WeakMap,Ri=new WeakMap,zi=new WeakMap,Bi=new WeakMap;function qi(e){let t=new Ki;return t.update(e),parseInt(t.hex().substring(0,8),16)}var Ji=function(e){var t=`#`;return e.forEach(function(e){e<16&&(t+=0),t+=e.toString(16)}),t},Yi=function(e,t,n){e/=360;var r=n<.5?n*(1+t):n+t-n*t,i=2*n-r;return[e+1/3,e,e-1/3].map(function(e){return e<0&&e++,e>1&&e--,e=e<1/6?i+(r-i)*6*e:e<.5?r:e<2/3?i+(r-i)*6*(2/3-e):i,Math.round(e*255)})},Xi=class{constructor(e={}){let[t,n]=[e.lightness,e.saturation].map(function(e){return e=e===void 0?[.35,.5,.65]:e,Array.isArray(e)?e.concat():[e]});this.L=t,this.S=n,typeof e.hue==`number`&&(e.hue={min:e.hue,max:e.hue}),typeof e.hue==`object`&&!Array.isArray(e.hue)&&(e.hue=[e.hue]),e.hue===void 0&&(e.hue=[]),this.hueRanges=e.hue.map(function(e){return{min:e.min===void 0?0:e.min,max:e.max===void 0?360:e.max}}),this.hash=qi,typeof e.hash==`function`&&(this.hash=e.hash),e.hash===`bkdr`&&(this.hash=Vi)}hsl(e){var t,n,r,i=this.hash(e),a=727;if(this.hueRanges.length){let e=this.hueRanges[i%this.hueRanges.length];t=i/this.hueRanges.length%a*(e.max-e.min)/a+e.min}else t=i%359;return i=Math.ceil(i/360),n=this.S[i%this.S.length],i=Math.ceil(i/this.S.length),r=this.L[i%this.L.length],[t,n,r]}rgb(e){var t=this.hsl(e);return Yi.apply(this,t)}hex(e){return Ji(this.rgb(e))}};function Zi(e,t){return e.locations?.length?e.locations:e.start>e.end?[{start:e.start,end:t-1},{start:0,end:e.end}]:[{start:e.start,end:e.end}]}function Qi(e,t,n){return e.filter(e=>e.start<n&&e.end>=t).map(e=>({start:Math.max(e.start,t)-t,end:Math.min(e.end,n-1)-t,startIsActual:e.start>=t,endIsActual:e.end<n}))}function $i(e,t,n){if(e.type!==`Insertion`||e.pointerPosition===void 0)return e.anchor;let r=Math.min(n-1,Math.max(0,Math.floor(e.pointerPosition+.5))),i=e=>t.some(t=>e>=t.start&&e<=t.end);return!i(r)&&i(r-1)&&r--,r}var ea=new Xi({lightness:[.75,.9,.7,.8]}),ta=(e,t)=>{switch(e.type){case`CDS`:switch(e.name){case`S`:return`#ff7373`;case`nsp3`:return`#d3ffce`;case`leader`:return`#ff7f50`;case`nsp2`:return`#ddffdd`;case`nsp4`:return`#ff7373`;case`N`:return`#7fffd4`;case`E`:return`#ff7f50`;case`M`:return`#eeee88`;case`nsp12; RdRp`:return`#ff7f50`;case`nsp6`:return`#ee99ee`;case`nsp7`:return`#99ee99`;case`nsp8`:return`#ff7373`;case`nsp10`:return`#d3ffce`;case`nsp14`:return`#ff7f50`;case`nsp15`:return`#ddffdd`;case`nsp16`:return`#ffeeee`;case`nsp13`:return`#ff7f50`;default:return ea.hex(e.name+t+e.type)}case`gene`:return`blue`;case`misc_feature`:return`green`;case`5'UTR`:return`orange`;case`3'UTR`:return`orange`;default:return ea.hex(e.name+t+e.type)}},na=e=>{switch(e){case`TTT`:case`TTC`:return`F`;case`TTA`:case`TTG`:case`CTT`:case`CTC`:case`CTA`:case`CTG`:return`L`;case`ATT`:case`ATC`:case`ATA`:return`I`;case`ATG`:return`M`;case`GTT`:case`GTC`:case`GTA`:case`GTG`:return`V`;case`TCT`:case`TCC`:case`TCA`:case`TCG`:case`AGT`:case`AGC`:return`S`;case`CCT`:case`CCC`:case`CCA`:case`CCG`:return`P`;case`ACT`:case`ACC`:case`ACA`:case`ACG`:return`T`;case`GCT`:case`GCC`:case`GCA`:case`GCG`:return`A`;case`TAT`:case`TAC`:return`Y`;case`TAA`:case`TAG`:case`TGA`:return`*`;case`CAT`:case`CAC`:return`H`;case`CAA`:case`CAG`:return`Q`;case`AAT`:case`AAC`:return`N`;case`AAA`:case`AAG`:return`K`;case`GAT`:case`GAC`:return`D`;case`GAA`:case`GAG`:return`E`;case`TGT`:case`TGC`:return`C`;case`TGG`:return`W`;case`CGT`:case`CGC`:case`CGA`:case`CGG`:case`AGA`:case`AGG`:return`R`;case`GGT`:case`GGC`:case`GGA`:case`GGG`:return`G`;default:return`X`}},ra=e=>typeof e==`number`&&!isNaN(e),ia=e=>typeof e==`string`,aa=e=>typeof e==`function`,oa=e=>ia(e)||ra(e),sa=e=>ia(e)||aa(e)?e:null,ca=(e,t)=>e===!1||ra(e)&&e>0?e:t,la=e=>(0,u.isValidElement)(e)||ia(e)||aa(e)||ra(e);function ua(e,t,n=300){let{scrollHeight:r,style:i}=e;requestAnimationFrame(()=>{i.minHeight=`initial`,i.height=r+`px`,i.transition=`all ${n}ms`,requestAnimationFrame(()=>{i.height=`0`,i.padding=`0`,i.margin=`0`,setTimeout(t,n)})})}function da({enter:e,exit:t,appendPosition:n=!1,collapse:r=!0,collapseDuration:i=300}){return function({children:a,position:o,preventExitTransition:s,done:c,nodeRef:l,isIn:d,playToast:f}){let p=n?`${e}--${o}`:e,m=n?`${t}--${o}`:t,h=(0,u.useRef)(0);return(0,u.useLayoutEffect)(()=>{let e=l.current,t=p.split(` `),n=r=>{r.target===l.current&&(f(),e.removeEventListener(`animationend`,n),e.removeEventListener(`animationcancel`,n),h.current===0&&r.type!==`animationcancel`&&e.classList.remove(...t))};e.classList.add(...t),e.addEventListener(`animationend`,n),e.addEventListener(`animationcancel`,n)},[]),(0,u.useEffect)(()=>{let e=l.current,t=()=>{e.removeEventListener(`animationend`,t),r?ua(e,c,i):c()};d||(s?t():(h.current=1,e.className+=` ${m}`,e.addEventListener(`animationend`,t)))},[d]),u.default.createElement(u.default.Fragment,null,a)}}function fa(e,t){return{content:pa(e.content,e.props),containerId:e.props.containerId,id:e.props.toastId,theme:e.props.theme,type:e.props.type,data:e.props.data||{},isLoading:e.props.isLoading,icon:e.props.icon,reason:e.removalReason,status:t}}function pa(e,t,n=!1){return(0,u.isValidElement)(e)&&!ia(e.type)?(0,u.cloneElement)(e,{closeToast:t.closeToast,toastProps:t,data:t.data,isPaused:n}):aa(e)?e({closeToast:t.closeToast,toastProps:t,data:t.data,isPaused:n}):e}function ma({closeToast:e,theme:t,ariaLabel:n=`close`}){return u.default.createElement(`button`,{className:`Toastify__close-button Toastify__close-button--${t}`,type:`button`,onClick:t=>{t.stopPropagation(),e(!0)},"aria-label":n},u.default.createElement(`svg`,{"aria-hidden":`true`,viewBox:`0 0 14 16`},u.default.createElement(`path`,{fillRule:`evenodd`,d:`M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z`})))}function ha({delay:e,isRunning:t,closeToast:n,type:r=`default`,hide:i,className:a,controlledProgress:o,progress:s,rtl:c,isIn:l,theme:d}){let f=i||o&&s===0,p={animationDuration:`${e}ms`,animationPlayState:t?`running`:`paused`};o&&(p.transform=`scaleX(${s})`);let m=P(`Toastify__progress-bar`,o?`Toastify__progress-bar--controlled`:`Toastify__progress-bar--animated`,`Toastify__progress-bar-theme--${d}`,`Toastify__progress-bar--${r}`,{"Toastify__progress-bar--rtl":c}),h=aa(a)?a({rtl:c,type:r,defaultClassName:m}):P(m,a),g={[o&&s>=1?`onTransitionEnd`:`onAnimationEnd`]:o&&s<1?null:()=>{l&&n()}};return u.default.createElement(`div`,{className:`Toastify__progress-bar--wrp`,"data-hidden":f},u.default.createElement(`div`,{className:`Toastify__progress-bar--bg Toastify__progress-bar-theme--${d} Toastify__progress-bar--${r}`}),u.default.createElement(`div`,{role:`progressbar`,"aria-hidden":f?`true`:`false`,"aria-label":`notification timer`,"aria-valuenow":o?Math.round(s*100):void 0,"aria-valuemin":0,"aria-valuemax":100,className:h,style:p,...g}))}var ga=1,_a=()=>`${ga++}`;function va(e,t,n){let r=1,i=0,a=[],o=[],s=t,c=new Map,l=new Set,u=e=>(l.add(e),()=>l.delete(e)),d=()=>{o=Array.from(c.values()),l.forEach(e=>e())},f=({containerId:t,toastId:n,updateId:r})=>{let i=t?t!==e:e!==1,a=c.has(n)&&r==null;return i||a},p=(e,t)=>{c.forEach(n=>{var r;(t==null||t===n.props.toastId)&&((r=n.toggle)==null||r.call(n,e))})},m=e=>{var t,r;e.isActive&&((r=(t=e.props)?.onClose)==null||r.call(t,e.removalReason),e.isActive=!1,n(fa(e,`removed`)))},h=e=>{if(e==null)c.forEach(m);else{let t=c.get(e);t&&m(t)}d()},g=()=>{i-=a.length,a=[]},_=e=>{var t,r;let{toastId:i,updateId:a}=e.props,o=a==null;e.staleId&&c.delete(e.staleId),e.isActive=!0,c.set(i,e),d(),n(fa(e,o?`added`:`updated`)),o&&((r=(t=e.props).onOpen)==null||r.call(t))};return{id:e,props:s,observe:u,toggle:p,removeToast:h,toasts:c,clearQueue:g,buildToast:(e,t)=>{if(f(t))return;let{toastId:n,updateId:o,data:l,staleId:u,delay:p}=t,m=o==null;m&&i++;let g={...s,style:s.toastStyle,key:r++,...Object.fromEntries(Object.entries(t).filter(([e,t])=>t!=null)),toastId:n,updateId:o,data:l,isIn:!1,className:sa(t.className||s.toastClassName),progressClassName:sa(t.progressClassName||s.progressClassName),autoClose:!t.isLoading&&ca(t.autoClose,s.autoClose),closeToast(e){let t=c.get(n);t&&(t.removalReason=e,h(n))},deleteToast(){if(c.get(n)!=null){if(c.delete(n),i--,i<0&&(i=0),a.length>0){_(a.shift());return}d()}}};g.closeButton=s.closeButton,t.closeButton===!1||la(t.closeButton)?g.closeButton=t.closeButton:t.closeButton===!0&&(g.closeButton=!la(s.closeButton)||s.closeButton);let v={content:e,props:g,staleId:u};s.limit&&s.limit>0&&i>s.limit&&m?a.push(v):ra(p)?setTimeout(()=>{_(v)},p):_(v)},setProps(e){s=e},setToggle:(e,t)=>{let n=c.get(e);n&&(n.toggle=t)},isToastActive:e=>c.get(e)?.isActive,getSnapshot:()=>o}}var ya=new Map,ba=[],xa=new Set,Sa=e=>xa.forEach(t=>t(e)),Ca=()=>ya.size>0;function wa(){ba.forEach(e=>ka(e.content,e.options)),ba=[]}var Ta=(e,{containerId:t})=>ya.get(t||1)?.toasts.get(e);function Ea(e,t){var n;if(t)return!!((n=ya.get(t))!=null&&n.isToastActive(e));let r=!1;return ya.forEach(t=>{t.isToastActive(e)&&(r=!0)}),r}function Da(e){if(!Ca()){ba=ba.filter(t=>e!=null&&t.options.toastId!==e);return}if(e==null||oa(e))ya.forEach(t=>{t.removeToast(e)});else if(e&&(`containerId`in e||`id`in e)){let t=ya.get(e.containerId);t?t.removeToast(e.id):ya.forEach(t=>{t.removeToast(e.id)})}}var Oa=(e={})=>{ya.forEach(t=>{t.props.limit&&(!e.containerId||t.id===e.containerId)&&t.clearQueue()})};function ka(e,t){la(e)&&(Ca()||ba.push({content:e,options:t}),ya.forEach(n=>{n.buildToast(e,t)}))}function Aa(e){var t;(t=ya.get(e.containerId||1))==null||t.setToggle(e.id,e.fn)}function ja(e,t){ya.forEach(n=>{(t==null||!(t!=null&&t.containerId)||t?.containerId===n.id)&&n.toggle(e,t?.id)})}function Ma(e){let t=e.containerId||1;return{subscribe(n){let r=va(t,e,Sa);ya.set(t,r);let i=r.observe(n);return wa(),()=>{i(),ya.delete(t)}},setProps(e){var n;(n=ya.get(t))==null||n.setProps(e)},getSnapshot(){return ya.get(t)?.getSnapshot()}}}function Na(e){return xa.add(e),()=>{xa.delete(e)}}function Pa(e){return e&&(ia(e.toastId)||ra(e.toastId))?e.toastId:_a()}function Fa(e,t){return ka(e,t),t.toastId}function Ia(e,t){return{...t,type:t&&t.type||e,toastId:Pa(t)}}function La(e){return(t,n)=>Fa(t,Ia(e,n))}function q(e,t){return Fa(e,Ia(`default`,t))}q.loading=(e,t)=>Fa(e,Ia(`default`,{isLoading:!0,autoClose:!1,closeOnClick:!1,closeButton:!1,draggable:!1,...t}));function Ra(e,{pending:t,error:n,success:r},i){let a;t&&(a=ia(t)?q.loading(t,i):q.loading(t.render,{...i,...t}));let o={isLoading:null,autoClose:null,closeOnClick:null,closeButton:null,draggable:null},s=(e,t,n)=>{if(t==null){q.dismiss(a);return}let r={type:e,...o,...i,data:n},s=ia(t)?{render:t}:t;return a?q.update(a,{...r,...s}):q(s.render,{...r,...s}),n},c=aa(e)?e():e;return c.then(e=>s(`success`,r,e)).catch(e=>s(`error`,n,e)),c}q.promise=Ra,q.success=La(`success`),q.info=La(`info`),q.error=La(`error`),q.warning=La(`warning`),q.warn=q.warning,q.dark=(e,t)=>Fa(e,Ia(`default`,{theme:`dark`,...t}));function za(e){Da(e)}q.dismiss=za,q.clearWaitingQueue=Oa,q.isActive=Ea,q.update=(e,t={})=>{let n=Ta(e,t);if(n){let{props:r,content:i}=n,a={delay:100,...r,...t,toastId:t.toastId||e,updateId:_a()};a.toastId!==e&&(a.staleId=e);let o=a.render||i;delete a.render,Fa(o,a)}},q.done=e=>{q.update(e,{progress:1})},q.onChange=Na,q.play=e=>ja(!0,e),q.pause=e=>ja(!1,e);function Ba(e){let{subscribe:t,getSnapshot:n,setProps:r}=(0,u.useRef)(Ma(e)).current;r(e);let i=(0,u.useSyncExternalStore)(t,n,n)?.slice();function a(t){if(!i)return[];let n=new Map;return e.newestOnTop&&i.reverse(),i.forEach(e=>{let{position:t}=e.props;n.has(t)||n.set(t,[]),n.get(t).push(e)}),Array.from(n,e=>t(e[0],e[1]))}return{getToastToRender:a,isToastActive:Ea,count:i?.length}}function Va(e){let[t,n]=(0,u.useState)(!1),[r,i]=(0,u.useState)(!1),a=(0,u.useRef)(null),o=(0,u.useRef)({start:0,delta:0,removalDistance:0,canCloseOnClick:!0,canDrag:!1,didMove:!1}).current,{autoClose:s,pauseOnHover:c,closeToast:l,onClick:d,closeOnClick:f}=e;Aa({id:e.toastId,containerId:e.containerId,fn:n}),(0,u.useEffect)(()=>{if(e.pauseOnFocusLoss)return p(),()=>{m()}},[e.pauseOnFocusLoss]);function p(){document.hasFocus()||v(),window.addEventListener(`focus`,_),window.addEventListener(`blur`,v)}function m(){window.removeEventListener(`focus`,_),window.removeEventListener(`blur`,v)}function h(t){if(e.draggable===!0||e.draggable===t.pointerType){y();let n=a.current;o.canCloseOnClick=!0,o.canDrag=!0,n.style.transition=`none`,e.draggableDirection===`x`?(o.start=t.clientX,o.removalDistance=n.offsetWidth*(e.draggablePercent/100)):(o.start=t.clientY,o.removalDistance=n.offsetHeight*(e.draggablePercent===80?e.draggablePercent*1.5:e.draggablePercent)/100)}}function g(t){let{top:n,bottom:r,left:i,right:o}=a.current.getBoundingClientRect();t.pointerType===`mouse`&&e.pauseOnHover&&t.clientX>=i&&t.clientX<=o&&t.clientY>=n&&t.clientY<=r?v():_()}function _(){n(!0)}function v(){n(!1)}function y(){o.didMove=!1,document.addEventListener(`pointermove`,x),document.addEventListener(`pointerup`,S)}function b(){document.removeEventListener(`pointermove`,x),document.removeEventListener(`pointerup`,S)}function x(n){let r=a.current;if(o.canDrag&&r){o.didMove=!0,t&&v(),e.draggableDirection===`x`?o.delta=n.clientX-o.start:o.delta=n.clientY-o.start,o.start!==n.clientX&&(o.canCloseOnClick=!1);let i=e.draggableDirection===`x`?`${o.delta}px, var(--y)`:`0, calc(${o.delta}px + var(--y))`;r.style.transform=`translate3d(${i},0)`,r.style.opacity=`${1-Math.abs(o.delta/o.removalDistance)}`}}function S(){b();let t=a.current;if(o.canDrag&&o.didMove&&t){if(o.canDrag=!1,Math.abs(o.delta)>o.removalDistance){i(!0),e.closeToast(!0),e.collapseAll();return}t.style.transition=`transform 0.2s, opacity 0.2s`,t.style.removeProperty(`transform`),t.style.removeProperty(`opacity`)}}let C={onPointerDown:h,onPointerUp:g};return s&&c&&(C.onMouseEnter=v,e.stacked||(C.onMouseLeave=_)),f&&(C.onClick=e=>{d&&d(e),o.canCloseOnClick&&l(!0)}),{playToast:_,pauseToast:v,isRunning:t,preventExitTransition:r,toastRef:a,eventHandlers:C}}var Ha=typeof window<`u`?u.useLayoutEffect:u.useEffect,Ua=({theme:e,type:t,isLoading:n,...r})=>u.default.createElement(`svg`,{viewBox:`0 0 24 24`,width:`100%`,height:`100%`,fill:e===`colored`?`currentColor`:`var(--toastify-icon-color-${t})`,...r});function Wa(e){return u.default.createElement(Ua,{...e},u.default.createElement(`path`,{d:`M23.32 17.191L15.438 2.184C14.728.833 13.416 0 11.996 0c-1.42 0-2.733.833-3.443 2.184L.533 17.448a4.744 4.744 0 000 4.368C1.243 23.167 2.555 24 3.975 24h16.05C22.22 24 24 22.044 24 19.632c0-.904-.251-1.746-.68-2.44zm-9.622 1.46c0 1.033-.724 1.823-1.698 1.823s-1.698-.79-1.698-1.822v-.043c0-1.028.724-1.822 1.698-1.822s1.698.79 1.698 1.822v.043zm.039-12.285l-.84 8.06c-.057.581-.408.943-.897.943-.49 0-.84-.367-.896-.942l-.84-8.065c-.057-.624.25-1.095.779-1.095h1.91c.528.005.84.476.784 1.1z`}))}function Ga(e){return u.default.createElement(Ua,{...e},u.default.createElement(`path`,{d:`M12 0a12 12 0 1012 12A12.013 12.013 0 0012 0zm.25 5a1.5 1.5 0 11-1.5 1.5 1.5 1.5 0 011.5-1.5zm2.25 13.5h-4a1 1 0 010-2h.75a.25.25 0 00.25-.25v-4.5a.25.25 0 00-.25-.25h-.75a1 1 0 010-2h1a2 2 0 012 2v4.75a.25.25 0 00.25.25h.75a1 1 0 110 2z`}))}function Ka(e){return u.default.createElement(Ua,{...e},u.default.createElement(`path`,{d:`M12 0a12 12 0 1012 12A12.014 12.014 0 0012 0zm6.927 8.2l-6.845 9.289a1.011 1.011 0 01-1.43.188l-4.888-3.908a1 1 0 111.25-1.562l4.076 3.261 6.227-8.451a1 1 0 111.61 1.183z`}))}function qa(e){return u.default.createElement(Ua,{...e},u.default.createElement(`path`,{d:`M11.983 0a12.206 12.206 0 00-8.51 3.653A11.8 11.8 0 000 12.207 11.779 11.779 0 0011.8 24h.214A12.111 12.111 0 0024 11.791 11.766 11.766 0 0011.983 0zM10.5 16.542a1.476 1.476 0 011.449-1.53h.027a1.527 1.527 0 011.523 1.47 1.475 1.475 0 01-1.449 1.53h-.027a1.529 1.529 0 01-1.523-1.47zM11 12.5v-6a1 1 0 012 0v6a1 1 0 11-2 0z`}))}function Ja(){return u.default.createElement(`div`,{className:`Toastify__spinner`})}var Ya={info:Ga,warning:Wa,success:Ka,error:qa,spinner:Ja},Xa=e=>e in Ya;function Za({theme:e,type:t,isLoading:n,icon:r}){let i=null,a={theme:e,type:t};return r===!1||(aa(r)?i=r({...a,isLoading:n}):(0,u.isValidElement)(r)?i=(0,u.cloneElement)(r,a):n?i=Ya.spinner():Xa(t)&&(i=Ya[t](a))),i}var Qa=e=>{let{isRunning:t,preventExitTransition:n,toastRef:r,eventHandlers:i,playToast:a}=Va(e),{closeButton:o,children:s,autoClose:c,onClick:l,type:d,hideProgressBar:f,closeToast:p,transition:m,position:h,className:g,style:_,progressClassName:v,updateId:y,role:b,progress:x,rtl:S,toastId:C,deleteToast:w,isIn:T,isLoading:E,closeOnClick:D,theme:O,ariaLabel:k}=e,A=P(`Toastify__toast`,`Toastify__toast-theme--${O}`,`Toastify__toast--${d}`,{"Toastify__toast--rtl":S},{"Toastify__toast--close-on-click":D}),j=aa(g)?g({rtl:S,position:h,type:d,defaultClassName:A}):P(A,g),M=Za(e),N=!!x||!c,F={closeToast:p,type:d,theme:O},I=null;return o===!1||(I=aa(o)?o(F):(0,u.isValidElement)(o)?(0,u.cloneElement)(o,F):ma(F)),u.default.createElement(m,{isIn:T,done:w,position:h,preventExitTransition:n,nodeRef:r,playToast:a},u.default.createElement(`div`,{id:C,tabIndex:0,onClick:l,"data-in":T,className:j,...i,style:_,ref:r,...T&&{role:b,"aria-label":k}},M!=null&&u.default.createElement(`div`,{className:P(`Toastify__toast-icon`,{"Toastify--animate-icon Toastify__zoom-enter":!E})},M),pa(s,e,!t),I,!e.customProgressBar&&u.default.createElement(ha,{...y&&!N?{key:`p-${y}`}:{},rtl:S,theme:O,delay:c,isRunning:t,isIn:T,closeToast:p,hide:f,type:d,className:v,controlledProgress:N,progress:x||0})))},$a=(e,t=!1)=>({enter:`Toastify--animate Toastify__${e}-enter`,exit:`Toastify--animate Toastify__${e}-exit`,appendPosition:t}),eo=da($a(`bounce`,!0));da($a(`slide`,!0)),da($a(`zoom`)),da($a(`flip`));var to={position:`top-right`,transition:eo,autoClose:5e3,closeButton:!0,pauseOnHover:!0,pauseOnFocusLoss:!0,draggable:`touch`,draggablePercent:80,draggableDirection:`x`,role:`alert`,theme:`light`,"aria-label":`Notifications Alt+T`,hotKeys:e=>e.altKey&&e.code===`KeyT`};function no(e){let t={...to,...e},n=e.stacked,[r,i]=(0,u.useState)(!0),a=(0,u.useRef)(null),{getToastToRender:o,isToastActive:s,count:c}=Ba(t),{className:l,style:d,rtl:f,containerId:p,hotKeys:m}=t;function h(e){let t=P(`Toastify__toast-container`,`Toastify__toast-container--${e}`,{"Toastify__toast-container--rtl":f});return aa(l)?l({position:e,rtl:f,defaultClassName:t}):P(t,sa(l))}function g(){n&&(i(!0),q.play())}return Ha(()=>{if(n){let e=a.current.querySelectorAll(`[data-in="true"]`),n=t.position?.includes(`top`),i=0,o=0;Array.from(e).reverse().forEach((e,t)=>{let a=e;a.classList.add(`Toastify__toast--stacked`),t>0&&(a.dataset.collapsed=`${r}`),a.dataset.pos||(a.dataset.pos=n?`top`:`bot`);let s=i*(r?.2:1)+(r?0:12*t),c=Math.max(.5,1-(r?o:0));a.style.setProperty(`--y`,`${n?s:s*-1}px`),a.style.setProperty(`--g`,`12`),a.style.setProperty(`--s`,`${c}`),i+=a.offsetHeight,o+=.025})}},[r,c,n]),(0,u.useEffect)(()=>{function e(e){var t;let n=a.current;m(e)&&((t=n?.querySelector(`[tabIndex="0"]`))==null||t.focus(),i(!1),q.pause()),e.key===`Escape`&&(document.activeElement===n||n!=null&&n.contains(document.activeElement))&&(i(!0),q.play())}return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[m]),u.default.createElement(`section`,{ref:a,className:`Toastify`,id:p,onMouseEnter:()=>{n&&(i(!1),q.pause())},onMouseLeave:g,"aria-live":`polite`,"aria-atomic":`false`,"aria-relevant":`additions text`,"aria-label":t[`aria-label`]},o((e,t)=>{let r=t.length?{...d}:{...d,pointerEvents:`none`};return u.default.createElement(`div`,{tabIndex:-1,className:h(e),"data-stacked":n,style:r,key:`c-${e}`},t.map(({content:e,props:t})=>u.default.createElement(Qa,{...t,stacked:n,collapseAll:g,isIn:s(t.toastId,t.containerId),key:`t-${t.key}`},e)))}))}var ro=6,io=1;new Xi({lightness:[.75,.9,.7,.8]});function ao(e){let t=e.slice().sort((e,t)=>e.start-t.start),n=[];return t.forEach(e=>{let t=!1;for(let r=0;r<n.length;r++){let i=!1;for(let t of n[r])if(e.start<=t.end&&e.end>=t.start){i=!0;break}if(!i){n[r].push(e),e.lane=r,t=!0;break}}t||(n.push([e]),e.lane=n.length-1)}),n.length}function oo(e,t){return!(e.left>t.right||e.right<t.left||e.top>t.bottom||e.bottom<t.top)}function so(e,t,n,r,i,a,o){let s=n.length*6+10,c=a,l=a+o;if(l<c)return null;let u=e==0?e-5:e;for(let e=0;e<i;e++){let e={left:u,top:t,right:u+s,bottom:t+10};if(!r.some(t=>oo(e,t)))return r.push(e),{x:u};if(u+=10,u>l)break}return null}var co=({parsedSequence:e,rowStart:t,rowEnd:n,setHoveredInfo:r,rowId:i,intSearchInput:a,annotSearchInput:o,zoomLevel:s,whereMouseWentDown:c,setWhereMouseWentDown:l,whereMouseWentUp:u,setWhereMouseWentUp:f,whereMouseCurrentlyIs:p,setWhereMouseCurrentlyIs:m,sequenceHits:h,curSeqHitIndex:g,enableRC:_,visibleFeatures:v,differences:y=[],proteins:b})=>{let x=2**s,S=10*x,C=e.sequence,w=C.slice(t,n),T=v.filter(e=>Zi(e,C.length).some(e=>e.start<n&&e.end>=t)),E=o?Si(T,o):[],D=a>=t&&a<=n||E.length>0,O=T.map((r,i)=>{let a=b?.[e.features.indexOf(r)],o=Zi(r,C.length),c=Qi(o,t,n),l=o.reduce((e,t)=>e+t.end-t.start+1,0),u=[];if(s>-2&&(r.type===`CDS`||r.type===`mat_peptide`))for(let e=t;e<n;e++){let n=0;for(let i=0;i<o.length;i++){if(e>=o[i].start&&e<=o[i].end){let a=e,s=Math.floor((e-(o[i].start-n))/3),c=r.strand>0?s:l/3-s-1;if((e-(o[i].start-n))%3!=1)continue;let d=a,f=C.slice(d,d+1),p=a-o[i].start>0?a-1:o[i-1]?.end,m=C.slice(p,p+1),h=a<o[i].end?a+1:o[i+1]?.start,g=C.slice(h,h+1),_=m+f+g,v=na(r.strand>0?_:xi(_));u.push({first:p-t,middle:a-t,last:h-t,aminoAcid:v,codonIndex:c,gene:r.name})}n+=o[i].end-o[i].start+1}}return a?.codons.length&&(u=a.codons.filter(e=>e.positions[1]>=t&&e.positions[1]<n).map(e=>({first:e.positions[0]-t,middle:e.positions[1]-t,last:e.positions[2]-t,aminoAcid:e.aminoAcid,codonIndex:e.codonIndex,gene:r.name}))),{start:Math.min(...c.map(e=>e.start)),end:Math.max(...c.map(e=>e.end)),proteinChanges:a?.changes||[],blocks:c,name:r.name,type:r.type,notes:r.notes,strand:r.strand,locations:o,codonMap:u,lane:0,key:i}}),k=ao(O),A=w.length*S,j=y.filter(e=>e.type===`Insertion`?e.start>=t&&(e.start<n||e.start===n&&n===C.length):e.start<n&&e.end>t),M=[],N=Math.max(A,120),P=j.map(e=>{let r=Math.max(t,e.start),i=Math.min(n,e.end),a=e.type===`Insertion`,o=a?(e.start-t-.5)*S:((r+i-1)/2-t)*S,s=a?`INS +${e.alternative}`:e.type===`Deletion`?`DEL ${e.reference}`:e.type===`Ambiguous`?`Coverage gap`:`${e.reference} → ${e.alternative}`,c=Math.max(8,Math.floor((N-20)/7)),l=s.length>c?`${s.slice(0,c-1)}…`:s,u=Math.min(N,l.length*7+16),d=Math.max(-S/2,Math.min(o-u/2,N-u)),f=M.findIndex(e=>e+8<=d);f===-1&&(f=M.length),M[f]=d+u;let p=a?`#1d4ed8`:e.type===`Deletion`?`#b91c1c`:e.type===`Ambiguous`?`#6d28d9`:`#92400e`,m=a?`#eff6ff`:e.type===`Deletion`?`#fef2f2`:e.type===`Ambiguous`?`#f5f3ff`:`#fffbeb`,h=a?`after reference base ${e.start}`:`reference ${e.start+1}${e.end>e.start+1?`–${e.end}`:``}`,g=e.type===`Ambiguous`?`Coverage gap at ${h}`:`${e.type} at ${h}: ${e.reference||`—`} → ${e.alternative||`—`}`;return{...e,start:r,end:i,anchor:o,displayLabel:l,labelWidth:u,left:d,lane:f,color:p,background:m,description:g}}),F=P.length?18+M.length*28:0,I=70+k*20+F,L=Array.from({length:k},()=>[]);O.forEach(e=>{e.proteinLabels=e.proteinChanges.filter(r=>{let i=$i(r,e.locations,C.length);return i>=t&&i<n}).sort((e,t)=>e.anchor-t.anchor).map(n=>{let r=n.end>n.start+1?`${n.start+1}–${n.end}`:n.start+1,i=n.type===`Insertion`?`AA INS +${n.alternative} · after ${n.aaPosition}`:n.type===`Deletion`?`AA DEL ${n.reference} · ${r}`:n.type===`Frameshift`?`Frame shift · AA ${n.aaPosition}`:n.type===`Ambiguous`?`Coverage gap · AA ${r}`:`AA ${n.reference}${n.aaPosition} → ${n.alternative}`,a=Math.max(8,Math.floor((N-20)/7)),o=n.type===`Ambiguous`?`Coverage gap`:i,s=o.length>a?`${o.slice(0,a-1)}…`:o,c=Math.min(N,s.length*7+16),l=((n.pointerPosition??n.anchor)-t)*S,u=Math.max(-S/2,Math.min(l-c/2,N-c)),d=L[e.lane],f=d.findIndex(e=>e+8<=u);f===-1&&(f=d.length),d[f]=u+c;let p=n.type===`Insertion`?`#1d4ed8`:n.type===`Deletion`?`#b91c1c`:[`Frameshift`,`Ambiguous`].includes(n.type)?`#6d28d9`:`#92400e`;return{...n,text:i,label:s,labelWidth:c,anchor:l,left:u,lane:f,color:p}})});let R=[],z=0;L.forEach((e,t)=>{R[t]=t*20+z,z+=e.length?12+e.length*26:0}),I+=z;let ee=Math.ceil(A/(t>1e4?60:40)),te=Math.ceil(w.length/ee);te=[5,10,20,50,100,200,500,1e3,2e3,5e3,1e4,2e4,5e4,1e5,2e5,5e5,1e6,2e6,5e6,1e7].find(e=>e>=te)||te;let ne=t%te,re=Math.floor((n-t)/te)+1,ie=Array.from({length:re},(e,n)=>(n+1)*te+t-ne-1).map((e,r)=>{let i=(e-t)/(n-t)*A;return(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`line`,{x1:i,y1:0,x2:i,y2:10,stroke:`black`}),(0,d.jsx)(`text`,{x:i,y:20,textAnchor:`middle`,fontSize:`10`,children:e+1})]},r)}),ae=new Set;j.filter(e=>e.type===`Ambiguous`).forEach(e=>{for(let r=Math.max(t,e.start);r<Math.min(n,e.end);r++)ae.add(r)});let oe=null,se=null;s>-1&&(oe=w.split(``).map((e,n)=>{let i=n*S;return(0,d.jsx)(`text`,{x:i,y:10,textAnchor:`middle`,fontSize:s<-1?`11`:`12`,fontFamily:s<-.25?`Open Sans Condensed`:`sans-serif`,fontWeight:s<-.25?`600`:`400`,fillOpacity:ae.has(t+n)?.35:.9,onMouseEnter:()=>r({label:`Nucleotide ${n+t+1}: ${e}`}),onMouseLeave:()=>r(null),children:e},n)}));let B={A:`T`,T:`A`,C:`G`,G:`C`,N:`N`};s>-1&&(se=w.split(``).map((e,n)=>{let i=n*S;return(0,d.jsx)(`text`,{x:i,y:10,textAnchor:`middle`,fontSize:s<-1?`11`:`12`,fontFamily:s<-.25?`Open Sans Condensed`:`sans-serif`,fontWeight:s<-.25?`600`:`400`,fillOpacity:ae.has(t+n)?.35:.9,onMouseEnter:()=>r({label:`Nucleotide ${n+t+1}: ${e}`}),onMouseLeave:()=>r(null),children:B[e]},n)}));let ce=e=>{let t=e.locations.map(e=>Math.min(e.start,e.end)).reduce((e,t)=>Math.min(e,t)),n=e.locations.map(e=>Math.max(e.start,e.end)).reduce((e,t)=>Math.max(e,t));l(t),f(n+1),e.locations.length>1&&q.info(`This feature has multiple locations. The selection will be from the start of the first location to the end of the last location.`)},le=[],ue=O.map(e=>{let t=e.start*S,n=(e.end-e.start)*S,i=L[e.lane].length,a=7+R[e.lane]+(i?12+i*26:0),o=e.notes?.product||``,c=e.type===`mat_peptide`?o:e.name,l=e.type===`mat_peptide`?e.name:o;return c===`Untitled Feature`&&(c=e.type),(0,d.jsxs)(`g`,{children:[e.proteinLabels.map((e,t)=>(0,d.jsx)(`path`,{d:`M ${e.left+e.labelWidth/2} ${a-14-e.lane*26} L ${e.anchor} ${a-7} L ${e.anchor} ${a+3}`,fill:`none`,stroke:e.color,strokeWidth:1.25},`aa-pointer-${t}`)),e.proteinLabels.map((t,n)=>(0,d.jsxs)(`g`,{role:`img`,"aria-label":`${e.name}: ${t.text}`,children:[(0,d.jsxs)(`title`,{children:[e.name,`: `,t.text,t.type===`Frameshift`?`; downstream amino-acid correspondence is uncertain`:``]}),(0,d.jsx)(`rect`,{x:t.left,y:a-34-t.lane*26,width:t.labelWidth,height:20,rx:4,fill:t.type===`Ambiguous`?`#f5f3ff`:`white`,stroke:t.color}),(0,d.jsx)(`text`,{x:t.left+t.labelWidth/2,y:a-20-t.lane*26,textAnchor:`middle`,fontSize:12,fontFamily:`monospace`,fontWeight:600,fill:t.color,children:t.label})]},`aa-label-${n}`)),(0,d.jsx)(`line`,{x1:t+2,y1:a+5,x2:t+n-2,y2:a+5,stroke:ta(e,o),strokeWidth:1.5}),e.blocks.map((t,n)=>{let i=t.start*S-5*x,c=t.end*S+5*x;return(0,d.jsx)(`path`,{d:`${e.strand<0?`M ${c} ${a}
10
10
  ${t.startIsActual?`L ${i+ro} ${a}
11
11
  L ${i} ${a+5}
12
12
  L ${i+ro} ${a+10}`:`L ${i+io} ${a}
@@ -22,7 +22,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
22
22
  L ${c-io} ${a+10}`}
23
23
  L ${i} ${a+10}
24
24
  L ${i} ${a}
25
- `} Z`,fill:ta(e,o),onClick:()=>ce(e),onMouseEnter:()=>{s<-2&&r({label:`${e.name}: ${e.type}`,product:l,locusTag:e.notes?.locus_tag||null})},onMouseLeave:()=>{s<-2&&r(null)},style:{cursor:`pointer`}},`block-${n}`)}),(()=>{let e=t,r=a,i=so(e,r,c,le,20,t,n);return i?(0,d.jsx)(`text`,{x:i.x,y:r,fontSize:`10`,textAnchor:`left`,children:c}):null})(),e.codonMap.map((t,n)=>(0,d.jsxs)(`g`,{children:[s>-2&&(0,d.jsx)(`text`,{x:t.middle*S,y:a+9,textAnchor:`middle`,fontSize:`10`,onClick:()=>ce(e),onMouseOver:()=>r({label:`${c}: ${t.aminoAcid}${t.codonIndex+1}`,product:l,locusTag:e.notes?.locus_tag||null}),onMouseLeave:()=>r(null),fillOpacity:.75,style:{cursor:`pointer`},children:t.aminoAcid}),t.middle>2&&s>-.5&&(0,d.jsx)(`text`,{x:t.middle*S,y:a-1,textAnchor:`middle`,fontSize:`7`,fillOpacity:.4,children:t.codonIndex+1})]},n)),e.codonMap.map(t=>{let n=e.proteinChanges.find(e=>[`Deletion`,`Substitution`].includes(e.type)&&t.codonIndex>=e.start&&t.codonIndex<e.end);return n?(0,d.jsx)(`line`,{x1:t.middle*S-5,x2:t.middle*S+5,y1:a+5,y2:a+5,stroke:n.type===`Deletion`?`#b91c1c`:`#92400e`,strokeWidth:1.7,pointerEvents:`none`},`aa-changed-${t.codonIndex}`):null}),s>-2&&e.codonMap.map((e,t)=>{let n=15*x;return(0,d.jsxs)(`g`,{children:[e.middle>1&&e.middle<3&&(0,d.jsx)(`line`,{x1:e.middle*S-n,y1:a,x2:e.middle*S-n,y2:a+10,stroke:`black`,strokeOpacity:.1}),(0,d.jsx)(`line`,{x1:e.middle*S+n,y1:a,x2:e.middle*S+n,y2:a+10,stroke:`black`,strokeOpacity:.1})]},`codonline-${t}`)})]},e.key)}),de=null;a!=null&&a>=t&&a<=n&&(de=(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`line`,{x1:(a-t)*S,y1:0,x2:(a-t)*S,y2:10,stroke:`red`}),(0,d.jsx)(`rect`,{x:(a-t)*S-30,y:0,width:60,height:30,fill:`#ffffee`}),(0,d.jsx)(`text`,{x:(a-t)*S,y:20,textAnchor:`middle`,fontSize:`10`,fill:`red`,children:a+1})]},`search-tick`));let V=null;if(c!=null){let e=u??p,n=Math.min(c,e),r=Math.max(c,e);V=(0,d.jsx)(`rect`,{x:25+(n-t-.5)*S,y:0,width:(r-n)*S,height:I,fill:`#bbbbff`,fillOpacity:.5})}let fe=null;return h.length>0&&(fe=h.map((e,r)=>{let[i,a]=e;return a<t||i>n?null:(i<t&&(i=t),a>n&&(a=n),(0,d.jsx)(`rect`,{x:25+(i-t-.5)*S,y:0,width:(a-i)*S,height:I,fill:r===g?`#ff8888`:`#ffbbbb`,fillOpacity:.5},`hit-${r}`))})),(0,d.jsx)(`div`,{style:{position:`relative`,height:`${I}px`,...D?{backgroundColor:`#ffffee`}:{}},onMouseDown:e=>{if(e.button===2)return;let n=e.clientX-e.currentTarget.getBoundingClientRect().left;l(Math.floor((n-25)/S+.5)+t),f(null),e.preventDefault()},onMouseUp:e=>{if(e.button===2)return;let n=e.clientX-e.currentTarget.getBoundingClientRect().left,r=Math.floor((n-25)/S+.5)+t;Math.abs(r-c)<1?(l(null),f(null)):(f(r),e.preventDefault())},onMouseMove:e=>{let n=e.clientX-e.currentTarget.getBoundingClientRect().left;m(Math.floor((n-25)/S+.5)+t)},id:`row-${i}`,children:(0,d.jsxs)(`svg`,{width:Math.max(A,P.length||z?N:0)+40,height:I-20+(_?20:0),style:{position:`absolute`,top:0,left:0},children:[V,(0,d.jsx)(`g`,{children:fe}),(0,d.jsx)(`g`,{fillOpacity:.7,children:(0,d.jsxs)(`g`,{transform:_?`translate(0,20)`:``,children:[(0,d.jsx)(`g`,{transform:`translate(25, ${I-40})`,style:{zIndex:-5},children:ie}),de&&(0,d.jsx)(`g`,{transform:`translate(25, ${I-40})`,children:de})]})}),(0,d.jsx)(`line`,{x1:25,y1:I-40,x2:A+25,y2:I-40,stroke:`black`}),P.length>0&&(0,d.jsxs)(`g`,{"aria-label":`Reference-relative changes`,transform:`translate(25, 0)`,children:[P.map((e,n)=>(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{d:`M ${e.left+e.labelWidth/2} ${I-69-e.lane*28} L ${e.anchor} ${I-61} L ${e.anchor} ${I-56}`,fill:`none`,stroke:e.color,strokeWidth:1.25}),e.type===`Insertion`?(0,d.jsx)(`path`,{d:`M ${e.anchor-4} ${I-57} L ${e.anchor} ${I-51} L ${e.anchor+4} ${I-57}`,fill:e.color}):(0,d.jsx)(`rect`,{x:(e.start-t-.5)*S,y:I-57,width:(e.end-e.start)*S,height:15,fill:e.background})]},`connector-${n}`)),P.map((e,t)=>(0,d.jsxs)(`g`,{role:`img`,"aria-label":e.description,children:[(0,d.jsx)(`title`,{children:e.description}),(0,d.jsx)(`rect`,{x:e.left,y:I-91-e.lane*28,width:e.labelWidth,height:22,rx:4,fill:e.background,stroke:e.color}),(0,d.jsx)(`text`,{x:e.left+e.labelWidth/2,y:I-76-e.lane*28,textAnchor:`middle`,fontSize:12,fontWeight:600,fontFamily:`monospace`,fill:e.color,children:e.displayLabel})]},`label-${t}`))]}),(0,d.jsx)(`g`,{transform:`translate(25, ${I-55})`,children:oe}),(0,d.jsx)(`g`,{"aria-label":`Changed reference bases`,pointerEvents:`none`,transform:`translate(25, 0)`,children:P.filter(e=>[`Deletion`,`Substitution`].includes(e.type)).map((e,n)=>(0,d.jsx)(`line`,{x1:(e.start-t-.5)*S,x2:(e.end-t-.5)*S,y1:I-49,y2:I-49,stroke:e.color,strokeWidth:2},n))}),_&&(0,d.jsx)(`g`,{transform:`translate(25, ${I-55+19})`,children:se}),(0,d.jsx)(`g`,{transform:`translate(25, 5)`,children:ue})]})})};function lo(e){"@babel/helpers - typeof";return lo=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},lo(e)}function uo(e,t){if(lo(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(lo(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function fo(e){var t=uo(e,`string`);return lo(t)==`symbol`?t:t+``}function po(e,t,n){return(t=fo(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function mo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ho(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?mo(Object(n),!0).forEach(function(t){po(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mo(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function go(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function _o(e){if(Array.isArray(e))return go(e)}function vo(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function yo(e,t){if(e){if(typeof e==`string`)return go(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?go(e,t):void 0}}function bo(){throw TypeError(`Invalid attempt to spread non-iterable instance.
25
+ `} Z`,fill:ta(e,o),onClick:()=>ce(e),onMouseEnter:()=>{s<-2&&r({label:`${e.name}: ${e.type}`,product:l,locusTag:e.notes?.locus_tag||null})},onMouseLeave:()=>{s<-2&&r(null)},style:{cursor:`pointer`}},`block-${n}`)}),(()=>{let e=t,r=a,i=so(e,r,c,le,20,t,n);return i?(0,d.jsx)(`text`,{x:i.x,y:r,fontSize:`10`,textAnchor:`left`,children:c}):null})(),e.codonMap.map((t,n)=>(0,d.jsxs)(`g`,{children:[s>-2&&(0,d.jsx)(`text`,{x:t.middle*S,y:a+9,textAnchor:`middle`,fontSize:`10`,onClick:()=>ce(e),onMouseOver:()=>r({label:`${c}: ${t.aminoAcid}${t.codonIndex+1}`,product:l,locusTag:e.notes?.locus_tag||null}),onMouseLeave:()=>r(null),fillOpacity:e.proteinChanges.some(e=>e.type===`Ambiguous`&&t.codonIndex>=e.start&&t.codonIndex<e.end)?.35:.75,style:{cursor:`pointer`},children:t.aminoAcid}),t.middle>2&&s>-.5&&(0,d.jsx)(`text`,{x:t.middle*S,y:a-1,textAnchor:`middle`,fontSize:`7`,fillOpacity:.4,children:t.codonIndex+1})]},n)),e.codonMap.map(t=>{let n=e.proteinChanges.find(e=>[`Deletion`,`Substitution`].includes(e.type)&&t.codonIndex>=e.start&&t.codonIndex<e.end);return n?(0,d.jsx)(`line`,{x1:t.middle*S-5,x2:t.middle*S+5,y1:a+5,y2:a+5,stroke:n.type===`Deletion`?`#b91c1c`:`#92400e`,strokeWidth:1.7,pointerEvents:`none`},`aa-changed-${t.codonIndex}`):null}),s>-2&&e.codonMap.map((e,t)=>{let n=15*x;return(0,d.jsxs)(`g`,{children:[e.middle>1&&e.middle<3&&(0,d.jsx)(`line`,{x1:e.middle*S-n,y1:a,x2:e.middle*S-n,y2:a+10,stroke:`black`,strokeOpacity:.1}),(0,d.jsx)(`line`,{x1:e.middle*S+n,y1:a,x2:e.middle*S+n,y2:a+10,stroke:`black`,strokeOpacity:.1})]},`codonline-${t}`)})]},e.key)}),de=null;a!=null&&a>=t&&a<=n&&(de=(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`line`,{x1:(a-t)*S,y1:0,x2:(a-t)*S,y2:10,stroke:`red`}),(0,d.jsx)(`rect`,{x:(a-t)*S-30,y:0,width:60,height:30,fill:`#ffffee`}),(0,d.jsx)(`text`,{x:(a-t)*S,y:20,textAnchor:`middle`,fontSize:`10`,fill:`red`,children:a+1})]},`search-tick`));let V=null;if(c!=null){let e=u??p,n=Math.min(c,e),r=Math.max(c,e);V=(0,d.jsx)(`rect`,{x:25+(n-t-.5)*S,y:0,width:(r-n)*S,height:I,fill:`#bbbbff`,fillOpacity:.5})}let fe=null;return h.length>0&&(fe=h.map((e,r)=>{let[i,a]=e;return a<t||i>n?null:(i<t&&(i=t),a>n&&(a=n),(0,d.jsx)(`rect`,{x:25+(i-t-.5)*S,y:0,width:(a-i)*S,height:I,fill:r===g?`#ff8888`:`#ffbbbb`,fillOpacity:.5},`hit-${r}`))})),(0,d.jsx)(`div`,{style:{position:`relative`,height:`${I}px`,...D?{backgroundColor:`#ffffee`}:{}},onMouseDown:e=>{if(e.button===2)return;let n=e.clientX-e.currentTarget.getBoundingClientRect().left;l(Math.floor((n-25)/S+.5)+t),f(null),e.preventDefault()},onMouseUp:e=>{if(e.button===2)return;let n=e.clientX-e.currentTarget.getBoundingClientRect().left,r=Math.floor((n-25)/S+.5)+t;Math.abs(r-c)<1?(l(null),f(null)):(f(r),e.preventDefault())},onMouseMove:e=>{let n=e.clientX-e.currentTarget.getBoundingClientRect().left;m(Math.floor((n-25)/S+.5)+t)},id:`row-${i}`,children:(0,d.jsxs)(`svg`,{width:Math.max(A,P.length||z?N:0)+40,height:I-20+(_?20:0),style:{position:`absolute`,top:0,left:0},children:[V,(0,d.jsx)(`g`,{children:fe}),(0,d.jsx)(`g`,{fillOpacity:.7,children:(0,d.jsxs)(`g`,{transform:_?`translate(0,20)`:``,children:[(0,d.jsx)(`g`,{transform:`translate(25, ${I-40})`,style:{zIndex:-5},children:ie}),de&&(0,d.jsx)(`g`,{transform:`translate(25, ${I-40})`,children:de})]})}),(0,d.jsx)(`line`,{x1:25,y1:I-40,x2:A+25,y2:I-40,stroke:`black`}),P.length>0&&(0,d.jsxs)(`g`,{"aria-label":`Reference-relative changes`,transform:`translate(25, 0)`,children:[P.map((e,n)=>(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{d:`M ${e.left+e.labelWidth/2} ${I-69-e.lane*28} L ${e.anchor} ${I-61} L ${e.anchor} ${I-56}`,fill:`none`,stroke:e.color,strokeWidth:1.25}),e.type===`Insertion`?(0,d.jsx)(`path`,{d:`M ${e.anchor-4} ${I-57} L ${e.anchor} ${I-51} L ${e.anchor+4} ${I-57}`,fill:e.color}):(0,d.jsx)(`rect`,{x:(e.start-t-.5)*S,y:I-57,width:(e.end-e.start)*S,height:15,fill:e.background})]},`connector-${n}`)),P.map((e,t)=>(0,d.jsxs)(`g`,{role:`img`,"aria-label":e.description,children:[(0,d.jsx)(`title`,{children:e.description}),(0,d.jsx)(`rect`,{x:e.left,y:I-91-e.lane*28,width:e.labelWidth,height:22,rx:4,fill:e.background,stroke:e.color}),(0,d.jsx)(`text`,{x:e.left+e.labelWidth/2,y:I-76-e.lane*28,textAnchor:`middle`,fontSize:12,fontWeight:600,fontFamily:`monospace`,fill:e.color,children:e.displayLabel})]},`label-${t}`))]}),(0,d.jsx)(`g`,{transform:`translate(25, ${I-55})`,children:oe}),(0,d.jsx)(`g`,{"aria-label":`Changed reference bases`,pointerEvents:`none`,transform:`translate(25, 0)`,children:P.filter(e=>[`Deletion`,`Substitution`].includes(e.type)).map((e,n)=>(0,d.jsx)(`line`,{x1:(e.start-t-.5)*S,x2:(e.end-t-.5)*S,y1:I-49,y2:I-49,stroke:e.color,strokeWidth:2},n))}),_&&(0,d.jsx)(`g`,{transform:`translate(25, ${I-55+19})`,children:se}),(0,d.jsx)(`g`,{transform:`translate(25, 5)`,children:ue})]})})};function lo(e){"@babel/helpers - typeof";return lo=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},lo(e)}function uo(e,t){if(lo(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(lo(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function fo(e){var t=uo(e,`string`);return lo(t)==`symbol`?t:t+``}function po(e,t,n){return(t=fo(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function mo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function ho(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?mo(Object(n),!0).forEach(function(t){po(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mo(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function go(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function _o(e){if(Array.isArray(e))return go(e)}function vo(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function yo(e,t){if(e){if(typeof e==`string`)return go(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?go(e,t):void 0}}function bo(){throw TypeError(`Invalid attempt to spread non-iterable instance.
26
26
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function xo(e){return _o(e)||vo(e)||yo(e)||bo()}function So(e){if(Array.isArray(e))return e}function Co(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function wo(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
27
27
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function To(e,t){return So(e)||Co(e,t)||yo(e,t)||wo()}var Eo=c(o(((e,t)=>{(function(){"use strict";var e={}.hasOwnProperty;function n(){for(var e=``,t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,r(n)))}return e}function r(t){if(typeof t==`string`||typeof t==`number`)return t;if(typeof t!=`object`)return``;if(Array.isArray(t))return n.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes(`[native code]`))return t.toString();var r=``;for(var a in t)e.call(t,a)&&t[a]&&(r=i(r,a));return r}function i(e,t){return t?e?e+` `+t:e+t:e}t!==void 0&&t.exports?(n.default=n,t.exports=n):typeof define==`function`&&typeof define.amd==`object`&&define.amd?define(`classnames`,[],function(){return n}):window.classNames=n})()}))());function Do(e){var t=l.useRef();return t.current=e,l.useCallback(function(){for(var e,n=arguments.length,r=Array(n),i=0;i<n;i++)r[i]=arguments[i];return(e=t.current)?.call.apply(e,[t].concat(r))},[])}function Oo(){return!!(typeof window<`u`&&window.document&&window.document.createElement)}var ko=process.env.NODE_ENV!==`test`&&Oo()?l.useLayoutEffect:l.useEffect,Ao=function(e,t){var n=l.useRef(!0);ko(function(){return e(n.current)},t),ko(function(){return n.current=!1,function(){n.current=!0}},[])},jo=function(e,t){Ao(function(t){if(!t)return e()},t)};function Mo(e){var t=l.useRef(!1),n=To(l.useState(e),2),r=n[0],i=n[1];l.useEffect(function(){return t.current=!1,function(){t.current=!0}},[]);function a(e,n){n&&t.current||i(e)}return[r,a]}function No(e){return e!==void 0}function Po(e,t){var n=t||{},r=n.defaultValue,i=n.value,a=n.onChange,o=n.postState,s=To(Mo(function(){return No(i)?i:No(r)?typeof r==`function`?r():r:typeof e==`function`?e():e}),2),c=s[0],l=s[1],u=i===void 0?c:i,d=o?o(u):u,f=Do(a),p=To(Mo([u]),2),m=p[0],h=p[1];return jo(function(){var e=m[0];c!==e&&f(c,e)},[m]),jo(function(){No(i)||l(i)},[i]),[d,Do(function(e,t){l(e,t),h([u],t)})]}var Fo={},Io=[],Lo=function(e){Io.push(e)};function Ro(e,t){if(process.env.NODE_ENV!==`production`&&!e&&console!==void 0){var n=Io.reduce(function(e,t){return t(e??``,`warning`)},t);n&&console.error(`Warning: ${n}`)}}function zo(e,t){if(process.env.NODE_ENV!==`production`&&!e&&console!==void 0){var n=Io.reduce(function(e,t){return t(e??``,`note`)},t);n&&console.warn(`Note: ${n}`)}}function Bo(){Fo={}}function Vo(e,t,n){!t&&!Fo[n]&&(e(!1,n),Fo[n]=!0)}function Ho(e,t){Vo(Ro,e,t)}function Uo(e,t){Vo(zo,e,t)}Ho.preMessage=Lo,Ho.resetWarned=Bo,Ho.noteOnce=Uo;function Wo(e,t){var n=arguments.length>2&&arguments[2]!==void 0&&arguments[2],r=new Set;function i(e,t){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,o=r.has(e);if(Ho(!o,`Warning: There may be circular references`),o)return!1;if(e===t)return!0;if(n&&a>1)return!1;r.add(e);var s=a+1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(var c=0;c<e.length;c++)if(!i(e[c],t[c],s))return!1;return!0}if(e&&t&&lo(e)===`object`&&lo(t)===`object`){var l=Object.keys(e);return l.length===Object.keys(t).length&&l.every(function(n){return i(e[n],t[n],s)})}return!1}return i(e,t)}function Go(){return Go=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Go.apply(null,arguments)}function Ko(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function qo(e,t){if(e==null)return{};var n,r,i=Ko(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function Jo(e,t,n){return(e-t)/(n-t)}function Yo(e,t,n,r){var i=Jo(t,n,r),a={};switch(e){case`rtl`:a.right=`${i*100}%`,a.transform=`translateX(50%)`;break;case`btt`:a.bottom=`${i*100}%`,a.transform=`translateY(50%)`;break;case`ttb`:a.top=`${i*100}%`,a.transform=`translateY(-50%)`;break;default:a.left=`${i*100}%`,a.transform=`translateX(-50%)`}return a}function Xo(e,t){return Array.isArray(e)?e[t]:e}var J={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229,isTextModifyingKeyEvent:function(e){var t=e.keyCode;if(e.altKey&&!e.ctrlKey||e.metaKey||t>=J.F1&&t<=J.F12)return!1;switch(t){case J.ALT:case J.CAPS_LOCK:case J.CONTEXT_MENU:case J.CTRL:case J.DOWN:case J.END:case J.ESC:case J.HOME:case J.INSERT:case J.LEFT:case J.MAC_FF_META:case J.META:case J.NUMLOCK:case J.NUM_CENTER:case J.PAGE_DOWN:case J.PAGE_UP:case J.PAUSE:case J.PRINT_SCREEN:case J.RIGHT:case J.SHIFT:case J.UP:case J.WIN_KEY:case J.WIN_KEY_RIGHT:return!1;default:return!0}},isCharacterKey:function(e){if(e>=J.ZERO&&e<=J.NINE||e>=J.NUM_ZERO&&e<=J.NUM_MULTIPLY||e>=J.A&&e<=J.Z||window.navigator.userAgent.indexOf(`WebKit`)!==-1&&e===0)return!0;switch(e){case J.SPACE:case J.QUESTION_MARK:case J.NUM_PLUS:case J.NUM_MINUS:case J.NUM_PERIOD:case J.NUM_DIVISION:case J.SEMICOLON:case J.DASH:case J.EQUALS:case J.COMMA:case J.PERIOD:case J.SLASH:case J.APOSTROPHE:case J.SINGLE_QUOTE:case J.OPEN_SQUARE_BRACKET:case J.BACKSLASH:case J.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}},Zo=l.createContext({min:0,max:0,direction:`ltr`,step:1,includedStart:0,includedEnd:0,tabIndex:0,keyboard:!0,styles:{},classNames:{}}),Qo=l.createContext({}),$o=[`prefixCls`,`value`,`valueIndex`,`onStartMove`,`onDelete`,`style`,`render`,`dragging`,`draggingDelete`,`onOffsetChange`,`onChangeComplete`,`onFocus`,`onMouseEnter`],es=l.forwardRef(function(e,t){var n=e.prefixCls,r=e.value,i=e.valueIndex,a=e.onStartMove,o=e.onDelete,s=e.style,c=e.render,u=e.dragging,d=e.draggingDelete,f=e.onOffsetChange,p=e.onChangeComplete,m=e.onFocus,h=e.onMouseEnter,g=qo(e,$o),_=l.useContext(Zo),v=_.min,y=_.max,b=_.direction,x=_.disabled,S=_.keyboard,C=_.range,w=_.tabIndex,T=_.ariaLabelForHandle,E=_.ariaLabelledByForHandle,D=_.ariaRequired,O=_.ariaValueTextFormatterForHandle,k=_.styles,A=_.classNames,j=`${n}-handle`,M=function(e){x||a(e,i)},N=function(e){m?.(e,i)},P=function(e){h(e,i)},F=function(e){if(!x&&S){var t=null;switch(e.which||e.keyCode){case J.LEFT:t=b===`ltr`||b===`btt`?-1:1;break;case J.RIGHT:t=b===`ltr`||b===`btt`?1:-1;break;case J.UP:t=b===`ttb`?-1:1;break;case J.DOWN:t=b===`ttb`?1:-1;break;case J.HOME:t=`min`;break;case J.END:t=`max`;break;case J.PAGE_UP:t=2;break;case J.PAGE_DOWN:t=-2;break;case J.BACKSPACE:case J.DELETE:o?.(i)}t!==null&&(e.preventDefault(),f(t,i))}},I=function(e){switch(e.which||e.keyCode){case J.LEFT:case J.RIGHT:case J.UP:case J.DOWN:case J.HOME:case J.END:case J.PAGE_UP:case J.PAGE_DOWN:p?.()}},L=Yo(b,r,v,y),R={};i!==null&&(R={tabIndex:x?null:Xo(w,i),role:`slider`,"aria-valuemin":v,"aria-valuemax":y,"aria-valuenow":r,"aria-disabled":x,"aria-label":Xo(T,i),"aria-labelledby":Xo(E,i),"aria-required":Xo(D,i),"aria-valuetext":Xo(O,i)?.(r),"aria-orientation":b===`ltr`||b===`rtl`?`horizontal`:`vertical`,onMouseDown:M,onTouchStart:M,onFocus:N,onMouseEnter:P,onKeyDown:F,onKeyUp:I});var z=l.createElement(`div`,Go({ref:t,className:(0,Eo.default)(j,po(po(po({},`${j}-${i+1}`,i!==null&&C),`${j}-dragging`,u),`${j}-dragging-delete`,d),A.handle),style:ho(ho(ho({},L),s),k.handle)},R,g));return c&&(z=c(z,{index:i,prefixCls:n,value:r,dragging:u,draggingDelete:d})),z});process.env.NODE_ENV!==`production`&&(es.displayName=`Handle`);var ts=[`prefixCls`,`style`,`onStartMove`,`onOffsetChange`,`values`,`handleRender`,`activeHandleRender`,`draggingIndex`,`draggingDelete`,`onFocus`],ns=l.forwardRef(function(e,t){var n=e.prefixCls,r=e.style,i=e.onStartMove,a=e.onOffsetChange,o=e.values,s=e.handleRender,c=e.activeHandleRender,u=e.draggingIndex,d=e.draggingDelete,p=e.onFocus,m=qo(e,ts),h=l.useRef({}),g=To(l.useState(!1),2),_=g[0],v=g[1],y=To(l.useState(-1),2),b=y[0],x=y[1],S=function(e){x(e),v(!0)},C=function(e,t){S(t),p?.(e)},w=function(e,t){S(t)};l.useImperativeHandle(t,function(){return{focus:function(e){var t;(t=h.current[e])==null||t.focus()},hideHelp:function(){(0,f.flushSync)(function(){v(!1)})}}});var T=ho({prefixCls:n,onStartMove:i,onOffsetChange:a,render:s,onFocus:C,onMouseEnter:w},m);return l.createElement(l.Fragment,null,o.map(function(e,t){var n=u===t;return l.createElement(es,Go({ref:function(e){e?h.current[t]=e:delete h.current[t]},dragging:n,draggingDelete:n&&d,style:Xo(r,t),key:t,value:e,valueIndex:t},T))}),c&&_&&l.createElement(es,Go({key:`a11y`},T,{value:o[b],valueIndex:null,dragging:u!==-1,draggingDelete:d,render:c,style:{pointerEvents:`none`},tabIndex:null,"aria-hidden":!0})))});process.env.NODE_ENV!==`production`&&(ns.displayName=`Handles`);var rs=function(e){var t=e.prefixCls,n=e.style,r=e.children,i=e.value,a=e.onClick,o=l.useContext(Zo),s=o.min,c=o.max,u=o.direction,d=o.includedStart,f=o.includedEnd,p=o.included,m=`${t}-text`,h=Yo(u,i,s,c);return l.createElement(`span`,{className:(0,Eo.default)(m,po({},`${m}-active`,p&&d<=i&&i<=f)),style:ho(ho({},h),n),onMouseDown:function(e){e.stopPropagation()},onClick:function(){a(i)}},r)},is=function(e){var t=e.prefixCls,n=e.marks,r=e.onClick,i=`${t}-mark`;return n.length?l.createElement(`div`,{className:i},n.map(function(e){var t=e.value,n=e.style,a=e.label;return l.createElement(rs,{key:t,prefixCls:i,style:n,value:t,onClick:r},a)})):null},as=function(e){var t=e.prefixCls,n=e.value,r=e.style,i=e.activeStyle,a=l.useContext(Zo),o=a.min,s=a.max,c=a.direction,u=a.included,d=a.includedStart,f=a.includedEnd,p=`${t}-dot`,m=u&&d<=n&&n<=f,h=ho(ho({},Yo(c,n,o,s)),typeof r==`function`?r(n):r);return m&&(h=ho(ho({},h),typeof i==`function`?i(n):i)),l.createElement(`span`,{className:(0,Eo.default)(p,po({},`${p}-active`,m)),style:h})},os=function(e){var t=e.prefixCls,n=e.marks,r=e.dots,i=e.style,a=e.activeStyle,o=l.useContext(Zo),s=o.min,c=o.max,u=o.step,d=l.useMemo(function(){var e=new Set;if(n.forEach(function(t){e.add(t.value)}),r&&u!==null)for(var t=s;t<=c;)e.add(t),t+=u;return Array.from(e)},[s,c,u,r,n]);return l.createElement(`div`,{className:`${t}-step`},d.map(function(e){return l.createElement(as,{prefixCls:t,key:e,value:e,style:i,activeStyle:a})}))},ss=function(e){var t=e.prefixCls,n=e.style,r=e.start,i=e.end,a=e.index,o=e.onStartMove,s=e.replaceCls,c=l.useContext(Zo),u=c.direction,d=c.min,f=c.max,p=c.disabled,m=c.range,h=c.classNames,g=`${t}-track`,_=Jo(r,d,f),v=Jo(i,d,f),y=function(e){!p&&o&&o(e,-1)},b={};switch(u){case`rtl`:b.right=`${_*100}%`,b.width=`${v*100-_*100}%`;break;case`btt`:b.bottom=`${_*100}%`,b.height=`${v*100-_*100}%`;break;case`ttb`:b.top=`${_*100}%`,b.height=`${v*100-_*100}%`;break;default:b.left=`${_*100}%`,b.width=`${v*100-_*100}%`}var x=s||(0,Eo.default)(g,po(po({},`${g}-${a+1}`,a!==null&&m),`${t}-track-draggable`,o),h.track);return l.createElement(`div`,{className:x,style:ho(ho({},b),n),onMouseDown:y,onTouchStart:y})},cs=function(e){var t=e.prefixCls,n=e.style,r=e.values,i=e.startPoint,a=e.onStartMove,o=l.useContext(Zo),s=o.included,c=o.range,u=o.min,d=o.styles,f=o.classNames,p=l.useMemo(function(){if(!c){if(r.length===0)return[];var e=i??u,t=r[0];return[{start:Math.min(e,t),end:Math.max(e,t)}]}for(var n=[],a=0;a<r.length-1;a+=1)n.push({start:r[a],end:r[a+1]});return n},[r,c,i,u]);if(!s)return null;var m=p!=null&&p.length&&(f.tracks||d.tracks)?l.createElement(ss,{index:null,prefixCls:t,start:p[0].start,end:p[p.length-1].end,replaceCls:(0,Eo.default)(f.tracks,`${t}-tracks`),style:d.tracks}):null;return l.createElement(l.Fragment,null,m,p.map(function(e,r){var i=e.start,o=e.end;return l.createElement(ss,{index:r,prefixCls:t,style:ho(ho({},Xo(n,r)),d.track),start:i,end:o,key:r,onStartMove:a})}))},ls=130;function us(e){var t=`targetTouches`in e?e.targetTouches[0]:e;return{pageX:t.pageX,pageY:t.pageY}}function ds(e,t,n,r,i,a,o,s,c,u,d){var f=To(l.useState(null),2),p=f[0],m=f[1],h=To(l.useState(-1),2),g=h[0],_=h[1],v=To(l.useState(!1),2),y=v[0],b=v[1],x=To(l.useState(n),2),S=x[0],C=x[1],w=To(l.useState(n),2),T=w[0],E=w[1],D=l.useRef(null),O=l.useRef(null),k=l.useRef(null),A=l.useContext(Qo),j=A.onDragStart,M=A.onDragChange;Ao(function(){g===-1&&C(n)},[n,g]),l.useEffect(function(){return function(){document.removeEventListener(`mousemove`,D.current),document.removeEventListener(`mouseup`,O.current),k.current&&(k.current.removeEventListener(`touchmove`,D.current),k.current.removeEventListener(`touchend`,O.current))}},[]);var N=function(e,t,n){t!==void 0&&m(t),C(e);var r=e;n&&(r=e.filter(function(e,t){return t!==g})),o(r),M&&M({rawValues:e,deleteIndex:n?g:-1,draggingIndex:g,draggingValue:t})},P=Do(function(e,t,n){if(e===-1){var o=T[0],s=T[T.length-1],l=r-o,u=i-s,d=t*(i-r);d=Math.max(d,l),d=Math.min(d,u),d=a(o+d)-o,N(T.map(function(e){return e+d}))}else{var f=(i-r)*t,p=xo(S);p[e]=T[e];var m=c(p,f,e,`dist`);N(m.values,m.value,n)}});return[g,p,y,l.useMemo(function(){var e=xo(n).sort(function(e,t){return e-t}),t=xo(S).sort(function(e,t){return e-t}),r={};t.forEach(function(e){r[e]=(r[e]||0)+1}),e.forEach(function(e){r[e]=(r[e]||0)-1});var i=+!!u;return Object.values(r).reduce(function(e,t){return e+Math.abs(t)},0)<=i?S:n},[n,S,u]),function(r,i,a){r.stopPropagation();var o=a||n,c=o[i];_(i),m(c),E(o),C(o),b(!1);var l=us(r),f=l.pageX,p=l.pageY,h=!1;j&&j({rawValues:o,draggingIndex:i,draggingValue:c});var g=function(n){n.preventDefault();var r=us(n),a=r.pageX,o=r.pageY,s=a-f,c=o-p,l=e.current.getBoundingClientRect(),m=l.width,g=l.height,_,v;switch(t){case`btt`:_=-c/g,v=s;break;case`ttb`:_=c/g,v=s;break;case`rtl`:_=-s/m,v=c;break;default:_=s/m,v=c}h=u?Math.abs(v)>ls&&d<S.length:!1,b(h),P(i,_,h)},v=function e(t){t.preventDefault(),document.removeEventListener(`mouseup`,e),document.removeEventListener(`mousemove`,g),k.current&&(k.current.removeEventListener(`touchmove`,D.current),k.current.removeEventListener(`touchend`,O.current)),D.current=null,O.current=null,k.current=null,s(h),_(-1),b(!1)};document.addEventListener(`mouseup`,v),document.addEventListener(`mousemove`,g),r.currentTarget.addEventListener(`touchend`,v),r.currentTarget.addEventListener(`touchmove`,g),D.current=g,O.current=v,k.current=r.currentTarget}]}function fs(e,t,n,r,i,a){var o=l.useCallback(function(n){return Math.max(e,Math.min(t,n))},[e,t]),s=l.useCallback(function(r){if(n!==null){var i=e+Math.round((o(r)-e)/n)*n,a=function(e){return(String(e).split(`.`)[1]||``).length},s=Math.max(a(n),a(t),a(e)),c=Number(i.toFixed(s));return e<=c&&c<=t?c:null}return null},[n,e,t,o]),c=l.useCallback(function(i){var a=o(i),c=r.map(function(e){return e.value});n!==null&&c.push(s(i)),c.push(e,t);var l=c[0],u=t-e;return c.forEach(function(e){var t=Math.abs(a-e);t<=u&&(l=e,u=t)}),l},[e,t,r,n,o,s]),u=function i(a,o,c){var l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`unit`;if(typeof o==`number`){var u,d=a[c],f=d+o,p=[];r.forEach(function(e){p.push(e.value)}),p.push(e,t),p.push(s(d));var m=o>0?1:-1;l===`unit`?p.push(s(d+m*n)):p.push(s(f)),p=p.filter(function(e){return e!==null}).filter(function(e){return o<0?e<=d:e>=d}),l===`unit`&&(p=p.filter(function(e){return e!==d}));var h=l===`unit`?d:f;u=p[0];var g=Math.abs(u-h);if(p.forEach(function(e){var t=Math.abs(e-h);t<g&&(u=e,g=t)}),u===void 0)return o<0?e:t;if(l===`dist`)return u;if(Math.abs(o)>1){var _=xo(a);return _[c]=u,i(_,o-m,c,l)}return u}if(o===`min`)return e;if(o===`max`)return t},d=function(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`unit`,i=e[n],a=u(e,t,n,r);return{value:a,changed:a!==i}},f=function(e){return a===null&&e===0||typeof a==`number`&&e<a};return[c,function(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:`unit`,o=e.map(c),s=o[n];if(o[n]=u(o,t,n,r),i===!1){var l=a||0;n>0&&o[n-1]!==s&&(o[n]=Math.max(o[n],o[n-1]+l)),n<o.length-1&&o[n+1]!==s&&(o[n]=Math.min(o[n],o[n+1]-l))}else if(typeof a==`number`||a===null){for(var p=n+1;p<o.length;p+=1)for(var m=!0;f(o[p]-o[p-1])&&m;){var h=d(o,1,p);o[p]=h.value,m=h.changed}for(var g=n;g>0;--g)for(var _=!0;f(o[g]-o[g-1])&&_;){var v=d(o,-1,g-1);o[g-1]=v.value,_=v.changed}for(var y=o.length-1;y>0;--y)for(var b=!0;f(o[y]-o[y-1])&&b;){var x=d(o,-1,y-1);o[y-1]=x.value,b=x.changed}for(var S=0;S<o.length-1;S+=1)for(var C=!0;f(o[S+1]-o[S])&&C;){var w=d(o,1,S+1);o[S+1]=w.value,C=w.changed}}return{value:o[n],values:o}}]}function ps(e){return(0,l.useMemo)(function(){if(e===!0||!e)return[!!e,!1,!1,0];var t=e.editable,n=e.draggableTrack,r=e.minCount,i=e.maxCount;return process.env.NODE_ENV!==`production`&&Ro(!t||!n,"`editable` can not work with `draggableTrack`."),[!0,t,!t&&n,r||0,i]},[e])}var ms=l.forwardRef(function(e,t){var n=e.prefixCls,r=n===void 0?`rc-slider`:n,i=e.className,a=e.style,o=e.classNames,s=e.styles,c=e.id,u=e.disabled,d=u!==void 0&&u,f=e.keyboard,p=f===void 0||f,m=e.autoFocus,h=e.onFocus,g=e.onBlur,_=e.min,v=_===void 0?0:_,y=e.max,b=y===void 0?100:y,x=e.step,S=x===void 0?1:x,C=e.value,w=e.defaultValue,T=e.range,E=e.count,D=e.onChange,O=e.onBeforeChange,k=e.onAfterChange,A=e.onChangeComplete,j=e.allowCross,M=j===void 0||j,N=e.pushable,P=N!==void 0&&N,F=e.reverse,I=e.vertical,L=e.included,R=L===void 0||L,z=e.startPoint,ee=e.trackStyle,te=e.handleStyle,ne=e.railStyle,re=e.dotStyle,ie=e.activeDotStyle,ae=e.marks,oe=e.dots,se=e.handleRender,B=e.activeHandleRender,ce=e.track,le=e.tabIndex,ue=le===void 0?0:le,de=e.ariaLabelForHandle,V=e.ariaLabelledByForHandle,fe=e.ariaRequired,pe=e.ariaValueTextFormatterForHandle,H=l.useRef(null),me=l.useRef(null),he=l.useMemo(function(){return I?F?`ttb`:`btt`:F?`rtl`:`ltr`},[F,I]),ge=To(ps(T),5),_e=ge[0],ve=ge[1],ye=ge[2],be=ge[3],xe=ge[4],Se=l.useMemo(function(){return isFinite(v)?v:0},[v]),Ce=l.useMemo(function(){return isFinite(b)?b:100},[b]),we=l.useMemo(function(){return S!==null&&S<=0?1:S},[S]),Te=l.useMemo(function(){return typeof P==`boolean`?P?we:!1:P>=0&&P},[P,we]),Ee=l.useMemo(function(){return Object.keys(ae||{}).map(function(e){var t=ae[e],n={value:Number(e)};return t&&lo(t)===`object`&&!l.isValidElement(t)&&(`label`in t||`style`in t)?(n.style=t.style,n.label=t.label):n.label=t,n}).filter(function(e){var t=e.label;return t||typeof t==`number`}).sort(function(e,t){return e.value-t.value})},[ae]),De=To(fs(Se,Ce,we,Ee,M,Te),2),Oe=De[0],ke=De[1],Ae=To(Po(w,{value:C}),2),je=Ae[0],Me=Ae[1],U=l.useMemo(function(){var e=je==null?[]:Array.isArray(je)?je:[je],t=To(e,1)[0],n=je===null?[]:[t===void 0?Se:t];if(_e){if(n=xo(e),E||je===void 0){var r=E>=0?E+1:2;for(n=n.slice(0,r);n.length<r;)n.push(n[n.length-1]??Se)}n.sort(function(e,t){return e-t})}return n.forEach(function(e,t){n[t]=Oe(e)}),n},[je,_e,Se,E,Oe]),Ne=function(e){return _e?e:e[0]},Pe=Do(function(e){var t=xo(e).sort(function(e,t){return e-t});D&&!Wo(t,U,!0)&&D(Ne(t)),Me(t)}),Fe=Do(function(e){e&&H.current.hideHelp();var t=Ne(U);k?.(t),Ho(!k,"[rc-slider] `onAfterChange` is deprecated. Please use `onChangeComplete` instead."),A?.(t)}),Ie=function(e){if(!(d||!ve||U.length<=be)){var t=xo(U);t.splice(e,1),O?.(Ne(t)),Pe(t);var n=Math.max(0,e-1);H.current.hideHelp(),H.current.focus(n)}},Le=To(ds(me,he,U,Se,Ce,Oe,Pe,Fe,ke,ve,be),5),Re=Le[0],ze=Le[1],Be=Le[2],Ve=Le[3],He=Le[4],Ue=function(e,t){if(!d){var n=xo(U),r=0,i=0,a=Ce-Se;U.forEach(function(t,n){var o=Math.abs(e-t);o<=a&&(a=o,r=n),t<e&&(i=n)});var o=r;ve&&a!==0&&(!xe||U.length<xe)?(n.splice(i+1,0,e),o=i+1):n[r]=e,_e&&!U.length&&E===void 0&&n.push(e);var s=Ne(n);if(O?.(s),Pe(n),t){var c,l;(c=document.activeElement)==null||(l=c.blur)==null||l.call(c),H.current.focus(o),He(t,o,n)}else k?.(s),Ho(!k,"[rc-slider] `onAfterChange` is deprecated. Please use `onChangeComplete` instead."),A?.(s)}},We=function(e){e.preventDefault();var t=me.current.getBoundingClientRect(),n=t.width,r=t.height,i=t.left,a=t.top,o=t.bottom,s=t.right,c=e.clientX,l=e.clientY,u;switch(he){case`btt`:u=(o-l)/r;break;case`ttb`:u=(l-a)/r;break;case`rtl`:u=(s-c)/n;break;default:u=(c-i)/n}Ue(Oe(Se+u*(Ce-Se)),e)},Ge=To(l.useState(null),2),Ke=Ge[0],qe=Ge[1],Je=function(e,t){if(!d){var n=ke(U,e,t);O?.(Ne(U)),Pe(n.values),qe(n.value)}};l.useEffect(function(){if(Ke!==null){var e=U.indexOf(Ke);e>=0&&H.current.focus(e)}qe(null)},[Ke]);var Ye=l.useMemo(function(){return ye&&we===null?(process.env.NODE_ENV!==`production`&&Ho(!1,"`draggableTrack` is not supported when `step` is `null`."),!1):ye},[ye,we]),Xe=Do(function(e,t){He(e,t),O?.(Ne(U))}),Ze=Re!==-1;l.useEffect(function(){if(!Ze){var e=U.lastIndexOf(ze);H.current.focus(e)}},[Ze]);var Qe=l.useMemo(function(){return xo(Ve).sort(function(e,t){return e-t})},[Ve]),$e=To(l.useMemo(function(){return _e?[Qe[0],Qe[Qe.length-1]]:[Se,Qe[0]]},[Qe,_e,Se]),2),et=$e[0],tt=$e[1];l.useImperativeHandle(t,function(){return{focus:function(){H.current.focus(0)},blur:function(){var e,t=document.activeElement;(e=me.current)!=null&&e.contains(t)&&t?.blur()}}}),l.useEffect(function(){m&&H.current.focus(0)},[]);var nt=l.useMemo(function(){return{min:Se,max:Ce,direction:he,disabled:d,keyboard:p,step:we,included:R,includedStart:et,includedEnd:tt,range:_e,tabIndex:ue,ariaLabelForHandle:de,ariaLabelledByForHandle:V,ariaRequired:fe,ariaValueTextFormatterForHandle:pe,styles:s||{},classNames:o||{}}},[Se,Ce,he,d,p,we,R,et,tt,_e,ue,de,V,fe,pe,s,o]);return l.createElement(Zo.Provider,{value:nt},l.createElement(`div`,{ref:me,className:(0,Eo.default)(r,i,po(po(po(po({},`${r}-disabled`,d),`${r}-vertical`,I),`${r}-horizontal`,!I),`${r}-with-marks`,Ee.length)),style:a,onMouseDown:We,id:c},l.createElement(`div`,{className:(0,Eo.default)(`${r}-rail`,o?.rail),style:ho(ho({},ne),s?.rail)}),ce!==!1&&l.createElement(cs,{prefixCls:r,style:ee,values:U,startPoint:z,onStartMove:Ye?Xe:void 0}),l.createElement(os,{prefixCls:r,marks:Ee,dots:oe,style:re,activeStyle:ie}),l.createElement(ns,{ref:H,prefixCls:r,style:te,values:Ve,draggingIndex:Re,draggingDelete:Be,onStartMove:Xe,onOffsetChange:Je,onFocus:h,onBlur:g,handleRender:se,activeHandleRender:B,onChangeComplete:Fe,onDelete:ve?Ie:void 0}),l.createElement(is,{prefixCls:r,marks:Ee,onClick:Ue})))});process.env.NODE_ENV!==`production`&&(ms.displayName=`Slider`);var hs=ms;function gs(e){return T({tag:`svg`,attr:{viewBox:`0 0 1024 1024`},child:[{tag:`path`,attr:{d:`M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z`},child:[]}]})(e)}function _s(e){return T({tag:`svg`,attr:{viewBox:`0 0 1024 1024`},child:[{tag:`path`,attr:{d:`M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z`},child:[]}]})(e)}function vs(e){return T({tag:`svg`,attr:{viewBox:`0 0 24 24`},child:[{tag:`path`,attr:{fill:`none`,d:`M0 0h24v24H0z`},child:[]},{tag:`path`,attr:{d:`M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 0 0 .12-.61l-1.92-3.32a.49.49 0 0 0-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.484.484 0 0 0-.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.58a.49.49 0 0 0-.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`},child:[]}]})(e)}function ys(e){return T({tag:`svg`,attr:{viewBox:`0 0 256 256`,fill:`currentColor`},child:[{tag:`path`,attr:{d:`M246.66,132.44,201,200.88A16,16,0,0,1,187.72,208H32a8,8,0,0,1-6.66-12.44L70.39,128l-45-67.56A8,8,0,0,1,32,48H187.72A16,16,0,0,1,201,55.12l45.63,68.44A8,8,0,0,1,246.66,132.44Z`},child:[]}]})(e)}var bs=({zoomLevel:e,setZoomLevel:t,configModalOpen:n,setConfigModalOpen:r,setFeatureOffcanvasOpen:i,comparisonPanelOpen:a,setComparisonPanelOpen:o,comparisonCount:s,comparisonStatus:c})=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`button`,{className:`comparison-toolbar-button text-gray-400 hover:text-gray-600`,type:`button`,"aria-label":`Compare FASTA`,"aria-expanded":a,"aria-controls":`comparison-drawer-panel`,title:c?.error||(c?.busy?`Aligning FASTA…`:s===void 0?`Compare an alternative FASTA`:`Compare FASTA (${s} differences)`),onClick:()=>o(!0),children:[(0,d.jsx)(k,{"aria-hidden":`true`,className:c?.busy?`comparison-icon-busy`:``}),c?.error&&(0,d.jsx)(`span`,{className:`comparison-icon-indicator`,"aria-hidden":`true`,children:`!`})]}),(0,d.jsx)(`button`,{className:`inline-block text-gray-400 hover:text-gray-600`,"aria-label":`Features`,title:`Features`,onClick:()=>i(!0),children:(0,d.jsx)(ys,{className:`inline-block`})}),(0,d.jsx)(`button`,{className:`inline-block text-gray-400 hover:text-gray-600`,"aria-label":`Settings`,title:`Settings`,onClick:()=>r(!0),children:(0,d.jsx)(vs,{className:`inline-block`})}),(0,d.jsx)(`button`,{className:`inline-block`,onClick:()=>t(e=>e-.1),children:(0,d.jsx)(gs,{className:`inline-block`})}),(0,d.jsx)(hs,{value:e,onChange:e=>t(e),min:-9.5,max:1,step:.001,style:{flex:1,minWidth:40,maxWidth:150},className:`inline-block`}),(0,d.jsx)(`button`,{className:`inline-block`,onClick:()=>t(e=>e+.1),children:(0,d.jsx)(_s,{className:`inline-block`})})]}),xs=Object.defineProperty,Ss=Object.defineProperties,Cs=Object.getOwnPropertyDescriptors,ws=Object.getOwnPropertySymbols,Ts=Object.prototype.hasOwnProperty,Es=Object.prototype.propertyIsEnumerable,Ds=(e,t,n)=>t in e?xs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Y=(e,t)=>{for(var n in t||={})Ts.call(t,n)&&Ds(e,n,t[n]);if(ws)for(var n of ws(t))Es.call(t,n)&&Ds(e,n,t[n]);return e},Os=(e,t)=>Ss(e,Cs(t)),X=(e,t)=>xs(e,`name`,{value:t,configurable:!0}),ks=(e,t,n)=>new Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},o=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);s((n=n.apply(e,t)).next())}),As=`Untitled Sequence`,js={PRI:!0,ROD:!0,MAM:!0,VRT:!0,INV:!0,PLN:!0,BCT:!0,VRL:!0,PHG:!0,SYN:!0,UNA:!0,EST:!0,PAT:!0,STS:!0,GSS:!0,HTG:!0,HTC:!0,ENV:!0,CON:!0};function Ms(e){return e||={},{messages:[],success:!0,parsedSequence:{features:[],name:e.fileName&&e.fileName.replace(/\.[^/.]+$/,``)||As,sequence:``}}}X(Ms,`createInitialSequence`);function Ns(e){if(typeof e==`string`){let t=``,n=e.match(/\.(\w+)$/);return n&&n[1]&&(t=n[1]),t}return``}X(Ns,`extractFileExtension`);function Ps(e){let t=[];return e===``?t:(t=e.split(/\r?\n/),t.length==1&&(t=e.split(`\\n`)),t)}X(Ps,`splitStringIntoLines`);var Fs=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:{};function Is(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}X(Is,`getDefaultExportFromCjs`);function Ls(e){if(e.__esModule)return e;var t=e.default;if(typeof t==`function`){var n=X(function e(){return this instanceof e?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)},`a`);n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:X(function(){return e[t]},`get`)})}),n}X(Ls,`getAugmentedNamespace`);var Rs,zs;function Bs(){if(zs)return Rs;zs=1;function e(e){return Object.prototype.toString.call(e)===`[object Array]`}return X(e,`isArray`),Rs=Array.isArray||e,Rs}X(Bs,`requireLib$5`);var Vs,Hs;function Us(){if(Hs)return Vs;Hs=1;function e(e){return(typeof e==`number`||Object.prototype.toString.call(e)===`[object Number]`)&&e.valueOf()===e.valueOf()}return X(e,`isNumber`),Vs=e,Vs}X(Us,`requireLib$4`);var Ws,Gs;function Ks(){if(Gs)return Ws;Gs=1;var e=Us();function t(t){return e(t)&&t%1==0}return X(t,`isInteger`),Ws=t,Ws}X(Ks,`requireLib$3`);var qs,Js;function Ys(){if(Js)return qs;Js=1;var e=Ks();function t(t){return e(t)&&t>=0}return X(t,`isNonNegativeInteger`),qs=t,qs}X(Ys,`requireLib$2`);var Xs,Zs;function Qs(){if(Zs)return Xs;Zs=1;var e=Bs(),t=Ys();function n(n){var r;if(!e(n)||(r=n.length,!r))return!1;for(var i=0;i<r;i++)if(!t(n[i]))return!1;return!0}return X(n,`isNonNegativeIntegerArray`),Xs=n,Xs}X(Qs,`requireLib$1`);var $s=Is(Qs()),ec=typeof global==`object`&&global&&global.Object===Object&&global,tc=typeof self==`object`&&self&&self.Object===Object&&self,nc=ec||tc||Function(`return this`)(),rc=nc.Symbol,ic=Object.prototype,ac=ic.hasOwnProperty,oc=ic.toString,sc=rc?rc.toStringTag:void 0;function cc(e){var t=ac.call(e,sc),n=e[sc];try{e[sc]=void 0;var r=!0}catch{}var i=oc.call(e);return r&&(t?e[sc]=n:delete e[sc]),i}X(cc,`getRawTag`);var lc=Object.prototype.toString;function uc(e){return lc.call(e)}X(uc,`objectToString`);var dc=`[object Null]`,fc=`[object Undefined]`,pc=rc?rc.toStringTag:void 0;function mc(e){return e==null?e===void 0?fc:dc:pc&&pc in Object(e)?cc(e):uc(e)}X(mc,`baseGetTag`);function hc(e){return typeof e==`object`&&!!e}X(hc,`isObjectLike`);var gc=`[object Symbol]`;function _c(e){return typeof e==`symbol`||hc(e)&&mc(e)==gc}X(_c,`isSymbol`);function vc(e,t){for(var n=-1,r=e==null?0:e.length,i=Array(r);++n<r;)i[n]=t(e[n],n,e);return i}X(vc,`arrayMap`);var yc=Array.isArray,bc=rc?rc.prototype:void 0,xc=bc?bc.toString:void 0;function Sc(e){if(typeof e==`string`)return e;if(yc(e))return vc(e,Sc)+``;if(_c(e))return xc?xc.call(e):``;var t=e+``;return t==`0`&&1/e==-1/0?`-0`:t}X(Sc,`baseToString`);var Cc=/\s/;function wc(e){for(var t=e.length;t--&&Cc.test(e.charAt(t)););return t}X(wc,`trimmedEndIndex`);var Tc=/^\s+/;function Ec(e){return e&&e.slice(0,wc(e)+1).replace(Tc,``)}X(Ec,`baseTrim`);function Dc(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}X(Dc,`isObject`);var Oc=NaN,kc=/^[-+]0x[0-9a-f]+$/i,Ac=/^0b[01]+$/i,jc=/^0o[0-7]+$/i,Mc=parseInt;function Nc(e){if(typeof e==`number`)return e;if(_c(e))return Oc;if(Dc(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=Dc(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=Ec(e);var n=Ac.test(e);return n||jc.test(e)?Mc(e.slice(2),n?2:8):kc.test(e)?Oc:+e}X(Nc,`toNumber`);function Pc(e){return e}X(Pc,`identity`);var Fc=`[object AsyncFunction]`,Ic=`[object Function]`,Lc=`[object GeneratorFunction]`,Rc=`[object Proxy]`;function zc(e){if(!Dc(e))return!1;var t=mc(e);return t==Ic||t==Lc||t==Fc||t==Rc}X(zc,`isFunction`);var Bc=nc[`__core-js_shared__`],Vc=function(){var e=/[^.]+$/.exec(Bc&&Bc.keys&&Bc.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function Hc(e){return!!Vc&&Vc in e}X(Hc,`isMasked`);var Uc=Function.prototype.toString;function Wc(e){if(e!=null){try{return Uc.call(e)}catch{}try{return e+``}catch{}}return``}X(Wc,`toSource`);var Gc=/[\\^$.*+?()[\]{}|]/g,Kc=/^\[object .+?Constructor\]$/,qc=Function.prototype,Jc=Object.prototype,Yc=qc.toString,Xc=Jc.hasOwnProperty,Zc=RegExp(`^`+Yc.call(Xc).replace(Gc,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function Qc(e){return!Dc(e)||Hc(e)?!1:(zc(e)?Zc:Kc).test(Wc(e))}X(Qc,`baseIsNative`);function $c(e,t){return e?.[t]}X($c,`getValue`);function el(e,t){var n=$c(e,t);return Qc(n)?n:void 0}X(el,`getNative`);var tl=el(nc,`WeakMap`),nl=Object.create,rl=function(){function e(){}return X(e,`object`),function(t){if(!Dc(t))return{};if(nl)return nl(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function il(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}X(il,`apply`);function al(){}X(al,`noop`);function ol(e,t){var n=-1,r=e.length;for(t||=Array(r);++n<r;)t[n]=e[n];return t}X(ol,`copyArray`);var sl=800,cl=16,ll=Date.now;function ul(e){var t=0,n=0;return function(){var r=ll(),i=cl-(r-n);if(n=r,i>0){if(++t>=sl)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}X(ul,`shortOut`);function dl(e){return function(){return e}}X(dl,`constant`);var fl=function(){try{var e=el(Object,`defineProperty`);return e({},``,{}),e}catch{}}(),pl=ul(fl?function(e,t){return fl(e,`toString`,{configurable:!0,enumerable:!1,value:dl(t),writable:!0})}:Pc);function ml(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}X(ml,`arrayEach`);function hl(e,t,n,r){for(var i=e.length,a=n+-1;++a<i;)if(t(e[a],a,e))return a;return-1}X(hl,`baseFindIndex`);function gl(e){return e!==e}X(gl,`baseIsNaN`);function _l(e,t,n){for(var r=n-1,i=e.length;++r<i;)if(e[r]===t)return r;return-1}X(_l,`strictIndexOf`);function vl(e,t,n){return t===t?_l(e,t,n):hl(e,gl,n)}X(vl,`baseIndexOf`);function yl(e,t){return!!(e!=null&&e.length)&&vl(e,t,0)>-1}X(yl,`arrayIncludes`);var bl=9007199254740991,xl=/^(?:0|[1-9]\d*)$/;function Sl(e,t){var n=typeof e;return t??=bl,!!t&&(n==`number`||n!=`symbol`&&xl.test(e))&&e>-1&&e%1==0&&e<t}X(Sl,`isIndex`);function Cl(e,t,n){t==`__proto__`&&fl?fl(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}X(Cl,`baseAssignValue`);function wl(e,t){return e===t||e!==e&&t!==t}X(wl,`eq`);var Tl=Object.prototype.hasOwnProperty;function El(e,t,n){var r=e[t];(!(Tl.call(e,t)&&wl(r,n))||n===void 0&&!(t in e))&&Cl(e,t,n)}X(El,`assignValue`);function Dl(e,t,n,r){var i=!n;n||={};for(var a=-1,o=t.length;++a<o;){var s=t[a],c=void 0;c===void 0&&(c=e[s]),i?Cl(n,s,c):El(n,s,c)}return n}X(Dl,`copyObject`);var Ol=Math.max;function kl(e,t,n){return t=Ol(t===void 0?e.length-1:t,0),function(){for(var r=arguments,i=-1,a=Ol(r.length-t,0),o=Array(a);++i<a;)o[i]=r[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=r[i];return s[t]=n(o),il(e,this,s)}}X(kl,`overRest`);function Al(e,t){return pl(kl(e,t,Pc),e+``)}X(Al,`baseRest`);var jl=9007199254740991;function Ml(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=jl}X(Ml,`isLength`);function Nl(e){return e!=null&&Ml(e.length)&&!zc(e)}X(Nl,`isArrayLike`);function Pl(e,t,n){if(!Dc(n))return!1;var r=typeof t;return(r==`number`?Nl(n)&&Sl(t,n.length):r==`string`&&t in n)?wl(n[t],e):!1}X(Pl,`isIterateeCall`);function Fl(e){return Al(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(a=e.length>3&&typeof a==`function`?(i--,a):void 0,o&&Pl(n[0],n[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++r<i;){var s=n[r];s&&e(t,s,r,a)}return t})}X(Fl,`createAssigner`);var Il=Object.prototype;function Ll(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||Il)}X(Ll,`isPrototype`);function Rl(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}X(Rl,`baseTimes`);var zl=`[object Arguments]`;function Bl(e){return hc(e)&&mc(e)==zl}X(Bl,`baseIsArguments`);var Vl=Object.prototype,Hl=Vl.hasOwnProperty,Ul=Vl.propertyIsEnumerable,Wl=Bl(function(){return arguments}())?Bl:function(e){return hc(e)&&Hl.call(e,`callee`)&&!Ul.call(e,`callee`)};function Gl(){return!1}X(Gl,`stubFalse`);var Kl=typeof exports==`object`&&exports&&!exports.nodeType&&exports,ql=Kl&&typeof module==`object`&&module&&!module.nodeType&&module,Jl=ql&&ql.exports===Kl?nc.Buffer:void 0,Yl=(Jl?Jl.isBuffer:void 0)||Gl,Xl=`[object Arguments]`,Zl=`[object Array]`,Ql=`[object Boolean]`,$l=`[object Date]`,eu=`[object Error]`,tu=`[object Function]`,nu=`[object Map]`,ru=`[object Number]`,iu=`[object Object]`,au=`[object RegExp]`,ou=`[object Set]`,su=`[object String]`,cu=`[object WeakMap]`,lu=`[object ArrayBuffer]`,uu=`[object DataView]`,du=`[object Float32Array]`,fu=`[object Float64Array]`,pu=`[object Int8Array]`,mu=`[object Int16Array]`,hu=`[object Int32Array]`,gu=`[object Uint8Array]`,_u=`[object Uint8ClampedArray]`,vu=`[object Uint16Array]`,yu=`[object Uint32Array]`,Z={};Z[du]=Z[fu]=Z[pu]=Z[mu]=Z[hu]=Z[gu]=Z[_u]=Z[vu]=Z[yu]=!0,Z[Xl]=Z[Zl]=Z[lu]=Z[Ql]=Z[uu]=Z[$l]=Z[eu]=Z[tu]=Z[nu]=Z[ru]=Z[iu]=Z[au]=Z[ou]=Z[su]=Z[cu]=!1;function bu(e){return hc(e)&&Ml(e.length)&&!!Z[mc(e)]}X(bu,`baseIsTypedArray`);function xu(e){return function(t){return e(t)}}X(xu,`baseUnary`);var Su=typeof exports==`object`&&exports&&!exports.nodeType&&exports,Cu=Su&&typeof module==`object`&&module&&!module.nodeType&&module,wu=Cu&&Cu.exports===Su&&ec.process,Tu=function(){try{return Cu&&Cu.require&&Cu.require(`util`).types||wu&&wu.binding&&wu.binding(`util`)}catch{}}(),Eu=Tu&&Tu.isTypedArray,Du=Eu?xu(Eu):bu,Ou=Object.prototype.hasOwnProperty;function ku(e,t){var n=yc(e),r=!n&&Wl(e),i=!n&&!r&&Yl(e),a=!n&&!r&&!i&&Du(e),o=n||r||i||a,s=o?Rl(e.length,String):[],c=s.length;for(var l in e)(t||Ou.call(e,l))&&!(o&&(l==`length`||i&&(l==`offset`||l==`parent`)||a&&(l==`buffer`||l==`byteLength`||l==`byteOffset`)||Sl(l,c)))&&s.push(l);return s}X(ku,`arrayLikeKeys`);function Au(e,t){return function(n){return e(t(n))}}X(Au,`overArg`);var ju=Au(Object.keys,Object),Mu=Object.prototype.hasOwnProperty;function Nu(e){if(!Ll(e))return ju(e);var t=[];for(var n in Object(e))Mu.call(e,n)&&n!=`constructor`&&t.push(n);return t}X(Nu,`baseKeys`);function Pu(e){return Nl(e)?ku(e):Nu(e)}X(Pu,`keys`);var Fu=Object.prototype.hasOwnProperty,Iu=Fl(function(e,t){if(Ll(t)||Nl(t)){Dl(t,Pu(t),e);return}for(var n in t)Fu.call(t,n)&&El(e,n,t[n])});function Lu(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}X(Lu,`nativeKeysIn`);var Ru=Object.prototype.hasOwnProperty;function zu(e){if(!Dc(e))return Lu(e);var t=Ll(e),n=[];for(var r in e)(r!=`constructor`||!t&&Ru.call(e,r))&&n.push(r);return n}X(zu,`baseKeysIn`);function Bu(e){return Nl(e)?ku(e,!0):zu(e)}X(Bu,`keysIn`);var Vu=Fl(function(e,t){Dl(t,Bu(t),e)}),Hu=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Uu=/^\w*$/;function Wu(e,t){if(yc(e))return!1;var n=typeof e;return n==`number`||n==`symbol`||n==`boolean`||e==null||_c(e)?!0:Uu.test(e)||!Hu.test(e)||t!=null&&e in Object(t)}X(Wu,`isKey`);var Gu=el(Object,`create`);function Ku(){this.__data__=Gu?Gu(null):{},this.size=0}X(Ku,`hashClear`);function qu(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=+!!t,t}X(qu,`hashDelete`);var Ju=`__lodash_hash_undefined__`,Yu=Object.prototype.hasOwnProperty;function Xu(e){var t=this.__data__;if(Gu){var n=t[e];return n===Ju?void 0:n}return Yu.call(t,e)?t[e]:void 0}X(Xu,`hashGet`);var Zu=Object.prototype.hasOwnProperty;function Qu(e){var t=this.__data__;return Gu?t[e]!==void 0:Zu.call(t,e)}X(Qu,`hashHas`);var $u=`__lodash_hash_undefined__`;function ed(e,t){var n=this.__data__;return this.size+=+!this.has(e),n[e]=Gu&&t===void 0?$u:t,this}X(ed,`hashSet`);function td(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}X(td,`Hash`),td.prototype.clear=Ku,td.prototype.delete=qu,td.prototype.get=Xu,td.prototype.has=Qu,td.prototype.set=ed;function nd(){this.__data__=[],this.size=0}X(nd,`listCacheClear`);function rd(e,t){for(var n=e.length;n--;)if(wl(e[n][0],t))return n;return-1}X(rd,`assocIndexOf`);var id=Array.prototype.splice;function ad(e){var t=this.__data__,n=rd(t,e);return n<0?!1:(n==t.length-1?t.pop():id.call(t,n,1),--this.size,!0)}X(ad,`listCacheDelete`);function od(e){var t=this.__data__,n=rd(t,e);return n<0?void 0:t[n][1]}X(od,`listCacheGet`);function sd(e){return rd(this.__data__,e)>-1}X(sd,`listCacheHas`);function cd(e,t){var n=this.__data__,r=rd(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}X(cd,`listCacheSet`);function ld(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}X(ld,`ListCache`),ld.prototype.clear=nd,ld.prototype.delete=ad,ld.prototype.get=od,ld.prototype.has=sd,ld.prototype.set=cd;var ud=el(nc,`Map`);function dd(){this.size=0,this.__data__={hash:new td,map:new(ud||ld),string:new td}}X(dd,`mapCacheClear`);function fd(e){var t=typeof e;return t==`string`||t==`number`||t==`symbol`||t==`boolean`?e!==`__proto__`:e===null}X(fd,`isKeyable`);function pd(e,t){var n=e.__data__;return fd(t)?n[typeof t==`string`?`string`:`hash`]:n.map}X(pd,`getMapData`);function md(e){var t=pd(this,e).delete(e);return this.size-=+!!t,t}X(md,`mapCacheDelete`);function hd(e){return pd(this,e).get(e)}X(hd,`mapCacheGet`);function gd(e){return pd(this,e).has(e)}X(gd,`mapCacheHas`);function _d(e,t){var n=pd(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}X(_d,`mapCacheSet`);function vd(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}X(vd,`MapCache`),vd.prototype.clear=dd,vd.prototype.delete=md,vd.prototype.get=hd,vd.prototype.has=gd,vd.prototype.set=_d;var yd=`Expected a function`;function bd(e,t){if(typeof e!=`function`||t!=null&&typeof t!=`function`)throw TypeError(yd);var n=X(function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var o=e.apply(this,r);return n.cache=a.set(i,o)||a,o},`memoized`);return n.cache=new(bd.Cache||vd),n}X(bd,`memoize`),bd.Cache=vd;var xd=500;function Sd(e){var t=bd(e,function(e){return n.size===xd&&n.clear(),e}),n=t.cache;return t}X(Sd,`memoizeCapped`);var Cd=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,wd=/\\(\\)?/g,Td=Sd(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(Cd,function(e,n,r,i){t.push(r?i.replace(wd,`$1`):n||e)}),t});function Ed(e){return e==null?``:Sc(e)}X(Ed,`toString`);function Dd(e,t){return yc(e)?e:Wu(e,t)?[e]:Td(Ed(e))}X(Dd,`castPath`);function Od(e){if(typeof e==`string`||_c(e))return e;var t=e+``;return t==`0`&&1/e==-1/0?`-0`:t}X(Od,`toKey`);function kd(e,t){t=Dd(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[Od(t[n++])];return n&&n==r?e:void 0}X(kd,`baseGet`);function Ad(e,t,n){var r=e==null?void 0:kd(e,t);return r===void 0?n:r}X(Ad,`get`);function jd(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}X(jd,`arrayPush`);var Md=rc?rc.isConcatSpreadable:void 0;function Nd(e){return yc(e)||Wl(e)||!!(Md&&e&&e[Md])}X(Nd,`isFlattenable`);function Pd(e,t,n,r,i){var a=-1,o=e.length;for(n||=Nd,i||=[];++a<o;){var s=e[a];n(s)?jd(i,s):i[i.length]=s}return i}X(Pd,`baseFlatten`);function Fd(e){return e!=null&&e.length?Pd(e):[]}X(Fd,`flatten`);function Id(e){return pl(kl(e,void 0,Fd),e+``)}X(Id,`flatRest`);var Ld=Au(Object.getPrototypeOf,Object),Rd=`[object Object]`,zd=Function.prototype,Bd=Object.prototype,Vd=zd.toString,Hd=Bd.hasOwnProperty,Ud=Vd.call(Object);function Wd(e){if(!hc(e)||mc(e)!=Rd)return!1;var t=Ld(e);if(t===null)return!0;var n=Hd.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n instanceof n&&Vd.call(n)==Ud}X(Wd,`isPlainObject`);function Gd(e,t,n){var r=-1,i=e.length;t<0&&(t=-t>i?0:i+t),n=n>i?i:n,n<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=Array(i);++r<i;)a[r]=e[r+t];return a}X(Gd,`baseSlice`);function Kd(e,t,n){var r=e.length;return n=n===void 0?r:n,Gd(e,t,n)}X(Kd,`castSlice`);var qd=RegExp(`[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]`);function Jd(e){return qd.test(e)}X(Jd,`hasUnicode`);function Yd(e){return e.split(``)}X(Yd,`asciiToArray`);var Xd=`\\ud800-\\udfff`,Zd=`\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff`,Qd=`\\ufe0e\\ufe0f`,$d=`[`+Xd+`]`,ef=`[`+Zd+`]`,tf=`\\ud83c[\\udffb-\\udfff]`,nf=`(?:`+ef+`|`+tf+`)`,rf=`[^`+Xd+`]`,af=`(?:\\ud83c[\\udde6-\\uddff]){2}`,of=`[\\ud800-\\udbff][\\udc00-\\udfff]`,sf=`\\u200d`,cf=nf+`?`,lf=`[`+Qd+`]?`,uf=`(?:`+sf+`(?:`+[rf,af,of].join(`|`)+`)`+lf+cf+`)*`,df=lf+cf+uf,ff=`(?:`+[rf+ef+`?`,ef,af,of,$d].join(`|`)+`)`,pf=RegExp(tf+`(?=`+tf+`)|`+ff+df,`g`);function mf(e){return e.match(pf)||[]}X(mf,`unicodeToArray`);function hf(e){return Jd(e)?mf(e):Yd(e)}X(hf,`stringToArray`);function gf(e){return function(t){t=Ed(t);var n=Jd(t)?hf(t):void 0,r=n?n[0]:t.charAt(0),i=n?Kd(n,1).join(``):t.slice(1);return r[e]()+i}}X(gf,`createCaseFirst`);var _f=gf(`toUpperCase`);function vf(){this.__data__=new ld,this.size=0}X(vf,`stackClear`);function yf(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}X(yf,`stackDelete`);function bf(e){return this.__data__.get(e)}X(bf,`stackGet`);function xf(e){return this.__data__.has(e)}X(xf,`stackHas`);var Sf=200;function Cf(e,t){var n=this.__data__;if(n instanceof ld){var r=n.__data__;if(!ud||r.length<Sf-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new vd(r)}return n.set(e,t),this.size=n.size,this}X(Cf,`stackSet`);function wf(e){var t=this.__data__=new ld(e);this.size=t.size}X(wf,`Stack`),wf.prototype.clear=vf,wf.prototype.delete=yf,wf.prototype.get=bf,wf.prototype.has=xf,wf.prototype.set=Cf;function Tf(e,t){return e&&Dl(t,Pu(t),e)}X(Tf,`baseAssign`);function Ef(e,t){return e&&Dl(t,Bu(t),e)}X(Ef,`baseAssignIn`);var Df=typeof exports==`object`&&exports&&!exports.nodeType&&exports,Of=Df&&typeof module==`object`&&module&&!module.nodeType&&module,kf=Of&&Of.exports===Df?nc.Buffer:void 0,Af=kf?kf.allocUnsafe:void 0;function jf(e,t){if(t)return e.slice();var n=e.length,r=Af?Af(n):new e.constructor(n);return e.copy(r),r}X(jf,`cloneBuffer`);function Mf(e,t){for(var n=-1,r=e==null?0:e.length,i=0,a=[];++n<r;){var o=e[n];t(o,n,e)&&(a[i++]=o)}return a}X(Mf,`arrayFilter`);function Nf(){return[]}X(Nf,`stubArray`);var Pf=Object.prototype.propertyIsEnumerable,Ff=Object.getOwnPropertySymbols,If=Ff?function(e){return e==null?[]:(e=Object(e),Mf(Ff(e),function(t){return Pf.call(e,t)}))}:Nf;function Lf(e,t){return Dl(e,If(e),t)}X(Lf,`copySymbols`);var Rf=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)jd(t,If(e)),e=Ld(e);return t}:Nf;function zf(e,t){return Dl(e,Rf(e),t)}X(zf,`copySymbolsIn`);function Bf(e,t,n){var r=t(e);return yc(e)?r:jd(r,n(e))}X(Bf,`baseGetAllKeys`);function Vf(e){return Bf(e,Pu,If)}X(Vf,`getAllKeys`);function Hf(e){return Bf(e,Bu,Rf)}X(Hf,`getAllKeysIn`);var Uf=el(nc,`DataView`),Wf=el(nc,`Promise`),Gf=el(nc,`Set`),Kf=`[object Map]`,qf=`[object Object]`,Jf=`[object Promise]`,Yf=`[object Set]`,Xf=`[object WeakMap]`,Zf=`[object DataView]`,Qf=Wc(Uf),$f=Wc(ud),ep=Wc(Wf),tp=Wc(Gf),np=Wc(tl),rp=mc;(Uf&&rp(new Uf(new ArrayBuffer(1)))!=Zf||ud&&rp(new ud)!=Kf||Wf&&rp(Wf.resolve())!=Jf||Gf&&rp(new Gf)!=Yf||tl&&rp(new tl)!=Xf)&&(rp=X(function(e){var t=mc(e),n=t==qf?e.constructor:void 0,r=n?Wc(n):``;if(r)switch(r){case Qf:return Zf;case $f:return Kf;case ep:return Jf;case tp:return Yf;case np:return Xf}return t},`getTag`));var ip=Object.prototype.hasOwnProperty;function ap(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]==`string`&&ip.call(e,`index`)&&(n.index=e.index,n.input=e.input),n}X(ap,`initCloneArray`);var op=nc.Uint8Array;function sp(e){var t=new e.constructor(e.byteLength);return new op(t).set(new op(e)),t}X(sp,`cloneArrayBuffer`);function cp(e,t){var n=t?sp(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}X(cp,`cloneDataView`);var lp=/\w*$/;function up(e){var t=new e.constructor(e.source,lp.exec(e));return t.lastIndex=e.lastIndex,t}X(up,`cloneRegExp`);var dp=rc?rc.prototype:void 0,fp=dp?dp.valueOf:void 0;function pp(e){return fp?Object(fp.call(e)):{}}X(pp,`cloneSymbol`);function mp(e,t){var n=t?sp(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}X(mp,`cloneTypedArray`);var hp=`[object Boolean]`,gp=`[object Date]`,_p=`[object Map]`,vp=`[object Number]`,yp=`[object RegExp]`,bp=`[object Set]`,xp=`[object String]`,Sp=`[object Symbol]`,Cp=`[object ArrayBuffer]`,wp=`[object DataView]`,Tp=`[object Float32Array]`,Ep=`[object Float64Array]`,Dp=`[object Int8Array]`,Op=`[object Int16Array]`,kp=`[object Int32Array]`,Ap=`[object Uint8Array]`,jp=`[object Uint8ClampedArray]`,Mp=`[object Uint16Array]`,Np=`[object Uint32Array]`;function Pp(e,t,n){var r=e.constructor;switch(t){case Cp:return sp(e);case hp:case gp:return new r(+e);case wp:return cp(e,n);case Tp:case Ep:case Dp:case Op:case kp:case Ap:case jp:case Mp:case Np:return mp(e,n);case _p:return new r;case vp:case xp:return new r(e);case yp:return up(e);case bp:return new r;case Sp:return pp(e)}}X(Pp,`initCloneByTag`);function Fp(e){return typeof e.constructor==`function`&&!Ll(e)?rl(Ld(e)):{}}X(Fp,`initCloneObject`);var Ip=`[object Map]`;function Lp(e){return hc(e)&&rp(e)==Ip}X(Lp,`baseIsMap`);var Rp=Tu&&Tu.isMap,zp=Rp?xu(Rp):Lp,Bp=`[object Set]`;function Vp(e){return hc(e)&&rp(e)==Bp}X(Vp,`baseIsSet`);var Hp=Tu&&Tu.isSet,Up=Hp?xu(Hp):Vp,Wp=1,Gp=2,Kp=4,qp=`[object Arguments]`,Jp=`[object Array]`,Yp=`[object Boolean]`,Xp=`[object Date]`,Zp=`[object Error]`,Qp=`[object Function]`,$p=`[object GeneratorFunction]`,em=`[object Map]`,tm=`[object Number]`,nm=`[object Object]`,rm=`[object RegExp]`,im=`[object Set]`,am=`[object String]`,om=`[object Symbol]`,sm=`[object WeakMap]`,cm=`[object ArrayBuffer]`,lm=`[object DataView]`,um=`[object Float32Array]`,dm=`[object Float64Array]`,fm=`[object Int8Array]`,pm=`[object Int16Array]`,mm=`[object Int32Array]`,hm=`[object Uint8Array]`,gm=`[object Uint8ClampedArray]`,_m=`[object Uint16Array]`,vm=`[object Uint32Array]`,Q={};Q[qp]=Q[Jp]=Q[cm]=Q[lm]=Q[Yp]=Q[Xp]=Q[um]=Q[dm]=Q[fm]=Q[pm]=Q[mm]=Q[em]=Q[tm]=Q[nm]=Q[rm]=Q[im]=Q[am]=Q[om]=Q[hm]=Q[gm]=Q[_m]=Q[vm]=!0,Q[Zp]=Q[Qp]=Q[sm]=!1;function ym(e,t,n,r,i,a){var o,s=t&Wp,c=t&Gp,l=t&Kp;if(n&&(o=i?n(e,r,i,a):n(e)),o!==void 0)return o;if(!Dc(e))return e;var u=yc(e);if(u){if(o=ap(e),!s)return ol(e,o)}else{var d=rp(e),f=d==Qp||d==$p;if(Yl(e))return jf(e,s);if(d==nm||d==qp||f&&!i){if(o=c||f?{}:Fp(e),!s)return c?zf(e,Ef(o,e)):Lf(e,Tf(o,e))}else{if(!Q[d])return i?e:{};o=Pp(e,d,s)}}a||=new wf;var p=a.get(e);if(p)return p;a.set(e,o),Up(e)?e.forEach(function(r){o.add(ym(r,t,n,r,e,a))}):zp(e)&&e.forEach(function(r,i){o.set(i,ym(r,t,n,i,e,a))});var m=u?void 0:(l?c?Hf:Vf:c?Bu:Pu)(e);return ml(m||e,function(r,i){m&&(i=r,r=e[i]),El(o,i,ym(r,t,n,i,e,a))}),o}X(ym,`baseClone`);var bm=4;function xm(e){return ym(e,bm)}X(xm,`clone`);var Sm=1,Cm=4;function wm(e){return ym(e,Sm|Cm)}X(wm,`cloneDeep`);var Tm=`__lodash_hash_undefined__`;function Em(e){return this.__data__.set(e,Tm),this}X(Em,`setCacheAdd`);function Dm(e){return this.__data__.has(e)}X(Dm,`setCacheHas`);function Om(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new vd;++t<n;)this.add(e[t])}X(Om,`SetCache`),Om.prototype.add=Om.prototype.push=Em,Om.prototype.has=Dm;function km(e,t){for(var n=-1,r=e==null?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}X(km,`arraySome`);function Am(e,t){return e.has(t)}X(Am,`cacheHas`);var jm=1,Mm=2;function Nm(e,t,n,r,i,a){var o=n&jm,s=e.length,c=t.length;if(s!=c&&!(o&&c>s))return!1;var l=a.get(e),u=a.get(t);if(l&&u)return l==t&&u==e;var d=-1,f=!0,p=n&Mm?new Om:void 0;for(a.set(e,t),a.set(t,e);++d<s;){var m=e[d],h=t[d];if(r)var g=o?r(h,m,d,t,e,a):r(m,h,d,e,t,a);if(g!==void 0){if(g)continue;f=!1;break}if(p){if(!km(t,function(e,t){if(!Am(p,t)&&(m===e||i(m,e,n,r,a)))return p.push(t)})){f=!1;break}}else if(!(m===h||i(m,h,n,r,a))){f=!1;break}}return a.delete(e),a.delete(t),f}X(Nm,`equalArrays`);function Pm(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}X(Pm,`mapToArray`);function Fm(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}X(Fm,`setToArray`);var Im=1,Lm=2,Rm=`[object Boolean]`,zm=`[object Date]`,Bm=`[object Error]`,Vm=`[object Map]`,Hm=`[object Number]`,Um=`[object RegExp]`,Wm=`[object Set]`,Gm=`[object String]`,Km=`[object Symbol]`,qm=`[object ArrayBuffer]`,Jm=`[object DataView]`,Ym=rc?rc.prototype:void 0,Xm=Ym?Ym.valueOf:void 0;function Zm(e,t,n,r,i,a,o){switch(n){case Jm:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case qm:return!(e.byteLength!=t.byteLength||!a(new op(e),new op(t)));case Rm:case zm:case Hm:return wl(+e,+t);case Bm:return e.name==t.name&&e.message==t.message;case Um:case Gm:return e==t+``;case Vm:var s=Pm;case Wm:var c=r&Im;if(s||=Fm,e.size!=t.size&&!c)return!1;var l=o.get(e);if(l)return l==t;r|=Lm,o.set(e,t);var u=Nm(s(e),s(t),r,i,a,o);return o.delete(e),u;case Km:if(Xm)return Xm.call(e)==Xm.call(t)}return!1}X(Zm,`equalByTag`);var Qm=1,$m=Object.prototype.hasOwnProperty;function eh(e,t,n,r,i,a){var o=n&Qm,s=Vf(e),c=s.length;if(c!=Vf(t).length&&!o)return!1;for(var l=c;l--;){var u=s[l];if(!(o?u in t:$m.call(t,u)))return!1}var d=a.get(e),f=a.get(t);if(d&&f)return d==t&&f==e;var p=!0;a.set(e,t),a.set(t,e);for(var m=o;++l<c;){u=s[l];var h=e[u],g=t[u];if(r)var _=o?r(g,h,u,t,e,a):r(h,g,u,e,t,a);if(!(_===void 0?h===g||i(h,g,n,r,a):_)){p=!1;break}m||=u==`constructor`}if(p&&!m){var v=e.constructor,y=t.constructor;v!=y&&`constructor`in e&&`constructor`in t&&!(typeof v==`function`&&v instanceof v&&typeof y==`function`&&y instanceof y)&&(p=!1)}return a.delete(e),a.delete(t),p}X(eh,`equalObjects`);var th=1,nh=`[object Arguments]`,rh=`[object Array]`,ih=`[object Object]`,ah=Object.prototype.hasOwnProperty;function oh(e,t,n,r,i,a){var o=yc(e),s=yc(t),c=o?rh:rp(e),l=s?rh:rp(t);c=c==nh?ih:c,l=l==nh?ih:l;var u=c==ih,d=l==ih,f=c==l;if(f&&Yl(e)){if(!Yl(t))return!1;o=!0,u=!1}if(f&&!u)return a||=new wf,o||Du(e)?Nm(e,t,n,r,i,a):Zm(e,t,c,n,r,i,a);if(!(n&th)){var p=u&&ah.call(e,`__wrapped__`),m=d&&ah.call(t,`__wrapped__`);if(p||m){var h=p?e.value():e,g=m?t.value():t;return a||=new wf,i(h,g,n,r,a)}}return f?(a||=new wf,eh(e,t,n,r,i,a)):!1}X(oh,`baseIsEqualDeep`);function sh(e,t,n,r,i){return e===t?!0:e==null||t==null||!hc(e)&&!hc(t)?e!==e&&t!==t:oh(e,t,n,r,sh,i)}X(sh,`baseIsEqual`);var ch=1,lh=2;function uh(e,t,n,r){var i=n.length,a=i;if(e==null)return!a;for(e=Object(e);i--;){var o=n[i];if(o[2]?o[1]!==e[o[0]]:!(o[0]in e))return!1}for(;++i<a;){o=n[i];var s=o[0],c=e[s],l=o[1];if(o[2]){if(c===void 0&&!(s in e))return!1}else{var u=new wf,d;if(!(d===void 0?sh(l,c,ch|lh,r,u):d))return!1}}return!0}X(uh,`baseIsMatch`);function dh(e){return e===e&&!Dc(e)}X(dh,`isStrictComparable`);function fh(e){for(var t=Pu(e),n=t.length;n--;){var r=t[n],i=e[r];t[n]=[r,i,dh(i)]}return t}X(fh,`getMatchData`);function ph(e,t){return function(n){return n!=null&&n[e]===t&&(t!==void 0||e in Object(n))}}X(ph,`matchesStrictComparable`);function mh(e){var t=fh(e);return t.length==1&&t[0][2]?ph(t[0][0],t[0][1]):function(n){return n===e||uh(n,e,t)}}X(mh,`baseMatches`);function hh(e,t){return e!=null&&t in Object(e)}X(hh,`baseHasIn`);function gh(e,t,n){t=Dd(t,e);for(var r=-1,i=t.length,a=!1;++r<i;){var o=Od(t[r]);if(!(a=e!=null&&n(e,o)))break;e=e[o]}return a||++r!=i?a:(i=e==null?0:e.length,!!i&&Ml(i)&&Sl(o,i)&&(yc(e)||Wl(e)))}X(gh,`hasPath`);function _h(e,t){return e!=null&&gh(e,t,hh)}X(_h,`hasIn`);var vh=1,yh=2;function bh(e,t){return Wu(e)&&dh(t)?ph(Od(e),t):function(n){var r=Ad(n,e);return r===void 0&&r===t?_h(n,e):sh(t,r,vh|yh)}}X(bh,`baseMatchesProperty`);function xh(e){return function(t){return t?.[e]}}X(xh,`baseProperty`);function Sh(e){return function(t){return kd(t,e)}}X(Sh,`basePropertyDeep`);function Ch(e){return Wu(e)?xh(Od(e)):Sh(e)}X(Ch,`property`);function wh(e){return typeof e==`function`?e:e==null?Pc:typeof e==`object`?yc(e)?bh(e[0],e[1]):mh(e):Ch(e)}X(wh,`baseIteratee`);function Th(e,t,n,r){for(var i=-1,a=e==null?0:e.length;++i<a;){var o=e[i];t(r,o,n(o),e)}return r}X(Th,`arrayAggregator`);function Eh(e){return function(e,t,n){for(var r=-1,i=Object(e),a=n(e),o=a.length;o--;){var s=a[++r];if(t(i[s],s,i)===!1)break}return e}}X(Eh,`createBaseFor`);var Dh=Eh();function Oh(e,t){return e&&Dh(e,t,Pu)}X(Oh,`baseForOwn`);function kh(e,t){return function(t,n){if(t==null)return t;if(!Nl(t))return e(t,n);for(var r=t.length,i=-1,a=Object(t);++i<r&&n(a[i],i,a)!==!1;);return t}}X(kh,`createBaseEach`);var Ah=kh(Oh);function jh(e,t,n,r){return Ah(e,function(e,i,a){t(r,e,n(e),a)}),r}X(jh,`baseAggregator`);function Mh(e,t){return function(t,n){return(yc(t)?Th:jh)(t,e,wh(n),{})}}X(Mh,`createAggregator`);var Nh=X(function(){return nc.Date.now()},`now`),Ph=`Expected a function`,Fh=Math.max,Ih=Math.min;function Lh(e,t,n){var r,i,a,o,s,c,l=0,u=!1,d=!1,f=!0;if(typeof e!=`function`)throw TypeError(Ph);t=Nc(t)||0,Dc(n)&&(u=!!n.leading,d=`maxWait`in n,a=d?Fh(Nc(n.maxWait)||0,t):a,f=`trailing`in n?!!n.trailing:f);function p(t){var n=r,a=i;return r=i=void 0,l=t,o=e.apply(a,n),o}X(p,`invokeFunc`);function m(e){return l=e,s=setTimeout(_,t),u?p(e):o}X(m,`leadingEdge`);function h(e){var n=e-c,r=e-l,i=t-n;return d?Ih(i,a-r):i}X(h,`remainingWait`);function g(e){var n=e-c,r=e-l;return c===void 0||n>=t||n<0||d&&r>=a}X(g,`shouldInvoke`);function _(){var e=Nh();if(g(e))return v(e);s=setTimeout(_,h(e))}X(_,`timerExpired`);function v(e){return s=void 0,f&&r?p(e):(r=i=void 0,o)}X(v,`trailingEdge`);function y(){s!==void 0&&clearTimeout(s),l=0,r=c=i=s=void 0}X(y,`cancel`);function b(){return s===void 0?o:v(Nh())}X(b,`flush`);function x(){var e=Nh(),n=g(e);if(r=arguments,i=this,c=e,n){if(s===void 0)return m(c);if(d)return clearTimeout(s),s=setTimeout(_,t),p(c)}return s===void 0&&(s=setTimeout(_,t)),o}return X(x,`debounced`),x.cancel=y,x.flush=b,x}X(Lh,`debounce`);function Rh(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}X(Rh,`last`);function zh(e){return typeof e==`function`?e:Pc}X(zh,`castFunction`);function Bh(e,t){return(yc(e)?ml:Ah)(e,zh(t))}X(Bh,`forEach`);function Vh(e,t){var n=[];return Ah(e,function(e,r,i){t(e,r,i)&&n.push(e)}),n}X(Vh,`baseFilter`);function Hh(e,t){return(yc(e)?Mf:Vh)(e,wh(t))}X(Hh,`filter`);function Uh(e,t){var n=-1,r=Nl(e)?Array(e.length):[];return Ah(e,function(e,i,a){r[++n]=t(e,i,a)}),r}X(Uh,`baseMap`);function Wh(e,t){return(yc(e)?vc:Uh)(e,wh(t))}X(Wh,`map`);function Gh(e,t){return Pd(Wh(e,t))}X(Gh,`flatMap`);function Kh(e,t,n,r){return Oh(e,function(e,i,a){t(r,n(e),i,a)}),r}X(Kh,`baseInverter`);function qh(e,t){return function(n,r){return Kh(n,e,t(r),{})}}X(qh,`createInverter`);var Jh=Object.prototype.toString,Yh=qh(function(e,t,n){t!=null&&typeof t.toString!=`function`&&(t=Jh.call(t)),e[t]=n},dl(Pc));function Xh(e,t){return t.length<2?e:kd(e,Gd(t,0,-1))}X(Xh,`parent`);function Zh(e,t){return sh(e,t)}X(Zh,`isEqual`);var Qh=Mh(function(e,t,n){Cl(e,n,t)});function $h(e,t){return t=Dd(t,e),e=Xh(e,t),e==null||delete e[Od(Rh(t))]}X($h,`baseUnset`);function eg(e){return Wd(e)?void 0:e}X(eg,`customOmitClone`);var tg=1,ng=2,rg=4,ig=Id(function(e,t){var n={};if(e==null)return n;var r=!1;t=vc(t,function(t){return t=Dd(t,e),r||=t.length>1,t}),Dl(e,Hf(e),n),r&&(n=ym(n,tg|ng|rg,eg));for(var i=t.length;i--;)$h(n,t[i]);return n});function ag(e,t){var n;return Ah(e,function(e,r,i){return n=t(e,r,i),!n}),!!n}X(ag,`baseSome`);function og(e,t,n){return(yc(e)?km:ag)(e,wh(t))}X(og,`some`);var sg=Gf&&1/Fm(new Gf([,-0]))[1]==1/0?function(e){return new Gf(e)}:al,cg=200;function lg(e,t,n){var r=-1,i=yl,a=e.length,o=!0,s=[],c=s;if(a>=cg){var l=sg(e);if(l)return Fm(l);o=!1,i=Am,c=new Om}else c=s;outer:for(;++r<a;){var u=e[r],d=u;if(u=u===0?0:u,o&&d===d){for(var f=c.length;f--;)if(c[f]===d)continue outer;s.push(u)}else i(c,d,n)||(c!==s&&c.push(d),s.push(u))}return s}X(lg,`baseUniq`);function ug(e){return e&&e.length?lg(e):[]}X(ug,`uniq`);var dg=`ACDEFGHIKLMNPQRSTVWYBXZJUO*`,fg=`GATCRYWSMKHBVDN`,pg=`GAUCRYWSMKHBVDN`,mg={"-":`---`,".":`...`,"*":`trr`,a:`gcn`,b:`ray`,c:`tgy`,d:`gay`,e:`gar`,f:`tty`,g:`ggn`,h:`cay`,i:`ath`,j:`htn`,k:`aar`,l:`ytn`,m:`atg`,n:`aay`,o:`tag`,p:`ccn`,q:`car`,r:`mgn`,s:`wsn`,t:`acn`,u:`tga`,v:`gtn`,w:`tgg`,x:`nnn`,y:`tay`,z:`sar`};function hg(e,t){t!==0&&(t||=1/0);let n=[];return e.start>e.end?(n.push({start:0,end:e.end,type:`end`}),n.push({start:e.start,end:t-1,type:`beginning`})):n.push({start:e.start,end:e.end,type:`beginningAndEnd`}),n}X(hg,`splitRangeIntoTwoPartsIfItIsCircular`);function gg(e,t){if(e.start<t.start){if(!(e.end<t.start))return e.end<t.end?{start:t.start,end:e.end}:{start:t.start,end:t.end}}else if(!(e.start>t.end))return e.end<t.end?{start:e.start,end:e.end}:{start:e.start,end:t.end}}X(gg,`getOverlapOfNonCircularRanges`);function _g(e,t,n,r){let i=hg(e,n),a=hg(t,n),o=[];return i.forEach(function(e){a.forEach(function(t){let n=gg(e,t);n&&o.push(n)})}),o}X(_g,`getOverlapsOfPotentiallyCircularRanges`);function vg(e,t){let n;return e&&(e.start<t.start?n=e.end<t.start||e.end>t.end?{start:e.start,end:e.end}:{start:e.start,end:t.start-1}:e.end<=t.end||(n=e.start>t.end?{end:e.end,start:e.start}:{end:e.end,start:t.end+1})),n}X(vg,`trimNonCicularRangeByAnotherNonCircularRange`);function yg(e,t,n){if(!e||!t)return console.warn(`invalid range input`),null;let r;for(r of[e.start,e.end,t.start,t.end])if(r<0||!r&&r!==0)return console.warn(`invalid range input`),null;let i=_g(e,t,n);if(!i.length)return e;let a=hg(e,n);a.forEach(function(e,t){i.forEach(function(t){e&&=vg(e,t)}),a[t]=e});let o=a.filter(function(e){return!!e}),s;if(o.length<0||(o.length===1?s=o[0]:o.length===2&&(s=o[0].start<o[1].start?{start:o[1].start,end:o[0].end}:{start:o[0].start,end:o[1].end})),s)return Vu({},e,{start:s.start,end:s.end})}X(yg,`trimRangeByAnotherRange`);function bg(e){return function(){let t=Array.prototype.slice.call(arguments),n=t[t.length-1];n&&(n.inclusive1BasedEnd||n.inclusive1BasedStart)&&t.forEach(function(e,r){e&&e.start>-1&&n.inclusive1BasedStart&&(t[r]=Iu(e,{start:e.start-1})),e&&e.end>-1&&n.inclusive1BasedEnd&&(t[r]=Iu(e,{end:e.end-1}))});let r=e.apply(this,t);return r&&r.start>-1&&n&&n.inclusive1BasedStart&&(r=Iu(r,{start:r.start+1})),r&&r.end>-1&&n&&n.inclusive1BasedEnd&&(r=Iu(r,{end:r.end+1})),r}}X(bg,`provideInclusiveOptions`);var xg=bg(Sg);function Sg(e,t){let n;return n=e.end<e.start?t-e.start+e.end+1:e.end-e.start+1,e.overlapsSelf&&t&&(n+=t),n}X(Sg,`getRangeLength$1`);function Cg(e,t,n){let r=yg(e,t,n);return r!==null&&!r}X(Cg,`isRangeWithinRange`);function wg(e,t,n,r,i){return hg(t,n).some(function(t){return e<t.start?!1:e<=t.end})}X(wg,`isPositionWithinRange`);function Tg(e,t,n){let r=e;return r<0?r+=t:r+1>t&&(r-=t),r<0?0:r>t-1?t-1:r}X(Tg,`normalizePositionByRangeLength`);function Eg(e,t){return Iu({},e,{start:Tg(e.start,t),end:Tg(e.end,t)})}X(Eg,`normalizeRange`);function Dg(e,t,n,r){let i=xm(e);return n?i.start-=t:i.end+=t,Eg(i,r)}X(Dg,`expandOrContractRangeByLength`);function Og(e,t,n){return Iu({},e,{start:Tg(e.start+t,n),end:Tg(e.end+t,n)})}X(Og,`translateRange`);function kg(e,t,n){return Cg(e,t,n)?jg(e,t,n):Ag(e,t,n)}X(kg,`flipRelativeRange`);function Ag(e,t,n){let r=Cg(t,e,n),i;if(r){i=Dg(t,xg({start:e.start,end:t.start},n)-1,!1,n);let r=xg({end:e.end,start:t.end},n)-1;i=Dg(i,r,!0,n)}else{let r=_g(e,t,n);if(r.length>=1){let a=r[0],o=a.start!==t.start,s=jg(a,t,n);i=Dg(s,xg(e,n)-xg(s,n),o,n)}else throw Error(`This case (relative ranges that do not overlap) is unsupported! `)}return i}X(Ag,`flipNonFullyContainedRange`);function jg(e,t,n){let r=-t.start,i=Og(t,r,n);return Og(Mg(Og(e,r,n),i,n),-r,n)}X(jg,`flipFullyContainedRange`);function Mg(e,t,n){let r=e.start-t.start,i=t.end-r;return{end:i,start:i-(xg(e,n)-1)}}X(Mg,`flipNonOriginSpanningContainedRange`);function Ng(e,t){if(e.start<0||e.end<0)return``;if(e.start>e.end){let n=t.slice(e.start,t.length);return typeof n==`string`?n+=t.slice(0,e.end+1):n=n.concat(t.slice(0,e.end+1)),n}return t.slice(e.start,e.end+1)}X(Ng,`getSequenceWithinRange`);var Pg={".":`.`,a:`t`,t:`a`,u:`a`,c:`g`,g:`c`,A:`T`,T:`A`,U:`A`,C:`G`,G:`C`,r:`y`,R:`Y`,y:`r`,Y:`R`,d:`h`,D:`H`,h:`d`,H:`D`,k:`m`,K:`M`,m:`k`,M:`K`,v:`b`,V:`B`,b:`v`,B:`V`};function Fg(e){let t=``;for(let n=e.length-1;n>=0;n--){let r=Pg[e[n]];r||=e[n],t+=r}return t}X(Fg,`getReverseComplementSequenceString`);var Ig=[{name:`-10_signal`,color:`#4ECDC4`},{name:`-35_signal`,color:`#F7FFF7`},{name:`3'clip`,color:`#FF6B6B`},{name:`3'UTR`,color:`#FFE66D`},{name:`5'clip`,color:`#3E517A`},{name:`5'UTR`,color:`#BBBBBB`},{name:`D-loop`,color:`#F13C73`},{name:`assembly_gap`,color:`#DE9151`},{name:`centromere`,color:`#F34213`},{name:`Het`,color:`#BC5D2E`},{name:`mobile_element`,color:`#6DB1BF`},{name:`ncRNA`,color:`#FFEAEC`},{name:`proprotein`,color:`#F39A9D`},{name:`regulatory`,color:`#3F6C51`},{name:`SecStr`,color:`#7B4B94`},{name:`Site`,color:`#7D82B8`},{name:`telomere`,color:`#DE9151`},{name:`tmRNA`,color:`#B7E3CC`},{name:`unsure`,color:`#C4FFB2`},{name:`V_segment`,color:`#D6F7A3`},{name:`allele`,color:`#D86D6D`},{name:`attenuator`,color:`#6B7F9C`},{name:`C_region`,color:`#B5D89D`},{name:`CAAT_signal`,color:`#E9CD98`},{name:`CDS`,color:`#EF6500`},{name:`conserved`,color:`#A3A5F0`},{name:`D_segment`,color:`#C060F7`},{name:`default`,color:`#CCCCCC`},{name:`enhancer`,color:`#38F872`},{name:`exon`,color:`#95F844`},{name:`gap`,color:`#F7D43C`},{name:`GC_signal`,color:`#861F1F`},{name:`gene`,color:`#684E27`},{name:`iDNA`,color:`#A59B41`},{name:`intron`,color:`#52963E`},{name:`J_region`,color:`#369283`},{name:`LTR`,color:`#31748F`},{name:`m_rna`,color:`#FFFF00`},{name:`mat_peptide`,color:`#353E8F`},{name:`misc_binding`,color:`#006FEF`},{name:`misc_difference`,color:`#5A368A`},{name:`misc_feature`,color:`#006FEF`},{name:`misc_marker`,color:`#8DCEB1`},{name:`misc_part`,color:`#006FEF`},{name:`misc_recomb`,color:`#DD97B4`},{name:`misc_RNA`,color:`#BD0101`},{name:`misc_signal`,color:`#FF9A04`},{name:`misc_structure`,color:`#B3FF00`},{name:`modified_base`,color:`#00F7FF`},{name:`mRNA`,color:`#FFD900`},{name:`N_region`,color:`#AE00FF`},{name:`old_sequence`,color:`#F0A7FF`},{name:`operator`,color:`#63004D`},{name:`operon`,color:`#000653`},{name:`oriT`,color:`#580000`},{name:`plasmid`,color:`#00635E`},{name:`polyA_signal`,color:`#BBBBBB`},{name:`polyA_site`,color:`#003328`},{name:`precursor_RNA`,color:`#443200`},{name:`prim_transcript`,color:`#665E4C`},{name:`primer_bind`,color:`#53d969`},{name:`promoter`,color:`#31B440`},{name:`protein_bind`,color:`#2E2E2E`},{name:`protein_domain`,color:`#4D4B4B`},{name:`protein`,color:`#696969`},{name:`RBS`,color:`#BDFFCB`},{name:`rep_origin`,color:`#878787`},{name:`repeat_region`,color:`#966363`},{name:`repeat_unit`,color:`#A16D8D`},{name:`rRNA`,color:`#9BF0FF`},{name:`s_mutation`,color:`#70A2FF`},{name:`S_region`,color:`#FF74A9`},{name:`satellite`,color:`#164E64`},{name:`scRNA`,color:`#A057FF`},{name:`sig_peptide`,color:`#2FFF8D`},{name:`snoRNA`,color:`#296B14`},{name:`snRNA`,color:`#A16249`},{name:`source`,color:`#0B17BD`},{name:`start`,color:`#D6A336`},{name:`stem_loop`,color:`#67069E`},{name:`stop`,color:`#D44FC9`},{name:`STS`,color:`#597FE7`},{name:`tag`,color:`#E419DA`},{name:`TATA_signal`,color:`#EB2B2B`},{name:`terminator`,color:`#F51600`},{name:`transit_peptide`,color:`#24D491`},{name:`transposon`,color:`#B6E436`},{name:`tRNA`,color:`#D1456F`},{name:`V_region`,color:`#7B5EE7`},{name:`variation`,color:`#2EE455`}],Lg=X(()=>{let e=Qh(Ig.map(e=>Os(Y({},e),{isGenbankStandardType:!0})),`name`),t=typeof window<`u`&&Ad(window,`tg_featureTypeOverrides`)||typeof global<`u`&&Ad(global,`tg_featureTypeOverrides`);return t||=[],t=t.map(t=>{let n=e[t.name];return Y(Y(Y({},n),t),n?{isOverridden:!0}:{isCustomType:!0})}),t=Qh(t,`name`),Y(Y({},e),t)},`getMergedFeatureMap`),Rg=X(({includeHidden:e}={})=>{let t={};return Hh(Lg(),t=>e?!0:!t.isHidden).forEach(e=>{t[e.name]=e.color}),t},`getFeatureToColorMap`),zg=X(({includeHidden:e}={})=>Hh(Lg(),t=>e?!0:!t.isHidden).map(e=>e.name),`getFeatureTypes`),Bg={exports:{}},Vg,Hg;function Ug(){if(Hg)return Vg;Hg=1;var e=1;function t(){return e=(e*9301+49297)%233280,e/233280}X(t,`getNextValue`);function n(t){e=t}return X(n,`setSeed`),Vg={nextValue:t,seed:n},Vg}X(Ug,`requireRandomFromSeed`);var Wg,Gg;function Kg(){if(Gg)return Wg;Gg=1;var e=Ug(),t=`0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-`,n,r,i;function a(){i=!1}X(a,`reset`);function o(e){if(!e){n!==t&&(n=t,a());return}if(e!==n){if(e.length!==t.length)throw Error(`Custom alphabet for shortid must be `+t.length+` unique characters. You submitted `+e.length+` characters: `+e);var r=e.split(``).filter(function(e,t,n){return t!==n.lastIndexOf(e)});if(r.length)throw Error(`Custom alphabet for shortid must be `+t.length+` unique characters. These characters were not unique: `+r.join(`, `));n=e,a()}}X(o,`setCharacters`);function s(e){return o(e),n}X(s,`characters`);function c(t){e.seed(t),r!==t&&(a(),r=t)}X(c,`setSeed`);function l(){n||o(t);for(var r=n.split(``),i=[],a=e.nextValue(),s;r.length>0;)a=e.nextValue(),s=Math.floor(a*r.length),i.push(r.splice(s,1)[0]);return i.join(``)}X(l,`shuffle`);function u(){return i||(i=l(),i)}X(u,`getShuffled`);function d(e){return u()[e]}X(d,`lookup`);function f(){return n||t}return X(f,`get`),Wg={get:f,characters:s,seed:c,lookup:d,shuffled:u},Wg}X(Kg,`requireAlphabet`);var qg,Jg;function Yg(){if(Jg)return qg;Jg=1;var e=typeof window==`object`&&(window.crypto||window.msCrypto);return qg=!e||!e.getRandomValues?X(function(e){for(var t=[],n=0;n<e;n++)t.push(Math.floor(Math.random()*256));return t},`randomByte`):X(function(t){return e.getRandomValues(new Uint8Array(t))},`randomByte`),qg}X(Yg,`requireRandomByteBrowser`);var Xg,Zg;function Qg(){return Zg?Xg:(Zg=1,Xg=X(function(e,t,n){for(var r=(2<<Math.log(t.length-1)/Math.LN2)-1,i=-~(1.6*r*n/t.length),a=``;;)for(var o=e(i),s=i;s--;)if(a+=t[o[s]&r]||``,a.length===+n)return a},`format_browser`),Xg)}X(Qg,`requireFormat_browser`);var $g,e_;function t_(){if(e_)return $g;e_=1;var e=Kg(),t=Yg(),n=Qg();function r(r){for(var i=0,a,o=``;!a;)o+=n(t,e.get(),1),a=r<16**(i+1),i++;return o}return X(r,`generate`),$g=r,$g}X(t_,`requireGenerate`);var n_,r_;function i_(){if(r_)return n_;r_=1;var e=t_();Kg();var t=1567752802062,n=7,r,i;function a(a){var o=``,s=Math.floor((Date.now()-t)*.001);return s===i?r++:(r=0,i=s),o+=e(n),o+=e(a),r>0&&(o+=e(r)),o+=e(s),o}return X(a,`build`),n_=a,n_}X(i_,`requireBuild`);var a_,o_;function s_(){if(o_)return a_;o_=1;var e=Kg();function t(t){return!t||typeof t!=`string`||t.length<6?!1:!RegExp(`[^`+e.get().replace(/[|\\{}()[\]^$+*?.-]/g,`\\$&`)+`]`).test(t)}return X(t,`isShortId`),a_=t,a_}X(s_,`requireIsValid`);var c_,l_;function u_(){return l_?c_:(l_=1,c_=0,c_)}X(u_,`requireClusterWorkerIdBrowser`);var d_;function f_(){return d_?Bg.exports:(d_=1,(function(e){var t=Kg(),n=i_(),r=s_(),i=u_()||0;function a(n){return t.seed(n),e.exports}X(a,`seed`);function o(t){return i=t,e.exports}X(o,`worker`);function s(e){return e!==void 0&&t.characters(e),t.shuffled()}X(s,`characters`);function c(){return n(i)}X(c,`generate`),e.exports=c,e.exports.generate=c,e.exports.seed=a,e.exports.worker=o,e.exports.characters=s,e.exports.isValid=r})(Bg),Bg.exports)}X(f_,`requireLib`);var p_,m_;function h_(){return m_?p_:(m_=1,p_=f_(),p_)}X(h_,`requireShortid`);var g_=Is(h_()),$={A:{value:`A`,name:`Alanine`,threeLettersName:`Ala`,hydrophobicity:1.8,colorByFamily:`#00FFFF`,color:`hsl(327.3, 100%, 69%)`,mass:71.0779},R:{value:`R`,name:`Arginine`,threeLettersName:`Arg`,hydrophobicity:-4.5,colorByFamily:`#FFC0CB`,color:`hsl(258.1, 100%, 69%)`,mass:156.18568},N:{value:`N`,name:`Asparagine`,threeLettersName:`Asn`,hydrophobicity:-3.5,colorByFamily:`#D3D3D3`,color:`hsl(268.9, 100%, 69%)`,mass:114.10264},D:{value:`D`,name:`Aspartic acid`,threeLettersName:`Asp`,hydrophobicity:-3.5,colorByFamily:`#EE82EE`,color:`hsl(268.9, 100%, 69%)`,mass:115.0874},C:{value:`C`,name:`Cysteine`,threeLettersName:`Cys`,hydrophobicity:2.5,colorByFamily:`#FFFF00`,color:`hsl(335.1, 100%, 69%)`,mass:103.1429},E:{value:`E`,name:`Glutamic acid`,threeLettersName:`Glu`,hydrophobicity:-3.5,colorByFamily:`#EE82EE`,color:`hsl(268.9, 100%, 69%)`,mass:129.11398},Q:{value:`Q`,name:`Glutamine`,threeLettersName:`Gln`,hydrophobicity:-3.5,colorByFamily:`#D3D3D3`,color:`hsl(268.9, 100%, 69%)`,mass:128.12922},G:{value:`G`,name:`Glycine`,threeLettersName:`Gly`,hydrophobicity:-.4,colorByFamily:`#00FFFF`,color:`hsl(303.1, 100%, 69%)`,mass:57.05132},H:{value:`H`,name:`Histidine`,threeLettersName:`His`,hydrophobicity:-3.2,colorByFamily:`#FFC0CB`,color:`hsl(272.2, 100%, 69%)`,mass:137.13928},I:{value:`I`,name:`Isoleucine `,threeLettersName:`Ile`,hydrophobicity:4.5,colorByFamily:`#00FFFF`,color:`hsl(356.9, 100%, 69%)`,mass:113.15764},L:{value:`L`,name:`Leucine`,threeLettersName:`Leu`,hydrophobicity:3.8,colorByFamily:`#00FFFF`,color:`hsl(349.4, 100%, 69%)`,mass:113.15764},K:{value:`K`,name:`Lysine`,threeLettersName:`Lys`,hydrophobicity:-3.9,colorByFamily:`#FFC0CB`,color:`hsl(264.7, 100%, 69%)`,mass:128.17228},O:{value:`O`,name:`Pyrrolysine`,threeLettersName:`Pyl`,colorByFamily:`#FFC0CB`,color:`hsl(264.7, 100%, 69%)`,mass:255.313},M:{value:`M`,name:`Methionine`,threeLettersName:`Met`,hydrophobicity:1.9,colorByFamily:`#FFFF00`,color:`hsl(328.5, 100%, 69%)`,mass:131.19606},F:{value:`F`,name:`Phenylalanine`,threeLettersName:`Phe`,hydrophobicity:2.8,colorByFamily:`#FFA500`,color:`hsl(338.4, 100%, 69%)`,mass:147.17386},P:{value:`P`,name:`Proline`,threeLettersName:`Pro`,hydrophobicity:-1.6,colorByFamily:`#00FFFF`,color:`hsl(289.9, 100%, 69%)`,mass:97.11518},S:{value:`S`,name:`Serine`,threeLettersName:`Ser`,hydrophobicity:-.8,colorByFamily:`#90EE90`,color:`hsl(298.6, 100%, 69%)`,mass:87.0773},T:{value:`T`,name:`Threonine`,threeLettersName:`Thr`,hydrophobicity:-.7,colorByFamily:`#90EE90`,color:`hsl(299.8, 100%, 69%)`,mass:101.10388},U:{value:`U`,name:`Selenocysteine`,threeLettersName:`Sec`,colorByFamily:`#FF0000`,color:`hsl(0, 100%, 69%)`,mass:150.3079},W:{value:`W`,name:`Tryptophan`,threeLettersName:`Trp`,hydrophobicity:-.9,colorByFamily:`#FFA500`,color:`hsl(297.6, 100%, 69%)`,mass:186.2099},Y:{value:`Y`,name:`Tyrosine`,threeLettersName:`Tyr`,hydrophobicity:-1.3,colorByFamily:`#FFA500`,color:`hsl(293.2, 100%, 69%)`,mass:163.17326},V:{value:`V`,name:`Valine`,threeLettersName:`Val`,hydrophobicity:4.2,colorByFamily:`#00FFFF`,color:`hsl(353.6, 100%, 69%)`,mass:99.13106},"*":{value:`*`,name:`Stop`,threeLettersName:`Stop`,colorByFamily:`#FF0000`,color:`hsl(0, 100%, 69%)`,mass:0},".":{value:`.`,name:`Gap`,threeLettersName:`Gap`,colorByFamily:`#FF0000`,color:`hsl(0, 100%, 69%)`,mass:0},"-":{value:`-`,name:`Gap`,threeLettersName:`Gap`,colorByFamily:`#FF0000`,color:`hsl(0, 100%, 69%)`,mass:0},B:{value:`B`,threeLettersName:`ND`,colorByFamily:`#D3D3D3`,color:`hsl(268.9, 100%, 69%)`,isAmbiguous:!0,name:`B`,aliases:`ND`,mass:0},J:{value:`J`,threeLettersName:`IL`,colorByFamily:`#00FFFF`,color:`hsl(352, 100%, 69%)`,isAmbiguous:!0,name:`J`,aliases:`IL`,mass:0},X:{value:`X`,threeLettersName:`ACDEFGHIKLMNPQRSTVWY`,colorByFamily:`#FFFFFF`,color:`hsl(60, 100%, 69%)`,isAmbiguous:!0,name:`X`,aliases:`ACDEFGHIKLMNPQRSTVWY`,mass:0},Z:{value:`Z`,threeLettersName:`QE`,colorByFamily:`#D3D3D3`,color:`hsl(268.9, 100%, 69%)`,isAmbiguous:!0,name:`Z`,aliases:`QE`,mass:0}},__={gct:$.A,gcc:$.A,gca:$.A,gcg:$.A,gcu:$.A,cgt:$.R,cgc:$.R,cga:$.R,cgg:$.R,aga:$.R,agg:$.R,cgu:$.R,aat:$.N,aac:$.N,aau:$.N,gat:$.D,gac:$.D,gau:$.D,tgt:$.C,tgc:$.C,ugu:$.C,ugc:$.C,gaa:$.E,gag:$.E,caa:$.Q,cag:$.Q,ggt:$.G,ggc:$.G,gga:$.G,ggg:$.G,ggu:$.G,cat:$.H,cac:$.H,cau:$.H,att:$.I,atc:$.I,ata:$.I,auu:$.I,auc:$.I,aua:$.I,ctt:$.L,ctc:$.L,cta:$.L,ctg:$.L,tta:$.L,ttg:$.L,cuu:$.L,cuc:$.L,cua:$.L,cug:$.L,uua:$.L,uug:$.L,aaa:$.K,aag:$.K,atg:$.M,aug:$.M,ttt:$.F,ttc:$.F,uuu:$.F,uuc:$.F,cct:$.P,ccc:$.P,cca:$.P,ccg:$.P,ccu:$.P,tct:$.S,tcc:$.S,tca:$.S,tcg:$.S,agt:$.S,agc:$.S,ucu:$.S,ucc:$.S,uca:$.S,ucg:$.S,agu:$.S,act:$.T,acc:$.T,aca:$.T,acg:$.T,acu:$.T,tgg:$.W,ugg:$.W,tat:$.Y,tac:$.Y,uau:$.Y,uac:$.Y,gtt:$.V,gtc:$.V,gta:$.V,gtg:$.V,guu:$.V,guc:$.V,gua:$.V,gug:$.V,taa:$[`*`],tag:$[`*`],tga:$[`*`],uaa:$[`*`],uag:$[`*`],uga:$[`*`],"...":$[`.`],"---":$[`-`]},v_={A:[`A`],C:[`C`],G:[`G`],T:[`T`],U:[`U`],R:[`A`,`G`],Y:[`C`,`T`,`U`],K:[`G`,`T`,`U`],M:[`A`,`C`],S:[`G`,`C`],W:[`A`,`T`,`U`],B:[`C`,`G`,`T`,`U`],D:[`A`,`G`,`T`,`U`],H:[`A`,`C`,`T`,`U`],V:[`A`,`C`,`G`],N:[`A`,`C`,`G`,`T`,`U`],X:[`A`,`C`,`G`,`T`,`U`]};function y_(e){let t=e.toUpperCase().split(``).map(e=>v_[e]||[e]),n=[``];for(let e of t){let t=[];for(let r of n)for(let n of e)t.push(r+n);n=t}let r=null;for(let e of n){let t=e.toLowerCase(),n=__[t]??__[t.replace(/u/g,`t`)]??__[t.replace(/t/g,`u`)];if(n){if(!r)r=n;else if(r.value!==n.value)return null}else return null}return r}X(y_,`expandAndResolve`);function b_(){let e=__,t=Object.keys(v_);for(let n of t)for(let r of t)for(let i of t){let t=n+r+i,a=t.toLowerCase();if(e[a])continue;let o=y_(t);o&&(e[a]=o)}return e}X(b_,`getCodonToAminoAcidMap`);var x_=b_(),S_=Yh(mg);function C_(e){if(e=e.toLowerCase(),e.length!==3)throw Error(`must pass a string of length 3`);return x_[e]||$[(S_[e.replace(`x`,`n`)]||`x`).toUpperCase()]}X(C_,`getAminoAcidFromSequenceTriplet`);function w_(e,t,n){let r=``,i,a=[],o=X(e=>n.some(n=>wg(e,n,t.length)),`isBaseInExon`);for(i=e;i<t.length&&r.length!==3;i++)o(i)&&(r+=t[i],a.push(i));return{triplet:r,basesRead:i-e,codonPositions:a}}X(w_,`getNextTriplet`);function T_(e,t,n,r){let i=r?e.length*3:e.length,a=e,o={start:0,end:i-1};n&&(a=Ng(n,e),o.start=n.start,o.end=n.end);let s=r?a.length*3:a.length;!r&&!t&&(a=Fg(a));let c=(!r&&n&&n.locations?n.locations:[o]).map(e=>{let n=Og(e,-o.start,i);return t||(n=kg(n,{start:0,end:s-1},s)),n});return{sequenceString:a,translationRange:o,sequenceStringLength:s,originalSequenceStringLength:i,exonRange:c}}X(T_,`getTranslatedSequenceProperties`);function E_(e,t,n,r){let i=Og({start:e,end:e},n.start,r);return t||(i=kg(i,n,r)),i.start}X(E_,`positionInCdsToPositionInMainSequence`);function D_(e,t,n,r){if(!e)return[];let{sequenceString:i,translationRange:a,sequenceStringLength:o,originalSequenceStringLength:s,exonRange:c}=T_(e,t,n,r),l=[];for(let e=0;e<o;e+=3){let n,o=Math.floor(e/3),u,d;if(r)u=[0,1,2].map(t=>e+t),d=3,n=$[i[e/3].toUpperCase()];else{let{triplet:t,basesRead:r,codonPositions:a}=w_(e,i,c);d=r,u=a,n=t.length===3?C_(t):C_(`xxx`)}let f=u.map(e=>E_(e,t,a,s)),p=t?{start:f[0],end:f[u.length-1]}:{start:f[u.length-1],end:f[0]},m=0;for(let r=0;r<d;r++){let i=r+e,c=u.includes(i)?f[u.indexOf(i)]:E_(i,t,a,s);u.includes(i)?(l.push({aminoAcid:n,positionInCodon:m,aminoAcidIndex:o,sequenceIndex:c,codonRange:p,fullCodon:u.length===3}),m++):l.push({aminoAcid:null,positionInCodon:null,aminoAcidIndex:null,sequenceIndex:c,codonRange:null,fullCodon:null})}e+=d-u.length}if(o!==l.length)throw Error(`something went wrong!`);return t||l.reverse(),l}X(D_,`getAminoAcidDataForEachBaseOfDna`);var O_=[`features`,`warnings`,`assemblyPieces`,`lineageAnnotations`,`parts`,`cutsites`,`orfs`,`translations`,`primers`,`guides`],k_=[],A_=X(()=>{typeof window<`u`&&window.toastr&&k_.length&&window.toastr.warning(ug(k_).join(`
28
28
  `)),k_=[]},`makeToast`);A_=Lh(A_,200);function j_(e){k_=k_.concat(e),A_.cancel(),A_()}X(j_,`showWarnings`);function M_(e=``,{additionalValidChars:t=``,isOligo:n,name:r,isProtein:i,isRna:a,isMixedRnaAndDna:o,getAcceptedInsertChars:s}={}){let c={isOligo:n,isProtein:i,isRna:a,isMixedRnaAndDna:o},l=zc(s)?s(c):N_(c),u=P_({isOligo:n,isProtein:i,isRna:a,isMixedRnaAndDna:o}),d=``,f=[],p=`${l}${t.split(``).join(`\\`)}`,m=[],h={};return e.split(``).forEach(e=>{let t=e.toLowerCase();u&&u[t]?(h[t]||(h[t]=0),h[t]++,d+=t===e?u[t]:u[t].toUpperCase()):p.includes(t)?d+=e:f.push(e)}),Object.keys(h).forEach(e=>{m.push(`Replaced "${e}" with "${u[e]}"${h[e]>1?` ${h[e]} times`:``}`)}),e.length!==d.length&&m.push(`${r?`Sequence ${r}: `:``}Invalid character(s) detected and removed: ${ug(f).map(e=>e===` `?`space`:e).slice(0,100).join(`, `)} `),j_(m),[d,m]}X(M_,`filterSequenceString`);function N_({isOligo:e,isProtein:t,isRna:n,isMixedRnaAndDna:r}={}){return t?`${dg.toLowerCase()}`:e||n?pg.toLowerCase()+`t`:pg.toLowerCase()+fg.toLowerCase()}X(N_,`getAcceptedChars`);function P_({isOligo:e,isProtein:t,isRna:n,isMixedRnaAndDna:r}={}){return t||e?{}:n?{t:`u`}:{}}X(P_,`getReplaceChars`);function F_(e,{sequenceData:t={},convertAnnotationsFromAAIndices:n,annotationType:r,provideNewIdsForAnnotations:i,doNotProvideIdsForAnnotations:a,messages:o=[],mutative:s,allowNonStandardGenbankTypes:c,featureTypes:l}){let{size:u,circular:d,isProtein:f}=t;if(!e||typeof e!=`object`)return o.push(`Invalid annotation detected and removed`),!1;let p=e;if(p.annotationTypePlural=r,(!p.name||typeof p.name!=`string`)&&(o.push(`Unable to detect valid name for annotation, setting name to "Untitled annotation"`),p.name=`Untitled annotation`),i&&(p.id=g_()),!p.id&&p.id!==0&&!a&&(p.id=g_(),o.push(`Unable to detect valid ID for annotation, setting ID to `+p.id)),I_({isProtein:f,location:p,convertAnnotationsFromAAIndices:n,size:u,messages:o,circular:d,name:p.name}),p.locations&&p.locations.forEach(e=>{I_({isProtein:f,location:e,convertAnnotationsFromAAIndices:n,size:u,messages:o,circular:d,name:p.name})}),f||p.forward===!0||p.forward===`true`||p.strand===1||p.strand===`1`||p.strand===`+`?(p.forward=!0,p.strand=1):(p.forward=!1,p.strand=-1),(!p.type||typeof p.type!=`string`||!og(l||zg(),e=>e.toLowerCase()===p.type.toLowerCase()?(p.type=e,!0):!!(c||typeof window<`u`&&Ad(window,`tg_allowNonStandardGenbankTypes`)||typeof global<`u`&&Ad(global,`tg_allowNonStandardGenbankTypes`))))&&(o.push(`Invalid annotation type detected: `+p.type+` for `+p.name+`. set type to misc_feature`),p.type=`misc_feature`),p.notes&&typeof p.notes==`string`)try{p.notes=JSON.parse(p.notes)}catch(e){console.info(`warning 33y00a0912 - couldn't parse notes for ${p.name||``} ${p.notes}:`,e)}return p.color||=Rg()[p.type],p}X(F_,`tidyUpAnnotation`);function I_({location:e,convertAnnotationsFromAAIndices:t,size:n,isProtein:r,messages:i,circular:a,name:o}){e.start=parseInt(e.start,10),e.end=parseInt(e.end,10),t&&(e.start*=3,e.end=e.end*3+2),(e.start<0||!(e.start<=n-1)||e.start>n-1)&&(i.push(`Invalid annotation start: `+e.start+` detected for `+e.name+` and set to size: `+n),e.start=Math.max(0,n-(r?3:1))),(e.end<0||!(e.end<=n-1)||e.end>n-1)&&(i.push(`Invalid annotation end: `+e.end+` detected for `+e.name+` and set to seq size: `+n),e.end=Math.max(0,n-1)),e.start>e.end&&a===!1&&(i.push(`Invalid circular annotation detected for `+o+`. end set to 1`),e.end=n)}X(I_,`coerceLocation`);function L_(e){return e.split(``).map(e=>mg[e.toLowerCase()]||`nnn`).join(``)}X(L_,`getDegenerateDnaStringFromAAString`);function R_(e,{doNotExcludeAsterisk:t}={}){let n=D_(e,!0),r=[],i=``;return n.forEach((e,i)=>{e.fullCodon&&(!t&&i>=n.length-3&&e.aminoAcid.value===`*`||(r[e.aminoAcidIndex]=e.aminoAcid.value))}),i=r.join(``),i}X(R_,`getAminoAcidStringFromSequenceString`);function z_(e,t={}){let{annotationsAsObjects:n,logMessages:r,doNotRemoveInvalidChars:i,additionalValidChars:a,noTranslationData:o,includeProteinSequence:s,doNotProvideIdsForAnnotations:c,noCdsTranslations:l,convertAnnotationsFromAAIndices:u,getAcceptedInsertChars:d,topLevelSeqData:f}=t,p=wm(e),m={messages:[]};p||={},p.sequence||(p.sequence=``),p.proteinSequence||(p.proteinSequence=``);let h=!1;if(p.isProtein&&(p.circular=!1,!p.proteinSequence&&p.proteinSequence!==``&&(p.proteinSequence=p.sequence),(!p.sequence||p.sequence.length!==p.proteinSequence.length*3)&&(h=!0)),p.isRna&&(p.sequence=p.sequence.replace(/t/gi,`u`)),!i){if(p.isProtein){let[e]=M_(p.proteinSequence,Os(Y({},f||p),{isProtein:!0,getAcceptedInsertChars:d}));p.proteinSequence=e}else{let[e]=M_(p.sequence,Os(Y({additionalValidChars:a},f||p),{getAcceptedInsertChars:d}));p.sequence=e}}p.isProtein?(h&&(p.sequence=L_(p.proteinSequence)),p.aminoAcidDataForEachBaseOfDNA=D_(p.proteinSequence,!0,null,!0)):s&&(p.proteinSequence=R_(p.sequence)),p.size=p.noSequence?p.size:p.sequence.length,p.proteinSize=p.noSequence?p.proteinSize:p.proteinSequence.length,p.circular===`false`||p.circular==-1||p.circular===!1||!p.circular&&p.sequenceTypeCode!==`CIRCULAR_DNA`?p.circular=!1:p.circular=!0;let g=zg();return O_.forEach(e=>{Array.isArray(p[e])||(typeof p[e]==`object`?p[e]=Object.keys(p[e]).map(t=>p[e][t]):p[e]=[]),p[e]=p[e].filter(n=>F_(n,Os(Y({},t),{featureTypes:g,sequenceData:p,convertAnnotationsFromAAIndices:u,mutative:!0,annotationType:e})))}),o||(p.translations=Gh(p.translations,e=>{if(l&&e.translationType===`CDS Feature`)return[];let t=Dg(e,-(e?.notes?.codon_start?.[0]-1||0),!0,p.sequence.length);return!t.aminoAcids&&!p.noSequence&&(t.aminoAcids=D_(p.sequence,t.forward,t)),t})),n&&O_.forEach(e=>{p[e]=p[e].reduce((e,t)=>{let n;return t.id||t.id===0?n=t.id:(n=g_(),c||(t.id=n)),e[n]=t,e},{})}),r&&m.messages.length>0&&console.info(`tidyUpSequenceData messages:`,m.messages),p}X(z_,`tidyUpSequenceData`);var B_={"-":`---`,".":`...`,"*":`trr`,a:`gcn`,b:`ray`,c:`ugy`,d:`gay`,e:`gar`,f:`uuy`,g:`ggn`,h:`cay`,i:`auh`,j:`hun`,k:`aar`,l:`yun`,m:`aug`,n:`aay`,o:`uag`,p:`ccn`,q:`car`,r:`mgn`,s:`wsn`,t:`acn`,u:`uga`,v:`gun`,w:`ugg`,x:`nnn`,y:`uay`,z:`sar`},V_={TABLE_BRESLAUER:`breslauer`,TABLE_SUGIMOTO:`sugimoto`,TABLE_UNIFIED:`unified`,A:-10.8,R:1.987,primerConc:5e-7,monovalentCationConc:.05,calculateTemperature:X(function(e,{type:t,A:n,R:r,primerConc:i,monovalentCationConc:a}={}){let o=(e||``).toLowerCase();if(t===void 0)t=this.TABLE_BRESLAUER;else if(t!=this.TABLE_BRESLAUER&&t!=this.TABLE_UNIFIED&&t!=this.TABLE_SUGIMOTO)throw Error(`Invalid table type!`);if(n||=this.A,r||=this.R,i||=this.primerConc,a||=this.monovalentCationConc,o.length==0)return 0;let s=this.getDeltaHTable(t),c=this.getDeltaSTable(t),l=[];l.push(this.calculateReps(o,`aa`)),l.push(this.calculateNumberOfOccurrences(o,`at`)),l.push(this.calculateNumberOfOccurrences(o,`ac`)),l.push(this.calculateNumberOfOccurrences(o,`ag`)),l.push(this.calculateReps(o,`tt`)),l.push(this.calculateNumberOfOccurrences(o,`ta`)),l.push(this.calculateNumberOfOccurrences(o,`tc`)),l.push(this.calculateNumberOfOccurrences(o,`tg`)),l.push(this.calculateReps(o,`cc`)),l.push(this.calculateNumberOfOccurrences(o,`ca`)),l.push(this.calculateNumberOfOccurrences(o,`ct`)),l.push(this.calculateNumberOfOccurrences(o,`cg`)),l.push(this.calculateReps(o,`gg`)),l.push(this.calculateNumberOfOccurrences(o,`ga`)),l.push(this.calculateNumberOfOccurrences(o,`gt`)),l.push(this.calculateNumberOfOccurrences(o,`gc`));let u=0,d=0;for(let e=0;e<16;e++)u+=l[e]*s[e],d+=l[e]*c[e];return-1e3*u/(n+-d+r*Math.log(i/4))-273.15+16.6*Math.LOG10E*Math.log(a)},`calculateTemperature`),getDeltaHTable:X(function(e){return e==this.TABLE_BRESLAUER?[9.1,8.6,6.5,7.8,9.1,6,5.6,5.8,11,5.8,7.8,11.9,11,5.6,6.5,11.1]:e==this.TABLE_SUGIMOTO?[8,5.6,6.5,7.8,8,5.6,5.6,5.8,10.9,8.2,6.6,11.8,10.9,6.6,9.4,11.9]:e==this.TABLE_UNIFIED?[7.9,7.2,8.4,7.8,7.9,7.2,8.2,8.5,8,8.5,7.8,10.6,8,8.2,8.4,9.8]:null},`getDeltaHTable`),getDeltaSTable:X(function(e){return e==this.TABLE_BRESLAUER?[24,23.9,17.3,20.8,24,16.9,13.5,12.9,26.6,12.9,20.8,27.8,26.6,13.5,17.3,26.7]:e==this.TABLE_SUGIMOTO?[21.9,15.2,17.3,20.8,21.9,15.2,13.5,12.9,28.4,25.5,23.5,29,28.4,16.4,25.5,29]:e==this.TABLE_UNIFIED?[22.2,20.4,22.4,21,22.2,21.3,22.2,22.7,19.9,22.7,21,27.2,19.9,22.2,22.4,24.4]:null},`getDeltaSTable`),calculateReps:X(function(e,t){let n=e.length;if(n==0)return 0;let r=0,i=0;for(;;){let a=e.indexOf(t,i);if(a==-1||(i=a+1,r++,i>n))break}return r},`calculateReps`),calculateNumberOfOccurrences:X(function(e,t){return e.length==0?0:e.split(t).length-1},`calculateNumberOfOccurrences`)};V_.calculateTemperature.bind(V_);var H_=[{aliases:`ErpI.Bme18I.BsrAI.SmuEI.FdiI.BmpI.VpaK11BI.CauI.Kzo49I.SinI.EagMI.HgiHIII.AvaII.BamNxI.AflI.FssI.Asp745I.BthAI.HgiCII.FspMSI.DsaIV.Eco47I.Csp68KI.BcuAI.HgiEI.HgiJI.HgiBI.Bme216I`.split(`.`),site:`ggwcc`,forwardRegex:`g{2}[atw]c{2}`,reverseRegex:`g{2}[atw]c{2}`,topSnipOffset:1,bottomSnipOffset:4},{aliases:`Eco196I.Uba1126I.Pae17I.Ssp1725I.BacI.Eco104I.Bsp12I.Eco100I.EccI.Kpn19I.DrdFI.Cfr37I.DrdEI.DrdBI.DrdAI.DrdCI.Cfr45II.FscI.Cte1I.Pfl1108II.NlaSI.Ecl1I.Bac465I.Uba66I.NgoDIII.NgoJIII.Pae7I.Dsp1I.SseII.BscTI.MraI.Pae36I.SsmII.NlaDIII.Eco55I.Uba77I.Uba1364I.Uba1369I.Pae44I.Pae43I.Pae42I.Sfr382I.Ese3I.Ese6I.SfrI.Cfr43I.Cfr41I.Uba1234I.StaI.Uba90I.NgoKIII.Eco151I.Eco208I.Uba1306I.Ecl28I.Eco158I.TtoI.Uba1244I.Asp32HI.SboI.Eco134I.Eco135I.SenpCI.ShyI.TglI.UbaHKAI.NgoGIII.NgoMIII.Eco96I.SakI.Eco92I.Ssm5II.SaaI.SabI.Uba1111I.AosIII.Uba1113I.Eco182I.Eco99I.Uba1187I.Uba1095I.Uba1093I.Ecl37I.Uba1229I`.split(`.`),site:`ccgcgg`,forwardRegex:`c{2}gcg{2}`,reverseRegex:`c{2}gcg{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SplI`,`PpuAI`,`BvuBI`,`Pfl23II`,`PspLI`,`SunI`,`BsiWI`,`BpuB5I`,`MaeK81I`],site:`cgtacg`,forwardRegex:`cgtacg`,reverseRegex:`cgtacg`,topSnipOffset:1,bottomSnipOffset:5},{aliases:`Uba1366II.Bsh108AI.Uba1161I.Uba1379I.BfrAI.BscVI.Uba1145I.Uba1257I.Uba1144I.Bsp145I.Apu16I.Uba1138I.Uba1286I.Bth1202I.Uba1137I.Uba1133I.Bli576I.Bsp84I.Uba1427I.BstLVI.Uba1200I.Bsp127I.Bsp126I.Bsp125I.Uba1275I.Bli585I.BazI.Uba1412I.Uba1342I.Uba1416I.Uba1195I.Uba1197I.Uba1196I.Bth9415I.Uba1295I.Uba1096I.Bco79I.Bsp2I.Uba43I.Bsp4I.Uba34I.Asp86I.Asp14I.Uba1430I.Uba1100I.Csp4I.Uba1198I.Uba1199I.Uba30I.Asp123I.Uba1246I.Uba22I.Uba24I.Asp707I.BsrCI.Uba1168I.Uba1315I.Uba1394I.Asp37I.Uba1233I.Uba1238I.Asp130I.BtuI.Uba1451I.Uba1453I.Uba1380I`.split(`.`),site:`atcgat`,forwardRegex:`atcgat`,reverseRegex:`atcgat`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Bbv12I`,`MspV281I`,`BsiHKAI`,`Alw21I`,`Bsm6I`,`Bsh45I`,`AspHI`,`HgiAI`],site:`gwgcwc`,forwardRegex:`g[atw]gc[atw]c`,reverseRegex:`g[atw]gc[atw]c`,topSnipOffset:5,bottomSnipOffset:1},{aliases:[`SmiMII`,`NflAI`,`Rma495II`,`Bsc217I`,`Tsp273I`,`Eco17I`,`NanI`,`Eco178I`,`BshLI`,`Bsp16I`,`Pac1110II`,`BsoAI`,`PxyARI`,`UbaN4I`,`Rma497II`,`Rma496II`,`Uba1400I`,`BstRI`,`Pfl16I`],site:`gatatc`,forwardRegex:`gatatc`,reverseRegex:`gatatc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:`Uba1223I,MthTI,Bpa36I,Bce71I,NgoCII,SagI,Bal3006I,Uba9I,NlaI,Uba1449I,HhgI,Bsu1114I,Uba1336I,Bfi458I,Uba1228I,Bsp23I,Uba1097I,Uba1214I,Tsp266I,TteAI,Uba1210I,Afl83II,BmeU1594I,Uba1322I,Bme46I,Bsp2500I,Csp2I,UbaN8I,MniI,BshAI,BshDI,BshEI,Van91III,BshBI,BshCI,Bsp2013I,HpyF10V,NgoAII,SulI,BsiDI,BsiAI,Uba1169I,NgoNII,Uba1319I,BliI,BsiHI,Uba1392I,Uba1395I,Uba1231I,BsaRI,HpyF72I,Uba1235I,Uba1450I,Bsp1261I,Tsp132I,Uba1230I,FinSI,Tsp281I,Bsp2362I,BssCI,Uba1176I,Uba1175I,Uba1174I,Uba1179I,Uba1388I,Uba1178I,BspLRI,Psp29I,BspBDG2I,Bsu1076I,PaiI,TtnI,Bse126I,Bsp137I,BstJI,HpyF69II,Uba1150I,HpyF63I,Uba1152I,Bal475I,HpyF26II,Uba1153I,Uba1155I,BhaII,Uth557I,Tsp273II,Uba1408I,Uth555I,Bco33I,PpuI,BscQI,Uba1377I,Bme74I,HpyF33II,VniI,BstCI,BluII,AspTIII,Tsp560I,Uba1146I,HpyF57I,Uba1147I,HpyF53I,BseI,Uba1140I,Bsp881I,M.H2I,HpyF73III,Vha1168I,M.Csp68KV,TspZNI,HpyF49IV,Uth549I,BspBSE18I,HpyF42I,UbaN2I,Uba1288I,Uba1209I,Uba1208I,EsaWC1I,HpyF46V,Uba1207I,Asp742I,ClmI,Bse9I,Bsp44II,Uba1429I,BspCHE15I,Uba61I,OchI,NgoSII,Uba1422I,Hpy178VII,Uba1292I,SplIII,Uba1293I,Bsp1593I,MnnII,Bsp226I,BspBake1I,AcaIV,M.NgoGII,Uba1418I,VhaI,Uba54I,BspGHA1I,BspH106II,Psb9879I,Ple214I,NgoTII,AvrBI,HpyF29I`.split(`,`),site:`ggcc`,forwardRegex:`g{2}c{2}`,reverseRegex:`g{2}c{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`ErhB9I`,`Afa16RI`,`XorII`,`NblI`,`Ple19I`,`RshI`,`BpvUI`,`Afa22MI`,`PvuI`,`Psu161I`,`EagBI`,`MvrI`,`BspCI`],site:`cgatcg`,forwardRegex:`cgatcg`,reverseRegex:`cgatcg`,topSnipOffset:4,bottomSnipOffset:2},{aliases:[`BsmRI`,`Ssp4800I`,`Bsp1407I`,`BstAUI`,`BsrGI`,`SspBI`,`AauI`],site:`tgtaca`,forwardRegex:`tgtaca`,reverseRegex:`tgtaca`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`Psp32I`,`Acs1422I`,`Acs1421I`,`BstZ16I`,`Acs1371I`,`Acs1372I`,`Acs1373I`,`CglAII`,`RhpI`,`RheI`,`Psp89I`,`XamI`,`RroI`,`RrhI`,`Uba89I`,`BtgAI`,`Psp33I`,`KoyI`],site:`gtcgac`,forwardRegex:`gtcgac`,reverseRegex:`gtcgac`,topSnipOffset:1,bottomSnipOffset:1},{aliases:`Ecl136I,Scg2I,Bme2095I,Ecl1zII,Bsp56I,Esp2I,Eco70I,Eco71I,Eco206I,Asp2HI,Eco207I,Uba1181I,M.SPRI,Eco67I,Uba1185I,Uba13I,Acc38I,Uba11I,CfrS37I,BsaNI,Uba20I,Bsp44I,Ese6II,SflHK7462I,Cdi27I,Sau16I,Uba1171I,BsiUI,Uba1243I,BsiVI,UbaN16I,Bsp103I,Uba1218I,Eco128I,BspSI,SflHK7234I,SflHK2374I,Eco170I,Cfr11I,Esp24I,M.EcoKDcm,AcuII,EagKI,Cfr5I,Bsp317I,Ecl37kII,EcaII,Uba1118I,Bst7QII,Uba1189I,HhdI,Uba1114I,Uba1193I,SflHK8401I,BstGII,Sfl2bI,Uba1410I,Sfl2aI,Kpn16I,Kpn14I,Cfr35I,Eco38I,Kpn13I,MpsI,Ecl57kI,Cfr31I,Cfr30I,EclII,Uba1120I,Uba1121I,KspHK12I,KspHK14I,Eco256I,Kpn10I,TspAI,Eco254I,BsoGI,Eco193I,Cfr28I,Cfr29I,Uba1125I,MphI,Cfr27I,Cfr25I,Cfr24I,Ecl66I,EclS39I,Uba1428I,Cfr22I,Lla497I,Cfr20I,EspHK7I,Sgr20I,Mlu2300I,BspH43I,EspHK30I,Cfr58I,Kox165I,SflHK2731I,UbaN11II,Eco60I,Ecl54kI,Eco61I,Sth455I,SflHK10790I,SflHK6873I,BinSI,Psp39I,AtuBI,Uba82I,Uba81I,Ecl137II,Eco41I,Eco40I,AtuII,SflHK1794I,Atu1I,Pca17AI,M.Bbu297I,EspHK22I`.split(`,`),site:`ccwgg`,forwardRegex:`c{2}[atw]g{2}`,reverseRegex:`c{2}[atw]g{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SspCI`,`NaeI`,`SauLPI`,`SauSI`,`SauBMKI`,`RrhJ1I`,`SauHPI`,`CcoI`,`PdiI`,`SauNI`,`Slu1777I`],site:`gccggc`,forwardRegex:`gc{2}g{2}c`,reverseRegex:`gc{2}g{2}c`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`AflIV`,`BstMI`,`Uba1158I`,`LlaDI`,`VchO49I`,`NmeSI`,`PinI`,`Asp763I`,`BsoSI`,`Uba1094I`,`BshHI`],site:`agtact`,forwardRegex:`agtact`,reverseRegex:`agtact`,topSnipOffset:1,bottomSnipOffset:1},{aliases:`Eco190I.Uba1280I.Uba1347I.RshII.BspJ67I.Uba1424I.Uba1423I.SflHK11086I.Asp1I.SflHK11087I.BspF105I.SflHK10695I.Uba1372I.Uba1370I.Tmu1I.Uba1378I.Uba1401I.Uba1376I.Uba1389I.Bsp55I.SflHK11572I.HgiS21I.Uba1318I.Pae181I.Eco179I.UbaN11I.Eco121I.Hin3I.Bsp7I.Bsp8I.SflHK115731I.Uba42I.Uba41I.EciDI.Ssp2I`.split(`.`),site:`ccsgg`,forwardRegex:`c{2}[cgs]g{2}`,reverseRegex:`c{2}[cgs]g{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`AgeI`,`CsiAI`,`AsiAI`,`AsiGI`,`PinAI`,`BshTI`,`CspAI`],site:`accggt`,forwardRegex:`ac{2}g{2}t`,reverseRegex:`ac{2}g{2}t`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`BtsI`],site:`gcagtg`,forwardRegex:`gcagtg`,reverseRegex:`cactgc`,topSnipOffset:8,bottomSnipOffset:6,isType2S:!0},{aliases:[`SteI`,`Eco147I`,`StuI`,`PceI`,`AatI`,`SarI`,`Pme55I`,`GdiI`,`Sru30DI`,`SseBI`,`Eco1524I`,`AspMI`],site:`aggcct`,forwardRegex:`ag{2}c{2}t`,reverseRegex:`ag{2}c{2}t`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`HpyF10I`,`HinS1I`,`HinS2I`,`Hin7I`,`BcaI`,`HinGUI`,`Hpy99III`,`Mho2965I`,`Csp1470I`,`MnnIV`,`CcoP95I`,`NgoEII`],site:`gcgc`,forwardRegex:`gcgc`,reverseRegex:`gcgc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BceBI`,`Bsp50I`,`BtkI`,`Bpu95I`,`Csp68KVI`,`BepI`,`MvnI`,`Bsh1236I`,`AccII`,`BstFNI`,`FnuDII`,`FalII`,`FauBII`,`Bsp123I`,`ThaI`,`BstUI`,`BspFNI`,`Bsu1532I`],site:`cgcg`,forwardRegex:`cgcg`,reverseRegex:`cgcg`,topSnipOffset:2,bottomSnipOffset:2},{aliases:[`TspBI`,`BstDSI`,`BtgI`,`DsaI`],site:`ccrygg`,forwardRegex:`c{2}[agr][cty]g{2}`,reverseRegex:`c{2}[agr][cty]g{2}`,topSnipOffset:1,bottomSnipOffset:5},{aliases:`BecAII.BspKI.HaeIII.PlaI.BshFI.BspBRI.BspRI.SuaI.PhoI.Pde133I.SbvI.NgoPII.PalI.PflKI.BteI.SfaI.Bsp211I.DsaII.Bme361I.BsuRI.BshI.BsnI.CltI.NspLKI.MchAII.EsaBC4I.BspANI.FnuDI.BseQI.Bim19II.MfoAI.BanAI.Pru2I`.split(`.`),site:`ggcc`,forwardRegex:`g{2}c{2}`,reverseRegex:`g{2}c{2}`,topSnipOffset:2,bottomSnipOffset:2},{aliases:`CceI,Bsp116I,HpyF43I,Uba1355I,Asp748I,M.Csp68KIV,Uba1128I,Uba1267I,Pme35I,SecII,Uba1141I,Bsp48I,Bsp47I,HpyVIII,BsaZI,FinII,Hin5I,SfaGUI,Msp199I,MniII,Bsu1192I,Uba1338I,Bsp5I,Bsp1591II,BshMI,UbaN13I,Uba1439I`.split(`,`),site:`ccgg`,forwardRegex:`c{2}g{2}`,reverseRegex:`c{2}g{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Cfr10I`,`Bse634I`,`BssAI`,`Bco118I`,`Bse118I`,`BstB7SI`,`BsrFI`],site:`rccggy`,forwardRegex:`[agr]c{2}g{2}[cty]`,reverseRegex:`[agr]c{2}g{2}[cty]`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`BseRI`],isType2S:!0,site:`gaggag`,forwardRegex:`gag{2}ag`,reverseRegex:`ctc{2}tc`,topSnipOffset:16,bottomSnipOffset:14},{aliases:`MmaI.XmaII.XorI.ScoAI.VpaK29AI.XveI.Pph2066I.Asp708I.Bsp43I.Uba1399I.Eco161I.Eco83I.BloHIII.Eco167I.Uba1184I.BsaQI.Pma44I.MkrI.Ali2882I.Uba1232I.Asp36I.Pph2059I.Ecl133I.EaePI.SkaII.Bsp268I.Psp28I.Uba1115I.PmaI.Uba1116I.Ssp12I.Uba1112I.Bth9411I.Uba46I.Bsp17I.Uba1225I.Uba1294II.Uba1296I.PspSI.Ecl1zI.AinI.Uba1337I.Uba1186I.Uba1119I.SriI.UbaHKBI.Uba1213I.Uba1212I.Uba1211I.Uba1328I.Bsp107I.Uba1215I.Uba1216I.Esp141I.NasI.PmyI.PshEI.Pae24I.Pae25I.Pae22I.Ecl593I.Pae26I.Pfl37I.Uba1287I.BbiI.ClcI.Bsp108I.MauI.VchO87I.Bsp81I.BspS122I.VpaK4AI.VpaK4BI.Pae14I.Pae15I.Uba1123I.GseII.Kpn12I.SgiI.Ecl699kI.Ecl77I.Uba1411I.Srl32DI.Bsp93I.Uba1417I.XorKII.Esp5II.Eco260I.Eco261I.Srl2DI.Uba1262I.Pae40I.Pae41I.YenDI.YenEI.YenBI.YenCI.Eco49I.YenAI.BscDI.TspGWII.Eco48I.Msp11I.VpaKutGI.AspTI.Pae39I.BsaNII.Srl1DI.Uba1256I.CauIII.Sal13I.Uba1149I.Bsp78I.Bce170I.Pae9I.Pae8I.Uba72I.Psp46I.Uba71I.BmeBI.SprLI.NgbI.NocI.XphI.MizI`.split(`.`),site:`ctgcag`,forwardRegex:`ctgcag`,reverseRegex:`ctgcag`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Eco32I`,`HpyCI`,`HjaI`,`EcoRV`,`CeqI`,`NsiCI`],site:`gatatc`,forwardRegex:`gatatc`,reverseRegex:`gatatc`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`BspBS31I`,`BbsI`,`Bbv16II`,`BpiI`,`BstV2I`,`BspTS514I`,`BspIS4I`,`BstBS32I`,`Bsc91I`,`BbvII`,`BstTS5I`,`BpuAI`],isType2S:!0,site:`gaagac`,forwardRegex:`ga{2}gac`,reverseRegex:`gtct{2}c`,topSnipOffset:8,bottomSnipOffset:12},{aliases:`BspJ64I,HpyHPK5II,Ssu212I,Ssu211I,R2.Ssu4109I,TrsSI,M.PhaTDam,Uba1204I,Bst1274I,NlaDI,TrsTI,M.Kpn43816Dam,UbaN1I,CtyI,Bth1997I,Bth1786I,AsuMBI,Mel7JI,Ssu220I,NciAI,BfiSHI,M.EcoT2Dam,SauCI,M.Ssp6803Dam,R1.Ssu11318I,SalAI,Bsp122I,SauFI,M.CjeEDam,SauGI,MspBI,SauDI,SauEI,Uba59I,SalHI,Msp67II,NmeAII,Bth1140I,BsmXII,Bth1141I,EsaLHCI,SsuRBI,NsuDI,NgoDXIV,Bsp91I,Bsp61I,Bsp60I,R2.SsuDAT1I,M.SmaII,NsiAI,Bsp65I,Bsp135I,Bsp64I,R1.SsuDAT1I,HpyAIII,Mel5TI,BthCanI,Bsp138I,Mel5OI,Bsp136I,Bsp66I,FtnUIV,BstEIII,Bth211I,Mel5JI,SinMI,M.HinHP1Dam,M.EcoEc67Dam,M.FspVDam,CcoP31I,R2.Ssu4961I,Bth84I,Cte1179I,PfaI,TruII,Uba1259I,Bsp72I,Bsp74I,Bsp147I,FnuAII,Bsp76I,Cte1180I,NflI,CdiCD6II,R1.Ssu4961I,Mel4OI,CcoP95II,Sau6782I,Bth221I,Uba1366I,Bth213I,M.HindDam,CpaPI,Mmu5I,Rlu1I,Bme2494I,BspI,CviHI,NanII,MnoIII,Sau15I,Mel3JI,R1.Ssu8074I,M.YpsADam,TdeI,BsrMI,Uba1317I,Vha44I,Bsp49I,M.HinHP2Dam,M.CviBII,R1.Ssu2479I,MthI,BsrPII,M.VvuDam,Pph288I,LlaDCHI,Tsp133I,Uba1183I,Pei9403I,Uba1182I,SmiMBI,M.StyDam,M.TpaI,M.PmuADam,MjaIII,Bth945I,Mel2TI,BsaPI,BssGII,M.NmaPhiCh1I,BtcI,Btu41I,NmeBL859I,Bsp58I,Bsp59I,M.CjeNIII,Bsp57I,Bsp54I,MmeII,Bsp52I,M.PgiI,Bsp51I,Uba1177I,NspAI,NflBI,Lsp1109II,M.EcoT1Dam,CcoP219I,Mth1047I,LlaKR2I,Cin1467I,CcoP76I,Gst1588II,M.EcoVT2Dam,NmuEI,R2.Ssu8074I,MmuP2I,Bsp18I,NmuDI,R1.Ssu4109I,Btu34I,R2.Ssu2479I,Uba4I,Btu33I,MosI,TrsKTI,Btu39I,Btu36I,M.EcoT4Dam,CjeP338I,M.Sty14028Dam,M.VchK139I,Bsp9I,Btu37I,NsuI,Uba1101I,Csp5I,R2.Ssu11318I,M.EcoP1Dam,M.StyLT2Dam,CcoP84I,Uba1323I,MeuI,M.EcoKDam,BstXII,CpfAI,M.PmuDam,Mph1103II,NflAII,MthAI`.split(`,`),site:`gatc`,forwardRegex:`gatc`,reverseRegex:`gatc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:`SmaAIII.EclJI.Pvu84I.Uba1129I.XorKI.DrdIII.Uba1139I.BmaDI.BmaCI.BmaBI.Cfr51I.RspI.Xgl3220I.Kpl79I.Xgl3216I.BmaI.XniI.Xgl3219I.Xgl3218I.Xgl3217I.PntI.BstZ8I.BmaAI.SplAIII.SpaPII.Cas2I.XmlAI.XmlI`.split(`.`),site:`cgatcg`,forwardRegex:`cgatcg`,reverseRegex:`cgatcg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BthII`,`Bth617I`,`BsrWI`,`BpuFI`,`Ral8I`],site:`ggatc`,forwardRegex:`g{2}atc`,reverseRegex:`gatc{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BfuAI`,`BspMI`,`Acc36I`,`BveI`],isType2S:!0,site:`acctgc`,forwardRegex:`ac{2}tgc`,reverseRegex:`gcag{2}t`,topSnipOffset:10,bottomSnipOffset:14},{aliases:[`Bst2BI`,`BssSI`,`BsiI`,`BauI`],site:`cacgag`,forwardRegex:`cacgag`,reverseRegex:`ctcgtg`,topSnipOffset:1,bottomSnipOffset:5},{aliases:`NmuFI.Afa24RI.ApeAI.RluI.SaoI.AmeII.NasWI.AniMI.NmuI.Srl77DI.Esp5I.NspWI.Smo40529I.SkaI.MisI.PglI.Mlu9273II.NtaSII.NbrI.NbaI.BheI.Psp61I.AprI.SacAI.MauAI.SauAI.SalCI.Uba1122I`.split(`.`),site:`gccggc`,forwardRegex:`gc{2}g{2}c`,reverseRegex:`gc{2}g{2}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:`BthI.DdeII.PflNI.BbiIII.McaI.ScuI.PflWI.Pfl67I.Uba1237I.Uba1397I.SluI.Uba1166I.MecI.Sca1827I.Asp703I.Uba1248I.SdiAI.Sfu1762I.Msp23II.AhyAI.Psp4I.Asp15I.PspNI.Ssp4I.Uba1298I.Uba1448I.CjaI.Uba1335I.Sph1719I.DrdDI.SgoI.MpuI.Bsp92I.Sve194I.BadI.Uba1271I.MhaI.SpaI.Bsp129I.SgaI.AlwFII.Shy1766I.OcoI.AerAI.Uba1130I.BbfI.StaAI.Asp47I.Sgr1841I.Bsp140I.Bsp141I.SrifpI.Bsp142I.MrhI.BsuMI.SciBI.Uba1148I.Sci1831I.Eae2I.MscAI.Sal1974I.Uba1154I.SexI.BstLI.MsiI.BstHI.Bsp139I`.split(`.`),site:`ctcgag`,forwardRegex:`ctcgag`,reverseRegex:`ctcgag`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Uba1382I`,`Uba1415I`],site:`gaatgc`,forwardRegex:`ga{2}tgc`,reverseRegex:`gcat{2}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:`Eco97I.Eco95I.Bli161I.Eco120I.Eco127I.Eco233I.Eco185I.Eco217I.Eco225I.Eco203I.Eco156I.Eco204I.Eco155I.Eco205I.Eco157I.PpaI.Eco162I.Uba1316I.SlbI.Eco129I.Sau12I.Eco51I.Bli49I.Bli5508I.Cfr56I.VpaKutHI.Eco71KI.Eco42I.VpaK57AI.Uba84I.Rle69I.Eco263I.Eco101I.VpaK57I.Uba1343I.Bli576II.Eco191I.Uba65I.Eco239I.Eco246I.Eco247I.Eco240I.Eco241I`.split(`.`),site:`ggtctc`,forwardRegex:`g{2}tctc`,reverseRegex:`gagac{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BmrI`,`BfiI`,`BmuI`],isType2S:!0,site:`actggg`,forwardRegex:`actg{3}`,reverseRegex:`c{3}agt`,topSnipOffset:11,bottomSnipOffset:10},{aliases:[`BstRZ246I`,`MspSWI`,`BstSWI`,`SmiI`,`SwaI`],site:`atttaaat`,forwardRegex:`at{3}a{3}t`,reverseRegex:`at{3}a{3}t`,topSnipOffset:4,bottomSnipOffset:4},{aliases:[`Srl76DI`,`Srl19I`,`Srl61DI`],site:`tttaaa`,forwardRegex:`t{3}a{3}`,reverseRegex:`t{3}a{3}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Tsp32I`,`Tsp32II`,`TaqI`,`PpaAII`,`TthHB8I`],site:`tcga`,forwardRegex:`tcga`,reverseRegex:`tcga`,topSnipOffset:1,bottomSnipOffset:3},{aliases:[`EcoPI`],isType2S:!0,site:`agacc`,forwardRegex:`agac{2}`,reverseRegex:`g{2}tct`,topSnipOffset:30,bottomSnipOffset:32},{aliases:[`OmiBII`,`DsaVI`],site:`gtmkac`,forwardRegex:`gt[acm][gkt]ac`,reverseRegex:`gt[acm][gkt]ac`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BpuSI`,`BspLU11III`,`BstOZ616I`,`BslFI`,`FaqI`,`BsmFI`],isType2S:!0,site:`gggac`,forwardRegex:`g{3}ac`,reverseRegex:`gtc{3}`,topSnipOffset:15,bottomSnipOffset:19},{aliases:`BspJ105I.VpaK13AI.Uba1314I.GspAI.Uba1249I.PolI.VpaK7AI.NspDII.BceSII.MliI.VpaK11DI.AspBII.VpaK11I.NspGI.BtiI.NspKI.VpaK11CI.Uba1304I.Bsp1260I.MfoI.Uba48I.UbaN15I.NmuAII.Uba1438I.Bsp100I.Tsp301I.BspF53I.Uba62I.ClmII.VpaK65I.AspDII.NspHII.Sgh1835I.Uba1131I.CliI.Asp697I.Uba1413I.Nli3877II.Uba1278I.Uba1272I.Bsp128I.NliII.MspAI.Bst4QI.SfnI.Uth554I.Uba1373I.Tru28I.Pfl19I.SinJI.SinHI.SinGI.SinFI.SinEI.SinDI.SinCI.SinBI.SinAI.Bsp133I.Bsp132I.SynI.TruI.Hsp2I.Bsp71I`.split(`.`),site:`ggwcc`,forwardRegex:`g{2}[atw]c{2}`,reverseRegex:`g{2}[atw]c{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`NtaSI`,`Uba1180I`,`SsvI`,`Uba1239I`,`Uba1170I`,`Ppu13I`,`VchO44I`,`ChyI`,`GobAI`,`Uba1217I`,`PluI`,`Uba40I`,`Uba1419I`,`Asp78I`,`Uba1371I`,`Uba1403I`],site:`aggcct`,forwardRegex:`ag{2}c{2}t`,reverseRegex:`ag{2}c{2}t`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BseGI`,`BstF5I`,`BtsCI`],site:`ggatg`,forwardRegex:`g{2}atg`,reverseRegex:`catc{2}`,topSnipOffset:7,bottomSnipOffset:5,isType2S:!0},{aliases:[`AvrII`,`AspA2I`,`XmaJI`,`BlnI`,`AvrBII`,`BspA2I`],site:`cctagg`,forwardRegex:`c{2}tag{2}`,reverseRegex:`c{2}tag{2}`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`BspKT8I`,`SsbI`,`BspLAIII`,`LlaCI`,`BstFI`,`HindIII`,`HsuI`,`BbrI`,`EcoVIII`],site:`aagctt`,forwardRegex:`a{2}gct{2}`,reverseRegex:`a{2}gct{2}`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`NsbI`,`Acc16I`,`PamI`,`Pun14627I`,`MstI`,`AosI`,`FspI`,`AviII`,`FdiII`],site:`tgcgca`,forwardRegex:`tgcgca`,reverseRegex:`tgcgca`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`Ecl136II`,`BpuAmI`,`MxaI`,`Eco53kI`,`EcoICRI`],site:`gagctc`,forwardRegex:`gagctc`,reverseRegex:`gagctc`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`TtmI`,`TspWAM8AI`,`HpyF74II`,`HpyF35II`,`TspIDSI`,`HpyF13III`],site:`acgt`,forwardRegex:`acgt`,reverseRegex:`acgt`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BseZI`,`Ksp632I`,`EarI`,`Eam1104I`,`Bsu6I`,`Bst6I`,`CatHI`,`Bco116I`,`Bco5I`,`BcoKI`],isType2S:!0,site:`ctcttc`,forwardRegex:`ctct{2}c`,reverseRegex:`ga{2}gag`,topSnipOffset:7,bottomSnipOffset:10},{aliases:`Msp24I.BsaSI.HpyF73IV.MjaII.VpaK15I.TdeIII.Sau557I.Sau17I.GseI.Bfi105I.Eco201I.CfrNI.Sau13I.Sau14I.Bse54I.Eco196II.VpaK25I.Uba1164I.NlaDII.Cfr4I.Cfr8I.CdiCD6I.AhaB1I.MthBI.Pph1579I.Pph1773I.Hin5II.Sau32I.VpaK9AI.Sau33I.Uba1099I.NmuSI.SauBI.VchO85I.Sau5I.Cfr33I.Eco39I.Sau2I.ApuI.VchO90I.PspI.Uba1134I.BpsI.Cfr23I.MhoI.PseI.Eco47II.HpyF71II.VpaK19AI.VpaK19BI.SdyI.NmuEII.Cfr52I.Cfr54I.NspLII.VpaKutBI.CdiAI.VpaKutAI.Bsu5044I.HpyF66I.SelAI.Cfr46I.Cfr47I.Cfr45I.Uba1160I.VchO66I.VpaKutJI`.split(`.`),site:`ggncc`,forwardRegex:`g{2}[abcdghkmnrstvwy]c{2}`,reverseRegex:`g{2}[abcdghkmnrstvwy]c{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:`Cpa1150I.PflAI.TmaI.BceRI.FspMI.MvaAI.Uba1446I.Bsu1193I.EsaBS9I.HpyF52II.Bsu1192II.HpyF14I.HpyF15I.Uba1321I.HpyF64IV.SceAI.HpyF26I.BspJ76I.Bce31293I.BsuEII.Hin1056I.Uba1405I.Uba1404I.Bsu6633I.CpaAI.Bsp70I`.split(`.`),site:`cgcg`,forwardRegex:`cgcg`,reverseRegex:`cgcg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`TseI`,`ApeKI`,`AceI`,`Taq52I`,`SuiI`],site:`gcwgc`,forwardRegex:`gc[atw]gc`,reverseRegex:`gc[atw]gc`,topSnipOffset:1,bottomSnipOffset:4},{aliases:[`Asp27HI`,`Asp26HI`,`PctI`,`Asp40HI`,`BsaMI`,`BscCI`,`BsmI`,`BmaHI`,`Mva1269I`,`Asp50HI`,`Asp36HI`,`Asp35HI`],site:`gaatgc`,forwardRegex:`ga{2}tgc`,reverseRegex:`gcat{2}c`,topSnipOffset:7,bottomSnipOffset:5},{aliases:`Uba51I,M.BamHII,Uba1414I,Uba1346I,Bsu8646I,AcaII,SpvI,BamNI,GdoI,UbaN3I,BamKI,Uba1205I,BamFI,BsuB519I,Bst2902I,Rlu4I,Ali12257I,Ali12258I,Uba1250I,RhsI,Psp56I,Uba1258I,Bsp144I,AinII,Bco10278I,Uba88I,Uba1402I,Bca1259I,Bsp90II,Bsp131I,Bsp130I,BstQI,MleI,Uba1383I,Uba1302I,GinI,Uba19I,Bst2464I,Uba1167I,GseIII,Uba1163I,BsaDI,Pac1110I,Bsp46I,Uba1398I,Uba1173I,Uba1242I,Uba1172I,NasBI,UbaN14I,GoxI,AaeI,Uba31I,DdsI,Uba1324I,Bsp30I,Uba1325I,AspTII,Uba38I,AacLI,Pae177I,Uba1098I,BsuB763I,Uba1339I,Uba1297I,Uba1334I,Bst1126I,Uba1224I,Atu1II,Bsu8565I,Bsu90I`.split(`,`),site:`ggatcc`,forwardRegex:`g{2}atc{2}`,reverseRegex:`g{2}atc{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SpaPIII`,`PvuHKUI`,`MziI`,`SciAII`,`SplAIV`,`Sol3335I`,`Bth2350I`,`GspI`,`Uba1245I`,`Uba1227I`,`SmaAIV`,`Psp3I`,`SbaI`,`Psp5I`],site:`cagctg`,forwardRegex:`cagctg`,reverseRegex:`cagctg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:`BspZEI.BscI.Bsa29I.PgaI.BspOVII.ClaI.BseCI.Bli41I.BavCI.BciBI.LplI.SpmI.Ssp27144I.ZhoI.BspDI.BanIII.BsuTUI.BshVI.BspXI.BstNZ169I.Bsu15I.BspJII.AagI.Bsp106I.Bli86I.BliAI.Bst28I.BbvAII.BsiXI.BcmI.BliRI.Bci29I.LcaI.Rme21I.BdiI`.split(`.`),site:`atcgat`,forwardRegex:`atcgat`,reverseRegex:`atcgat`,topSnipOffset:2,bottomSnipOffset:4},{aliases:[`BspJ74I`,`Bco35I`,`Bth1795I`,`Uba1444I`,`Bsp22I`,`Bsp28I`,`Uba1437I`],site:`ctggag`,forwardRegex:`ctg{2}ag`,reverseRegex:`ctc{2}ag`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SolI`,`Bsp98I`,`Bce751I`,`Uba4009I`,`BamHI`,`RspLKII`,`SurI`,`BstI`,`OkrAI`,`ApaCI`,`Nsp29132II`,`BspAAIII`,`CelI`,`AliI`,`AsiI`,`GstI`,`Mlu23I`,`NspSAIV`,`Pfl8I`,`BnaI`,`AccEBI`,`Bsp4009I`],site:`ggatcc`,forwardRegex:`g{2}atc{2}`,reverseRegex:`g{2}atc{2}`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`M.NgoHVIII`,`NgoMVIII`,`NgoJVIII`,`NgoBVIII`,`NgoDVIII`],site:`ggtga`,forwardRegex:`g{2}tga`,reverseRegex:`tcac{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`HpyF13I`,`HpyF1I`,`HpyF4I`,`HpyF6II`,`HpyF9I`,`HpyF31II`,`HpyF49II`,`HpyF51I`,`HpyF34II`,`HpyF48I`,`HpyF62III`,`HpyF40III`,`HpyF25II`,`Hpy99II`,`Hpy8II`,`HpyF35IV`,`HpyF36I`],site:`gtsac`,forwardRegex:`gt[cgs]ac`,reverseRegex:`gt[cgs]ac`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`PsyI`,`BgiI`,`TelI`,`Tth111I`,`AspI`,`PflFI`,`AtsI`],site:`gacnnngtc`,forwardRegex:`gac[abcdghkmnrstvwy]{3}gtc`,reverseRegex:`gac[abcdghkmnrstvwy]{3}gtc`,topSnipOffset:4,bottomSnipOffset:5},{aliases:[`PfaAI`,`AccB1I`,`HgiHI`,`HgiCI`,`BspT107I`,`MspB4I`,`BanI`,`BshNI`,`Eco64I`,`BbvBI`],site:`ggyrcc`,forwardRegex:`g{2}[cty][agr]c{2}`,reverseRegex:`g{2}[cty][agr]c{2}`,topSnipOffset:1,bottomSnipOffset:5},{aliases:`BspMAI.CflI.Psp23I.BspBI.AliAJI.Srl5DI.MhaAI.CfrA4I.Ecl2zI.AjoI.Sag16I.PstI.Sag23I.Ecl37kI.Pfl21I.ApiI.Sst12I.SalPI.CstI.YenI.Bsp63I.BloHII.CfuII.PaePI.SflI.HalII.BsuBI.Asp713I`.split(`.`),site:`ctgcag`,forwardRegex:`ctgcag`,reverseRegex:`ctgcag`,topSnipOffset:5,bottomSnipOffset:1},{aliases:[`SvoI`,`PsuNI`],site:`crccggyg`,forwardRegex:`c[agr]c{2}g{2}[cty]g`,reverseRegex:`c[agr]c{2}g{2}[cty]g`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SphI`,`BbuI`,`PaeI`,`SpaHI`,`RspLKI`,`PfaAIII`],site:`gcatgc`,forwardRegex:`gcatgc`,reverseRegex:`gcatgc`,topSnipOffset:5,bottomSnipOffset:1},{aliases:[`PspN4I`,`BspLI`,`BmiI`,`AspNI`,`BscBI`,`NlaIV`],site:`ggnncc`,forwardRegex:`g{2}[abcdghkmnrstvwy]{2}c{2}`,reverseRegex:`g{2}[abcdghkmnrstvwy]{2}c{2}`,topSnipOffset:3,bottomSnipOffset:3},{aliases:`HpyHPK5I.HpyF32I.HpyF34I.HpyHI.HpyF25I.HpyF27I.HpyF24II.HpyF37I.HpyF13II.HpyF60II.HpyF59I.HpyF68II.HpyF4II.Bpa36II.HpyF67I.HpyF41II.HpyF64V.Bst295I.BscPI.HpyF70I.HpyF5I.HpyF7I.HpyF66II.HpyF6III.HpyF72II.HpyF30II.HpyF11I.HpyF19I.HpyF22II.HpyCH4II.HpyF9II.HpyF21I`.split(`.`),site:`ctnag`,forwardRegex:`ct[abcdghkmnrstvwy]ag`,reverseRegex:`ct[abcdghkmnrstvwy]ag`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`HpyF51II`,`HpyF74I`,`HpyF42II`,`HpyF35III`,`HpyF9III`,`HpyF64II`,`HpyF20I`,`HpyF22I`,`HpyF12I`,`HpyF41I`,`HpyF40I`,`HpyF46I`,`HpyF56I`,`HpyF58I`,`HpyF55I`,`HpyF54I`,`HpyF5II`,`HpyF48II`,`HpyF69I`,`HpyF68I`,`HpyF65I`,`HpyF62I`],site:`acngt`,forwardRegex:`ac[abcdghkmnrstvwy]gt`,reverseRegex:`ac[abcdghkmnrstvwy]gt`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`HpyF15II`,`HpyF17I`,`HpyF64III`,`HpyF50II`,`HpyF61I`,`HpyF11II`,`HpyF27II`,`HpyF12II`,`HpyF46IV`,`Hpy166I`,`HpyF42III`,`HpyF33I`,`HpyF28I`,`HpyF19II`],site:`tcnga`,forwardRegex:`tc[abcdghkmnrstvwy]ga`,reverseRegex:`tc[abcdghkmnrstvwy]ga`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`EclRI`,`TspMI`,`Pac25I`,`XmaCI`,`EaeAI`,`AhyI`,`XmaI`,`Cfr9I`,`PspAI`,`XcyI`],site:`cccggg`,forwardRegex:`c{3}g{3}`,reverseRegex:`c{3}g{3}`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`XapI`,`CfaI`,`FsiI`,`ApoI`,`AcsI`],site:`raatty`,forwardRegex:`[agr]a{2}t{2}[cty]`,reverseRegex:`[agr]a{2}t{2}[cty]`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`SenPI`,`HpyNI`,`Bsp548I`,`LlaMI`,`Eco51II`,`Eco43I`,`BsoI`,`Bsp73I`,`Eco200I`,`Eco85I`,`BsaCI`,`Eco80I`,`Uba17I`,`Uba1391I`,`Eco153I`,`Bsp53I`,`Eco93I`],site:`ccngg`,forwardRegex:`c{2}[abcdghkmnrstvwy]g{2}`,reverseRegex:`c{2}[abcdghkmnrstvwy]g{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Tsp49I`,`TaiI`,`TscI`],site:`acgt`,forwardRegex:`acgt`,reverseRegex:`acgt`,topSnipOffset:4,bottomSnipOffset:0},{aliases:[`DraII`,`EcoO109I`],site:`rggnccy`,forwardRegex:`[agr]g{2}[abcdghkmnrstvwy]c{2}[cty]`,reverseRegex:`[agr]g{2}[abcdghkmnrstvwy]c{2}[cty]`,topSnipOffset:2,bottomSnipOffset:5},{aliases:`Ssp34I.AcaI.Bsp151I.Uba1452I.Ssp48I.Ssp47I.BpuHI.NspJI.Uba1385I.Rma376I.NspFI.Ssp45I.NspBI.Ssp42I.Ssp43I.Ssp14I.Psc27I.Psc28I.BspH22I.Afl83I.Bsp101I.Ssp152I.Bsp102I.Bsp104I.Mva16I.Bsp241I.Rma523I.Bsp82I.Sgr1839I.OspI.Bsp90I.AviI.BspH106I.BspH103I.Bsp148I.Nsp29132I`.split(`.`),site:`ttcgaa`,forwardRegex:`t{2}cga{2}`,reverseRegex:`t{2}cga{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`CjuII`],site:`caynnnnnctc`,forwardRegex:`ca[cty][abcdghkmnrstvwy]{5}ctc`,reverseRegex:`gag[abcdghkmnrstvwy]{5}[agr]tg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`UbaN6II`,`BstNSII`,`Bst7QI`,`AspDI`,`AspBI`,`AvrI`,`EspHK29I`,`NspDI`,`NspEI`,`AcrI`,`Uba1205II`,`Gst1588I`,`BstZ4I`,`Uba1436I`,`BstBAII`,`Umi5I`,`NliI`,`NmuAI`,`Uba1440I`],site:`cycgrg`,forwardRegex:`c[cty]cg[agr]g`,reverseRegex:`c[cty]cg[agr]g`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`AdeI`,`DraIII`,`BstIZ316I`],site:`cacnnngtg`,forwardRegex:`cac[abcdghkmnrstvwy]{3}gtg`,reverseRegex:`cac[abcdghkmnrstvwy]{3}gtg`,topSnipOffset:6,bottomSnipOffset:3},{aliases:[`Uba153AI`,`BavAI`,`BavBI`,`BspO4I`,`BamGI`,`BavI`,`EclI`,`Pvu84II`,`BspM39I`,`UbaM39I`,`NmeRI`,`PvuII`,`DmaI`,`Bsp153AI`,`Pun14627II`,`Cfr6I`,`Pae17kI`],site:`cagctg`,forwardRegex:`cagctg`,reverseRegex:`cagctg`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`Ava458I`,`Cfr38I`,`Cfr39I`,`KspHK15I`,`Cfr40I`,`EspHK24I`,`Cfr55I`,`EcoHAI`,`Cfr59I`,`Eco164I`,`EspHK16I`,`Uba1188I`,`EciBI`,`Eco90I`,`Uba1327I`,`Cfr14I`,`Uba36I`],site:`yggccr`,forwardRegex:`[cty]g{2}c{2}[agr]`,reverseRegex:`[cty]g{2}c{2}[agr]`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`MchAI`,`CspBI`,`NotI`,`CsiBI`,`CciNI`],site:`gcggccgc`,forwardRegex:`gcg{2}c{2}gc`,reverseRegex:`gcg{2}c{2}gc`,topSnipOffset:2,bottomSnipOffset:6},{aliases:[`BscKI`,`Rtr20I`,`BspVI`,`Bco102II`,`BsaVI`],site:`gaagac`,forwardRegex:`ga{2}gac`,reverseRegex:`gtct{2}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:`AspMDI.BfuCI.NlaII.HacI.CcyI.FnuEI.FnuCI.NdeII.RalF40I.BstMBI.Sth368I.SauMI.Kzo9I.MgoI.MboI.NphI.Bsp67I.BscFI.LlaAI.Bsp143I.DpnII.CviAI.Bme12I.PbrTI.CpfI.NmeCI.SsiBI.SsiAI.Bfi57I.Bst19II.BstENII.BssMI.MkrAI.BspAI.BspFI.BtkII.BspJI.CacI.Bsp2095I.BspKMI.Sau3AI.Bce243I.Bsp105I`.split(`.`),site:`gatc`,forwardRegex:`gatc`,reverseRegex:`gatc`,topSnipOffset:0,bottomSnipOffset:4},{aliases:[`EcoprrI`],site:`ccannnnnnnrtgc`,forwardRegex:`c{2}a[abcdghkmnrstvwy]{7}[agr]tgc`,reverseRegex:`gca[cty][abcdghkmnrstvwy]{7}tg{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:`Cfr48I.Ese4I.BscMI.Uba1409I.Eco262I.Uba1159I.Uba1264I.Uba1263I.Uba1363I.Uba1142I.Uba1357I.Uba1421I.Eco26I.Eco25I.Bsp117I.Uba1206I.Eco249I.Eco35I.Uba57I.Uba1124I.OmiAI.OmiBI.Eco113I.Eco215I.Eco216I.Eco180I.Uba1330I.EcoT88I.Uba1329I.Ppu20I.Eco232I.Uba39I.BstZ7I.Uba1307I.EcoT95I.EcoT93I.Eco68I.Psp31I.Eco211I`.split(`.`),site:`grgcyc`,forwardRegex:`g[agr]gc[cty]c`,reverseRegex:`g[agr]gc[cty]c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`PaeR7I`,`PanI`,`BluI`,`BssHI`,`TliI`,`Sol10179I`,`StrI`,`SauLPII`,`SlaI`,`AbrI`,`Sfr274I`,`EscI`,`Sbi68I`,`Sau3239I`,`MavI`,`CcrI`,`BspAAI`,`MlaAI`,`XpaI`,`BstVI`,`XhoI`],site:`ctcgag`,forwardRegex:`ctcgag`,reverseRegex:`ctcgag`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`MchI`,`Mly113I`,`NarI`,`NunII`,`SseAI`,`NdaI`],site:`ggcgcc`,forwardRegex:`g{2}cgc{2}`,reverseRegex:`g{2}cgc{2}`,topSnipOffset:2,bottomSnipOffset:4},{aliases:[`EgeI`,`Eco78I`,`DinI`,`SfoI`,`EheI`],site:`ggcgcc`,forwardRegex:`g{2}cgc{2}`,reverseRegex:`g{2}cgc{2}`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`M.AtuCI`,`HpyF72III`,`HpyF38I`,`HpyF44I`,`HpyAIV`,`M.BabI`,`HpyF55II`,`HpyF2II`,`HpyIV`,`NcaI`,`NsiHI`,`HpyF60I`,`CviEI`,`CviFI`,`CviCI`,`M.SmeI`,`CviDI`,`CviGI`,`HpyF10II`,`HpyF71III`,`Hpy87AI`,`HpyF18I`,`NovII`],site:`gantc`,forwardRegex:`ga[abcdghkmnrstvwy]tc`,reverseRegex:`ga[abcdghkmnrstvwy]tc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Bsp6I`,`SatI`,`Uur960I`,`ItaI`,`Fsp4HI`,`Fnu4HI`,`BisI`,`FbrI`,`GluI`,`BsoFI`],site:`gcngc`,forwardRegex:`gc[abcdghkmnrstvwy]gc`,reverseRegex:`gc[abcdghkmnrstvwy]gc`,topSnipOffset:2,bottomSnipOffset:3},{aliases:[`BsoDI`,`Tsp504I`,`TauII`],site:`cggccg`,forwardRegex:`cg{2}c{2}g`,reverseRegex:`cg{2}c{2}g`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Hpy178II`,`TceI`,`HpyAII`,`HpyII`],site:`gaaga`,forwardRegex:`ga{2}ga`,reverseRegex:`tct{2}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`PfeI`,`TfiI`],site:`gawtc`,forwardRegex:`ga[atw]tc`,reverseRegex:`ga[atw]tc`,topSnipOffset:1,bottomSnipOffset:4},{aliases:[`NspIII`,`BsoBI`,`AvaI`,`PunAI`,`NspSAI`,`BstSI`,`BcoI`,`BmeT110I`,`PlaAI`,`Bse15I`,`OfoI`,`AquI`,`Eco88I`,`BspLU4I`,`Ama87I`,`Eco27kI`,`BsiHKCI`],site:`cycgrg`,forwardRegex:`c[cty]cg[agr]g`,reverseRegex:`c[cty]cg[agr]g`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`SdeAI`],site:`cagrag`,forwardRegex:`cag[agr]ag`,reverseRegex:`ct[cty]ctg`,topSnipOffset:27,bottomSnipOffset:25,isType2S:!0},{aliases:[`BcoDI`,`BsoMAI`,`BsmAI`,`Alw26I`,`BstMAI`],site:`gtctc`,forwardRegex:`gtctc`,reverseRegex:`gagac`,topSnipOffset:6,bottomSnipOffset:10,isType2S:!0},{aliases:[`SauHI`,`Uba1294I`,`BseG73I`,`Uba1184II`,`PxyMZI`,`AsuSAI`,`SecIII`,`Bli643I`,`Eco76I`,`Bst29I`,`Eco110kI`,`BstZ6I`,`Eco118I`,`Bst30I`,`EciCI`,`Eco115I`,`Uba1333I`,`Uba1332I`],site:`cctnagg`,forwardRegex:`c{2}t[abcdghkmnrstvwy]ag{2}`,reverseRegex:`c{2}t[abcdghkmnrstvwy]ag{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`HpyF44IV`,`HpyCH4VI`,`HpyF16II`,`HpyF22III`,`HpyF19III`,`HpyNSH57II`],site:`tcnnga`,forwardRegex:`tc[abcdghkmnrstvwy]{2}ga`,reverseRegex:`tc[abcdghkmnrstvwy]{2}ga`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`OtuI`,`MarI`,`OtuNI`,`Uba1433I`,`Uba1441I`,`Mho2111I`,`BsaLI`,`OxaI`],site:`agct`,forwardRegex:`agct`,reverseRegex:`agct`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BfoI`,`Bsp143II`,`BstH2I`,`AccB2I`,`HaeII`],site:`rgcgcy`,forwardRegex:`[agr]gcgc[cty]`,reverseRegex:`[agr]gcgc[cty]`,topSnipOffset:5,bottomSnipOffset:1},{aliases:[`Eco57I`,`BspKT5I`,`AcuI`],site:`ctgaag`,forwardRegex:`ctga{2}g`,reverseRegex:`ct{2}cag`,topSnipOffset:22,bottomSnipOffset:20,isType2S:!0},{aliases:[`Uba1276I`,`TdeII`,`VpaO5I`,`Bst158I`,`UbaN7I`,`BcrAI`,`VpaKutEI`,`VpaKutFI`,`BsrEI`,`Uba1192I`,`BcoSI`],site:`ctcttc`,forwardRegex:`ctct{2}c`,reverseRegex:`ga{2}gag`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SsoII`,`StyD4I`,`BstSCI`,`Eco137kI`,`Ecl18kI`,`BstMZ611I`,`Eco13kI`,`BssKI`,`DsaV`,`Eco21kI`,`Kpn2kI`],site:`ccngg`,forwardRegex:`c{2}[abcdghkmnrstvwy]g{2}`,reverseRegex:`c{2}[abcdghkmnrstvwy]g{2}`,topSnipOffset:0,bottomSnipOffset:5},{aliases:[`BsmXI`,`BsmDI`,`BsmCI`],site:`acnnnnnctcc`,forwardRegex:`ac[abcdghkmnrstvwy]{5}ctc{2}`,reverseRegex:`g{2}ag[abcdghkmnrstvwy]{5}gt`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Uba1426I`,`Uba1420I`,`TrsTII`,`Uba1374I`,`BscLI`,`Uba1266I`,`VfiI`,`BsaFI`,`Uba1313I`,`Uba1312I`,`Uba1299I`,`Uba1331I`,`Uba1443I`,`Cfr92I`],site:`cttaag`,forwardRegex:`ct{2}a{2}g`,reverseRegex:`ct{2}a{2}g`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`EcaI`,`BstEII`,`AspAI`,`Eci125I`,`BstT9I`,`Bse64I`,`AcrII`,`BstPI`,`BseT9I`,`NspSAII`,`BsiKI`,`EcoO128I`,`BstT10I`,`Eco91I`,`BseT10I`,`EcoO65I`,`PspEI`],site:`ggtnacc`,forwardRegex:`g{2}t[abcdghkmnrstvwy]ac{2}`,reverseRegex:`g{2}t[abcdghkmnrstvwy]ac{2}`,topSnipOffset:1,bottomSnipOffset:6},{aliases:[`HpyAV`,`Hin4II`],site:`ccttc`,forwardRegex:`c{2}t{2}c`,reverseRegex:`ga{2}g{2}`,topSnipOffset:11,bottomSnipOffset:10,isType2S:!0},{aliases:[`BseII`,`BsaKI`,`Uba1408II`,`MwhI`],site:`gttaac`,forwardRegex:`gt{2}a{2}c`,reverseRegex:`gt{2}a{2}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Sse8387I`,`SdaI`,`SbfI`],site:`cctgcagg`,forwardRegex:`c{2}tgcag{2}`,reverseRegex:`c{2}tgcag{2}`,topSnipOffset:6,bottomSnipOffset:2},{aliases:`SacII.CscI.SpuI.PaeAI.GceI.SchZI.SstII.Cfr42I.PaeQI.Eae46I.Pae14kI.RaqI.Mpr154I.GalI.NgoAIII.GceGLI.Eco29kI.Sfr303I.Pae5kI.NgoPIII.SenPT14bI.SgrBI.KspI.SexBI.SexCI.Kpn378I`.split(`.`),site:`ccgcgg`,forwardRegex:`c{2}gcg{2}`,reverseRegex:`c{2}gcg{2}`,topSnipOffset:4,bottomSnipOffset:2},{aliases:[`BpuNI`,`FinI`,`BscWI`],site:`gggac`,forwardRegex:`g{3}ac`,reverseRegex:`gtc{3}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Uba1431I`,`SseI`,`Umi7I`,`Uba1447I`,`PovI`,`CpeI`,`BceDI`,`BmeTI`,`Bco102I`,`AtuSI`,`M.TaeII`,`Bst77I`,`BstKI`,`BstGI`,`SstIV`,`Uba1282I`,`CthI`,`Uba1283I`,`BstZ10II`],site:`tgatca`,forwardRegex:`tgatca`,reverseRegex:`tgatca`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`MaeIII`],site:`gtnac`,forwardRegex:`gt[abcdghkmnrstvwy]ac`,reverseRegex:`gt[abcdghkmnrstvwy]ac`,topSnipOffset:0,bottomSnipOffset:5},{aliases:[`Eco646I`,`Eco1341I`,`Eco1413I`,`Eco1432I`,`Eco1424I`,`Eco1422I`,`Eco1383I`],site:`ccannnnnnncttc`,forwardRegex:`c{2}a[abcdghkmnrstvwy]{7}ct{2}c`,reverseRegex:`ga{2}g[abcdghkmnrstvwy]{7}tg{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:`MvaI.Bst1I.Bst2I.BsiLI.CthII.Sth302I.BshGI.BspNI.TaqXI.Bse17I.Bse16I.Bst2UI.Bse24I.Bst38I.SslI.BciBII.AglI.BthDI.BthEI.ApyI.ZanI.CbrI.BstM6I.BptI.AorI.ApaORI.BseBI.Fsp1604I.AeuI.Sth117I.SniI.Bst100I.BstOI.BstNI`.split(`.`),site:`ccwgg`,forwardRegex:`c{2}[atw]g{2}`,reverseRegex:`c{2}[atw]g{2}`,topSnipOffset:2,bottomSnipOffset:3},{aliases:[`Bco27I`,`CboI`,`MspI`,`BsuFI`,`BsiSI`,`Pde137I`,`HpaII`,`Sth134I`,`Hin2I`,`Bst40I`,`HapII`,`MnoI`],site:`ccgg`,forwardRegex:`c{2}g{2}`,reverseRegex:`c{2}g{2}`,topSnipOffset:1,bottomSnipOffset:3},{aliases:[`Uba1368I`,`Uba1156I`,`Uba1157I`,`Uba1202I`,`EciEI`,`Psp30I`,`Uba1165I`,`Uba1241I`],site:`gggccc`,forwardRegex:`g{3}c{3}`,reverseRegex:`g{3}c{3}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SduI`,`BsoCI`,`BspLS2I`,`MhlI`,`Bsp1286I`,`BmyI`,`NspII`,`AocII`],site:`gdgchc`,forwardRegex:`g[adgkrtw]gc[achmtwy]c`,reverseRegex:`g[adgkrtw]gc[achmtwy]c`,topSnipOffset:5,bottomSnipOffset:1},{aliases:[`KspAI`,`BstEZ359I`,`BstHPI`,`SsrI`,`HpaI`],site:`gttaac`,forwardRegex:`gt{2}a{2}c`,reverseRegex:`gt{2}a{2}c`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`SfiI`,`SdiI`],site:`ggccnnnnnggcc`,forwardRegex:`g{2}c{2}[abcdghkmnrstvwy]{5}g{2}c{2}`,reverseRegex:`g{2}c{2}[abcdghkmnrstvwy]{5}g{2}c{2}`,topSnipOffset:8,bottomSnipOffset:5},{aliases:[`LlaG2I`,`NheI`,`PstNHI`,`AsuNHI`],site:`gctagc`,forwardRegex:`gctagc`,reverseRegex:`gctagc`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`AluBI`,`AluI`,`MltI`],site:`agct`,forwardRegex:`agct`,reverseRegex:`agct`,topSnipOffset:2,bottomSnipOffset:2},{aliases:[`HpyF49V`,`HpyF36III`,`M.CviSI`,`HpyF48III`,`HpyJP26I`,`HpyF38II`,`HpyF45II`,`HpyF67II`,`Hpy26I`],site:`tgca`,forwardRegex:`tgca`,reverseRegex:`tgca`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`DraRI`],site:`caagnac`,forwardRegex:`ca{2}g[abcdghkmnrstvwy]ac`,reverseRegex:`gt[abcdghkmnrstvwy]ct{2}g`,topSnipOffset:27,bottomSnipOffset:25,isType2S:!0},{aliases:[`Eco1265I`,`Eco1441I`,`Eco1443I`,`Eco1447I`,`Eco1158I`,`Eco14444I`,`EcoBI`],site:`tgannnnnnnntgct`,forwardRegex:`tga[abcdghkmnrstvwy]{8}tgct`,reverseRegex:`agca[abcdghkmnrstvwy]{8}tca`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BbeAI`,`PmnI`,`McaAI`,`NamI`,`PatAI`,`MsaI`],site:`ggcgcc`,forwardRegex:`g{2}cgc{2}`,reverseRegex:`g{2}cgc{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BstC8I`,`Cac8I`],site:`gcnngc`,forwardRegex:`gc[abcdghkmnrstvwy]{2}gc`,reverseRegex:`gc[abcdghkmnrstvwy]{2}gc`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`EsaBC3I`],site:`tcga`,forwardRegex:`tcga`,reverseRegex:`tcga`,topSnipOffset:2,bottomSnipOffset:2},{aliases:[`Pfr12I`,`AmeI`,`Bsp146I`,`Uba1203I`,`Pfl23I`,`PliI`,`AaqI`,`DaqI`,`ScoNI`,`Uba1387I`],site:`gtgcac`,forwardRegex:`gtgcac`,reverseRegex:`gtgcac`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`AccIII`,`PinBII`,`CauB3I`,`MroI`,`Aor13HI`,`BseAI`,`Bsp13I`,`Kpn2I`,`PtaI`,`BspEI`,`Bsu23I`,`BsiMI`,`BlfI`,`BbvAIII`,`BspMII`],site:`tccgga`,forwardRegex:`tc{2}g{2}a`,reverseRegex:`tc{2}g{2}a`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`Eco1342I`,`Eco1344I`,`EcoKI`,`Eco1394I`],site:`aacnnnnnngtgc`,forwardRegex:`a{2}c[abcdghkmnrstvwy]{6}gtgc`,reverseRegex:`gcac[abcdghkmnrstvwy]{6}gt{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`NgoJI`,`NgoGI`,`NgoMI`,`HinHI`,`NgoAI`,`NgoBI`,`M.NgoEI`,`NgoCI`,`NgoWI`,`Bst16I`,`Btu34II`,`Bst1473II`,`BsmHI`],site:`rgcgcy`,forwardRegex:`[agr]gcgc[cty]`,reverseRegex:`[agr]gcgc[cty]`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`MboII`,`NcuI`],site:`gaaga`,forwardRegex:`ga{2}ga`,reverseRegex:`tct{2}c`,topSnipOffset:13,bottomSnipOffset:12,isType2S:!0},{aliases:`Eco188I.Eco98I.Uba1435I.Hin5III.Uba1219I.UbaN17I.SpaPIV.Eco231I.BstZ1II.Csp231I.Eco65I.HinbIII.ChuEI.Asp52I.Asp3065I.Uba83I.HinfII.MkiI.HinJCII.BsmGII.Hin1076III.HinSAFI.Hin173I.Uba1164II.BseHI.BbrAI.Bst170II.BpeI.Cfr32I`.split(`.`),site:`aagctt`,forwardRegex:`a{2}gct{2}`,reverseRegex:`a{2}gct{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`StsI`],site:`ggatg`,forwardRegex:`g{2}atg`,reverseRegex:`catc{2}`,topSnipOffset:15,bottomSnipOffset:19,isType2S:!0},{aliases:[`BstZ2I`,`Uba1191I`,`Uba1190I`],site:`gacnnnnngtc`,forwardRegex:`gac[abcdghkmnrstvwy]{5}gtc`,reverseRegex:`gac[abcdghkmnrstvwy]{5}gtc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Hin6I`,`HinP1I`,`HsoI`,`HspAI`,`SciNI`,`BbtI`],site:`gcgc`,forwardRegex:`gcgc`,reverseRegex:`gcgc`,topSnipOffset:1,bottomSnipOffset:3},{aliases:[`PmdI`],site:`cctcagc`,forwardRegex:`c{2}tcagc`,reverseRegex:`gctgag{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BcefI`],site:`acggc`,forwardRegex:`acg{2}c`,reverseRegex:`gc{2}gt`,topSnipOffset:17,bottomSnipOffset:18,isType2S:!0},{aliases:[`Eco52I`,`BstZI`,`EagI`,`XmaIII`,`BseX3I`,`EclXI`,`AaaI`,`SenPT16I`],site:`cggccg`,forwardRegex:`cg{2}c{2}g`,reverseRegex:`cg{2}c{2}g`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`BsaJI`,`SecI`,`BssECI`,`BseDI`],site:`ccnngg`,forwardRegex:`c{2}[abcdghkmnrstvwy]{2}g{2}`,reverseRegex:`c{2}[abcdghkmnrstvwy]{2}g{2}`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`CciI`,`RspXI`,`BspHI`,`PagI`,`RcaI`],site:`tcatga`,forwardRegex:`tcatga`,reverseRegex:`tcatga`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`FseI`,`RigI`],site:`ggccggcc`,forwardRegex:`g{2}c{2}g{2}c{2}`,reverseRegex:`g{2}c{2}g{2}c{2}`,topSnipOffset:6,bottomSnipOffset:2},{aliases:[`BstMWI`,`HpyF10VI`,`Bce4I`,`BceCI`,`BspWI`,`MwoI`],site:`gcnnnnnnngc`,forwardRegex:`gc[abcdghkmnrstvwy]{7}gc`,reverseRegex:`gc[abcdghkmnrstvwy]{7}gc`,topSnipOffset:7,bottomSnipOffset:4},{aliases:[`HpyF10III`,`Uba1442I`,`HpyF67IV`,`BstZ10I`,`BsoKI`,`HpyF61II`,`Hpy99IV`],site:`ccnngg`,forwardRegex:`c{2}[abcdghkmnrstvwy]{2}g{2}`,reverseRegex:`c{2}[abcdghkmnrstvwy]{2}g{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Aor51HI`,`FunI`,`Eco47III`,`AitI`,`AfeI`],site:`agcgct`,forwardRegex:`agcgct`,reverseRegex:`agcgct`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`MlyI`,`SchI`],site:`gagtc`,forwardRegex:`gagtc`,reverseRegex:`gactc`,topSnipOffset:10,bottomSnipOffset:10,isType2S:!0},{aliases:[`BseB631I`,`VanI`,`Bpu86I`,`Tsp219I`,`BsoJI`],site:`gccnnnnnggc`,forwardRegex:`gc{2}[abcdghkmnrstvwy]{5}g{2}c`,reverseRegex:`gc{2}[abcdghkmnrstvwy]{5}g{2}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Bsp120I`,`PspOMI`],site:`gggccc`,forwardRegex:`g{3}c{3}`,reverseRegex:`g{3}c{3}`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`Csp6I`,`RsaNI`,`CviRII`,`CviQI`],site:`gtac`,forwardRegex:`gtac`,reverseRegex:`gtac`,topSnipOffset:1,bottomSnipOffset:3},{aliases:[`M.Phi3TI`,`Cac824I`,`Bpu1811I`,`M.NgoBXII`,`M.Rho11sI`,`CcoP216I`,`CcoP215I`,`Bli1904II`,`BssFI`,`BssXI`,`M.SPBetaI`,`LlaDII`],site:`gcngc`,forwardRegex:`gc[abcdghkmnrstvwy]gc`,reverseRegex:`gc[abcdghkmnrstvwy]gc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`AflII`,`MspCI`,`Vha464I`,`Bst98I`,`BstAFI`,`Esp4I`,`BstPZ740I`,`BfrI`,`BspTI`],site:`cttaag`,forwardRegex:`ct{2}a{2}g`,reverseRegex:`ct{2}a{2}g`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`BthCI`],site:`gcngc`,forwardRegex:`gc[abcdghkmnrstvwy]gc`,reverseRegex:`gc[abcdghkmnrstvwy]gc`,topSnipOffset:4,bottomSnipOffset:1},{aliases:`TfiTok6A1I,TspAK13D21I,TspVil3I,M.Rho11sII,Hpy26II,HpyF65II,TflI,HpyF16I,TfiTok4A2I,HpyF23I,HpyV,Tsp358I,HpyF71I,HpyF73II,TfiA3I,HpyF26III,TspAK16D24I,Tsc4aI,HpyF42IV,HpyF66IV,TspVi4AI,M.CviBIII,TthRQI,Tbr51I,HpyF52I,HpyF49I,Tth24I,M.Phi3TII,HpyF64I,CviSIII,HpyF40II,Taq20I,Tsp505I,HpyF35I,HpyF62II,HpyJP26II,HpyF30I,HpyF24I,HpyF59III,TspNI,Tsp510I,HpyF45I,HpyF14III`.split(`,`),site:`tcga`,forwardRegex:`tcga`,reverseRegex:`tcga`,topSnipOffset:1,bottomSnipOffset:1},{aliases:`SthNI.SthBI.SthCI.SthDI.SthEI.SthAI.SthJI.SthKI.SthLI.SthMI.SthFI.SthGI.SthHI.Uba1201I.Uba76I.Uba86I.Uba85I.Uba87I.NmiI.KpnK14I.Eco149I.MvsAI.MvsDI.MvsEI.MvsBI.MvsCI.BspJ106I.Sau10I.Esp19I.MvsI`.split(`.`),site:`ggtacc`,forwardRegex:`g{2}tac{2}`,reverseRegex:`g{2}tac{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`M.NgoBIX`],site:`gtannnnnctc`,forwardRegex:`gta[abcdghkmnrstvwy]{5}ctc`,reverseRegex:`gag[abcdghkmnrstvwy]{5}tac`,topSnipOffset:1,bottomSnipOffset:1},{aliases:`Asp29HI.HpyF65III.HpyF21II.HpyF59II.Hpy303I.HpyF10IV.HpyF66III.Hpy471I.Hpy423I.Hpy421I.HpyHII.Asp18HI.CcoP73I.HpyNSH57I.Hpy312I.HpyF53II.Asp17HI.HpyF44V.Hpy401I.HpyF13IV.HpyF31I.HpyF36II.Asp16HI.HpyF52III.Hpy501I.MjaV`.split(`.`),site:`gtac`,forwardRegex:`gtac`,reverseRegex:`gtac`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Bsp19I`,`NcoI`],site:`ccatgg`,forwardRegex:`c{2}atg{2}`,reverseRegex:`c{2}atg{2}`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`Psp1406I`,`AclI`],site:`aacgtt`,forwardRegex:`a{2}cgt{2}`,reverseRegex:`a{2}cgt{2}`,topSnipOffset:2,bottomSnipOffset:4},{aliases:[`Uba1432I`,`Asp17I`,`Asp8HI`,`AitII`,`AitAI`,`BpuGI`,`Asp21HI`,`Asp22I`,`Asp1HI`,`Asp14HI`,`BscSI`,`Asp6HI`],site:`rgatcy`,forwardRegex:`[agr]gatc[cty]`,reverseRegex:`[agr]gatc[cty]`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`RpaB5I`],site:`cgrggac`,forwardRegex:`cg[agr]g{2}ac`,reverseRegex:`gtc{2}[cty]cg`,topSnipOffset:27,bottomSnipOffset:25,isType2S:!0},{aliases:[`LweI`,`SfaNI`,`BspST5I`,`BmsI`,`PhaI`],site:`gcatc`,forwardRegex:`gcatc`,reverseRegex:`gatgc`,topSnipOffset:10,bottomSnipOffset:14,isType2S:!0},{aliases:[`EcoA4I`,`BspTNI`,`EcoO44I`,`Bso31I`,`BsaI`,`Eco31I`,`Bli736I`],isType2S:!0,site:`ggtctc`,forwardRegex:`g{2}tctc`,reverseRegex:`gagac{2}`,topSnipOffset:7,bottomSnipOffset:11},{aliases:[`Asi256I`],site:`gatc`,forwardRegex:`gatc`,reverseRegex:`gatc`,topSnipOffset:1,bottomSnipOffset:3},{aliases:[`Uba1362I`,`TseAI`,`Bka1125I`,`HpyF36IV`,`HpyF47I`,`Mlu40I`,`BstZ15I`],site:`gdgchc`,forwardRegex:`g[adgkrtw]gc[achmtwy]c`,reverseRegex:`g[adgkrtw]gc[achmtwy]c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Ppu21I`,`BsaAI`,`PsuAI`,`BstBAI`,`MspYI`],site:`yacgtr`,forwardRegex:`[cty]acgt[agr]`,reverseRegex:`[cty]acgt[agr]`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`Vsp2246I`,`Eco50I`,`Uba1127I`,`Eco195I`,`Bme05I`,`Eco173I`,`SspM1III`,`Eco171I`,`Esp25I`,`Esp22I`,`Esp21I`,`Esp15I`,`Esp9I`,`Esp14I`,`Esp13I`,`Esp12I`,`Esp11I`,`Esp10I`,`Esp1I`,`Esp6I`,`Pph14I`,`Eco169I`,`Eco168I`],site:`ggyrcc`,forwardRegex:`g{2}[cty][agr]c{2}`,reverseRegex:`g{2}[cty][agr]c{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Mlu1106I`],site:`rggwccy`,forwardRegex:`[agr]g{2}[atw]c{2}[cty]`,reverseRegex:`[agr]g{2}[atw]c{2}[cty]`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Bst22I`,`BsiYI`,`BflI`,`Bsc107I`,`BseLI`,`AfiI`,`BslI`,`Bsc4I`],site:`ccnnnnnnngg`,forwardRegex:`c{2}[abcdghkmnrstvwy]{7}g{2}`,reverseRegex:`c{2}[abcdghkmnrstvwy]{7}g{2}`,topSnipOffset:7,bottomSnipOffset:4},{aliases:[`BstD102I`,`BsrBI`,`MbiI`,`AccBSI`,`Bst31NI`],site:`ccgctc`,forwardRegex:`c{2}gctc`,reverseRegex:`gagcg{2}`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`BsrXI`,`Msp23I`,`BspLU11II`],site:`tctaga`,forwardRegex:`tctaga`,reverseRegex:`tctaga`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`AclNI`,`BcuI`,`SpeI`,`AhlI`],site:`actagt`,forwardRegex:`actagt`,reverseRegex:`actagt`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`PunAII`,`AvoI`,`PauAI`,`NspHI`,`BstNSI`,`NspI`,`XceI`],site:`rcatgy`,forwardRegex:`[agr]catg[cty]`,reverseRegex:`[agr]catg[cty]`,topSnipOffset:5,bottomSnipOffset:1},{aliases:[`MscI`,`BalI`,`MluNI`,`MlsI`,`Mlu31I`,`Msp20I`],site:`tggcca`,forwardRegex:`tg{2}c{2}a`,reverseRegex:`tg{2}c{2}a`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`BmgI`],site:`gkgccc`,forwardRegex:`g[gkt]gc{3}`,reverseRegex:`g{3}c[acm]c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BglII`,`NcrI`,`Pae2kI`,`Pae18kI`,`NspMACI`],site:`agatct`,forwardRegex:`agatct`,reverseRegex:`agatct`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`FatII`,`M.CviSII`,`Hin8II`],site:`catg`,forwardRegex:`catg`,reverseRegex:`catg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`CglI`,`NgoFVII`],site:`gcsgc`,forwardRegex:`gc[cgs]gc`,reverseRegex:`gc[cgs]gc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SspM1II`,`NlaSII`,`SspJII`,`Uba1381I`,`Hin8I`,`SspM2II`],site:`grcgyc`,forwardRegex:`g[agr]cg[cty]c`,reverseRegex:`g[agr]cg[cty]c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`VchO68I`,`BscOI`,`PaeCI`,`Asp5HI`,`Bsp121I`,`Uba1226I`,`Uba1162I`,`CglAI`,`BtgAII`,`SpaXI`],site:`gcatgc`,forwardRegex:`gcatgc`,reverseRegex:`gcatgc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`XcaI`,`BstZ17I`,`BspM90I`,`BssNAI`,`BstBSI`,`Bst1107I`],site:`gtatac`,forwardRegex:`gtatac`,reverseRegex:`gtatac`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`Bme1580I`,`BstSLI`,`BseSI`,`BaeGI`],site:`gkgcmc`,forwardRegex:`g[gkt]gc[acm]c`,reverseRegex:`g[gkt]gc[acm]c`,topSnipOffset:5,bottomSnipOffset:1},{aliases:[`MthFI`,`Rma500I`,`Rma501I`,`Rma503I`,`FisI`,`Rma509I`,`Rma506I`,`Rma510I`,`MjaI`,`Rma515I`,`Rma516I`,`Rma517I`,`Rma518I`,`Rma519I`,`Rma496I`,`Rma495I`,`Rma522I`,`Rma497I`,`UbaN5I`,`Rma490I`,`Rma486I`,`Rma485I`],site:`ctag`,forwardRegex:`ctag`,reverseRegex:`ctag`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SelI`],site:`cgcg`,forwardRegex:`cgcg`,reverseRegex:`cgcg`,topSnipOffset:0,bottomSnipOffset:4},{aliases:[`Mlu9273I`,`VchO70I`,`Sna3286I`,`SalDI`,`PspDI`,`Uba1117I`,`Uba1386I`,`AmaSI`],site:`tcgcga`,forwardRegex:`tcgcga`,reverseRegex:`tcgcga`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Hsp92I`,`BbiII`,`Msp17I`,`HgiGI`,`HgiDI`,`AsuIII`,`PamII`,`BsaHI`,`BstACI`,`HgiHII`,`AcyI`,`BssNI`,`Hin1I`,`AhaII`,`AstWI`,`HgiI`,`AosII`],site:`grcgyc`,forwardRegex:`g[agr]cg[cty]c`,reverseRegex:`g[agr]cg[cty]c`,topSnipOffset:2,bottomSnipOffset:4},{aliases:[`BtgZI`],site:`gcgatg`,forwardRegex:`gcgatg`,reverseRegex:`catcgc`,topSnipOffset:16,bottomSnipOffset:20,isType2S:!0},{aliases:[`Bme142I`,`LpnI`],site:`rgcgcy`,forwardRegex:`[agr]gcgc[cty]`,reverseRegex:`[agr]gcgc[cty]`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`PlaAII`,`HpyBI`,`RsaI`,`AfaI`],site:`gtac`,forwardRegex:`gtac`,reverseRegex:`gtac`,topSnipOffset:2,bottomSnipOffset:2},{aliases:[`Tru201I`,`BloHI`,`BstX2I`,`MflI`,`BstYI`,`XhoII`,`PsuI`,`DsaIII`],site:`rgatcy`,forwardRegex:`[agr]gatc[cty]`,reverseRegex:`[agr]gatc[cty]`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`Eco252I`,`Uba58I`,`Van91II`,`VchO2I`,`Eco159I`,`Hal22I`,`Eco82I`,`Eco228I`,`Eco237I`,`VchN100I`],site:`gaattc`,forwardRegex:`ga{2}t{2}c`,reverseRegex:`ga{2}t{2}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`MluB2I`,`Bsp68I`,`RruI`,`SpoI`,`NruI`,`BtuMI`,`Sbo13I`],site:`tcgcga`,forwardRegex:`tcgcga`,reverseRegex:`tcgcga`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`AlwXI`,`Bst12I`,`BseKI`,`BbvI`,`Bst71I`,`BseXI`,`BstV1I`,`Bsp423I`,`Lsp1109I`],site:`gcagc`,forwardRegex:`gcagc`,reverseRegex:`gctgc`,topSnipOffset:13,bottomSnipOffset:17,isType2S:!0},{aliases:[`BspACI`,`SsiI`,`AciI`],site:`ccgc`,forwardRegex:`c{2}gc`,reverseRegex:`gcg{2}`,topSnipOffset:1,bottomSnipOffset:3},{aliases:[`EcoT38I`,`PaeHI`,`KoxII`,`SacNI`,`Eco24I`,`BpuI`,`FriOI`,`Bsu1854I`,`Eco75KI`,`BanII`,`BvuI`,`HgiJII`,`Bsp519I`],site:`grgcyc`,forwardRegex:`g[agr]gc[cty]c`,reverseRegex:`g[agr]gc[cty]c`,topSnipOffset:5,bottomSnipOffset:1},{aliases:[`PasI`],site:`cccwggg`,forwardRegex:`c{3}[atw]g{3}`,reverseRegex:`c{3}[atw]g{3}`,topSnipOffset:2,bottomSnipOffset:5},{aliases:[`MluCI`,`TseCI`],site:`aatt`,forwardRegex:`a{2}t{2}`,reverseRegex:`a{2}t{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`HpyF50I`,`HpyF49III`,`HpyF14II`,`HpyF7III`,`HpyF46III`,`MjaIV`],site:`gtnnac`,forwardRegex:`gt[abcdghkmnrstvwy]{2}ac`,reverseRegex:`gt[abcdghkmnrstvwy]{2}ac`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Psp1009I`,`Tsp8EI`,`BglI`],site:`gccnnnnnggc`,forwardRegex:`gc{2}[abcdghkmnrstvwy]{5}g{2}c`,reverseRegex:`gc{2}[abcdghkmnrstvwy]{5}g{2}c`,topSnipOffset:7,bottomSnipOffset:4},{aliases:[`SruI`,`DraI`,`PauAII`,`AhaIII`],site:`tttaaa`,forwardRegex:`t{3}a{3}`,reverseRegex:`t{3}a{3}`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`AccI`,`XmiI`,`FblI`],site:`gtmkac`,forwardRegex:`gt[acm][gkt]ac`,reverseRegex:`gt[acm][gkt]ac`,topSnipOffset:2,bottomSnipOffset:4},{aliases:[`PmeI`,`MssI`],site:`gtttaaac`,forwardRegex:`gt{3}a{3}c`,reverseRegex:`gt{3}a{3}c`,topSnipOffset:4,bottomSnipOffset:4},{aliases:[`PshDI`,`PshCI`,`PspBI`,`Pgl34I`,`Psp38I`,`VpaK3AI`,`VpaK3BI`,`Bsp87I`],site:`cacgtg`,forwardRegex:`cacgtg`,reverseRegex:`cacgtg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`AxyI`,`AocI`,`Lmu60I`,`BspR7I`,`OxaNI`,`CvnI`,`MstII`,`Bsu36I`,`Eco81I`,`SshAI`,`SauI`,`BliHKI`,`Bse21I`],site:`cctnagg`,forwardRegex:`c{2}t[abcdghkmnrstvwy]ag{2}`,reverseRegex:`c{2}t[abcdghkmnrstvwy]ag{2}`,topSnipOffset:2,bottomSnipOffset:5},{aliases:[`TsoI`],site:`tarcca`,forwardRegex:`ta[agr]c{2}a`,reverseRegex:`tg{2}[cty]ta`,topSnipOffset:17,bottomSnipOffset:15,isType2S:!0},{aliases:[`PlaII`,`LspI`,`SspRFI`,`BsiCI`,`Bpu14I`,`AcpI`,`FspII`,`MlaI`,`AsuII`,`Ssp1I`,`Asp10HI`,`NspV`,`Bsp119I`,`BspLAII`,`SviI`,`PpaAI`,`SfuI`,`CbiI`,`Bim19I`,`BstBI`,`BimI`,`Csp68KII`,`Csp45I`,`BspT104I`],site:`ttcgaa`,forwardRegex:`t{2}cga{2}`,reverseRegex:`t{2}cga{2}`,topSnipOffset:2,bottomSnipOffset:4},{aliases:[`EspHK26I`,`Bla7920I`,`Uba1375I`,`BspH226I`,`Cfr57I`,`Tsp514I`,`Bsp233I`,`Uba1136I`,`Uba1425I`,`Tsp507I`,`Bsp228I`,`Uba1279I`,`Bbf7411I`,`BstZ3I`,`Bsu22I`,`BstZ1I`,`BsiGI`,`BsiOI`,`Bsp508I`],site:`tccgga`,forwardRegex:`tc{2}g{2}a`,reverseRegex:`tc{2}g{2}a`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BpuEI`,`Bce83I`],site:`cttgag`,forwardRegex:`ct{2}gag`,reverseRegex:`ctca{2}g`,topSnipOffset:22,bottomSnipOffset:20,isType2S:!0},{aliases:[`AspS9I`,`AsuI`,`NspIV`,`BsiZI`,`Bsp1894I`,`BspF4I`,`Cfr13I`,`BshKI`,`BspBII`,`Pde12I`,`PspPI`,`MaeK81II`,`BavAII`,`Nsp7121I`,`BavBII`,`Bal228I`,`CcuI`,`Sau96I`,`AvcI`,`Bsu54I`,`Bce22I`,`Bac36I`],site:`ggncc`,forwardRegex:`g{2}[abcdghkmnrstvwy]c{2}`,reverseRegex:`g{2}[abcdghkmnrstvwy]c{2}`,topSnipOffset:1,bottomSnipOffset:4},{aliases:[`BstKTI`,`BspKT6I`],site:`gatc`,forwardRegex:`gatc`,reverseRegex:`gatc`,topSnipOffset:3,bottomSnipOffset:1},{aliases:[`BfmI`,`BdiSI`,`Srl56DI`,`BpcI`,`BthP35I`,`SfcI`,`BstSFI`,`LlaBI`,`SfeI`],site:`ctryag`,forwardRegex:`ct[agr][cty]ag`,reverseRegex:`ct[agr][cty]ag`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`MseI`,`Tru1I`,`Tru9I`,`SaqAI`],site:`ttaa`,forwardRegex:`t{2}a{2}`,reverseRegex:`t{2}a{2}`,topSnipOffset:1,bottomSnipOffset:3},{aliases:[`Sau96mI`,`Sau93I`,`Sau98I`,`Sau90I`],site:`ctyrag`,forwardRegex:`ct[cty][agr]ag`,reverseRegex:`ct[cty][agr]ag`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`TrsSII`],site:`gacnnnnnngtc`,forwardRegex:`gac[abcdghkmnrstvwy]{6}gtc`,reverseRegex:`gac[abcdghkmnrstvwy]{6}gtc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`ParI`,`BsiQI`,`BclI`,`AbaI`,`FbaI`,`Ksp22I`,`BstT7I`,`BspXII`],site:`tgatca`,forwardRegex:`tgatca`,reverseRegex:`tgatca`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`Eco255I`,`DpaI`,`BmcAI`,`ZrmI`,`ScaI`,`AssI`,`Bpa34I`,`Acc113I`,`RflFII`],site:`agtact`,forwardRegex:`agtact`,reverseRegex:`agtact`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`SplAII`,`TteI`,`TspI`,`TrsKTII`,`FsuI`,`SmaAII`,`NtaI`,`SplII`,`SpaPI`,`TtrI`],site:`gacnnngtc`,forwardRegex:`gac[abcdghkmnrstvwy]{3}gtc`,reverseRegex:`gac[abcdghkmnrstvwy]{3}gtc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`AspLEI`,`HhaI`,`BspLAI`,`CfoI`,`BstHHI`,`FnuDIII`],site:`gcgc`,forwardRegex:`gcgc`,reverseRegex:`gcgc`,topSnipOffset:3,bottomSnipOffset:1},{aliases:[`StyLTI`],site:`cagag`,forwardRegex:`cagag`,reverseRegex:`ctctg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BsoEI`,`Uba1289I`,`Uba1290I`,`BstWI`,`Uba1309I`,`Uba1308I`,`Uba1310I`,`Bpu1268I`],site:`cctnnnnnagg`,forwardRegex:`c{2}t[abcdghkmnrstvwy]{5}ag{2}`,reverseRegex:`c{2}t[abcdghkmnrstvwy]{5}ag{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Eco826I`,`Eco1455I`],site:`gcannnnnnctga`,forwardRegex:`gca[abcdghkmnrstvwy]{6}ctga`,reverseRegex:`tcag[abcdghkmnrstvwy]{6}tgc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`ApaI`,`PpeI`],site:`gggccc`,forwardRegex:`g{3}c{3}`,reverseRegex:`g{3}c{3}`,topSnipOffset:5,bottomSnipOffset:1},{aliases:[`KpnBI`],site:`caaannnnnnrtca`,forwardRegex:`ca{3}[abcdghkmnrstvwy]{6}[agr]tca`,reverseRegex:`tga[cty][abcdghkmnrstvwy]{6}t{3}g`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`UnbI`],site:`ggncc`,forwardRegex:`g{2}[abcdghkmnrstvwy]c{2}`,reverseRegex:`g{2}[abcdghkmnrstvwy]c{2}`,topSnipOffset:0,bottomSnipOffset:5},{aliases:[`Uba1384I`,`SmuCI`,`AvaIII`,`Uba1353I`,`PxyJKI`,`Uba1367I`,`BfrCI`,`SrlII`],site:`atgcat`,forwardRegex:`atgcat`,reverseRegex:`atgcat`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BspMKI`,`XciI`,`SalI`,`HgiCIII`,`Rtr63I`,`Rrh4273I`,`RflFI`,`HgiDII`,`NopI`,`RtrI`],site:`gtcgac`,forwardRegex:`gtcgac`,reverseRegex:`gtcgac`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`EcoR124I`],site:`gaannnnnnrtcg`,forwardRegex:`ga{2}[abcdghkmnrstvwy]{6}[agr]tcg`,reverseRegex:`cga[cty][abcdghkmnrstvwy]{6}t{2}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SynII`,`Psc2I`],site:`gaannnnttc`,forwardRegex:`ga{2}[abcdghkmnrstvwy]{4}t{2}c`,reverseRegex:`ga{2}[abcdghkmnrstvwy]{4}t{2}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`CspI`,`Rsr2I`,`RsrII`,`CpoI`],site:`cggwccg`,forwardRegex:`cg{2}[atw]c{2}g`,reverseRegex:`cg{2}[atw]c{2}g`,topSnipOffset:2,bottomSnipOffset:5},{aliases:[`AscI`,`PalAI`,`SgsI`],site:`ggcgcgcc`,forwardRegex:`g{2}cgcgc{2}`,reverseRegex:`g{2}cgcgc{2}`,topSnipOffset:2,bottomSnipOffset:6},{aliases:[`Uba69I`,`TtmII`,`BscEI`,`BsrHI`,`Kpn30I`,`M.BssHIII`,`BssBI`,`Eco143I`,`Eco152I`,`Esp7I`,`Esp8I`,`CfrJ5I`,`BsoPI`],site:`gcgcgc`,forwardRegex:`gcgcgc`,reverseRegex:`gcgcgc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`EclHKI`,`BspOVI`,`AhdI`,`AspEI`,`Eam1105I`,`NruGI`,`BmeRI`,`DriI`],site:`gacnnnnngtc`,forwardRegex:`gac[abcdghkmnrstvwy]{5}gtc`,reverseRegex:`gac[abcdghkmnrstvwy]{5}gtc`,topSnipOffset:6,bottomSnipOffset:5},{aliases:[`Uba1222I`,`Uba1221I`,`BpuGCI`,`Uba1320I`,`Uba1284I`],site:`gctnagc`,forwardRegex:`gct[abcdghkmnrstvwy]agc`,reverseRegex:`gct[abcdghkmnrstvwy]agc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BpuCI`],site:`ggcgga`,forwardRegex:`g{2}cg{2}a`,reverseRegex:`tc{2}gc{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`EspI`,`BlpI`,`Bsp1720I`,`Bpu1102I`,`CelII`],site:`gctnagc`,forwardRegex:`gct[abcdghkmnrstvwy]agc`,reverseRegex:`gct[abcdghkmnrstvwy]agc`,topSnipOffset:2,bottomSnipOffset:5},{aliases:[`Eco1476I`,`Eco1427I`,`Eco1430I`,`Eco1323I`,`Eco377I`,`Eco1386I`,`Eco37I`,`Eco1344II`,`Eco1456I`],site:`ggannnnnnnnatgc`,forwardRegex:`g{2}a[abcdghkmnrstvwy]{8}atgc`,reverseRegex:`gcat[abcdghkmnrstvwy]{8}tc{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`MnnI`,`Hin1160II`,`ChuEII`,`Hin1161II`],site:`gtyrac`,forwardRegex:`gt[cty][agr]ac`,reverseRegex:`gt[cty][agr]ac`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SstI`,`SacI`,`Psp124BI`],site:`gagctc`,forwardRegex:`gagctc`,reverseRegex:`gagctc`,topSnipOffset:5,bottomSnipOffset:1},{aliases:[`SspD5II`,`NsiI`,`PinBI`,`Asi372I`,`Mph1103I`,`Csp68KIII`,`Zsp2I`,`SepI`,`EcoT22I`,`BfrBI`],site:`atgcat`,forwardRegex:`atgcat`,reverseRegex:`atgcat`,topSnipOffset:5,bottomSnipOffset:1},{aliases:[`AsnI`,`AseI`,`VspI`,`PshBI`,`Sru4DI`,`BpoAI`],site:`attaat`,forwardRegex:`at{2}a{2}t`,reverseRegex:`at{2}a{2}t`,topSnipOffset:2,bottomSnipOffset:4},{aliases:[`BmrFI`,`Msp67I`,`MspR9I`,`ScrFI`,`Bme1390I`],site:`ccngg`,forwardRegex:`c{2}[abcdghkmnrstvwy]g{2}`,reverseRegex:`c{2}[abcdghkmnrstvwy]g{2}`,topSnipOffset:2,bottomSnipOffset:3},{aliases:[`McrI`,`BsaOI`,`BsiEI`,`Bsh1285I`,`BstMCI`],site:`cgrycg`,forwardRegex:`cg[agr][cty]cg`,reverseRegex:`cg[agr][cty]cg`,topSnipOffset:4,bottomSnipOffset:2},{aliases:[`TspRI`,`TscAI`],site:`castgnn`,forwardRegex:`ca[cgs]tg[abcdghkmnrstvwy]{2}`,reverseRegex:`[abcdghkmnrstvwy]{2}ca[cgs]tg`,topSnipOffset:7,bottomSnipOffset:0},{aliases:[`BsmWI`,`SmaAI`,`SspKI`,`SplAI`,`PfuNI`],site:`cgtacg`,forwardRegex:`cgtacg`,reverseRegex:`cgtacg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`CdiI`],site:`catcg`,forwardRegex:`catcg`,reverseRegex:`cgatg`,topSnipOffset:4,bottomSnipOffset:4},{aliases:[`TrsKTIII`],site:`catatg`,forwardRegex:`catatg`,reverseRegex:`catatg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BseB631II`],site:`agatct`,forwardRegex:`agatct`,reverseRegex:`agatct`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Sth302II`],site:`ccgg`,forwardRegex:`c{2}g{2}`,reverseRegex:`c{2}g{2}`,topSnipOffset:2,bottomSnipOffset:2},{aliases:[`PbuJKI`,`Hpy178VI`,`HpyF67III`,`HinGUII`,`HpyF6I`],site:`ggatg`,forwardRegex:`g{2}atg`,reverseRegex:`catc{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`UbaF13I`],site:`gagnnnnnnctgg`,forwardRegex:`gag[abcdghkmnrstvwy]{6}ctg{2}`,reverseRegex:`c{2}ag[abcdghkmnrstvwy]{6}ctc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`MreI`,`Sse232I`],site:`cgccggcg`,forwardRegex:`cgc{2}g{2}cg`,reverseRegex:`cgc{2}g{2}cg`,topSnipOffset:2,bottomSnipOffset:6},{aliases:[`BsaGI`,`HpyF7II`,`Pph3215I`,`Bfu1570I`,`BsmPI`,`HpyF46II`,`Hpy8III`],site:`gwgcwc`,forwardRegex:`g[atw]gc[atw]c`,reverseRegex:`g[atw]gc[atw]c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BceSIII`,`BceAI`],site:`acggc`,forwardRegex:`acg{2}c`,reverseRegex:`gc{2}gt`,topSnipOffset:17,bottomSnipOffset:19,isType2S:!0},{aliases:[`CstMI`],site:`aaggag`,forwardRegex:`a{2}g{2}ag`,reverseRegex:`ctc{2}t{2}`,topSnipOffset:26,bottomSnipOffset:24,isType2S:!0},{aliases:[`Acc65I`,`Asp718I`,`SthI`,`AhaB8I`],site:`ggtacc`,forwardRegex:`g{2}tac{2}`,reverseRegex:`g{2}tac{2}`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`EacI`,`BinI`,`AlwI`,`Bst31TI`,`BspPI`,`AclWI`,`BstH9I`],site:`ggatc`,forwardRegex:`g{2}atc`,reverseRegex:`gatc{2}`,topSnipOffset:9,bottomSnipOffset:10,isType2S:!0},{aliases:[`BspGI`],site:`ctggac`,forwardRegex:`ctg{2}ac`,reverseRegex:`gtc{2}ag`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BspCNI`],site:`ctcag`,forwardRegex:`ctcag`,reverseRegex:`ctgag`,topSnipOffset:14,bottomSnipOffset:12,isType2S:!0},{aliases:[`MunI`,`MfeI`],site:`caattg`,forwardRegex:`ca{2}t{2}g`,reverseRegex:`ca{2}t{2}g`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`StySENI`,`StySBLI`],site:`cgannnnnntacc`,forwardRegex:`cga[abcdghkmnrstvwy]{6}tac{2}`,reverseRegex:`g{2}ta[abcdghkmnrstvwy]{6}tcg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BfaI`,`MthZI`,`RmaI`,`FspBI`,`FgoI`,`MaeI`,`XspI`],site:`ctag`,forwardRegex:`ctag`,reverseRegex:`ctag`,topSnipOffset:1,bottomSnipOffset:3},{aliases:[`BseYI`],site:`cccagc`,forwardRegex:`c{3}agc`,reverseRegex:`gctg{3}`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`SmlI`,`SmoI`],site:`ctyrag`,forwardRegex:`ct[cty][agr]ag`,reverseRegex:`ct[cty][agr]ag`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`Tsp509I`,`Sse9I`,`TspEI`,`TasI`],site:`aatt`,forwardRegex:`a{2}t{2}`,reverseRegex:`a{2}t{2}`,topSnipOffset:0,bottomSnipOffset:4},{aliases:[`HgaI`,`CseI`],site:`gacgc`,forwardRegex:`gacgc`,reverseRegex:`gcgtc`,topSnipOffset:10,bottomSnipOffset:15,isType2S:!0},{aliases:[`PaeBI`,`PspALI`,`SmaI`,`CfrJ4I`],site:`cccggg`,forwardRegex:`c{3}g{3}`,reverseRegex:`c{3}g{3}`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`SnaBI`,`Eco105I`,`BstSNI`],site:`tacgta`,forwardRegex:`tacgta`,reverseRegex:`tacgta`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`Esp3I`,`BstGZ53I`,`BsmBI`],isType2S:!0,site:`cgtctc`,forwardRegex:`cgtctc`,reverseRegex:`gagacg`,topSnipOffset:7,bottomSnipOffset:11},{aliases:[`Bsp1591I`,`Cfr19I`,`Uba1291I`,`SciAI`,`KoxI`,`BstDI`,`Bse59I`,`Bst31I`,`Cfr7I`],site:`ggtnacc`,forwardRegex:`g{2}t[abcdghkmnrstvwy]ac{2}`,reverseRegex:`g{2}t[abcdghkmnrstvwy]ac{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`PstII`],site:`ctgatg`,forwardRegex:`ctgatg`,reverseRegex:`catcag`,topSnipOffset:31,bottomSnipOffset:33,isType2S:!0},{aliases:[`PflMI`,`PflBI`,`Asp10HII`,`BasI`,`Van91I`,`AcpII`,`Esp1396I`,`AccB7I`],site:`ccannnnntgg`,forwardRegex:`c{2}a[abcdghkmnrstvwy]{5}tg{2}`,reverseRegex:`c{2}a[abcdghkmnrstvwy]{5}tg{2}`,topSnipOffset:7,bottomSnipOffset:4},{aliases:[`RceI`],site:`catcgac`,forwardRegex:`catcgac`,reverseRegex:`gtcgatg`,topSnipOffset:27,bottomSnipOffset:25,isType2S:!0},{aliases:[`BstDEI`,`BstJZ301I`,`HpyF3I`,`DdeI`],site:`ctnag`,forwardRegex:`ct[abcdghkmnrstvwy]ag`,reverseRegex:`ct[abcdghkmnrstvwy]ag`,topSnipOffset:1,bottomSnipOffset:4},{aliases:[`UbaN6I`,`Bco631I`,`Bco63I`,`Bse631I`],site:`gatnnnnatc`,forwardRegex:`gat[abcdghkmnrstvwy]{4}atc`,reverseRegex:`gat[abcdghkmnrstvwy]{4}atc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`StySJI`],site:`gagnnnnnngtrc`,forwardRegex:`gag[abcdghkmnrstvwy]{6}gt[agr]c`,reverseRegex:`g[cty]ac[abcdghkmnrstvwy]{6}ctc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BchI`,`BsaUI`,`BsrVI`,`LfeI`],site:`gcagc`,forwardRegex:`gcagc`,reverseRegex:`gctgc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BscAI`,`Bst19I`],site:`gcatc`,forwardRegex:`gcatc`,reverseRegex:`gatgc`,topSnipOffset:9,bottomSnipOffset:11,isType2S:!0},{aliases:[`KteAI`,`Uba1393I`,`Uba1220I`],site:`cccggg`,forwardRegex:`c{3}g{3}`,reverseRegex:`c{3}g{3}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BctI`],site:`acggc`,forwardRegex:`acg{2}c`,reverseRegex:`gc{2}gt`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BsePI`,`PteI`,`BssHII`,`BstBZ153I`,`PauI`],site:`gcgcgc`,forwardRegex:`gcgcgc`,reverseRegex:`gcgcgc`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`StyLTIII`],site:`gagnnnnnnrtayg`,forwardRegex:`gag[abcdghkmnrstvwy]{6}[agr]ta[cty]g`,reverseRegex:`c[agr]ta[cty][abcdghkmnrstvwy]{6}ctc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`VpaK32I`,`PciSI`,`LguI`,`BspQI`,`SapI`],isType2S:!0,site:`gctcttc`,forwardRegex:`gctct{2}c`,reverseRegex:`ga{2}gagc`,topSnipOffset:8,bottomSnipOffset:11},{aliases:[`BniI`],site:`gcnngc`,forwardRegex:`gc[abcdghkmnrstvwy]{2}gc`,reverseRegex:`gc[abcdghkmnrstvwy]{2}gc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`EcoDR2`],site:`tcannnnnngtcg`,forwardRegex:`tca[abcdghkmnrstvwy]{6}gtcg`,reverseRegex:`cgac[abcdghkmnrstvwy]{6}tga`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`TssI`],site:`gagnnnctc`,forwardRegex:`gag[abcdghkmnrstvwy]{3}ctc`,reverseRegex:`gag[abcdghkmnrstvwy]{3}ctc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Tth111II`],site:`caarca`,forwardRegex:`ca{2}[agr]ca`,reverseRegex:`tg[cty]t{2}g`,topSnipOffset:17,bottomSnipOffset:15,isType2S:!0},{aliases:[`BbvCI`,`AbeI`],site:`cctcagc`,forwardRegex:`c{2}tcagc`,reverseRegex:`gctgag{2}`,topSnipOffset:2,bottomSnipOffset:5},{aliases:[`MluI`,`Bbi24I`],site:`acgcgt`,forwardRegex:`acgcgt`,reverseRegex:`acgcgt`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`MnlI`],site:`cctc`,forwardRegex:`c{2}tc`,reverseRegex:`gag{2}`,topSnipOffset:11,bottomSnipOffset:10,isType2S:!0},{aliases:[`SspD5I`],site:`ggtga`,forwardRegex:`g{2}tga`,reverseRegex:`tcac{2}`,topSnipOffset:13,bottomSnipOffset:13,isType2S:!0},{aliases:[`AspCNI`],site:`gccgc`,forwardRegex:`gc{2}gc`,reverseRegex:`gcg{2}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`TauI`,`BspUI`],site:`gcsgc`,forwardRegex:`gc[cgs]gc`,reverseRegex:`gc[cgs]gc`,topSnipOffset:4,bottomSnipOffset:1},{aliases:[`BinSII`,`BbeI`],site:`ggcgcc`,forwardRegex:`g{2}cgc{2}`,reverseRegex:`g{2}cgc{2}`,topSnipOffset:5,bottomSnipOffset:1},{aliases:[`BpmI`,`GsuI`],site:`ctggag`,forwardRegex:`ctg{2}ag`,reverseRegex:`ctc{2}ag`,topSnipOffset:22,bottomSnipOffset:20,isType2S:!0},{aliases:[`NciI`,`AhaI`,`AseII`,`Mgl14481I`,`AsuC2I`,`BpuMI`,`HgiS22I`,`CauII`,`BcnI`],site:`ccsgg`,forwardRegex:`c{2}[cgs]g{2}`,reverseRegex:`c{2}[cgs]g{2}`,topSnipOffset:2,bottomSnipOffset:3},{aliases:[`Eco1348I`,`Eco777I`,`Eco1412I`],site:`ggannnnnntatc`,forwardRegex:`g{2}a[abcdghkmnrstvwy]{6}tatc`,reverseRegex:`gata[abcdghkmnrstvwy]{6}tc{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`AgsI`],site:`ttsaa`,forwardRegex:`t{2}[cgs]a{2}`,reverseRegex:`t{2}[cgs]a{2}`,topSnipOffset:3,bottomSnipOffset:2},{aliases:[`Pfl18I`,`Ssm4I`,`Ssm5I`,`NasSI`,`ScoI`,`Ecl137I`],site:`gagctc`,forwardRegex:`gagctc`,reverseRegex:`gagctc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`CfrBI`,`StyI`,`ErhB9II`,`Eco130I`,`ErhI`,`EcoT14I`,`BsmSI`,`BssT1I`],site:`ccwwgg`,forwardRegex:`c{2}[atw]{2}g{2}`,reverseRegex:`c{2}[atw]{2}g{2}`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`AlwFI`],site:`gaaaynnnnnrtg`,forwardRegex:`ga{3}[cty][abcdghkmnrstvwy]{5}[agr]tg`,reverseRegex:`ca[cty][abcdghkmnrstvwy]{5}[agr]t{3}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`CviRI`,`HpyCH4V`,`HpyF44III`],site:`tgca`,forwardRegex:`tgca`,reverseRegex:`tgca`,topSnipOffset:2,bottomSnipOffset:2},{aliases:[`Bse19I`,`AteI`,`NspSAIII`],site:`ccatgg`,forwardRegex:`c{2}atg{2}`,reverseRegex:`c{2}atg{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Srl65DI`,`Srr17I`,`Srl55DII`,`CprJK722I`,`Srl8DI`,`PbuMZI`],site:`attaat`,forwardRegex:`at{2}a{2}t`,reverseRegex:`at{2}a{2}t`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`ClcII`,`GspAII`,`NspHIII`,`Bco6I`,`NspLI`,`NspMI`,`BsaTI`,`CliII`,`ApcTR183I`,`AcaIII`],site:`tgcgca`,forwardRegex:`tgcgca`,reverseRegex:`tgcgca`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`CsiI`,`MabI`,`SexAI`],site:`accwggt`,forwardRegex:`ac{2}[atw]g{2}t`,reverseRegex:`ac{2}[atw]g{2}t`,topSnipOffset:1,bottomSnipOffset:6},{aliases:[`HgiEII`],site:`accnnnnnnggt`,forwardRegex:`ac{2}[abcdghkmnrstvwy]{6}g{2}t`,reverseRegex:`ac{2}[abcdghkmnrstvwy]{6}g{2}t`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`TseDI`,`BscRI`,`Bsp21I`],site:`rccggy`,forwardRegex:`[agr]c{2}g{2}[cty]`,reverseRegex:`[agr]c{2}g{2}[cty]`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Bse23I`,`BsmYI`],site:`ccnnnnnnngg`,forwardRegex:`c{2}[abcdghkmnrstvwy]{7}g{2}`,reverseRegex:`c{2}[abcdghkmnrstvwy]{7}g{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`NdeI`,`FauNDI`,`PfaAII`],site:`catatg`,forwardRegex:`catatg`,reverseRegex:`catatg`,topSnipOffset:2,bottomSnipOffset:4},{aliases:[`VneAI`,`Uba1326I`],site:`rggnccy`,forwardRegex:`[agr]g{2}[abcdghkmnrstvwy]c{2}[cty]`,reverseRegex:`[agr]g{2}[abcdghkmnrstvwy]c{2}[cty]`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SrlI`,`NgoMIV`,`SceIII`,`NgoAIV`,`MroNI`,`Eco56I`],site:`gccggc`,forwardRegex:`gc{2}g{2}c`,reverseRegex:`gc{2}g{2}c`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`AsiSI`,`SfaAI`,`RgaI`,`SgfI`],site:`gcgatcgc`,forwardRegex:`gcgatcgc`,reverseRegex:`gcgatcgc`,topSnipOffset:5,bottomSnipOffset:3},{aliases:[`BtsPI`,`SaiI`,`ShaI`],site:`gggtc`,forwardRegex:`g{3}tc`,reverseRegex:`gac{3}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Pfl1108I`],site:`tcgtag`,forwardRegex:`tcgtag`,reverseRegex:`ctacga`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`EcoHK31I`,`Bfi89I`,`EaeI`,`CfrI`,`AcoI`],site:`yggccr`,forwardRegex:`[cty]g{2}c{2}[agr]`,reverseRegex:`[cty]g{2}c{2}[agr]`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`HphI`,`AsuHPI`],site:`ggtga`,forwardRegex:`g{2}tga`,reverseRegex:`tcac{2}`,topSnipOffset:13,bottomSnipOffset:12,isType2S:!0},{aliases:[`Uba1303I`,`BstZ5I`,`BscNI`],site:`cgrycg`,forwardRegex:`cg[agr][cty]cg`,reverseRegex:`cg[agr][cty]cg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Bsp6II`,`FsfI`,`BspD6II`,`Eco112I`,`Eco125I`],site:`ctgaag`,forwardRegex:`ctga{2}g`,reverseRegex:`ct{2}cag`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BstXI`,`BstHZ55I`],site:`ccannnnnntgg`,forwardRegex:`c{2}a[abcdghkmnrstvwy]{6}tg{2}`,reverseRegex:`c{2}a[abcdghkmnrstvwy]{6}tg{2}`,topSnipOffset:8,bottomSnipOffset:4},{aliases:[`Ppu11I`,`Ppu6I`],site:`yacgtr`,forwardRegex:`[cty]acgt[agr]`,reverseRegex:`[cty]acgt[agr]`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`EcoT104I`,`SblAI`,`SblBI`,`SblCI`,`Uba1311I`,`Eco208II`,`Bst224I`],site:`ccwwgg`,forwardRegex:`c{2}[atw]{2}g{2}`,reverseRegex:`c{2}[atw]{2}g{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`EcoR124II`],site:`gaannnnnnnrtcg`,forwardRegex:`ga{2}[abcdghkmnrstvwy]{7}[agr]tcg`,reverseRegex:`cga[cty][abcdghkmnrstvwy]{7}t{2}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`MamI`,`BseJI`,`Bse8I`,`BsrBRI`,`BsiBI`,`BsaBI`,`Bsh1365I`],site:`gatnnnnatc`,forwardRegex:`gat[abcdghkmnrstvwy]{4}atc`,reverseRegex:`gat[abcdghkmnrstvwy]{4}atc`,topSnipOffset:5,bottomSnipOffset:5},{aliases:[`Ssp5230I`,`AatII`],site:`gacgtc`,forwardRegex:`gacgtc`,reverseRegex:`gacgtc`,topSnipOffset:5,bottomSnipOffset:1},{aliases:[`Uba1240I`,`Bpu1831I`,`SspM1I`,`SspM2I`,`EciAI`,`SspJI`,`Eco158II`],site:`tacgta`,forwardRegex:`tacgta`,reverseRegex:`tacgta`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`MaqI`],site:`crttgac`,forwardRegex:`c[agr]t{2}gac`,reverseRegex:`gtca{2}[cty]g`,topSnipOffset:28,bottomSnipOffset:26,isType2S:!0},{aliases:[`CjeNII`],site:`gagnnnnngt`,forwardRegex:`gag[abcdghkmnrstvwy]{5}gt`,reverseRegex:`ac[abcdghkmnrstvwy]{5}ctc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`KpnAI`],site:`gaannnnnntgcc`,forwardRegex:`ga{2}[abcdghkmnrstvwy]{6}tgc{2}`,reverseRegex:`g{2}ca[abcdghkmnrstvwy]{6}t{2}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SleI`,`AjnI`,`Psp6I`,`PspGI`,`SspAI`,`EcoRII`],site:`ccwgg`,forwardRegex:`c{2}[atw]g{2}`,reverseRegex:`c{2}[atw]g{2}`,topSnipOffset:0,bottomSnipOffset:5},{aliases:[`BstFZ438I`,`Bme585I`,`SmuI`,`FauI`],site:`cccgc`,forwardRegex:`c{3}gc`,reverseRegex:`gcg{3}`,topSnipOffset:9,bottomSnipOffset:11,isType2S:!0},{aliases:[`HpyCH4IV`,`MaeII`],site:`acgt`,forwardRegex:`acgt`,reverseRegex:`acgt`,topSnipOffset:1,bottomSnipOffset:3},{aliases:[`TaqII`],site:`caccca`,forwardRegex:`cac{3}a`,reverseRegex:`tg{3}tg`,topSnipOffset:17,bottomSnipOffset:15,isType2S:!0},{aliases:[`UbaN9I`],site:`aacgtt`,forwardRegex:`a{2}cgt{2}`,reverseRegex:`a{2}cgt{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`DrdII`],site:`gaacca`,forwardRegex:`ga{2}c{2}a`,reverseRegex:`tg{2}t{2}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`MalI`,`DpnI`,`CfuI`],site:`gatc`,forwardRegex:`gatc`,reverseRegex:`gatc`,topSnipOffset:2,bottomSnipOffset:2},{aliases:[`AarI`],isType2S:!0,site:`cacctgc`,forwardRegex:`cac{2}tgc`,reverseRegex:`gcag{2}tg`,topSnipOffset:11,bottomSnipOffset:15},{aliases:[`SrfI`],site:`gcccgggc`,forwardRegex:`gc{3}g{3}c`,reverseRegex:`gc{3}g{3}c`,topSnipOffset:4,bottomSnipOffset:4},{aliases:[`TatI`],site:`wgtacw`,forwardRegex:`[atw]gtac[atw]`,reverseRegex:`[atw]gtac[atw]`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`EcoDXXI`],site:`tcannnnnnnrttc`,forwardRegex:`tca[abcdghkmnrstvwy]{7}[agr]t{2}c`,reverseRegex:`ga{2}[cty][abcdghkmnrstvwy]{7}tga`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`HindII`,`HincII`,`HinJCI`],site:`gtyrac`,forwardRegex:`gt[cty][agr]ac`,reverseRegex:`gt[cty][agr]ac`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`BseMI`,`Bse3DI`,`BsrDI`],site:`gcaatg`,forwardRegex:`gca{2}tg`,reverseRegex:`cat{2}gc`,topSnipOffset:8,bottomSnipOffset:6,isType2S:!0},{aliases:[`HalI`,`Srl32DII`,`FunII`,`Ppu111I`,`EcoRI`,`RsrI`,`Kpn49kI`,`SsoI`,`Srl55DI`],site:`gaattc`,forwardRegex:`ga{2}t{2}c`,reverseRegex:`ga{2}t{2}c`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`Hpy166III`],site:`cctc`,forwardRegex:`c{2}tc`,reverseRegex:`gag{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`FspAI`],site:`rtgcgcay`,forwardRegex:`[agr]tgcgca[cty]`,reverseRegex:`[agr]tgcgca[cty]`,topSnipOffset:4,bottomSnipOffset:4},{aliases:[`Eco585I`],site:`gccnnnnnntgcg`,forwardRegex:`gc{2}[abcdghkmnrstvwy]{6}tgcg`,reverseRegex:`cgca[abcdghkmnrstvwy]{6}g{2}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`PlaDI`],site:`catcag`,forwardRegex:`catcag`,reverseRegex:`ctgatg`,topSnipOffset:27,bottomSnipOffset:25,isType2S:!0},{aliases:[`Hpy188I`],site:`tcnga`,forwardRegex:`tc[abcdghkmnrstvwy]ga`,reverseRegex:`tc[abcdghkmnrstvwy]ga`,topSnipOffset:3,bottomSnipOffset:2},{aliases:[`PciI`,`PscI`,`BspLU11I`],site:`acatgt`,forwardRegex:`acatgt`,reverseRegex:`acatgt`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`VchO25I`,`SnaI`],site:`gtatac`,forwardRegex:`gtatac`,reverseRegex:`gtatac`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`TseBI`,`M.BbvSI`,`TneI`],site:`gcwgc`,forwardRegex:`gc[atw]gc`,reverseRegex:`gc[atw]gc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`OliI`,`AleI`],site:`cacnnnngtg`,forwardRegex:`cac[abcdghkmnrstvwy]{4}gtg`,reverseRegex:`cac[abcdghkmnrstvwy]{4}gtg`,topSnipOffset:5,bottomSnipOffset:5},{aliases:[`GlaI`],site:`gcgc`,forwardRegex:`gcgc`,reverseRegex:`gcgc`,topSnipOffset:2,bottomSnipOffset:2},{aliases:[`BssGI`,`BscJI`,`BstTI`],site:`ccannnnnntgg`,forwardRegex:`c{2}a[abcdghkmnrstvwy]{6}tg{2}`,reverseRegex:`c{2}a[abcdghkmnrstvwy]{6}tg{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Tsp4CI`,`Bst4CI`,`HpyCH4III`,`TaaI`],site:`acngt`,forwardRegex:`ac[abcdghkmnrstvwy]gt`,reverseRegex:`ac[abcdghkmnrstvwy]gt`,topSnipOffset:3,bottomSnipOffset:2},{aliases:[`AceIII`],site:`cagctc`,forwardRegex:`cagctc`,reverseRegex:`gagctg`,topSnipOffset:13,bottomSnipOffset:17,isType2S:!0},{aliases:[`BseNI`,`BsrI`,`Bse1I`,`Tsp1I`,`BsrSI`,`Bst11I`],site:`actgg`,forwardRegex:`actg{2}`,reverseRegex:`c{2}agt`,topSnipOffset:6,bottomSnipOffset:4,isType2S:!0},{aliases:[`FnuAI`,`HinfI`,`CviBI`,`HhaII`,`SscL1I`],site:`gantc`,forwardRegex:`ga[abcdghkmnrstvwy]tc`,reverseRegex:`ga[abcdghkmnrstvwy]tc`,topSnipOffset:1,bottomSnipOffset:4},{aliases:[`CjuI`],site:`caynnnnnrtg`,forwardRegex:`ca[cty][abcdghkmnrstvwy]{5}[agr]tg`,reverseRegex:`ca[cty][abcdghkmnrstvwy]{5}[agr]tg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`HpyF2I`,`Bco163I`],site:`ctryag`,forwardRegex:`ct[agr][cty]ag`,reverseRegex:`ct[agr][cty]ag`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`AanI`,`PsiI`],site:`ttataa`,forwardRegex:`t{2}ata{2}`,reverseRegex:`t{2}ata{2}`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`StySPI`],site:`aacnnnnnngtrc`,forwardRegex:`a{2}c[abcdghkmnrstvwy]{6}gt[agr]c`,reverseRegex:`g[cty]ac[abcdghkmnrstvwy]{6}gt{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BpuJI`,`BstDZ247I`,`BscGI`],site:`cccgt`,forwardRegex:`c{3}gt`,reverseRegex:`acg{3}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Hpy99I`],site:`cgwcg`,forwardRegex:`cg[atw]cg`,reverseRegex:`cg[atw]cg`,topSnipOffset:5,bottomSnipOffset:0},{aliases:[`BceSI`],site:`mmcgaag`,forwardRegex:`[acm]{2}cga{2}g`,reverseRegex:`ct{2}cg[gkt]{2}`,topSnipOffset:32,bottomSnipOffset:34,isType2S:!0},{aliases:[`HaeI`],site:`wggccw`,forwardRegex:`[atw]g{2}c{2}[atw]`,reverseRegex:`[atw]g{2}c{2}[atw]`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`PspPRI`],site:`ccycag`,forwardRegex:`c{2}[cty]cag`,reverseRegex:`ctg[agr]g{2}`,topSnipOffset:21,bottomSnipOffset:19,isType2S:!0},{aliases:[`FokI`],site:`ggatg`,forwardRegex:`g{2}atg`,reverseRegex:`catc{2}`,topSnipOffset:14,bottomSnipOffset:18,isType2S:!0},{aliases:[`NgoBV`,`NgoGV`,`Bsp29I`,`HpyF44II`,`Uba1445I`,`Uba1305I`,`HpyF73I`,`BsaEI`,`BcrI`,`Rlu3I`,`BssI`],site:`ggnncc`,forwardRegex:`g{2}[abcdghkmnrstvwy]{2}c{2}`,reverseRegex:`g{2}[abcdghkmnrstvwy]{2}c{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Bce1247I`],site:`gcnnnnnnngc`,forwardRegex:`gc[abcdghkmnrstvwy]{7}gc`,reverseRegex:`gc[abcdghkmnrstvwy]{7}gc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`AasI`,`DrdI`,`DseDI`],site:`gacnnnnnngtc`,forwardRegex:`gac[abcdghkmnrstvwy]{6}gtc`,reverseRegex:`gac[abcdghkmnrstvwy]{6}gtc`,topSnipOffset:7,bottomSnipOffset:5},{aliases:[`M.SssI`],site:`cg`,forwardRegex:`cg`,reverseRegex:`cg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`HpyF61III`],site:`cgwcg`,forwardRegex:`cg[atw]cg`,reverseRegex:`cg[atw]cg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`AflIII`],site:`acrygt`,forwardRegex:`ac[agr][cty]gt`,reverseRegex:`ac[agr][cty]gt`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`Asp700I`,`BbvAI`,`MroXI`,`XmnI`,`PdmI`],site:`gaannnnttc`,forwardRegex:`ga{2}[abcdghkmnrstvwy]{4}t{2}c`,reverseRegex:`ga{2}[abcdghkmnrstvwy]{4}t{2}c`,topSnipOffset:5,bottomSnipOffset:5},{aliases:[`ChaI`],site:`gatc`,forwardRegex:`gatc`,reverseRegex:`gatc`,topSnipOffset:4,bottomSnipOffset:0},{aliases:[`EcoEI`],site:`gagnnnnnnnatgc`,forwardRegex:`gag[abcdghkmnrstvwy]{7}atgc`,reverseRegex:`gcat[abcdghkmnrstvwy]{7}ctc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BspAAII`,`XbaI`],site:`tctaga`,forwardRegex:`tctaga`,reverseRegex:`tctaga`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`Hpy188III`,`Hpy178III`],site:`tcnnga`,forwardRegex:`tc[abcdghkmnrstvwy]{2}ga`,reverseRegex:`tc[abcdghkmnrstvwy]{2}ga`,topSnipOffset:2,bottomSnipOffset:4},{aliases:[`McaTI`],site:`gcgcgc`,forwardRegex:`gcgcgc`,reverseRegex:`gcgcgc`,topSnipOffset:4,bottomSnipOffset:2},{aliases:[`BstZ9I`,`Uba6I`,`ApeI`],site:`acgcgt`,forwardRegex:`acgcgt`,reverseRegex:`acgcgt`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BspNCI`],site:`ccaga`,forwardRegex:`c{2}aga`,reverseRegex:`tctg{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`EcoHI`,`Eco1831I`,`Kpn49kII`],site:`ccsgg`,forwardRegex:`c{2}[cgs]g{2}`,reverseRegex:`c{2}[cgs]g{2}`,topSnipOffset:0,bottomSnipOffset:5},{aliases:[`PpsI`,`PleI`],site:`gagtc`,forwardRegex:`gagtc`,reverseRegex:`gactc`,topSnipOffset:9,bottomSnipOffset:10,isType2S:!0},{aliases:[`BfuI`,`BciVI`],site:`gtatcc`,forwardRegex:`gtatc{2}`,reverseRegex:`g{2}atac`,topSnipOffset:12,bottomSnipOffset:11,isType2S:!0},{aliases:[`TthHB27I`],site:`caarca`,forwardRegex:`ca{2}[agr]ca`,reverseRegex:`tg[cty]t{2}g`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`PspXI`],site:`vctcgagb`,forwardRegex:`[acgmrsv]ctcgag[bcgksty]`,reverseRegex:`[acgmrsv]ctcgag[bcgksty]`,topSnipOffset:2,bottomSnipOffset:6},{aliases:[`Lsp1270I`],site:`rcatgy`,forwardRegex:`[agr]catg[cty]`,reverseRegex:`[agr]catg[cty]`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`HpyC1I`,`BccI`],site:`ccatc`,forwardRegex:`c{2}atc`,reverseRegex:`gatg{2}`,topSnipOffset:9,bottomSnipOffset:10,isType2S:!0},{aliases:[`BseMII`],site:`ctcag`,forwardRegex:`ctcag`,reverseRegex:`ctgag`,topSnipOffset:15,bottomSnipOffset:13,isType2S:!0},{aliases:[`BstENI`,`EcoNI`,`XagI`],site:`cctnnnnnagg`,forwardRegex:`c{2}t[abcdghkmnrstvwy]{5}ag{2}`,reverseRegex:`c{2}t[abcdghkmnrstvwy]{5}ag{2}`,topSnipOffset:5,bottomSnipOffset:6},{aliases:[`EcoAI`,`Eco1446I`],site:`gagnnnnnnngtca`,forwardRegex:`gag[abcdghkmnrstvwy]{7}gtca`,reverseRegex:`tgac[abcdghkmnrstvwy]{7}ctc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`MmeI`],site:`tccrac`,forwardRegex:`tc{2}[agr]ac`,reverseRegex:`gt[cty]g{2}a`,topSnipOffset:26,bottomSnipOffset:24,isType2S:!0},{aliases:[`AjiI`,`BmgBI`,`BtrI`],site:`cacgtc`,forwardRegex:`cacgtc`,reverseRegex:`gacgtg`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`BlsI`],site:`gcngc`,forwardRegex:`gc[abcdghkmnrstvwy]gc`,reverseRegex:`gc[abcdghkmnrstvwy]gc`,topSnipOffset:3,bottomSnipOffset:2},{aliases:[`Bst170I`,`BsmGI`],site:`tgtaca`,forwardRegex:`tgtaca`,reverseRegex:`tgtaca`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`HpyBII`,`Hpy166II`,`Hpy8I`],site:`gtnnac`,forwardRegex:`gt[abcdghkmnrstvwy]{2}ac`,reverseRegex:`gt[abcdghkmnrstvwy]{2}ac`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`StySKI`],site:`cgatnnnnnnngtta`,forwardRegex:`cgat[abcdghkmnrstvwy]{7}gt{2}a`,reverseRegex:`ta{2}c[abcdghkmnrstvwy]{7}atcg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Esp23I`,`Esp16I`],site:`cgtctc`,forwardRegex:`cgtctc`,reverseRegex:`gagacg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BmgT120I`],site:`ggncc`,forwardRegex:`g{2}[abcdghkmnrstvwy]c{2}`,reverseRegex:`g{2}[abcdghkmnrstvwy]c{2}`,topSnipOffset:2,bottomSnipOffset:3},{aliases:[`BcoAI`,`BbrPI`,`PmlI`,`PspCI`,`PmaCI`,`Eco72I`,`AcvI`],site:`cacgtg`,forwardRegex:`cacgtg`,reverseRegex:`cacgtg`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`CjeP338II`,`BscUI`,`BsmNI`,`BhaI`],site:`gcatc`,forwardRegex:`gcatc`,reverseRegex:`gatgc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`KasI`,`SspDI`],site:`ggcgcc`,forwardRegex:`g{2}cgc{2}`,reverseRegex:`g{2}cgc{2}`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`FmuI`],site:`ggncc`,forwardRegex:`g{2}[abcdghkmnrstvwy]c{2}`,reverseRegex:`g{2}[abcdghkmnrstvwy]c{2}`,topSnipOffset:4,bottomSnipOffset:1},{aliases:[`RseI`,`MslI`,`SmiMI`],site:`caynnnnrtg`,forwardRegex:`ca[cty][abcdghkmnrstvwy]{4}[agr]tg`,reverseRegex:`ca[cty][abcdghkmnrstvwy]{4}[agr]tg`,topSnipOffset:5,bottomSnipOffset:5},{aliases:[`NmuCI`,`Tsp45I`,`Hpy51I`],site:`gtsac`,forwardRegex:`gt[cgs]ac`,reverseRegex:`gt[cgs]ac`,topSnipOffset:0,bottomSnipOffset:5},{aliases:[`Psp5II`,`PpuMI`,`PpuXI`,`Pfl27I`,`PspPPI`],site:`rggwccy`,forwardRegex:`[agr]g{2}[atw]c{2}[cty]`,reverseRegex:`[agr]g{2}[atw]c{2}[cty]`,topSnipOffset:2,bottomSnipOffset:5},{aliases:[`Bba179I`,`Bst1473I`,`UbaN10I`],site:`wccggw`,forwardRegex:`[atw]c{2}g{2}[atw]`,reverseRegex:`[atw]c{2}g{2}[atw]`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Eco912I`],site:`cacnnnnntggc`,forwardRegex:`cac[abcdghkmnrstvwy]{5}tg{2}c`,reverseRegex:`gc{2}a[abcdghkmnrstvwy]{5}gtg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SsmI`],site:`ctgatg`,forwardRegex:`ctgatg`,reverseRegex:`catcag`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`EsaSSI`],site:`gaccac`,forwardRegex:`gac{2}ac`,reverseRegex:`gtg{2}tc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`EcoDI`],site:`ttannnnnnngtcy`,forwardRegex:`t{2}a[abcdghkmnrstvwy]{7}gtc[cty]`,reverseRegex:`[agr]gac[abcdghkmnrstvwy]{7}ta{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BsoHI`,`BscHI`],site:`actgg`,forwardRegex:`actg{2}`,reverseRegex:`c{2}agt`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`NmeBI`],site:`gacgc`,forwardRegex:`gacgc`,reverseRegex:`gcgtc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`NspBII`,`MspA1I`],site:`cmgckg`,forwardRegex:`c[acm]gc[gkt]g`,reverseRegex:`c[acm]gc[gkt]g`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`BmgAI`],site:`gkgcmc`,forwardRegex:`g[gkt]gc[acm]c`,reverseRegex:`g[gkt]gc[acm]c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`NmeAIII`],site:`gccgag`,forwardRegex:`gc{2}gag`,reverseRegex:`ctcg{2}c`,topSnipOffset:27,bottomSnipOffset:25,isType2S:!0},{aliases:[`DrdIV`],site:`tacgac`,forwardRegex:`tacgac`,reverseRegex:`gtcgta`,topSnipOffset:26,bottomSnipOffset:24,isType2S:!0},{aliases:[`BscQII`],site:`gtctc`,forwardRegex:`gtctc`,reverseRegex:`gagac`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`AbsI`],site:`cctcgagg`,forwardRegex:`c{2}tcgag{2}`,reverseRegex:`c{2}tcgag{2}`,topSnipOffset:2,bottomSnipOffset:6},{aliases:[`Psp03I`],site:`ggwcc`,forwardRegex:`g{2}[atw]c{2}`,reverseRegex:`g{2}[atw]c{2}`,topSnipOffset:4,bottomSnipOffset:1},{aliases:[`BmtI`,`BspOI`,`AceII`],site:`gctagc`,forwardRegex:`gctagc`,reverseRegex:`gctagc`,topSnipOffset:5,bottomSnipOffset:1},{aliases:[`GsaI`],site:`cccagc`,forwardRegex:`c{3}agc`,reverseRegex:`gctg{3}`,topSnipOffset:5,bottomSnipOffset:1},{aliases:[`UbaF9I`],site:`tacnnnnnrtgt`,forwardRegex:`tac[abcdghkmnrstvwy]{5}[agr]tgt`,reverseRegex:`aca[cty][abcdghkmnrstvwy]{5}gta`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Hin1II`,`NlaIII`,`FaeI`,`Hsp92II`,`HpyCH4I`],site:`catg`,forwardRegex:`catg`,reverseRegex:`catg`,topSnipOffset:4,bottomSnipOffset:0},{aliases:[`Bbr7I`],site:`gaagac`,forwardRegex:`ga{2}gac`,reverseRegex:`gtct{2}c`,topSnipOffset:13,bottomSnipOffset:17,isType2S:!0},{aliases:[`Kaz48kI`,`PssI`],site:`rggnccy`,forwardRegex:`[agr]g{2}[abcdghkmnrstvwy]c{2}[cty]`,reverseRegex:`[agr]g{2}[abcdghkmnrstvwy]c{2}[cty]`,topSnipOffset:5,bottomSnipOffset:2},{aliases:[`BoxI`,`BstPAI`,`PshAI`],site:`gacnnnngtc`,forwardRegex:`gac[abcdghkmnrstvwy]{4}gtc`,reverseRegex:`gac[abcdghkmnrstvwy]{4}gtc`,topSnipOffset:5,bottomSnipOffset:5},{aliases:[`SgrDI`],site:`cgtcgacg`,forwardRegex:`cgtcgacg`,reverseRegex:`cgtcgacg`,topSnipOffset:2,bottomSnipOffset:6},{aliases:[`BssIMI`,`SimI`],site:`gggtc`,forwardRegex:`g{3}tc`,reverseRegex:`gac{3}`,topSnipOffset:2,bottomSnipOffset:5},{aliases:[`RleAI`],site:`cccaca`,forwardRegex:`c{3}aca`,reverseRegex:`tgtg{3}`,topSnipOffset:18,bottomSnipOffset:15,isType2S:!0},{aliases:[`EciI`],site:`ggcgga`,forwardRegex:`g{2}cg{2}a`,reverseRegex:`tc{2}gc{2}`,topSnipOffset:17,bottomSnipOffset:15,isType2S:!0},{aliases:[`Eco57MI`],site:`ctgrag`,forwardRegex:`ctg[agr]ag`,reverseRegex:`ct[cty]cag`,topSnipOffset:22,bottomSnipOffset:20,isType2S:!0},{aliases:[`AspJI`,`Ppu1253I`],site:`gacgtc`,forwardRegex:`gacgtc`,reverseRegex:`gacgtc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`UbaF11I`],site:`tcgta`,forwardRegex:`tcgta`,reverseRegex:`tacga`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SetI`],site:`asst`,forwardRegex:`a[cgs]{2}t`,reverseRegex:`a[cgs]{2}t`,topSnipOffset:4,bottomSnipOffset:0},{aliases:[`PspOMII`],site:`cgcccar`,forwardRegex:`cgc{3}a[agr]`,reverseRegex:`[cty]tg{3}cg`,topSnipOffset:27,bottomSnipOffset:25,isType2S:!0},{aliases:[`BsxI`],site:`actggg`,forwardRegex:`actg{3}`,reverseRegex:`c{3}agt`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Eco394I`],site:`gacnnnnnrtaay`,forwardRegex:`gac[abcdghkmnrstvwy]{5}[agr]ta{2}[cty]`,reverseRegex:`[agr]t{2}a[cty][abcdghkmnrstvwy]{5}gtc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`ApyPI`],site:`atcgac`,forwardRegex:`atcgac`,reverseRegex:`gtcgat`,topSnipOffset:26,bottomSnipOffset:24,isType2S:!0},{aliases:[`AlwNI`,`CaiI`],site:`cagnnnctg`,forwardRegex:`cag[abcdghkmnrstvwy]{3}ctg`,reverseRegex:`cag[abcdghkmnrstvwy]{3}ctg`,topSnipOffset:6,bottomSnipOffset:3},{aliases:[`TsuI`],site:`gcgac`,forwardRegex:`gcgac`,reverseRegex:`gtcgc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Bca77I`,`BsaWI`,`BetI`],site:`wccggw`,forwardRegex:`[atw]c{2}g{2}[atw]`,reverseRegex:`[atw]c{2}g{2}[atw]`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`EcoDR3`],site:`tcannnnnnnatcg`,forwardRegex:`tca[abcdghkmnrstvwy]{7}atcg`,reverseRegex:`cgat[abcdghkmnrstvwy]{7}tga`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SgrAI`],site:`crccggyg`,forwardRegex:`c[agr]c{2}g{2}[cty]g`,reverseRegex:`c[agr]c{2}g{2}[cty]g`,topSnipOffset:2,bottomSnipOffset:6},{aliases:[`M.NgoMXV`],site:`gcchr`,forwardRegex:`gc{2}[achmtwy][agr]`,reverseRegex:`[cty][adgkrtw]g{2}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`EcoRD2`],site:`gaannnnnnrttc`,forwardRegex:`ga{2}[abcdghkmnrstvwy]{6}[agr]t{2}c`,reverseRegex:`ga{2}[cty][abcdghkmnrstvwy]{6}t{2}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`TspGWI`],site:`acgga`,forwardRegex:`acg{2}a`,reverseRegex:`tc{2}gt`,topSnipOffset:16,bottomSnipOffset:14,isType2S:!0},{aliases:[`CviAII`],site:`catg`,forwardRegex:`catg`,reverseRegex:`catg`,topSnipOffset:1,bottomSnipOffset:3},{aliases:[`XcmI`],site:`ccannnnnnnnntgg`,forwardRegex:`c{2}a[abcdghkmnrstvwy]{9}tg{2}`,reverseRegex:`c{2}a[abcdghkmnrstvwy]{9}tg{2}`,topSnipOffset:8,bottomSnipOffset:7},{aliases:[`EcoRD3`],site:`gaannnnnnnrttc`,forwardRegex:`ga{2}[abcdghkmnrstvwy]{7}[agr]t{2}c`,reverseRegex:`ga{2}[cty][abcdghkmnrstvwy]{7}t{2}c`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SpoDI`],site:`gcggrag`,forwardRegex:`gcg{2}[agr]ag`,reverseRegex:`ct[cty]c{2}gc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`UbaN12I`],site:`cacgag`,forwardRegex:`cacgag`,reverseRegex:`ctcgtg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`PspFI`],site:`cccagc`,forwardRegex:`c{3}agc`,reverseRegex:`gctg{3}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`PfoI`],site:`tccngga`,forwardRegex:`tc{2}[abcdghkmnrstvwy]g{2}a`,reverseRegex:`tc{2}[abcdghkmnrstvwy]g{2}a`,topSnipOffset:1,bottomSnipOffset:6},{aliases:[`Sse8647I`],site:`aggwcct`,forwardRegex:`ag{2}[atw]c{2}t`,reverseRegex:`ag{2}[atw]c{2}t`,topSnipOffset:2,bottomSnipOffset:5},{aliases:[`KflI`,`Sse1825I`,`SanDI`],site:`gggwccc`,forwardRegex:`g{3}[atw]c{3}`,reverseRegex:`g{3}[atw]c{3}`,topSnipOffset:2,bottomSnipOffset:5},{aliases:[`Sth132I`],site:`cccg`,forwardRegex:`c{3}g`,reverseRegex:`cg{3}`,topSnipOffset:8,bottomSnipOffset:12,isType2S:!0},{aliases:[`CdpI`],site:`gcggag`,forwardRegex:`gcg{2}ag`,reverseRegex:`ctc{2}gc`,topSnipOffset:26,bottomSnipOffset:24,isType2S:!0},{aliases:[`Asp90I`],site:`acrygt`,forwardRegex:`ac[agr][cty]gt`,reverseRegex:`ac[agr][cty]gt`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`M.CviPI`],site:`gc`,forwardRegex:`gc`,reverseRegex:`gc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`MauBI`],site:`cgcgcgcg`,forwardRegex:`cgcgcgcg`,reverseRegex:`cgcgcgcg`,topSnipOffset:2,bottomSnipOffset:6},{aliases:[`CfrAI`],site:`gcannnnnnnngtgg`,forwardRegex:`gca[abcdghkmnrstvwy]{8}gtg{2}`,reverseRegex:`c{2}ac[abcdghkmnrstvwy]{8}tgc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Eco851I`],site:`gtcannnnnntgay`,forwardRegex:`gtca[abcdghkmnrstvwy]{6}tga[cty]`,reverseRegex:`[agr]tca[abcdghkmnrstvwy]{6}tgac`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BsgI`],site:`gtgcag`,forwardRegex:`gtgcag`,reverseRegex:`ctgcac`,topSnipOffset:22,bottomSnipOffset:20,isType2S:!0},{aliases:[`AquIV`],site:`grggaag`,forwardRegex:`g[agr]g{2}a{2}g`,reverseRegex:`ct{2}c{2}[cty]c`,topSnipOffset:26,bottomSnipOffset:24,isType2S:!0},{aliases:[`SciI`],site:`ctcgag`,forwardRegex:`ctcgag`,reverseRegex:`ctcgag`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`VpaK11AI`],site:`ggwcc`,forwardRegex:`g{2}[atw]c{2}`,reverseRegex:`g{2}[atw]c{2}`,topSnipOffset:0,bottomSnipOffset:5},{aliases:[`CviKI`,`CviJI`,`CviKI-1`],site:`rgcy`,forwardRegex:`[agr]gc[cty]`,reverseRegex:`[agr]gc[cty]`,topSnipOffset:2,bottomSnipOffset:2},{aliases:[`SnoI`,`VneI`,`ApaLI`,`Alw44I`],site:`gtgcac`,forwardRegex:`gtgcac`,reverseRegex:`gtgcac`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`BspD6I`],site:`gactc`,forwardRegex:`gactc`,reverseRegex:`gagtc`,topSnipOffset:9,bottomSnipOffset:11,isType2S:!0},{aliases:[`FatI`],site:`catg`,forwardRegex:`catg`,reverseRegex:`catg`,topSnipOffset:0,bottomSnipOffset:4},{aliases:[`ZraI`],site:`gacgtc`,forwardRegex:`gacgtc`,reverseRegex:`gacgtc`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`HineI`,`HinfIII`],site:`cgaat`,forwardRegex:`cga{2}t`,reverseRegex:`at{2}cg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`UbaF12I`],site:`ctacnnngtc`,forwardRegex:`ctac[abcdghkmnrstvwy]{3}gtc`,reverseRegex:`gac[abcdghkmnrstvwy]{3}gtag`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Ppu10I`],site:`atgcat`,forwardRegex:`atgcat`,reverseRegex:`atgcat`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`ApaBI`],site:`gcannnnntgc`,forwardRegex:`gca[abcdghkmnrstvwy]{5}tgc`,reverseRegex:`gca[abcdghkmnrstvwy]{5}tgc`,topSnipOffset:8,bottomSnipOffset:3},{aliases:[`NhaXI`],site:`caagrag`,forwardRegex:`ca{2}g[agr]ag`,reverseRegex:`ct[cty]ct{2}g`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`PabI`],site:`gtac`,forwardRegex:`gtac`,reverseRegex:`gtac`,topSnipOffset:3,bottomSnipOffset:1},{aliases:[`HindI`],site:`cac`,forwardRegex:`cac`,reverseRegex:`gtg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`M.PhiMx8I`],site:`ctssag`,forwardRegex:`ct[cgs]{2}ag`,reverseRegex:`ct[cgs]{2}ag`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`RhcI`],site:`tcatga`,forwardRegex:`tcatga`,reverseRegex:`tcatga`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`KpnI`],site:`ggtacc`,forwardRegex:`g{2}tac{2}`,reverseRegex:`g{2}tac{2}`,topSnipOffset:5,bottomSnipOffset:1},{aliases:[`BpuDI`,`Bpu10I`],site:`cctnagc`,forwardRegex:`c{2}t[abcdghkmnrstvwy]agc`,reverseRegex:`gct[abcdghkmnrstvwy]ag{2}`,topSnipOffset:2,bottomSnipOffset:5},{aliases:[`EcoP15I`],site:`cagcag`,forwardRegex:`cagcag`,reverseRegex:`ctgctg`,topSnipOffset:31,bottomSnipOffset:33,isType2S:!0},{aliases:[`Nli3877I`],site:`cycgrg`,forwardRegex:`c[cty]cg[agr]g`,reverseRegex:`c[cty]cg[agr]g`,topSnipOffset:5,bottomSnipOffset:1},{aliases:[`StySEAI`],site:`acannnnnntyca`,forwardRegex:`aca[abcdghkmnrstvwy]{6}t[cty]ca`,reverseRegex:`tg[agr]a[abcdghkmnrstvwy]{6}tgt`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`M.CviAIV`],site:`rgcb`,forwardRegex:`[agr]gc[bcgksty]`,reverseRegex:`[acgmrsv]gc[cty]`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`Msp16I`],site:`tggcca`,forwardRegex:`tg{2}c{2}a`,reverseRegex:`tg{2}c{2}a`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`SasI`],site:`gaggag`,forwardRegex:`gag{2}ag`,reverseRegex:`ctc{2}tc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`AquIII`],site:`gaggag`,forwardRegex:`gag{2}ag`,reverseRegex:`ctc{2}tc`,topSnipOffset:26,bottomSnipOffset:24,isType2S:!0},{aliases:[`FaiI`],site:`yatr`,forwardRegex:`[cty]at[agr]`,reverseRegex:`[cty]at[agr]`,topSnipOffset:2,bottomSnipOffset:2},{aliases:[`BsbI`],site:`caacac`,forwardRegex:`ca{2}cac`,reverseRegex:`gtgt{2}g`,topSnipOffset:27,bottomSnipOffset:25,isType2S:!0},{aliases:[`NgoAV`],site:`gcannnnnnnntgc`,forwardRegex:`gca[abcdghkmnrstvwy]{8}tgc`,reverseRegex:`gca[abcdghkmnrstvwy]{8}tgc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`BstAPI`],site:`gcannnnntgc`,forwardRegex:`gca[abcdghkmnrstvwy]{5}tgc`,reverseRegex:`gca[abcdghkmnrstvwy]{5}tgc`,topSnipOffset:7,bottomSnipOffset:4},{aliases:[`BsmEI`],site:`gagtc`,forwardRegex:`gagtc`,reverseRegex:`gactc`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`NcuII`],site:`cccg`,forwardRegex:`c{3}g`,reverseRegex:`cg{3}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`CviMI`,`CviNI`,`CviLI`,`CviOI`],site:`rgcy`,forwardRegex:`[agr]gc[cty]`,reverseRegex:`[agr]gc[cty]`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`StySGI`],site:`taannnnnnrtcg`,forwardRegex:`ta{2}[abcdghkmnrstvwy]{6}[agr]tcg`,reverseRegex:`cga[cty][abcdghkmnrstvwy]{6}t{2}a`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`UbaF14I`],site:`ccannnnntcg`,forwardRegex:`c{2}a[abcdghkmnrstvwy]{5}tcg`,reverseRegex:`cga[abcdghkmnrstvwy]{5}tg{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`UbaPI`],site:`cgaacg`,forwardRegex:`cga{2}cg`,reverseRegex:`cgt{2}cg`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`TspDTI`],site:`atgaa`,forwardRegex:`atga{2}`,reverseRegex:`t{2}cat`,topSnipOffset:16,bottomSnipOffset:14,isType2S:!0},{aliases:[`SspI`],site:`aatatt`,forwardRegex:`a{2}tat{2}`,reverseRegex:`a{2}tat{2}`,topSnipOffset:3,bottomSnipOffset:3},{aliases:[`GdiII`],site:`cggccr`,forwardRegex:`cg{2}c{2}[agr]`,reverseRegex:`[cty]g{2}c{2}g`,topSnipOffset:1,bottomSnipOffset:5},{aliases:[`StySQI`],site:`aacnnnnnnrtayg`,forwardRegex:`a{2}c[abcdghkmnrstvwy]{6}[agr]ta[cty]g`,reverseRegex:`c[agr]ta[cty][abcdghkmnrstvwy]{6}gt{2}`,topSnipOffset:1,bottomSnipOffset:1},{aliases:[`NlaCI`],site:`catcac`,forwardRegex:`catcac`,reverseRegex:`gtgatg`,topSnipOffset:25,bottomSnipOffset:23,isType2S:!0},{aliases:[`PacI`],site:`ttaattaa`,forwardRegex:`t{2}a{2}t{2}a{2}`,reverseRegex:`t{2}a{2}t{2}a{2}`,topSnipOffset:5,bottomSnipOffset:3},{aliases:[`BarI`],isType2S:!0,site:`gaagnnnnnntac`,forwardRegex:`ga{2}g[abcdghkmnrstvwy]{6}tac`,reverseRegex:`gta[abcdghkmnrstvwy]{6}ct{2}c`,topSnipOffset:25,bottomSnipOffset:20,cutType:1,usForward:25,usReverse:20},{aliases:[`CspCI`],isType2S:!0,site:`caannnnngtgg`,forwardRegex:`ca{2}[abcdghkmnrstvwy]{5}gtg{2}`,reverseRegex:`c{2}ac[abcdghkmnrstvwy]{5}t{2}g`,topSnipOffset:24,bottomSnipOffset:22,cutType:1,usForward:24,usReverse:22},{aliases:[`NmeDI`],site:`rccggy`,forwardRegex:`[agr]c{2}g{2}[cty]`,reverseRegex:`[agr]c{2}g{2}[cty]`,topSnipOffset:13,bottomSnipOffset:18,cutType:1,usForward:13,usReverse:18,isType2S:!0},{aliases:[`CjePI`],site:`ccannnnnnntc`,forwardRegex:`c{2}a[abcdghkmnrstvwy]{7}tc`,reverseRegex:`ga[abcdghkmnrstvwy]{7}tg{2}`,topSnipOffset:26,bottomSnipOffset:20,cutType:1,usForward:26,usReverse:20,isType2S:!0},{aliases:[`CjeI`],site:`ccannnnnngt`,forwardRegex:`c{2}a[abcdghkmnrstvwy]{6}gt`,reverseRegex:`ac[abcdghkmnrstvwy]{6}tg{2}`,topSnipOffset:26,bottomSnipOffset:20,cutType:1,usForward:26,usReverse:20,isType2S:!0},{aliases:[`PsrI`],site:`gaacnnnnnntac`,forwardRegex:`ga{2}c[abcdghkmnrstvwy]{6}tac`,reverseRegex:`gta[abcdghkmnrstvwy]{6}gt{2}c`,topSnipOffset:25,bottomSnipOffset:20,cutType:1,usForward:25,usReverse:20,isType2S:!0},{aliases:[`ArsI`],site:`gacnnnnnnttyg`,forwardRegex:`gac[abcdghkmnrstvwy]{6}t{2}[cty]g`,reverseRegex:`c[agr]a{2}[abcdghkmnrstvwy]{6}gtc`,topSnipOffset:24,bottomSnipOffset:19,cutType:1,usForward:24,usReverse:19,isType2S:!0},{aliases:[`TstI`],site:`cacnnnnnntcc`,forwardRegex:`cac[abcdghkmnrstvwy]{6}tc{2}`,reverseRegex:`g{2}a[abcdghkmnrstvwy]{6}gtg`,topSnipOffset:24,bottomSnipOffset:19,cutType:1,usForward:24,usReverse:19,isType2S:!0},{aliases:[`Bsp24I`],site:`gacnnnnnntgg`,forwardRegex:`gac[abcdghkmnrstvwy]{6}tg{2}`,reverseRegex:`c{2}a[abcdghkmnrstvwy]{6}gtc`,topSnipOffset:24,bottomSnipOffset:19,cutType:1,usForward:24,usReverse:19,isType2S:!0},{aliases:[`AloI`],site:`gaacnnnnnntcc`,forwardRegex:`ga{2}c[abcdghkmnrstvwy]{6}tc{2}`,reverseRegex:`g{2}a[abcdghkmnrstvwy]{6}gt{2}c`,topSnipOffset:25,bottomSnipOffset:20,cutType:1,usForward:25,usReverse:20,isType2S:!0},{aliases:[`FalI`],site:`aagnnnnnctt`,forwardRegex:`a{2}g[abcdghkmnrstvwy]{5}ct{2}`,reverseRegex:`a{2}g[abcdghkmnrstvwy]{5}ct{2}`,topSnipOffset:24,bottomSnipOffset:19,cutType:1,usForward:24,usReverse:19,isType2S:!0},{aliases:[`AjuI`],site:`gaannnnnnnttgg`,forwardRegex:`ga{2}[abcdghkmnrstvwy]{7}t{2}g{2}`,reverseRegex:`c{2}a{2}[abcdghkmnrstvwy]{7}t{2}c`,topSnipOffset:25,bottomSnipOffset:20,cutType:1,usForward:25,usReverse:20,isType2S:!0},{aliases:[`AlfI`],site:`gcannnnnntgc`,forwardRegex:`gca[abcdghkmnrstvwy]{6}tgc`,reverseRegex:`gca[abcdghkmnrstvwy]{6}tgc`,topSnipOffset:24,bottomSnipOffset:22,cutType:1,usForward:24,usReverse:22,isType2S:!0},{aliases:[`NgoAVIII`],site:`gacnnnnntga`,forwardRegex:`gac[abcdghkmnrstvwy]{5}tga`,reverseRegex:`tca[abcdghkmnrstvwy]{5}gtc`,topSnipOffset:24,bottomSnipOffset:22,cutType:1,usForward:24,usReverse:22,isType2S:!0},{aliases:[`HaeIV`],site:`gaynnnnnrtc`,forwardRegex:`ga[cty][abcdghkmnrstvwy]{5}[agr]tc`,reverseRegex:`ga[cty][abcdghkmnrstvwy]{5}[agr]tc`,topSnipOffset:25,bottomSnipOffset:20,cutType:1,usForward:25,usReverse:20,isType2S:!0},{aliases:[`BdaI`],site:`tgannnnnntca`,forwardRegex:`tga[abcdghkmnrstvwy]{6}tca`,reverseRegex:`tga[abcdghkmnrstvwy]{6}tca`,topSnipOffset:24,bottomSnipOffset:22,cutType:1,usForward:24,usReverse:22,isType2S:!0},{aliases:[`PpiI`],site:`gaacnnnnnctc`,forwardRegex:`ga{2}c[abcdghkmnrstvwy]{5}ctc`,reverseRegex:`gag[abcdghkmnrstvwy]{5}gt{2}c`,topSnipOffset:25,bottomSnipOffset:20,cutType:1,usForward:25,usReverse:20,isType2S:!0},{aliases:[`BcgI`],site:`cgannnnnntgc`,forwardRegex:`cga[abcdghkmnrstvwy]{6}tgc`,reverseRegex:`gca[abcdghkmnrstvwy]{6}tcg`,topSnipOffset:24,bottomSnipOffset:22,cutType:1,usForward:24,usReverse:22,isType2S:!0},{aliases:[`BplI`],site:`gagnnnnnctc`,forwardRegex:`gag[abcdghkmnrstvwy]{5}ctc`,reverseRegex:`gag[abcdghkmnrstvwy]{5}ctc`,topSnipOffset:24,bottomSnipOffset:19,cutType:1,usForward:24,usReverse:19,isType2S:!0},{aliases:[`BsaXI`],site:`acnnnnnctcc`,forwardRegex:`ac[abcdghkmnrstvwy]{5}ctc{2}`,reverseRegex:`g{2}ag[abcdghkmnrstvwy]{5}gt`,topSnipOffset:21,bottomSnipOffset:18,cutType:1,usForward:21,usReverse:18,isType2S:!0},{aliases:[`Hin4I`],site:`gaynnnnnvtc`,forwardRegex:`ga[cty][abcdghkmnrstvwy]{5}[acgmrsv]tc`,reverseRegex:`ga[bcgksty][abcdghkmnrstvwy]{5}[agr]tc`,topSnipOffset:24,bottomSnipOffset:19,cutType:1,usForward:24,usReverse:19,isType2S:!0},{aliases:[`BaeI`],site:`acnnnngtayc`,forwardRegex:`ac[abcdghkmnrstvwy]{4}gta[cty]c`,reverseRegex:`g[agr]tac[abcdghkmnrstvwy]{4}gt`,topSnipOffset:23,bottomSnipOffset:18,cutType:1,usForward:23,usReverse:18,isType2S:!0},{aliases:[`SdeOSI`],site:`gacnnnnrtga`,forwardRegex:`gac[abcdghkmnrstvwy]{4}[agr]tga`,reverseRegex:`tca[cty][abcdghkmnrstvwy]{4}gtc`,topSnipOffset:23,bottomSnipOffset:21,cutType:1,usForward:23,usReverse:21,isType2S:!0}],U_={};H_.forEach(e=>{e.aliases.forEach(t=>{U_[t.toLowerCase()]=Os(Y({},e),{name:t})})});function W_(e,t={}){let{threshold:n=.9,loose:r}=t,i=(t.dnaLetters||r?[...fg.split(``),`U`]:[`G`,`A`,`T`,`C`,`U`]).reduce((e,t)=>(e[t.toUpperCase()]=!0,e),{}),a=0;if(!e||!e.length)return!0;for(let t=0;t<e.length;t++)i[e[t].toUpperCase()]&&(a+=1);return a/e.length>n}X(W_,`guessIfSequenceIsDnaAndNotProtein`);function G_(e){return typeof e==`object`&&e?q_(Os(Y({},e),{locations:e.locations?e.locations.map(q_):void 0})):K_(e)}X(G_,`convertAACaretPositionOrRangeToDna`);function K_(e){return e*3}X(K_,`convertAACaretPositionToDnaCaretPosition`);function q_(e){return Os(Y({},e),{start:e.start>-1?e.start*3:e.start,end:e.end>-1?e.end*3+2:e.end})}X(q_,`convertAARangeToDnaRange`),Yh(B_),zg(),Rg();var J_=[{type:`primers`},{pragma:`Teselagen_Part`,type:`parts`},{pragma:`j5_warning`,type:`warnings`},{pragma:`j5_assembly_piece`,type:`assemblyPieces`},{pragma:`j5_lineage_annotation`,type:`lineageAnnotations`}];function Y_(e){return!e||typeof e!=`string`?e:e.replace(/%%TG%%_(.*?)_%%TG%%/g,function(e,t){return t?`${decodeURIComponent(t)}`:e})}X(Y_,`unmangleUrls`);function X_(e,{mangleUrls:t,doNotMangleOrStripUrls:n}={}){if(!e)return e;let r=/(((https?:\/\/)|(www\.))[^\s]+)/g;return t||n?n?e:e.replace(r,function(e){return`%%TG%%_${encodeURIComponent(e)}_%%TG%%`}):e.replace(r,function(){return``})}X(X_,`mangleOrStripUrls`);var Z_=X(function(e){return e.toString().replace(/ /g,`_`)},`reformatName`);function Q_(e,t={}){let{guessIfProtein:n,guessIfProteinOptions:r,reformatSeqName:i,inclusive1BasedStart:a,inclusive1BasedEnd:o,additionalValidChars:s,allowOverflowAnnotations:c,coerceFeatureTypes:l}=t;[`isDNA`,`isOligo`,`isRNA`,`isDoubleStrandedDNA`,`isSingleStrandedDNA`,`isDoubleStrandedRNA`,`isProtein`].forEach(n=>{t[n]!==void 0&&e[n]===void 0&&(e[n]=t[n])});let u={validatedAndCleanedSequence:{},messages:[]};if(!e||typeof e!=`object`)throw Error(`Invalid sequence`);e.name||=``,e.extraLines||=[],e.comments||=[],e.description&&=Y_(e.description);let d=e.name;if(i&&(e.name=Z_(e.name)),d!==e.name&&u.messages.push(`Name (`+d+`) reformatted to `+e.name),Array.isArray(e.sequence)&&(e.sequence=e.sequence.join(``)),e.sequence||=(u.messages.push(`No sequence detected`),``),e.isProtein===void 0&&n&&(e.isProtein=!W_(e.sequence,r)),e.isProtein){let[t,n]=M_(e.sequence,{name:e.name,isProtein:!0,additionalValidChars:s});t!==e.sequence&&(e.sequence=t,u.messages.push(...n)),e.type=`PROTEIN`,e.isProtein=!0,e.proteinSequence||=e.sequence,e.proteinSize=e.proteinSequence.length}else{let t=e.sequence;t!==e.sequence&&!e.isDNA&&!e.isProtein&&e.isRNA!==!1?(e.type=`RNA`,e.sequence=t):e.type=`DNA`;let[n,r]=M_(e.sequence,Y({additionalValidChars:s},e));n!==e.sequence&&(e.sequence=n,u.messages.push(...r))}e.size||=e.isProtein?e.proteinSequence.length*3:e.sequence.length;let f;return e.circular===!1||e.circular===`false`||e.circular===-1?(e.circular=!1,f=!0):e.circular?e.circular=!0:(e.circular=!1,f||=!1),(!e.features||!Array.isArray(e.features))&&(u.messages.push(`No valid features detected`),e.features=[]),e.features=e.features.filter(function(n){if(!n||typeof n!=`object`)return u.messages.push(`Invalid feature detected and removed`),!1;n.start=parseInt(n.start,10),n.end=parseInt(n.end,10),(!n.name||typeof n.name!=`string`)&&(u.messages.push(`Unable to detect valid name for feature, setting name to "Untitled Feature"`),n.name=`Untitled Feature`),!c&&(!$s([n.start])||n.start>e.size-+!a)&&(u.messages.push(`Invalid feature start: `+n.start+` detected for `+n.name+` and set to 1`),n.start=0),!c&&(!$s([n.end])||n.end>e.size-+!o)&&(n.end=Math.max(e.size-1,+!o),u.messages.push(`Invalid feature end: `+n.end+` detected for `+n.name+` and set to `+(n.end+1))),n.start-+!a>n.end-+!o&&e.circular===!1&&(f?(u.messages.push(`Invalid circular feature detected in explicitly linear sequence. `+n.name+`. start set to 1`),n.start=0):(u.messages.push(`Circular feature detected in implicitly linear sequence. Setting sequence to be circular.`),e.circular=!0)),n.strand=parseInt(n.strand,10),n.strand=n.strand===-1||n.strand===!1||n.strand===`false`||n.strand===`-`?-1:1;let r;n.type&&typeof n.type==`string`&&n.type.toLowerCase()===`primer`&&(n.type=`primer_bind`),(!n.type||typeof n.type!=`string`||!zg({includeHidden:!0}).some(function(e){return e.toLowerCase()===n.type.toLowerCase()&&(n.type=e,!0)}))&&(l||!n.type)&&(u.messages.push(`Invalid feature type detected: "`+n.type+`" within `+n.name+`. set type to misc_feature`),typeof n.type==`string`&&(r=n.type),n.type=`misc_feature`),n.notes||={},r&&(n.notes.featureType||(n.notes.featureType=[]),n.notes.featureType.push(r)),n.notes.label?delete n.notes.label:n.notes.gene?delete n.notes.gene:n.notes.name&&delete n.notes.name,n.notes.color&&(n.color=n.notes.color[0]||n.color,delete n.notes.color),n.notes.labelColor&&(n.labelColor=n.notes.labelColor[0]||n.labelColor,delete n.notes.labelColor),n.notes.pragma&&og(n.notes.pragma,e=>e===`overlapsSelf`)&&(n.overlapsSelf=!0,n.notes.pragma=Hh(n.notes.pragma,e=>e!==`overlapsSelf`)),n.notes.note&&og(n.notes.note,e=>{if(e&&typeof e==`string`&&e.toLowerCase().includes(`sequence:`)){n.notes.note=Hh(n.notes.note,e=>e&&!e.toLowerCase().includes(`sequence:`)),n.notes.note.length===0&&delete n.notes.note;let t=e.match(/sequence:[ \r\n.]*[a-zA-Z]*/i);return t&&t[0]&&(n.bases=t[0].replace(/\s/g,``).replace(`sequence:`,``)),!0}}),n.notes.primerBindsOn&&og(n.notes.primerBindsOn,e=>{e&&(n.primerBindsOn=e,delete n.notes.primerBindsOn)});for(let{pragma:r,type:i}of J_)if(t[`accept${_f(i)}`]!==!1&&n.notes.pragma&&og(n.notes.pragma,e=>e===r))return e[i]||(e[i]=[]),i!==`parts`&&(n.type=i.slice(0,-1)),delete n.notes.pragma,e[i].push(n),!1;return Bh(n.notes,(e,t)=>{n.notes[t]=Wh(e,e=>Y_(e))}),!0}),u.validatedAndCleanedSequence=e,u}X(Q_,`validateSequence`);function $_(e,t){return e&&(Array.isArray(e)||(e=[e]),e.forEach(function(e){if(e.success){let n=Q_(e.parsedSequence,t);e.messages=e.messages.concat(n.messages),e.parsedSequence=n.validatedAndCleanedSequence}})),e}X($_,`validateSequenceArray`);function ev(e,t={}){let n=Ns(t.fileName);/^(faa)$/.test(n)&&(t.isProtein=!0);let r=[],i=null;try{let t=Ps(e);for(let e=0;e<t.length;e++)a(t[e]);i&&=(r.push(i),null)}catch(e){console.error(`error:`,e),console.error(`error.stack: `,e.stack),r=[{success:!1,messages:[`Import Error: Invalid File`]}]}return $_(r,t);function a(e){if(e=e.trim(),e[0]===`;`){if(i)return;i=Ms(t),o(e)}else e[0]===`>`?(i&&=(r.push(i),null),i=Ms(t),o(e)):(i||=Ms(t),s(e));t&&t.parseFastaAsCircular&&(i.parsedSequence.circular=!0)}function o(e){if(t&&`parseName`in t&&!t.parseName){i.parsedSequence.name=e.slice(1);return}let n=e.indexOf(`|`);n>-1?(i.parsedSequence.name=e.slice(1,n),i.parsedSequence.description=e.slice(n+1)):i.parsedSequence.name=e.slice(1)}function s(e){i.parsedSequence.sequence+=e}}X(ev,`fastaToJson`);function tv(e,t){t&&t.splitLocations?e&&e.features.forEach(function(t){if(t.locations&&t.locations[0]){if(t.locations.length>1)for(let n=1;n<t.locations.length;n++){let r=t.locations[n],i=JSON.parse(JSON.stringify(t));i.start=r.start,i.end=r.end,delete i.locations,e.features.push(i)}t.start=t.locations[0].start,t.end=t.locations[0].end}delete t.locations}):e&&e.features.forEach(function(t){t.locations&&t.locations[0]&&(t.start=t.locations[0].start,t.end=t.locations[t.locations.length-1].end,t.locations.length>1?t.locations.some(n=>!Cg(n,t,e.sequence.length))&&delete t.locations:delete t.locations)}),Array.isArray(e.sequence)&&(e.sequence=e.sequence.join(``))}X(tv,`convertOldSequenceDataToNewDataType`);function nv(e,t){return e&&(Array.isArray(e)||(e=[e]),e.forEach(function(e){e.success&&tv(e.parsedSequence,t)})),e}X(nv,`flattenSequenceArray`);function rv(e,t,n,r){let i=e.map(e=>Y({},e));for(let e=0;e<i.length-1;e++){let a=i[e],o=i[e+1];a.end===t-+!r&&o.start===1-!n&&(i[e]={start:a.start,end:o.end},i.splice(e+1,1))}return i}X(rv,`wrapOriginSpanningFeatures`);function iv(e,t,n,r,i,a){e=e.trim();let o=[];e.split(`,`).forEach(e=>{let t=e.match(/(\d+)/g);t!==null&&(o.push(t[0]),o.push(t[1]||t[0]))});let s=[];for(let e=0;e<o.length;e+=2){let i={start:parseInt(o[e],10)-+!n,end:parseInt(o[e+1],10)-+!r};s.push(t?G_(i):i)}return i&&a?rv(s,a,n,r):s}X(iv,`parseFeatureLocation`);function av(e,t={}){let{inclusive1BasedStart:n,inclusive1BasedEnd:r}=t,i=[],a,o,s={LOCUS_TAG:`LOCUS`,DEFINITION_TAG:`DEFINITION`,ACCESSION_TAG:`ACCESSION`,VERSION_TAG:`VERSION`,KEYWORDS_TAG:`KEYWORDS`,SOURCE_TAG:`SOURCE`,ORGANISM_TAG:`ORGANISM`,REFERENCE_TAG:`REFERENCE`,AUTHORS_TAG:`AUTHORS`,CONSORTIUM_TAG:`CONSRTM`,TITLE_TAG:`TITLE`,JOURNAL_TAG:`JOURNAL`,PUBMED_TAG:`PUBMED`,REMARK_TAG:`REMARK`,COMMENT_TAG:`COMMENT`,FEATURES_TAG:`FEATURES`,BASE_COUNT_TAG:`BASE COUNT`,ORIGIN_TAG:`ORIGIN`,END_SEQUENCE_TAG:`//`},c=!1,l;try{let n=Ps(e),r=!1;n===null&&p(`Import Error: Sequence file is empty`),n.some(function(e){if(e===null)return!0;let n=!e.trim().startsWith(`/`),i=S(e,n),o=C(e,n),l=E(e),u=T(e),f=w(e);if(l||(i===`LOCUS`||i===`REFERENCE`||i===`FEATURES`||i===`ORIGIN`||i===`//`||f===!0)&&(r=i),e.trim()===``||i===`;`)return!1;if(!c&&r!==s.LOCUS_TAG)return!0;switch(r){case s.LOCUS_TAG:c&&(e=c+e),g(e),c=e;break;case s.FEATURES_TAG:if(o===``){p(`Warning: The feature '`+i+`'' has no location specified. This line has been ignored: line`+e);break}v(e,i,o);break;case s.ORIGIN_TAG:h(e,i);break;case s.END_SEQUENCE_TAG:d(t);break;case s.DEFINITION_TAG:if(e=e.replace(/DEFINITION/,``),e=e.trim(),a.parsedSequence)a.parsedSequence.definition?a.parsedSequence.definition+=` `+e:a.parsedSequence.definition=e,a.parsedSequence.description?a.parsedSequence.description+=` `+e:a.parsedSequence.description=e;else throw Error(`no sequence yet created upon which to extract an extra line!`);break;case s.ACCESSION_TAG:e=e.replace(/ACCESSION/,``),e=e.trim(),a.parsedSequence&&(a.parsedSequence.accession=e);break;case s.VERSION_TAG:e=e.replace(/VERSION/,``),e=e.trim(),a.parsedSequence&&(a.parsedSequence.version=e);break;case`COMMENT`:if(e=e.replace(/COMMENT/,``),e=e.trim(),a.parsedSequence)a.parsedSequence.comments||(a.parsedSequence.comments=[]),e.indexOf(`teselagen_unique_id:`)>-1?a.parsedSequence.teselagen_unique_id=e.replace(/ /g,``).replace(`teselagen_unique_id:`,``):e.indexOf(`library:`)>-1?a.parsedSequence.library=e.replace(/ /g,``).replace(`library:`,``):a.parsedSequence.comments.push(e);else throw Error(`no sequence yet created upon which to extract an extra line!`);break;default:if(_(e),i===`BASE`){p(`Warning: This BaseCount line has been ignored: `+e);break}f||u||l||p(`Warning: This line has been ignored: `+e)}return!1})}catch(e){console.error(`Error trying to parse file as .gb:`,e),a={success:!1,messages:[`Import Error: Invalid File`]}}(!a||a.success&&i[i.length-1]!==a)&&d();let u=$_(nv(i,t),t);return u.forEach(e=>{if(e.success){let n=e.parsedSequence;n.features.forEach(e=>{e.type===`primer`&&(e.type=`primer_bind`)}),t.primersAsFeatures||(n.primers=n.features.filter(e=>e.type===`primer_bind`),n.features=n.features.filter(e=>e.type!==`primer_bind`))}}),u;function d(e){c=!1,m(e),i.push(a||{success:!1})}function f(){return a.parsedSequence.features[a.parsedSequence.features.length-1]}function p(e){if(a.messages.indexOf(e===-1))return a.messages.push(e)}function m(e){if(a&&a.parsedSequence&&a.parsedSequence.features)for(let t=0;t<a.parsedSequence.features.length;t++)a.parsedSequence.features[t]=D(a.parsedSequence.features[t],a.parsedSequence,e)}function h(e,t){if(t!==s.ORIGIN_TAG){let t=e.replace(/[\s]*[0-9]*/g,``);a.parsedSequence.sequence+=t}}function g(e){a=Ms(t);let n,r,i,o=e.split(/[\s]+/g);o.length<=1&&(console.warn(`Parsing GenBank File: WARNING! Locus line contains no values!`),p(`Import Warning: Locus line contains no values: `+e));let s=o[1];for(let e=1;e<o.length;e++)o[e].match(/circular/gi)?n=!0:o[e].match(/linear/gi)&&(n=!1);for(let e=1;e<o.length;e++){let n=o[e];n.match(/-[A-Z]{3}-/g)&&(i=n),e===3&&n.match(/aa/i)&&(t.sequenceTypeFromLocus=n,t.isProtein=!0),e===4&&(n.match(/ds-dna/i)||n.match(/ss-dna/i)||n.match(/dna/i)||n.match(/rna/i))&&(t.isProtein===void 0&&(t.isProtein=!1),t.sequenceTypeFromLocus=n,n.match(/ss-dna/i)?(t.isDNA=!0,t.isSingleStrandedDNA=!0):n.match(/rna/i)?t.isRna=!0:(n.match(/ds-dna/i)||n.match(/dna/i))&&(t.isDNA=!0,t.isDoubleStrandedDNA=!0),n.match(/rna/i)&&!n.match(/ss-rna/i)&&(t.isDoubleStrandedRNA=!0)),typeof o[e]==`string`&&js[o[e].toUpperCase()]&&(r=o[e].toUpperCase())}(s!==`Exported`||a.parsedSequence.name===As)&&(a.parsedSequence.name=s),a.parsedSequence.gbDivision=r,a.parsedSequence.sequenceTypeFromLocus=t.sequenceTypeFromLocus,a.parsedSequence.isDNA=t.isDNA,a.parsedSequence.isDoubleStrandedDNA=t.isDoubleStrandedDNA,a.parsedSequence.isSingleStrandedDNA=t.isSingleStrandedDNA,a.parsedSequence.isRna=t.isRna,a.parsedSequence.isDoubleStrandedRNA=t.isDoubleStrandedRNA,a.parsedSequence.date=i,a.parsedSequence.circular=n}function _(e){if(a.parsedSequence)a.parsedSequence.extraLines||(a.parsedSequence.extraLines=[]),a.parsedSequence.extraLines.push(e);else throw Error(`no sequence yet created upon which to extract an extra line!`)}function v(e,i,c){let u;if(i===s.FEATURES_TAG){O=!0;return}if(O&&=(l=sv(e),!1),ov(e,l)){if(k){let i=f();i.locations=i.locations.concat(iv(e.trim(),t.isProtein,n,r,a.parsedSequence.circular,a.parsedSequence.sequence.length)),k=!0}else o&&(o[o.length-1]+=e.trimLeft().replace(/"/g,``)),k=!1}else if(b(e)){if(f())x(e),k=!1;else return}else{u=c.match(/complement/g)?-1:1,y();let e=f();e.type=i,e.strand=u,e.forward=u===1,e.locations=e.locations.concat(iv(c,t.isProtein,n,r,a.parsedSequence.circular,a.parsedSequence.sequence.length)),k=!0}}function y(){a.parsedSequence.features.push({locations:[],notes:{}})}function b(e){let t=!1;return(e.trim().charAt(0).match(/\//)||e.match(/^[\s]*\/[\w]+=[\S]+/))&&(t=!0),t}function x(e){let t;t=e.trimLeft(),t=t.replace(/^\/|"$/g,``);let n=t.split(/="|=/),r=n.slice(1).join(`=`);r&&(r=r.replace(/\\/g,` `),e.match(/="/g)?r=r.replace(/".*/g,``):r.match(/^\d+$/g)&&(r=parseInt(r,10)));let i=n[0],a=f().notes;a[i]?a[i].push(r):a[i]=[r],o=a[i]}function S(e,t){let n;return e=e.replace(/^[\s]*/,``),n=e.indexOf(`=`)<0||t?e.split(/[\s]+/):e.split(/=/),n[0]}function C(e,t){let n;return e.indexOf(`=`)<0||t?(e=e.replace(/^[\s]*[\S]+[\s]+|[\s]+$/,``),e=e.trim(),e):(n=e.split(/=/),n.slice(1).join(``))}function w(e){let t=!1;return e.substr(0,10).match(/^[\S]+/)&&(t=!0),t}function T(e){let t=!1;return e.substr(0,10).match(/^[\s]+[\S]+/)&&(t=!0),t}function E(e){let t;return t=!!e.substr(0,10).match(/[\s]{10}/),t}function D(e,t,n){if(e.name=e.notes.label?e.notes.label[0]:e.notes.gene?e.notes.gene[0]:e.notes.ApEinfo_label?e.notes.ApEinfo_label[0]:e.notes.name?e.notes.name[0]:e.notes.product?e.notes.product[0]:e.notes.region_name?e.notes.region_name[0]:e.notes.organism?e.notes.organism[0]:e.notes.locus_tag?e.notes.locus_tag[0]:e.notes.note?e.notes.note[0].substr(0,100):`Untitled Feature`,e.name=typeof e.name==`string`?e.name:String(e.name),e.name!==0&&!e.name&&(e.name=`Untitled Feature`),e.name.length>100){let t=e.name;e.name=e.name.substr(0,100),p(`Warning: Shortening name of feature ${t} (max 100 chars)`)}if(e.notes.direction&&(e.arrowheadType=e.notes.direction[0].toUpperCase()===`BOTH`?`BOTH`:e.notes.direction[0].toUpperCase()===`NONE`?`NONE`:void 0,delete e.notes.direction),e.locations&&e.locations.length>1&&e.locations[0].start>e.locations[e.locations.length-1].end&&t.circular===void 0&&(t.circular=!0),t.circular){let{inclusive1BasedStart:r,inclusive1BasedEnd:i}=n;e.locations=rv(e.locations,t.sequence.length,r,i)}else e.locations&&e.locations.length>1&&e.locations.sort((e,t)=>e.start-t.start);return e}var O,k}X(av,`genbankToJson`);function ov(e,t){return!(t===sv(e)||e.trim().charAt(0).match(/\//))}X(ov,`isFeatureLineRunon`);function sv(e){let t=/^\s*/.exec(e);return t===null?0:t[0].length}X(sv,`getLengthOfWhiteSpaceBeforeStartOfLetters`);var cv=class{constructor(e){Object.assign(this,e),this.value=this.obj[this.prop]}toString(){let{path:e,type:t}=this;return`${e} -> (${t}) ${this.logValue()}`}logValue(){let e=this.value;return X(e=>Object(e)!==e,`isPrimitive`)(e)||Array.isArray(e)?e:{}.toString.call(e)}log(){console.info(this.toString())}};X(cv,`Match`);var lv=cv,uv=typeof window==`object`?window:global;function dv(e,t){let n=X((e,t,n)=>e==n,`searchBy`),r,i,a=[{where:t,path:t==uv?`GLOBAL`:`SRC`}],o=[],s=[];for(s.log=function(){this.forEach(e=>e.log())};r=a.pop();){let{where:t,path:c}=r;for(let l in t)try{if(t.hasOwnProperty(l)){if([t[l]]==`[object Object]`){for(let e=-1;o[++e]&&!(i=Zh(o[e].where,t[l])&&o[e]););i||(r={where:t[l],path:`${c}.${l}`},a.push(r),o.push(r))}if(n(e,t,l)){let e=i?`<${i.path}>`:typeof t[l],n=new lv({path:`${c}.${l}`,obj:t,prop:l,type:e});s.push(n)}}}catch{}}return s}X(dv,`searchWholeObjByName`);function fv(e,t){return dv(e,t)?.[0]?.value?.[0]}X(fv,`searchWholeObjByNameSimple`);function pv(e,t){return dv(e,t)?.[0]?.value}X(pv,`searchWholeObjByNameSimpleArray`);var mv={},hv={},gv;function _v(){return gv?hv:(gv=1,(function(e){let t=`:A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD`,n=`[`+t+`][`+(t+`\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040`)+`]*`,r=RegExp(`^`+n+`$`),i=X(function(e,t){let n=[],r=t.exec(e);for(;r;){let i=[];i.startIndex=t.lastIndex-r[0].length;let a=r.length;for(let e=0;e<a;e++)i.push(r[e]);n.push(i),r=t.exec(e)}return n},`getAllMatches`),a=X(function(e){return r.exec(e)!=null},`isName`);e.isExist=function(e){return e!==void 0},e.isEmptyObject=function(e){return Object.keys(e).length===0},e.merge=function(e,t,n){if(t){let r=Object.keys(t),i=r.length;for(let a=0;a<i;a++)n===`strict`?e[r[a]]=[t[r[a]]]:e[r[a]]=t[r[a]]}},e.getValue=function(t){return e.isExist(t)?t:``},e.isName=a,e.getAllMatches=i,e.nameRegexp=n})(hv),hv)}X(_v,`requireUtil`);var vv;function yv(){if(vv)return mv;vv=1;let e=_v(),t={allowBooleanAttributes:!1,unpairedTags:[]};mv.validate=function(e,o){o=Object.assign({},t,o);let c=[],d=!1,m=!1;e[0]===``&&(e=e.substr(1));for(let t=0;t<e.length;t++)if(e[t]===`<`&&e[t+1]===`?`){if(t+=2,t=r(e,t),t.err)return t}else if(e[t]===`<`){let h=t;if(t++,e[t]===`!`){t=i(e,t);continue}{let g=!1;e[t]===`/`&&(g=!0,t++);let _=``;for(;t<e.length&&e[t]!==`>`&&e[t]!==` `&&e[t]!==` `&&e[t]!==`
@@ -49,4 +49,4 @@ ${e.sequence}
49
49
  `,f+=(u.match(/.{1,80}/g)||[]).join(`
50
50
  `),f}X(QS,`jsonToFasta`);function $S(e,t={}){let{name:n,features:r,size:i,description:a,circular:o}=t.featuresOnly?e:z_(e),s=``;s+=`${n||`Untitled Sequence`}|`,s+=`|`+i,s+=a?`|`+a:``,s+=`|`+(o?`circular`:`linear`);let c=t.sequenceName||s,l=``;return l+=`track name="${c}" description="${n} Annotations" itemRgb="On"
51
51
  `,r.forEach(function(e){let{start:t,end:n,name:r,type:i,forward:a,strand:o}=e,s=r||i,u;u=a||o===1?`+`:!a||o===-1?`-`:`.`;let d=i===`CDS`?`230,88,0`:``;l+=`${c} ${t} ${n+1} ${s} ${u} ${d}
52
- `}),l}X($S,`jsonToBed`);function eC(e){let t=wm(e);return t&&(delete t.cutsites,delete t.orfs,Bh(t.translations,e=>{delete e.aminoAcids}),t)}X(eC,`cleanUpTeselagenJsonForExport`);function tC(e,t=[]){return e.replace(/u/gi,(e,n)=>(t.push({type:`misc_feature`,name:`tg_uracil`,strand:1,start:n,end:n}),e===`U`?`T`:`t`))}X(tC,`parseUracilFeatures`);function nC(e){return JSON.stringify(ig(eC(z_(e,{annotationsAsObjects:!1})),[`sequenceFragments`,`sequenceFeatures`,`cutsites`,`orfs`,`filteredParts`,`filteredFeatures`]))}X(nC,`jsonToJsonString`);async function rC(e){let t=await av(e);for(let e of t)e.parsedSequence?.sequence&&(e.parsedSequence.sequence=e.parsedSequence.sequence.toUpperCase().replace(/U/g,`T`));return t}var iC=function(){},aC=typeof window<`u`,oC=aC?l.useLayoutEffect:l.useEffect,sC={x:0,y:0,width:0,height:0,top:0,left:0,bottom:0,right:0};function cC(){var e=(0,l.useState)(null),t=e[0],n=e[1],r=(0,l.useState)(sC),i=r[0],a=r[1],o=(0,l.useMemo)(function(){return new window.ResizeObserver(function(e){if(e[0]){var t=e[0].contentRect,n=t.x,r=t.y,i=t.width,o=t.height,s=t.top,c=t.left,l=t.bottom,u=t.right;a({x:n,y:r,width:i,height:o,top:s,left:c,bottom:l,right:u})}})},[]);return oC(function(){if(t)return o.observe(t),function(){o.disconnect()}},[t]),[n,i]}var lC=aC&&window.ResizeObserver!==void 0?cC:(function(){return[iC,sC]});function uC(e){return T({tag:`svg`,attr:{fill:`currentColor`,viewBox:`0 0 16 16`},child:[{tag:`path`,attr:{d:`M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0M4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5z`},child:[]}]})(e)}function dC(e){return T({tag:`svg`,attr:{fill:`currentColor`,viewBox:`0 0 16 16`},child:[{tag:`path`,attr:{d:`M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0m3.5 7.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5z`},child:[]}]})(e)}function fC({value:e,onChange:t,...n}){let[r,i]=(0,u.useState)(e??``),a=(0,u.useRef)();return(0,u.useEffect)(()=>{clearTimeout(a.current),i(e??``)},[e]),(0,u.useEffect)(()=>()=>clearTimeout(a.current),[]),(0,d.jsx)(`input`,{...n,value:r,onChange:e=>{let n=e.target.value;i(n),clearTimeout(a.current),a.current=setTimeout(()=>t({target:{value:n}}),300)}})}function pC({searchPanelOpen:e,setSearchPanelOpen:t,searchInput:n,setSearchInput:r,searchType:i,setSearchType:a,curSeqHitIndex:o,sequenceHits:s,setCurSeqHitIndex:c,includeRC:l,setIncludeRC:u}){return(0,d.jsxs)(`div`,{className:`bg-white p-1 text-sm shadow rounded `,children:[(0,d.jsx)(`div`,{className:`flex items-center`,children:e?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`select`,{value:i,onChange:e=>a(e.target.value),className:`bg-gray-100 hover:bg-gray-200 text-gray-800 font-semibold py-2 px-2 rounded inline-flex items-center`,children:[{value:`nuc`,label:`nuc. index`},{value:`annot`,label:`annotation`},{value:`sequence`,label:`sequence`}].map(e=>(0,d.jsx)(`option`,{value:e.value,children:e.label},e.value))}),(0,d.jsx)(fC,{type:`text`,value:n,onChange:e=>{c(0),r(e.target.value),/^[0-9]+$/.test(e.target.value)?a(`nuc`):/^[ACGTacgt]+$/.test(e.target.value)?a(`sequence`):/^[^0-9]+$/.test(e.target.value)&&a(`annot`)},className:`mx-2 bg-white focus:outline-hidden focus:shadow-outline border border-gray-300 rounded-lg py-2 px-4 block w-full appearance-none leading-normal`,placeholder:i===`nuc`?`nuc. index`:i===`annot`?`gene name`:`ATGGC..`,id:`search-input`,autoComplete:`off`}),(0,d.jsx)(`button`,{className:`bg-gray-200 hover:bg-gray-300 text-gray-800 font-semibold py-2 px-4 rounded inline-flex items-center`,onClick:()=>{t(!1),r(null)},children:(0,d.jsx)(D,{className:`mr-2`})})]}):(0,d.jsx)(`button`,{className:`bg-gray-100 hover:bg-gray-200 text-gray-800 font-semibold py-2 px-4 rounded inline-flex items-center`,onClick:()=>t(!0),children:(0,d.jsx)(O,{className:`mr-2`})})}),i===`sequence`&&n&&n.length>0&&(0,d.jsxs)(`div`,{className:`my-2 text-gray-400 text-left px-3`,children:[(0,d.jsxs)(`label`,{className:`text-gray-900`,children:[` `,(0,d.jsx)(`input`,{type:`checkbox`,value:l,onChange:()=>{u(!l),c(0)}}),`\xA0Include reverse complement`]}),s.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`button`,{children:(0,d.jsx)(dC,{onClick:()=>c(e=>e==0?s.length-1:e-1),className:`mx-3 text-gray-600 hover:text-gray-800`})}),`Hit `,o+1,` of `,s.length,(0,d.jsx)(`button`,{children:(0,d.jsx)(uC,{onClick:()=>c(e=>e==s.length-1?0:e+1),className:`mx-3 text-gray-600 hover:text-gray-800`})})]}),s.length===0&&(0,d.jsx)(d.Fragment,{children:`No hits found`})]})]})}function mC({genbankString:e,searchInput:t,setSearchInput:n,setTitleCallback:r,fastaUrl:i,alignedSequence:a}){let[o,s]=(0,u.useState)(``),c=t===void 0?o:t,l=(0,u.useCallback)(e=>{s(e),n?.(e)},[n]),[f,p]=(0,u.useState)(null),[m,h]=(0,u.useState)(!1),[g,_]=(0,u.useState)({busy:!1,error:``}),[v,y]=(0,u.useState)(!1),[b,x]=(0,u.useState)(0),[S,C]=(0,u.useState)(null),[w,T]=(0,u.useState)(null),[E,D]=(0,u.useState)(null),[O,k]=(0,u.useState)(`nuc`),[N,{width:P}]=lC(),[F,I]=(0,u.useState)(null),[L,R]=(0,u.useState)({x:null,y:null}),[z,ee]=(0,u.useState)(null),[te,ne]=(0,u.useState)([]),[re,ie]=(0,u.useState)(0),[ae,oe]=(0,u.useState)(!1),se=O===`nuc`?parseInt(c):null,B=O===`annot`?c:null,ce=O===`sequence`&&c?c.toUpperCase():null,[le,ue]=(0,u.useState)(0);function de(){var e=document;return Math.max(Math.max(e.body.scrollHeight,e.documentElement.scrollHeight),Math.max(e.body.offsetHeight,e.documentElement.offsetHeight),Math.max(e.body.clientHeight,e.documentElement.clientHeight))}(0,u.useEffect)(()=>{let e=()=>{let e=window.pageYOffset,t=window.innerHeight,n=e/(de()-t);Math.abs(n-le)>.05&&ue(n)};return window.addEventListener(`scroll`,e),()=>{window.removeEventListener(`scroll`,e)}},[le]),(0,u.useEffect)(()=>{let t=!1;return ee(null),p(null),ne([]),ie(0),(async()=>{try{let n=await rC(e);if(t)return;ee(n[0])}catch(e){console.error(`Error loading GenBank file:`,e)}})(),()=>{t=!0}},[e]),(0,u.useEffect)(()=>{let e=z?.parsedSequence.name;e&&r&&r(f?`${f.name} vs ${e} | Gensplore`:`${e} | Gensplore`)},[z,f,r]),(0,u.useEffect)(()=>{let e=e=>{(e.ctrlKey||e.metaKey)&&e.keyCode===70&&(e.preventDefault(),y(!0),setTimeout(()=>{document.getElementById(`search-input`).focus(),document.getElementById(`search-input`).select()},100))};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[]),(0,u.useEffect)(()=>{let e=e=>{(e.ctrlKey||e.metaKey)&&e.keyCode===67&&S!==null&&w!==null&&(Ie(e.shiftKey),e.preventDefault())};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[z,S,w]);let V=Math.floor(P*.0965/2**b);V<30&&(V=30);let fe,pe;z&&(fe=z.parsedSequence.sequence,pe=fe.length);let H=(0,u.useMemo)(()=>{if(!fe)return[];let e=[];for(let t=0;t<pe;t+=V)e.push({rowStart:t,rowEnd:t+V>pe?pe:t+V});return e},[fe,V,pe]),me=(0,u.useRef)(null),[he,ge]=(0,u.useState)(0);(0,u.useLayoutEffect)(()=>{let e=me.current;if(!e)return;let t=()=>ge(e.getBoundingClientRect().top+window.scrollY);t();let n=new ResizeObserver(t);return n.observe(e.parentElement),()=>n.disconnect()},[z,P]);let _e=_t({count:H.length,estimateSize:()=>90,scrollMargin:he}),ve=_e.getVirtualItems(),[ye,be]=(0,u.useState)(null),xe=e=>{let t=ve[Math.floor(ve.length/2)].index,n=H[t].rowStart,r=H[t].rowEnd,i=Math.floor((n+r)/2);be(i),console.log(`middleRowMiddle`,i),x(e)};(0,u.useEffect)(()=>{if(!ye)return;if(S&&w){let e=Math.floor((S+w)/2);_e.scrollToIndex(3+Math.floor(e/V),{align:`center`,smoothScroll:!1}),be(null);return}let e=Math.floor(ye/V);_e.scrollToIndex(e,{align:`center`,smoothScroll:!1}),be(null),console.log(`scrolling to`,ye)},[ye,b]);let[Se,Ce]=(0,u.useState)(null),[we,Te]=(0,u.useState)(!1),[Ee,De]=(0,u.useState)(!1),[Oe,ke]=(0,u.useState)(null);(0,u.useEffect)(()=>{if(!se)return;let e=Math.floor(se/V);se!==Se&&(e>H.length||(_e.scrollToIndex(e+1,{align:`center`}),Ce(se)))},[se,V]),(0,u.useEffect)(()=>{if(!Oe)return;let e=Math.floor(Oe.start/V);_e.scrollToIndex(e+1,{align:`center`}),ke(null)},[Oe,V]),(0,u.useEffect)(()=>{if(!B)return;let e=B.replace(/\s/g,``);if(e===``)return;let t=Si(z.parsedSequence.features,e);if(t.length===0){q.error(`No matching features found`);return}let n=t[0],r=Math.floor(n.start/V);_e.scrollToIndex(r+1,{align:`center`}),Ce(B)},[B]),(0,u.useEffect)(()=>{if(!fe||!ce){ne([]);return}let e=ce.replace(/\s/g,``);if(e===``){ne([]);return}console.log(`strippedSequenceInput`,e);let t=[],n=0,r=xi(e);for(console.log(`rc`,r);;){let i=fe.indexOf(e,n),a=ae?fe.indexOf(r,n):-1,o;if(o=i===-1?a:a===-1?i:Math.min(i,a),o===-1)break;t.push([o,o+e.length]),n=o+1}if(ne(t),console.log(`length`,t.length),t.length==0)return;let i=Math.min(re,t.length-1);i!==re&&ie(i);let a=Math.floor(t[i][0]/V);console.log(`row`,a),_e.scrollToIndex(a+1,{align:`center`}),Ce(ce)},[ce,re,ae,fe]);let[Ae,je]=(0,u.useState)(!1),[Me,U]=(0,u.useState)({}),Ne=(0,u.useMemo)(()=>{if(!z)return[];let e=[];return z.parsedSequence.features.forEach((t,n)=>{Me[n]&&e.push(t)}),e},[Me,z]);(0,u.useEffect)(()=>{if(!z)return;let e={};z.parsedSequence.features.forEach((t,n)=>{e[n]=t.type!==`source`&&t.type!==`gene`&&t.type!==`mRNA`}),U(e)},[z]);let Pe=e=>{e.preventDefault(),R({x:e.clientX,y:e.clientY})},Fe=()=>{R({x:null,y:null})},Ie=(e=!1)=>{if(S===null||w===null)return;let t=Math.min(S,w),n=Math.max(S,w),r=z.parsedSequence.sequence.substring(t,n);e&&(r=xi(r)),navigator.clipboard.writeText(r),q.success(`Copied ${e?`reverse complement `:``}to clipboard`)};return(0,u.useEffect)(()=>(document.addEventListener(`click`,Fe),()=>{document.removeEventListener(`click`,Fe)}),[]),z?P?(0,d.jsx)(d.Fragment,{children:(0,d.jsxs)(`div`,{className:`gensplore`,onContextMenu:Pe,children:[(0,d.jsx)(mi,{open:Ee,onClose:()=>De(!1),className:`gensplore fixed z-50 max-w-2xl px-4 py-6 bg-white rounded-lg shadow-xl sm:px-6 sm:py-8 sm:pb-4 sm:pt-6`,children:(0,d.jsx)(fi,{className:`fixed inset-0 flex items-center justify-center bg-gray-500/75 transition-opacity`,style:{zIndex:1e3},children:(0,d.jsxs)(`div`,{className:`bg-white rounded-lg px-4 py-4 sm:px-6 sm:py-6 shadow-md max-w-md mx-auto`,children:[(0,d.jsx)(pi,{as:`h3`,className:`text-lg font-medium leading-6 text-gray-900 mb-4`,children:`Settings`}),(0,d.jsx)(Ge,{className:`text-base text-gray-600 mb-4`,children:`Customize appearance`}),(0,d.jsx)(`p`,{className:`text-sm text-gray-500`,children:(0,d.jsxs)(`label`,{children:[(0,d.jsx)(`input`,{type:`checkbox`,checked:we,onChange:e=>Te(e.target.checked)}),(0,d.jsx)(`span`,{className:`ml-2`,children:`Display antisense strand`})]})}),(0,d.jsx)(`div`,{className:`mt-4 flex justify-end`,children:(0,d.jsx)(`button`,{type:`button`,className:`inline-flex justify-center px-4 py-2 text-sm font-medium text-gray-700 bg-gray-100 border border-transparent rounded-md hover:bg-gray-200 focus:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-blue-500`,onClick:()=>De(!1),children:`Close`})})]})})}),(0,d.jsxs)(`div`,{className:`w-full p-5 pl-0`,children:[(0,d.jsx)(no,{}),(0,d.jsx)(`div`,{className:`fixed top-0 right-0 z-10`,children:(0,d.jsx)(pC,{searchInput:c,setSearchInput:l,searchPanelOpen:v,setSearchPanelOpen:y,searchType:O,setSearchType:k,curSeqHitIndex:re,setCurSeqHitIndex:ie,sequenceHits:te,includeRC:ae,setIncludeRC:oe})}),(0,d.jsx)(`div`,{className:`fixed bottom-0 right-0 z-10 p-2 rounded shadow bg-white comparison-toolbar`,children:(0,d.jsx)(bs,{zoomLevel:b,setZoomLevel:xe,configModalOpen:Ee,setConfigModalOpen:De,setFeatureOffcanvasOpen:je,comparisonPanelOpen:m,setComparisonPanelOpen:h,comparisonCount:f?.differences.length,comparisonStatus:g})}),(0,d.jsxs)(`div`,{className:`w-full`,children:[(0,d.jsx)(yi,{hoveredInfo:F}),z&&(0,d.jsxs)(`div`,{ref:N,children:[S!==null&&(w!==null||E!==null)&&(0,d.jsx)(`div`,{className:`fixed bottom-1 left-1 z-10 px-3 py-2 text-sm rounded-lg shadow-lg bg-linear-to-r from-gray-50 to-gray-100 border border-gray-200`,children:(0,d.jsxs)(`div`,{className:`flex flex-col `,children:[(0,d.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,d.jsx)(`span`,{className:`font-medium text-gray-700`,children:`Selection:`}),(0,d.jsxs)(`span`,{className:`font-mono text-gray-700`,children:[Math.min(S,w||E)+1,` - `,Math.max(S,w||E)]})]}),(0,d.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,d.jsx)(`span`,{className:`font-medium text-gray-700`,children:`Length:`}),(0,d.jsxs)(`span`,{className:`font-mono text-gray-700 flex items-center`,children:[Math.abs((w||E)-S),` bp`,(0,d.jsx)(`button`,{onClick:()=>Ie(),className:`ml-2 p-1 hover:bg-gray-200 rounded-full`,title:`Copy selection`,children:(0,d.jsx)(A,{className:`h-4 w-4 text-gray-500`})})]})]})]})}),(0,d.jsxs)(`div`,{className:`flex flex-col ml-4 mt-3 text-gray-900`,children:[(0,d.jsx)(`h2`,{className:`text-2xl`,style:{overflowWrap:`anywhere`},children:f?.name||z.parsedSequence.name}),(0,d.jsx)(`div`,{children:(0,d.jsx)(`div`,{className:`flex flex-row`,children:(0,d.jsxs)(`span`,{children:[f&&(0,d.jsxs)(d.Fragment,{children:[`Reference: `,(0,d.jsx)(`strong`,{children:z.parsedSequence.name}),` · `]}),z.parsedSequence.definition]})})})]}),(0,d.jsx)(vi,{open:m,setOpen:h,onStatus:_,reference:fe,features:z.parsedSequence.features,fastaUrl:i,alignedSequence:a,onResult:p,onGoTo:e=>_e.scrollToIndex(Math.floor(e/V),{align:`center`})}),(0,d.jsx)(`div`,{ref:me,className:`mt-5 h-80`,children:(0,d.jsx)(`div`,{style:{height:_e.getTotalSize(),width:`100%`,position:`relative`},className:`stripybg`,children:(0,d.jsx)(`div`,{style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${(ve[0]?.start??0)-_e.options.scrollMargin}px)`},className:`whitebg`,children:ve.map(e=>{let t=H[e.index];return(0,d.jsx)(`div`,{ref:_e.measureElement,"data-index":e.index,children:(0,d.jsx)(co,{parsedSequence:z.parsedSequence,visibleFeatures:Ne,differences:f?.differences||[],proteins:f?.proteins,rowStart:t.rowStart,rowEnd:t.rowEnd,rowWidth:V,setHoveredInfo:I,rowId:e.index,intSearchInput:se-1,annotSearchInput:B,renderProperly:!0,zoomLevel:b,whereMouseWentDown:S,setWhereMouseWentDown:C,whereMouseWentUp:w,setWhereMouseWentUp:T,whereMouseCurrentlyIs:E,setWhereMouseCurrentlyIs:D,sequenceHits:te,curSeqHitIndex:re,enableRC:we},e.index)},e.key)})})})})]})]})]}),L.x!==null&&(0,d.jsx)(M,{x:L.x,y:L.y,onClose:Fe,onCopy:()=>{Ie(!1),Fe()},onCopyRC:()=>{Ie(!0),Fe()}}),Ae&&(0,d.jsx)(j,{isOpen:Ae,onClose:()=>je(!1),children:(0,d.jsxs)(`table`,{className:`min-w-full divide-y divide-gray-200`,children:[(0,d.jsx)(`thead`,{children:(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`th`,{className:`px-6 py-3 bg-gray-50 text-left text-xs font-medium text-gray-500 uppercase tracking-wider`,children:`Feature`}),(0,d.jsx)(`th`,{className:`px-6 py-3 bg-gray-50 text-left text-xs font-medium text-gray-500 uppercase tracking-wider`,children:`Product`}),(0,d.jsx)(`th`,{className:`px-6 py-3 bg-gray-50 text-left text-xs font-medium text-gray-500 uppercase tracking-wider`,children:`Type`}),(0,d.jsx)(`th`,{className:`px-6 py-3 bg-gray-50 text-left text-xs font-medium text-gray-500 uppercase tracking-wider`})]})}),(0,d.jsx)(`tbody`,{className:`bg-white divide-y divide-gray-200`,children:z?.parsedSequence.features.map((e,t)=>(0,d.jsxs)(`tr`,{children:[(0,d.jsxs)(`td`,{className:`px-6 py-4 whitespace-nowrap text-sm text-gray-600 font-medium`,children:[(0,d.jsx)(`input`,{type:`checkbox`,className:`focus:ring-indigo-500 text-indigo-600 border-gray-300 rounded mr-2`,checked:!!Me[t],onChange:()=>{let e={...Me};e[t]=!e[t],U(e)}}),e.name]}),(0,d.jsx)(`td`,{className:`px-6 py-4 whitespace-nowrap text-sm text-gray-500`,children:e.notes?.product?.join(`, `)}),(0,d.jsx)(`td`,{className:`px-6 py-4 whitespace-nowrap text-sm text-gray-500`,children:e.type}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`button`,{className:`bg-gray-100 hover:bg-gray-200 text-gray-600 font-semibold py-1 px-1 border border-gray-400 rounded shadow text-sm `,onClick:()=>{je(!1),ke(e)},children:`Go to`})})]},t))})]})})]})}):(0,d.jsx)(`div`,{className:`gensplore w-full h-full p-5`,children:(0,d.jsx)(`div`,{ref:N,className:`w-full h-full`})}):(0,d.jsx)(`div`,{children:`Loading...`})}var hC=mC;module.exports=hC;
52
+ `}),l}X($S,`jsonToBed`);function eC(e){let t=wm(e);return t&&(delete t.cutsites,delete t.orfs,Bh(t.translations,e=>{delete e.aminoAcids}),t)}X(eC,`cleanUpTeselagenJsonForExport`);function tC(e,t=[]){return e.replace(/u/gi,(e,n)=>(t.push({type:`misc_feature`,name:`tg_uracil`,strand:1,start:n,end:n}),e===`U`?`T`:`t`))}X(tC,`parseUracilFeatures`);function nC(e){return JSON.stringify(ig(eC(z_(e,{annotationsAsObjects:!1})),[`sequenceFragments`,`sequenceFeatures`,`cutsites`,`orfs`,`filteredParts`,`filteredFeatures`]))}X(nC,`jsonToJsonString`);async function rC(e){let t=await av(e,{isOligo:!0});for(let e of t)e.parsedSequence?.sequence&&(e.parsedSequence.sequence=e.parsedSequence.sequence.toUpperCase());return t}var iC=function(){},aC=typeof window<`u`,oC=aC?l.useLayoutEffect:l.useEffect,sC={x:0,y:0,width:0,height:0,top:0,left:0,bottom:0,right:0};function cC(){var e=(0,l.useState)(null),t=e[0],n=e[1],r=(0,l.useState)(sC),i=r[0],a=r[1],o=(0,l.useMemo)(function(){return new window.ResizeObserver(function(e){if(e[0]){var t=e[0].contentRect,n=t.x,r=t.y,i=t.width,o=t.height,s=t.top,c=t.left,l=t.bottom,u=t.right;a({x:n,y:r,width:i,height:o,top:s,left:c,bottom:l,right:u})}})},[]);return oC(function(){if(t)return o.observe(t),function(){o.disconnect()}},[t]),[n,i]}var lC=aC&&window.ResizeObserver!==void 0?cC:(function(){return[iC,sC]});function uC(e){return T({tag:`svg`,attr:{fill:`currentColor`,viewBox:`0 0 16 16`},child:[{tag:`path`,attr:{d:`M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0M4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5z`},child:[]}]})(e)}function dC(e){return T({tag:`svg`,attr:{fill:`currentColor`,viewBox:`0 0 16 16`},child:[{tag:`path`,attr:{d:`M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0m3.5 7.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5z`},child:[]}]})(e)}function fC({value:e,onChange:t,...n}){let[r,i]=(0,u.useState)(e??``),a=(0,u.useRef)();return(0,u.useEffect)(()=>{clearTimeout(a.current),i(e??``)},[e]),(0,u.useEffect)(()=>()=>clearTimeout(a.current),[]),(0,d.jsx)(`input`,{...n,value:r,onChange:e=>{let n=e.target.value;i(n),clearTimeout(a.current),a.current=setTimeout(()=>t({target:{value:n}}),300)}})}function pC({searchPanelOpen:e,setSearchPanelOpen:t,searchInput:n,setSearchInput:r,searchType:i,setSearchType:a,curSeqHitIndex:o,sequenceHits:s,setCurSeqHitIndex:c,includeRC:l,setIncludeRC:u}){return(0,d.jsxs)(`div`,{className:`bg-white p-1 text-sm shadow rounded `,children:[(0,d.jsx)(`div`,{className:`flex items-center`,children:e?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`select`,{value:i,onChange:e=>a(e.target.value),className:`bg-gray-100 hover:bg-gray-200 text-gray-800 font-semibold py-2 px-2 rounded inline-flex items-center`,children:[{value:`nuc`,label:`nuc. index`},{value:`annot`,label:`annotation`},{value:`sequence`,label:`sequence`}].map(e=>(0,d.jsx)(`option`,{value:e.value,children:e.label},e.value))}),(0,d.jsx)(fC,{type:`text`,value:n,onChange:e=>{c(0),r(e.target.value),/^[0-9]+$/.test(e.target.value)?a(`nuc`):/^[ACGTacgt]+$/.test(e.target.value)?a(`sequence`):/^[^0-9]+$/.test(e.target.value)&&a(`annot`)},className:`mx-2 bg-white focus:outline-hidden focus:shadow-outline border border-gray-300 rounded-lg py-2 px-4 block w-full appearance-none leading-normal`,placeholder:i===`nuc`?`nuc. index`:i===`annot`?`gene name`:`ATGGC..`,id:`search-input`,autoComplete:`off`}),(0,d.jsx)(`button`,{className:`bg-gray-200 hover:bg-gray-300 text-gray-800 font-semibold py-2 px-4 rounded inline-flex items-center`,onClick:()=>{t(!1),r(null)},children:(0,d.jsx)(D,{className:`mr-2`})})]}):(0,d.jsx)(`button`,{className:`bg-gray-100 hover:bg-gray-200 text-gray-800 font-semibold py-2 px-4 rounded inline-flex items-center`,onClick:()=>t(!0),children:(0,d.jsx)(O,{className:`mr-2`})})}),i===`sequence`&&n&&n.length>0&&(0,d.jsxs)(`div`,{className:`my-2 text-gray-400 text-left px-3`,children:[(0,d.jsxs)(`label`,{className:`text-gray-900`,children:[` `,(0,d.jsx)(`input`,{type:`checkbox`,value:l,onChange:()=>{u(!l),c(0)}}),`\xA0Include reverse complement`]}),s.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`button`,{children:(0,d.jsx)(dC,{onClick:()=>c(e=>e==0?s.length-1:e-1),className:`mx-3 text-gray-600 hover:text-gray-800`})}),`Hit `,o+1,` of `,s.length,(0,d.jsx)(`button`,{children:(0,d.jsx)(uC,{onClick:()=>c(e=>e==s.length-1?0:e+1),className:`mx-3 text-gray-600 hover:text-gray-800`})})]}),s.length===0&&(0,d.jsx)(d.Fragment,{children:`No hits found`})]})]})}function mC({genbankString:e,searchInput:t,setSearchInput:n,setTitleCallback:r,fastaUrl:i,alignedSequence:a}){let[o,s]=(0,u.useState)(``),c=t===void 0?o:t,l=(0,u.useCallback)(e=>{s(e),n?.(e)},[n]),[f,p]=(0,u.useState)(null),[m,h]=(0,u.useState)(!1),[g,_]=(0,u.useState)({busy:!1,error:``}),[v,y]=(0,u.useState)(!1),[b,x]=(0,u.useState)(0),[S,C]=(0,u.useState)(null),[w,T]=(0,u.useState)(null),[E,D]=(0,u.useState)(null),[O,k]=(0,u.useState)(`nuc`),[N,{width:P}]=lC(),[F,I]=(0,u.useState)(null),[L,R]=(0,u.useState)({x:null,y:null}),[z,ee]=(0,u.useState)(null),[te,ne]=(0,u.useState)([]),[re,ie]=(0,u.useState)(0),[ae,oe]=(0,u.useState)(!1),se=O===`nuc`?parseInt(c):null,B=O===`annot`?c:null,ce=O===`sequence`&&c?c.toUpperCase():null,[le,ue]=(0,u.useState)(0);function de(){var e=document;return Math.max(Math.max(e.body.scrollHeight,e.documentElement.scrollHeight),Math.max(e.body.offsetHeight,e.documentElement.offsetHeight),Math.max(e.body.clientHeight,e.documentElement.clientHeight))}(0,u.useEffect)(()=>{let e=()=>{let e=window.pageYOffset,t=window.innerHeight,n=e/(de()-t);Math.abs(n-le)>.05&&ue(n)};return window.addEventListener(`scroll`,e),()=>{window.removeEventListener(`scroll`,e)}},[le]),(0,u.useEffect)(()=>{let t=!1;return ee(null),p(null),ne([]),ie(0),(async()=>{try{let n=await rC(e);if(t)return;ee(n[0])}catch(e){console.error(`Error loading GenBank file:`,e)}})(),()=>{t=!0}},[e]),(0,u.useEffect)(()=>{let e=z?.parsedSequence.name;e&&r&&r(f?`${f.name} vs ${e} | Gensplore`:`${e} | Gensplore`)},[z,f,r]),(0,u.useEffect)(()=>{let e=e=>{(e.ctrlKey||e.metaKey)&&e.keyCode===70&&(e.preventDefault(),y(!0),setTimeout(()=>{document.getElementById(`search-input`).focus(),document.getElementById(`search-input`).select()},100))};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[]),(0,u.useEffect)(()=>{let e=e=>{(e.ctrlKey||e.metaKey)&&e.keyCode===67&&S!==null&&w!==null&&(Ie(e.shiftKey),e.preventDefault())};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[z,S,w]);let V=Math.floor(P*.0965/2**b);V<30&&(V=30);let fe,pe;z&&(fe=z.parsedSequence.sequence,pe=fe.length);let H=(0,u.useMemo)(()=>{if(!fe)return[];let e=[];for(let t=0;t<pe;t+=V)e.push({rowStart:t,rowEnd:t+V>pe?pe:t+V});return e},[fe,V,pe]),me=(0,u.useRef)(null),[he,ge]=(0,u.useState)(0);(0,u.useLayoutEffect)(()=>{let e=me.current;if(!e)return;let t=()=>ge(e.getBoundingClientRect().top+window.scrollY);t();let n=new ResizeObserver(t);return n.observe(e.parentElement),()=>n.disconnect()},[z,P]);let _e=_t({count:H.length,estimateSize:()=>90,scrollMargin:he}),ve=_e.getVirtualItems(),[ye,be]=(0,u.useState)(null),xe=e=>{let t=ve[Math.floor(ve.length/2)].index,n=H[t].rowStart,r=H[t].rowEnd,i=Math.floor((n+r)/2);be(i),console.log(`middleRowMiddle`,i),x(e)};(0,u.useEffect)(()=>{if(!ye)return;if(S&&w){let e=Math.floor((S+w)/2);_e.scrollToIndex(3+Math.floor(e/V),{align:`center`,smoothScroll:!1}),be(null);return}let e=Math.floor(ye/V);_e.scrollToIndex(e,{align:`center`,smoothScroll:!1}),be(null),console.log(`scrolling to`,ye)},[ye,b]);let[Se,Ce]=(0,u.useState)(null),[we,Te]=(0,u.useState)(!1),[Ee,De]=(0,u.useState)(!1),[Oe,ke]=(0,u.useState)(null);(0,u.useEffect)(()=>{if(!se)return;let e=Math.floor(se/V);se!==Se&&(e>H.length||(_e.scrollToIndex(e+1,{align:`center`}),Ce(se)))},[se,V]),(0,u.useEffect)(()=>{if(!Oe)return;let e=Math.floor(Oe.start/V);_e.scrollToIndex(e+1,{align:`center`}),ke(null)},[Oe,V]),(0,u.useEffect)(()=>{if(!B)return;let e=B.replace(/\s/g,``);if(e===``)return;let t=Si(z.parsedSequence.features,e);if(t.length===0){q.error(`No matching features found`);return}let n=t[0],r=Math.floor(n.start/V);_e.scrollToIndex(r+1,{align:`center`}),Ce(B)},[B]),(0,u.useEffect)(()=>{if(!fe||!ce){ne([]);return}let e=ce.replace(/\s/g,``);if(e===``){ne([]);return}console.log(`strippedSequenceInput`,e);let t=[],n=0,r=xi(e);for(console.log(`rc`,r);;){let i=fe.indexOf(e,n),a=ae?fe.indexOf(r,n):-1,o;if(o=i===-1?a:a===-1?i:Math.min(i,a),o===-1)break;t.push([o,o+e.length]),n=o+1}if(ne(t),console.log(`length`,t.length),t.length==0)return;let i=Math.min(re,t.length-1);i!==re&&ie(i);let a=Math.floor(t[i][0]/V);console.log(`row`,a),_e.scrollToIndex(a+1,{align:`center`}),Ce(ce)},[ce,re,ae,fe]);let[Ae,je]=(0,u.useState)(!1),[Me,U]=(0,u.useState)({}),Ne=(0,u.useMemo)(()=>{if(!z)return[];let e=[];return z.parsedSequence.features.forEach((t,n)=>{Me[n]&&e.push(t)}),e},[Me,z]);(0,u.useEffect)(()=>{if(!z)return;let e={};z.parsedSequence.features.forEach((t,n)=>{e[n]=t.type!==`source`&&t.type!==`gene`&&t.type!==`mRNA`}),U(e)},[z]);let Pe=e=>{e.preventDefault(),R({x:e.clientX,y:e.clientY})},Fe=()=>{R({x:null,y:null})},Ie=(e=!1)=>{if(S===null||w===null)return;let t=Math.min(S,w),n=Math.max(S,w),r=z.parsedSequence.sequence.substring(t,n);e&&(r=xi(r)),navigator.clipboard.writeText(r),q.success(`Copied ${e?`reverse complement `:``}to clipboard`)};return(0,u.useEffect)(()=>(document.addEventListener(`click`,Fe),()=>{document.removeEventListener(`click`,Fe)}),[]),z?P?(0,d.jsx)(d.Fragment,{children:(0,d.jsxs)(`div`,{className:`gensplore`,onContextMenu:Pe,children:[(0,d.jsx)(mi,{open:Ee,onClose:()=>De(!1),className:`gensplore fixed z-50 max-w-2xl px-4 py-6 bg-white rounded-lg shadow-xl sm:px-6 sm:py-8 sm:pb-4 sm:pt-6`,children:(0,d.jsx)(fi,{className:`fixed inset-0 flex items-center justify-center bg-gray-500/75 transition-opacity`,style:{zIndex:1e3},children:(0,d.jsxs)(`div`,{className:`bg-white rounded-lg px-4 py-4 sm:px-6 sm:py-6 shadow-md max-w-md mx-auto`,children:[(0,d.jsx)(pi,{as:`h3`,className:`text-lg font-medium leading-6 text-gray-900 mb-4`,children:`Settings`}),(0,d.jsx)(Ge,{className:`text-base text-gray-600 mb-4`,children:`Customize appearance`}),(0,d.jsx)(`p`,{className:`text-sm text-gray-500`,children:(0,d.jsxs)(`label`,{children:[(0,d.jsx)(`input`,{type:`checkbox`,checked:we,onChange:e=>Te(e.target.checked)}),(0,d.jsx)(`span`,{className:`ml-2`,children:`Display antisense strand`})]})}),(0,d.jsx)(`div`,{className:`mt-4 flex justify-end`,children:(0,d.jsx)(`button`,{type:`button`,className:`inline-flex justify-center px-4 py-2 text-sm font-medium text-gray-700 bg-gray-100 border border-transparent rounded-md hover:bg-gray-200 focus:outline-hidden focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-blue-500`,onClick:()=>De(!1),children:`Close`})})]})})}),(0,d.jsxs)(`div`,{className:`w-full p-5 pl-0`,children:[(0,d.jsx)(no,{}),(0,d.jsx)(`div`,{className:`fixed top-0 right-0 z-10`,children:(0,d.jsx)(pC,{searchInput:c,setSearchInput:l,searchPanelOpen:v,setSearchPanelOpen:y,searchType:O,setSearchType:k,curSeqHitIndex:re,setCurSeqHitIndex:ie,sequenceHits:te,includeRC:ae,setIncludeRC:oe})}),(0,d.jsx)(`div`,{className:`fixed bottom-0 right-0 z-10 p-2 rounded shadow bg-white comparison-toolbar`,children:(0,d.jsx)(bs,{zoomLevel:b,setZoomLevel:xe,configModalOpen:Ee,setConfigModalOpen:De,setFeatureOffcanvasOpen:je,comparisonPanelOpen:m,setComparisonPanelOpen:h,comparisonCount:f?.differences.length,comparisonStatus:g})}),(0,d.jsxs)(`div`,{className:`w-full`,children:[(0,d.jsx)(yi,{hoveredInfo:F}),z&&(0,d.jsxs)(`div`,{ref:N,children:[S!==null&&(w!==null||E!==null)&&(0,d.jsx)(`div`,{className:`fixed bottom-1 left-1 z-10 px-3 py-2 text-sm rounded-lg shadow-lg bg-linear-to-r from-gray-50 to-gray-100 border border-gray-200`,children:(0,d.jsxs)(`div`,{className:`flex flex-col `,children:[(0,d.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,d.jsx)(`span`,{className:`font-medium text-gray-700`,children:`Selection:`}),(0,d.jsxs)(`span`,{className:`font-mono text-gray-700`,children:[Math.min(S,w||E)+1,` - `,Math.max(S,w||E)]})]}),(0,d.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,d.jsx)(`span`,{className:`font-medium text-gray-700`,children:`Length:`}),(0,d.jsxs)(`span`,{className:`font-mono text-gray-700 flex items-center`,children:[Math.abs((w||E)-S),` bp`,(0,d.jsx)(`button`,{onClick:()=>Ie(),className:`ml-2 p-1 hover:bg-gray-200 rounded-full`,title:`Copy selection`,children:(0,d.jsx)(A,{className:`h-4 w-4 text-gray-500`})})]})]})]})}),(0,d.jsxs)(`div`,{className:`flex flex-col ml-4 mt-3 text-gray-900`,children:[(0,d.jsx)(`h2`,{className:`text-2xl`,style:{overflowWrap:`anywhere`},children:f?.name||z.parsedSequence.name}),(0,d.jsx)(`div`,{children:(0,d.jsx)(`div`,{className:`flex flex-row`,children:(0,d.jsxs)(`span`,{children:[f&&(0,d.jsxs)(d.Fragment,{children:[`Reference: `,(0,d.jsx)(`strong`,{children:z.parsedSequence.name}),` · `]}),z.parsedSequence.definition]})})})]}),(0,d.jsx)(vi,{open:m,setOpen:h,onStatus:_,reference:fe,features:z.parsedSequence.features,fastaUrl:i,alignedSequence:a,onResult:p,onGoTo:e=>_e.scrollToIndex(Math.floor(e/V),{align:`center`})}),(0,d.jsx)(`div`,{ref:me,className:`mt-5 h-80`,children:(0,d.jsx)(`div`,{style:{height:_e.getTotalSize(),width:`100%`,position:`relative`},className:`stripybg`,children:(0,d.jsx)(`div`,{style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${(ve[0]?.start??0)-_e.options.scrollMargin}px)`},className:`whitebg`,children:ve.map(e=>{let t=H[e.index];return(0,d.jsx)(`div`,{ref:_e.measureElement,"data-index":e.index,children:(0,d.jsx)(co,{parsedSequence:z.parsedSequence,visibleFeatures:Ne,differences:f?.differences||[],proteins:f?.proteins,rowStart:t.rowStart,rowEnd:t.rowEnd,rowWidth:V,setHoveredInfo:I,rowId:e.index,intSearchInput:se-1,annotSearchInput:B,renderProperly:!0,zoomLevel:b,whereMouseWentDown:S,setWhereMouseWentDown:C,whereMouseWentUp:w,setWhereMouseWentUp:T,whereMouseCurrentlyIs:E,setWhereMouseCurrentlyIs:D,sequenceHits:te,curSeqHitIndex:re,enableRC:we},e.index)},e.key)})})})})]})]})]}),L.x!==null&&(0,d.jsx)(M,{x:L.x,y:L.y,onClose:Fe,onCopy:()=>{Ie(!1),Fe()},onCopyRC:()=>{Ie(!0),Fe()}}),Ae&&(0,d.jsx)(j,{isOpen:Ae,onClose:()=>je(!1),children:(0,d.jsxs)(`table`,{className:`min-w-full divide-y divide-gray-200`,children:[(0,d.jsx)(`thead`,{children:(0,d.jsxs)(`tr`,{children:[(0,d.jsx)(`th`,{className:`px-6 py-3 bg-gray-50 text-left text-xs font-medium text-gray-500 uppercase tracking-wider`,children:`Feature`}),(0,d.jsx)(`th`,{className:`px-6 py-3 bg-gray-50 text-left text-xs font-medium text-gray-500 uppercase tracking-wider`,children:`Product`}),(0,d.jsx)(`th`,{className:`px-6 py-3 bg-gray-50 text-left text-xs font-medium text-gray-500 uppercase tracking-wider`,children:`Type`}),(0,d.jsx)(`th`,{className:`px-6 py-3 bg-gray-50 text-left text-xs font-medium text-gray-500 uppercase tracking-wider`})]})}),(0,d.jsx)(`tbody`,{className:`bg-white divide-y divide-gray-200`,children:z?.parsedSequence.features.map((e,t)=>(0,d.jsxs)(`tr`,{children:[(0,d.jsxs)(`td`,{className:`px-6 py-4 whitespace-nowrap text-sm text-gray-600 font-medium`,children:[(0,d.jsx)(`input`,{type:`checkbox`,className:`focus:ring-indigo-500 text-indigo-600 border-gray-300 rounded mr-2`,checked:!!Me[t],onChange:()=>{let e={...Me};e[t]=!e[t],U(e)}}),e.name]}),(0,d.jsx)(`td`,{className:`px-6 py-4 whitespace-nowrap text-sm text-gray-500`,children:e.notes?.product?.join(`, `)}),(0,d.jsx)(`td`,{className:`px-6 py-4 whitespace-nowrap text-sm text-gray-500`,children:e.type}),(0,d.jsx)(`td`,{children:(0,d.jsx)(`button`,{className:`bg-gray-100 hover:bg-gray-200 text-gray-600 font-semibold py-1 px-1 border border-gray-400 rounded shadow text-sm `,onClick:()=>{je(!1),ke(e)},children:`Go to`})})]},t))})]})})]})}):(0,d.jsx)(`div`,{className:`gensplore w-full h-full p-5`,children:(0,d.jsx)(`div`,{ref:N,className:`w-full h-full`})}):(0,d.jsx)(`div`,{children:`Loading...`})}var hC=mC;module.exports=hC;
package/dist/gensplore.js CHANGED
@@ -2907,7 +2907,7 @@ var Pi = Re(ji), Fi = Object.assign(Mi, {
2907
2907
  Panel: Ni,
2908
2908
  Title: Pi,
2909
2909
  Description: dt
2910
- }), Ii = "function e(e,t){if(!t||typeof t.sequence!=`string`)throw Error(`Expected an aligned DNA sequence.`);let n=t.sequence.toUpperCase();if(!e.length||n.length!==e.length)throw Error(`Aligned sequence length must match the reference.`);if(/[^ACGTRYSWKMBDHVN-]/.test(n))throw Error(`Aligned sequences must contain IUPAC DNA bases or deletion gaps (-).`);let r=[],i=0;for(let t=0;t<n.length;){if(n[t]===e[t]){t++;continue}let a=n[t]===`-`?`Deletion`:/[^ACGT]/.test(n[t]+e[t])?`Ambiguous`:`Substitution`,o=t+1;if(a===`Deletion`||a===`Ambiguous`)for(;o<n.length&&n[o]!==e[o]&&(a===`Deletion`?n[o]===`-`:n[o]!==`-`&&/[^ACGT]/.test(n[o]+e[o]));)o++;r.push({type:a,start:t,end:o,reference:e.slice(t,o),alternative:a===`Deletion`?``:n.slice(t,o)}),i+=o-t,t=o}let a=new Set;for(let n of t.insertions||[]){let t=n.position,o=typeof n.sequence==`string`?n.sequence.toUpperCase():``;if(!Number.isInteger(t)||t<0||t>e.length||a.has(t))throw Error(`Insertions need unique integer positions from 0 to the reference length.`);if(!o||/[^ACGTRYSWKMBDHVN]/.test(o))throw Error(`Insertions must contain ungapped IUPAC DNA bases.`);a.add(t),r.push({type:`Insertion`,start:t,end:t,reference:``,alternative:o}),i+=o.length}return r.sort((e,t)=>e.start-t.start||e.end-t.end),{name:t.name||`Alternative`,distance:i,differences:r}}const t=e=>{switch(e){case`TTT`:case`TTC`:return`F`;case`TTA`:case`TTG`:case`CTT`:case`CTC`:case`CTA`:case`CTG`:return`L`;case`ATT`:case`ATC`:case`ATA`:return`I`;case`ATG`:return`M`;case`GTT`:case`GTC`:case`GTA`:case`GTG`:return`V`;case`TCT`:case`TCC`:case`TCA`:case`TCG`:case`AGT`:case`AGC`:return`S`;case`CCT`:case`CCC`:case`CCA`:case`CCG`:return`P`;case`ACT`:case`ACC`:case`ACA`:case`ACG`:return`T`;case`GCT`:case`GCC`:case`GCA`:case`GCG`:return`A`;case`TAT`:case`TAC`:return`Y`;case`TAA`:case`TAG`:case`TGA`:return`*`;case`CAT`:case`CAC`:return`H`;case`CAA`:case`CAG`:return`Q`;case`AAT`:case`AAC`:return`N`;case`AAA`:case`AAG`:return`K`;case`GAT`:case`GAC`:return`D`;case`GAA`:case`GAG`:return`E`;case`TGT`:case`TGC`:return`C`;case`TGG`:return`W`;case`CGT`:case`CGC`:case`CGA`:case`CGG`:case`AGA`:case`AGG`:return`R`;case`GGT`:case`GGC`:case`GGA`:case`GGG`:return`G`;default:return`X`}};function n(e){let t=e.trim().split(/\\r?\\n/);if(!t[0]?.startsWith(`>`))throw Error(`Expected a FASTA header starting with >.`);if(t.slice(1).some(e=>e.startsWith(`>`)))throw Error(`Please supply exactly one FASTA record.`);let n=t.slice(1).join(``).replace(/\\s/g,``).toUpperCase();if(!n||/[^ACGTRYSWKMBDHVN]/.test(n))throw Error(`Expected an ungapped DNA sequence (IUPAC bases).`);return{name:t[0].slice(1).trim()||`Alternative`,sequence:n}}function r(e,t,n=128){let r=e.length,i=t.length;if(!r||!i)throw Error(`Both sequences must contain bases.`);if(Math.max(r,i)>1e5)throw Error(`Comparison supports sequences up to 100,000 bases.`);let a=()=>Error(`Sequences exceed the ${n}-edit comparison limit. Use complete sequences in the same orientation and with the same starting point.`);if(Math.abs(r-i)>n)throw a();let o=2*n+1,s=n+1,c=s*s,l=new Uint8Array((r+1)*o),u=(e,t,n)=>e<=t&&e<=n?0:t<=n?1:2,d=new Uint32Array(o*3).fill(c);d[n*3]=0;for(let e=1;e<=Math.min(i,n);e++)d[(e+n)*3+2]=e*s+1,l[e+n]=(e===1?0:2)<<4;for(let a=1;a<=r;a++){let r=new Uint32Array(o*3).fill(c);for(let f=Math.max(0,a-n);f<=Math.min(i,a+n);f++){let i=f-a+n,p=i*3;if(f===0){r[p+1]=a*s+1,l[a*o+i]=(a===1?0:1)<<2;continue}let m=u(d[p],d[p+1],d[p+2]);r[p]=Math.min(c,d[p+m]+(e[a-1]===t[f-1]?0:s));let h=0,g=0;if(i+1<o){let e=p+3,t=d[e]+s+1,n=d[e+1]+s,i=d[e+2]+s+1;h=u(t,n,i),r[p+1]=Math.min(c,t,n,i)}if(i>0){let e=p-3,t=r[e]+s+1,n=r[e+1]+s+1,i=r[e+2]+s;g=u(t,n,i),r[p+2]=Math.min(c,t,n,i)}l[a*o+i]=m|h<<2|g<<4}d=r}let f=(i-r+n)*3,p=u(d[f],d[f+1],d[f+2]),m=Math.floor(d[f+p]/s);if(m>n)throw a();let h=r,g=i,_=[];for(;h||g;){let r=l[h*o+g-h+n]>>p*2&3;p===0?_.push([e[--h],t[--g]]):p===1?_.push([e[--h],`-`]):_.push([`-`,t[--g]]),p=r}_.reverse();let v=[],y=0;for(let[e,t]of _){if(e!==t){let n=e===`-`?`Insertion`:t===`-`?`Deletion`:/[^ACGT]/.test(e+t)?`Ambiguous`:`Substitution`,r=v.at(-1);r&&r.type===n&&n!==`Substitution`&&n!==`Ambiguous`&&r.end===y?(r.reference+=e===`-`?``:e,r.alternative+=t===`-`?``:t,r.end+=e===`-`?0:1):v.push({type:n,start:y,end:y+(e===`-`?0:1),reference:e===`-`?``:e,alternative:t===`-`?``:t})}e!==`-`&&y++}return{distance:m,differences:v}}function i(e,t){return e.locations?.length?e.locations:e.start>e.end?[{start:e.start,end:t-1},{start:0,end:e.end}]:[{start:e.start,end:e.end}]}const a={A:`T`,T:`A`,C:`G`,G:`C`,R:`Y`,Y:`R`,S:`S`,W:`W`,K:`M`,M:`K`,B:`V`,V:`B`,D:`H`,H:`D`,N:`N`},o=e=>[...e].reverse().map(e=>a[e]||`N`).join(``),s=e=>{let n=``;for(let r=0;r+2<e.length;r+=3)n+=t(e.slice(r,r+3));return n},c=(e,t,n)=>{let r=e.notes?.[t];return(Array.isArray(r)?r[0]:r)??n};function l(e,t,n){if(![`CDS`,`mat_peptide`].includes(t.type))return null;let a=i(t,e.length),l=[];for(let t of a){if(!Number.isInteger(t.start)||!Number.isInteger(t.end)||t.start<0||t.end>=e.length||t.end<t.start)return{warning:`Unsupported coding location`,codons:[],changes:[]};for(let e=t.start;e<=t.end;e++)l.push(e)}t.strand<0&&l.reverse();let u=Number(c(t,`codon_start`,1))-1;if(![0,1,2].includes(u))return{warning:`Unsupported codon_start`,codons:[],changes:[]};l.splice(0,u);let d=Number(c(t,`transl_table`,1));if(![1,11].includes(d)||[`transl_except`,`ribosomal_slippage`,`exception`].some(e=>t.notes?.[e]))return{warning:`AA comparison unavailable for this translation table or exception`,codons:[],changes:[]};let f=new Map(l.map((e,t)=>[e,t])),p=e=>t.strand<0?o(e):e,m=l.map(t=>p(e[t])).join(``),h=s(m),g=[...h].map((e,t)=>({positions:l.slice(t*3,t*3+3),aminoAcid:e,codonIndex:t})),_=new Set,v=new Map,y=new Map,b=1/0,x=!1;for(let e of n)if(e.type===`Insertion`){let n=t.strand<0?e.start-1:e.start,r=f.get(n),i=t.strand<0?e.start:e.start-1;r>0&&l[r-1]===i?(y.set(r,p(e.alternative)),e.alternative.length%3&&(b=Math.min(b,r))):(f.has(n)||f.has(i))&&(x=!0)}else if(e.type===`Deletion`){let t=[];for(let n=e.start;n<e.end;n++){let e=f.get(n);e!==void 0&&(_.add(e),t.push(e))}t.length%3&&(b=Math.min(b,...t))}else for(let t=e.start;t<e.end;t++){let n=f.get(t);n!==void 0&&v.set(n,p(e.alternative[t-e.start]))}let S=``,C=[];for(let e=0;e<l.length;e++)C[e]=S.length,S+=y.get(e)||``,_.has(e)||(S+=v.get(e)??m[e]);let w=Math.floor(b/3),T=Number.isFinite(b)?h.slice(0,w):h,E=s(Number.isFinite(b)?S.slice(0,C[w*3]):S),D=[],O=e=>{let n=Math.min(e.start,Math.max(0,g.length-1)),r=g[n],i=e.start<g.length?(r?.positions[0]??l[0])+(t.strand<0?.5:-.5):(r?.positions[2]??l[0])+(t.strand<0?-.5:.5);return{...e,anchor:r?.positions[1]??l[0],...e.type===`Insertion`?{pointerPosition:i}:{},aaPosition:e.type===`Insertion`?e.start:e.start+1}};try{T&&E?D=r(T,E).differences.map(e=>O({...e,type:e.type===`Ambiguous`?/X/.test(e.reference+e.alternative)?`Ambiguous`:`Substitution`:e.type})):(T||E)&&(D=[O({type:T?`Deletion`:`Insertion`,start:0,end:T.length,reference:T,alternative:E})])}catch{return{codons:g,changes:[],warning:`AA comparison exceeds the alignment limit`}}return Number.isFinite(b)&&D.push(O({type:`Frameshift`,start:w,end:w+1,reference:``,alternative:``})),{codons:g,changes:D,warning:x?`Insertion at a coding boundary: AA assignment is uncertain`:void 0}}function u(e,t,n){return t.map(t=>l(e,t,n))}self.onmessage=({data:t})=>{try{let i=t.alignedSequence||n(t.fasta),a=t.alignedSequence?e(t.reference,i):r(t.reference,i.sequence);self.postMessage({...a,name:i.name,proteins:u(t.reference,t.features||[],a.differences)})}catch(e){self.postMessage({error:e.message})}};", Li = typeof self < "u" && self.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);", Ii], { type: "text/javascript;charset=utf-8" });
2910
+ }), Ii = "function e(e,t){if(!t||typeof t.sequence!=`string`)throw Error(`Expected an aligned DNA sequence.`);let n=t.sequence.toUpperCase();if(!e.length||n.length!==e.length)throw Error(`Aligned sequence length must match the reference.`);if(/[^ACGTRYSWKMBDHVN-]/.test(n))throw Error(`Aligned sequences must contain IUPAC DNA bases or deletion gaps (-).`);let r=[],i=0;for(let t=0;t<n.length;){if(n[t]===e[t]){t++;continue}let a=n[t]===`-`?`Deletion`:/[^ACGT]/.test(n[t]+e[t])?`Ambiguous`:`Substitution`,o=t+1;if(a===`Deletion`||a===`Ambiguous`)for(;o<n.length&&n[o]!==e[o]&&(a===`Deletion`?n[o]===`-`:n[o]!==`-`&&/[^ACGT]/.test(n[o]+e[o]));)o++;r.push({type:a,start:t,end:o,reference:e.slice(t,o),alternative:a===`Deletion`?``:n.slice(t,o)}),i+=o-t,t=o}let a=new Set;for(let n of t.insertions||[]){let t=n.position,o=typeof n.sequence==`string`?n.sequence.toUpperCase():``;if(!Number.isInteger(t)||t<0||t>e.length||a.has(t))throw Error(`Insertions need unique integer positions from 0 to the reference length.`);if(!o||/[^ACGTRYSWKMBDHVN]/.test(o))throw Error(`Insertions must contain ungapped IUPAC DNA bases.`);a.add(t),r.push({type:`Insertion`,start:t,end:t,reference:``,alternative:o}),i+=o.length}return r.sort((e,t)=>e.start-t.start||e.end-t.end),{name:t.name||`Alternative`,distance:i,differences:r}}const t=e=>{switch(e){case`TTT`:case`TTC`:return`F`;case`TTA`:case`TTG`:case`CTT`:case`CTC`:case`CTA`:case`CTG`:return`L`;case`ATT`:case`ATC`:case`ATA`:return`I`;case`ATG`:return`M`;case`GTT`:case`GTC`:case`GTA`:case`GTG`:return`V`;case`TCT`:case`TCC`:case`TCA`:case`TCG`:case`AGT`:case`AGC`:return`S`;case`CCT`:case`CCC`:case`CCA`:case`CCG`:return`P`;case`ACT`:case`ACC`:case`ACA`:case`ACG`:return`T`;case`GCT`:case`GCC`:case`GCA`:case`GCG`:return`A`;case`TAT`:case`TAC`:return`Y`;case`TAA`:case`TAG`:case`TGA`:return`*`;case`CAT`:case`CAC`:return`H`;case`CAA`:case`CAG`:return`Q`;case`AAT`:case`AAC`:return`N`;case`AAA`:case`AAG`:return`K`;case`GAT`:case`GAC`:return`D`;case`GAA`:case`GAG`:return`E`;case`TGT`:case`TGC`:return`C`;case`TGG`:return`W`;case`CGT`:case`CGC`:case`CGA`:case`CGG`:case`AGA`:case`AGG`:return`R`;case`GGT`:case`GGC`:case`GGA`:case`GGG`:return`G`;default:return`X`}};function n(e){let t=e.trim().split(/\\r?\\n/);if(!t[0]?.startsWith(`>`))throw Error(`Expected a FASTA header starting with >.`);if(t.slice(1).some(e=>e.startsWith(`>`)))throw Error(`Please supply exactly one FASTA record.`);let n=t.slice(1).join(``).replace(/\\s/g,``).toUpperCase();if(!n||/[^ACGTRYSWKMBDHVN]/.test(n))throw Error(`Expected an ungapped DNA sequence (IUPAC bases).`);return{name:t[0].slice(1).trim()||`Alternative`,sequence:n}}function r(e,t,n=128){let r=e.length,i=t.length;if(!r||!i)throw Error(`Both sequences must contain bases.`);if(Math.max(r,i)>1e5)throw Error(`Comparison supports sequences up to 100,000 bases.`);let a=()=>Error(`Sequences exceed the ${n}-edit comparison limit. Use complete sequences in the same orientation and with the same starting point.`);if(Math.abs(r-i)>n)throw a();let o=2*n+1,s=n+1,c=s*s,l=new Uint8Array((r+1)*o),u=(e,t,n)=>e<=t&&e<=n?0:t<=n?1:2,d=new Uint32Array(o*3).fill(c);d[n*3]=0;for(let e=1;e<=Math.min(i,n);e++)d[(e+n)*3+2]=e*s+1,l[e+n]=(e===1?0:2)<<4;for(let a=1;a<=r;a++){let r=new Uint32Array(o*3).fill(c);for(let f=Math.max(0,a-n);f<=Math.min(i,a+n);f++){let i=f-a+n,p=i*3;if(f===0){r[p+1]=a*s+1,l[a*o+i]=(a===1?0:1)<<2;continue}let m=u(d[p],d[p+1],d[p+2]);r[p]=Math.min(c,d[p+m]+(e[a-1]===t[f-1]?0:s));let h=0,g=0;if(i+1<o){let e=p+3,t=d[e]+s+1,n=d[e+1]+s,i=d[e+2]+s+1;h=u(t,n,i),r[p+1]=Math.min(c,t,n,i)}if(i>0){let e=p-3,t=r[e]+s+1,n=r[e+1]+s+1,i=r[e+2]+s;g=u(t,n,i),r[p+2]=Math.min(c,t,n,i)}l[a*o+i]=m|h<<2|g<<4}d=r}let f=(i-r+n)*3,p=u(d[f],d[f+1],d[f+2]),m=Math.floor(d[f+p]/s);if(m>n)throw a();let h=r,g=i,_=[];for(;h||g;){let r=l[h*o+g-h+n]>>p*2&3;p===0?_.push([e[--h],t[--g]]):p===1?_.push([e[--h],`-`]):_.push([`-`,t[--g]]),p=r}_.reverse();let v=[],y=0;for(let[e,t]of _){if(e!==t){let n=e===`-`?`Insertion`:t===`-`?`Deletion`:/[^ACGT]/.test(e+t)?`Ambiguous`:`Substitution`,r=v.at(-1);r&&r.type===n&&n!==`Substitution`&&n!==`Ambiguous`&&r.end===y?(r.reference+=e===`-`?``:e,r.alternative+=t===`-`?``:t,r.end+=e===`-`?0:1):v.push({type:n,start:y,end:y+(e===`-`?0:1),reference:e===`-`?``:e,alternative:t===`-`?``:t})}e!==`-`&&y++}return{distance:m,differences:v}}function i(e,t){return e.locations?.length?e.locations:e.start>e.end?[{start:e.start,end:t-1},{start:0,end:e.end}]:[{start:e.start,end:e.end}]}const a={A:`T`,T:`A`,C:`G`,G:`C`,R:`Y`,Y:`R`,S:`S`,W:`W`,K:`M`,M:`K`,B:`V`,V:`B`,D:`H`,H:`D`,N:`N`},o=e=>[...e].reverse().map(e=>a[e]||`N`).join(``),s=e=>{let n=``;for(let r=0;r+2<e.length;r+=3)n+=t(e.slice(r,r+3));return n},c=(e,t,n)=>{let r=e.notes?.[t];return(Array.isArray(r)?r[0]:r)??n};function l(e,t,n){if(![`CDS`,`mat_peptide`].includes(t.type))return null;let a=i(t,e.length),l=[];for(let t of a){if(!Number.isInteger(t.start)||!Number.isInteger(t.end)||t.start<0||t.end>=e.length||t.end<t.start)return{warning:`Unsupported coding location`,codons:[],changes:[]};for(let e=t.start;e<=t.end;e++)l.push(e)}t.strand<0&&l.reverse();let u=Number(c(t,`codon_start`,1))-1;if(![0,1,2].includes(u))return{warning:`Unsupported codon_start`,codons:[],changes:[]};l.splice(0,u);let d=Number(c(t,`transl_table`,1));if(![1,11].includes(d)||[`transl_except`,`ribosomal_slippage`,`exception`].some(e=>t.notes?.[e]))return{warning:`AA comparison unavailable for this translation table or exception`,codons:[],changes:[]};let f=new Map(l.map((e,t)=>[e,t])),p=e=>t.strand<0?o(e):e,m=l.map(t=>p(e[t])).join(``),h=s(m),g=[...h].map((e,t)=>({positions:l.slice(t*3,t*3+3),aminoAcid:e,codonIndex:t})),_=new Set,v=new Map,y=new Map,b=1/0,x=!1;for(let e of n)if(e.type===`Insertion`){let n=t.strand<0?e.start-1:e.start,r=f.get(n),i=t.strand<0?e.start:e.start-1;r>0&&l[r-1]===i?(y.set(r,p(e.alternative)),e.alternative.length%3&&(b=Math.min(b,r))):(f.has(n)||f.has(i))&&(x=!0)}else if(e.type===`Deletion`){let t=[];for(let n=e.start;n<e.end;n++){let e=f.get(n);e!==void 0&&(_.add(e),t.push(e))}t.length%3&&(b=Math.min(b,...t))}else for(let t=e.start;t<e.end;t++){let n=f.get(t);n!==void 0&&v.set(n,p(e.alternative[t-e.start]))}let S=``,C=[];for(let e=0;e<l.length;e++)C[e]=S.length,S+=y.get(e)||``,_.has(e)||(S+=v.get(e)??m[e]);let w=Math.floor(b/3),T=Number.isFinite(b)?h.slice(0,w):h,E=s(Number.isFinite(b)?S.slice(0,C[w*3]):S),D=[],O=e=>{let n=Math.min(e.start,Math.max(0,g.length-1)),r=g[n],i=e.start<g.length?(r?.positions[0]??l[0])+(t.strand<0?.5:-.5):(r?.positions[2]??l[0])+(t.strand<0?-.5:.5);return{...e,anchor:r?.positions[1]??l[0],...e.type===`Insertion`?{pointerPosition:i}:{},aaPosition:e.type===`Insertion`?e.start:e.start+1}};try{if(T&&E){let e=[];for(let t of r(T,E).differences){let n={...t,type:t.type===`Ambiguous`?/X/.test(t.reference+t.alternative)?`Ambiguous`:`Substitution`:t.type},r=e.at(-1);n.type===`Ambiguous`&&r?.type===`Ambiguous`&&r.end===n.start?(r.end=n.end,r.reference+=n.reference,r.alternative+=n.alternative):e.push(n)}D=e.map(O)}else(T||E)&&(D=[O({type:T?`Deletion`:`Insertion`,start:0,end:T.length,reference:T,alternative:E})])}catch{return{codons:g,changes:[],warning:`AA comparison exceeds the alignment limit`}}return Number.isFinite(b)&&D.push(O({type:`Frameshift`,start:w,end:w+1,reference:``,alternative:``})),{codons:g,changes:D,warning:x?`Insertion at a coding boundary: AA assignment is uncertain`:void 0}}function u(e,t,n){return t.map(t=>l(e,t,n))}self.onmessage=({data:t})=>{try{let i=t.alignedSequence||n(t.fasta),a=t.alignedSequence?e(t.reference,i):r(t.reference,i.sequence);self.postMessage({...a,name:i.name,proteins:u(t.reference,t.features||[],a.differences)})}catch(e){self.postMessage({error:e.message})}};", Li = typeof self < "u" && self.Blob && new Blob(["URL.revokeObjectURL(import.meta.url);", Ii], { type: "text/javascript;charset=utf-8" });
2911
2911
  function Ri(e) {
2912
2912
  let t;
2913
2913
  try {
@@ -4275,18 +4275,18 @@ var Ao = ({ parsedSequence: e, rowStart: t, rowEnd: n, setHoveredInfo: r, rowId:
4275
4275
  let i = ba(r, e.locations, w.length);
4276
4276
  return i >= t && i < n;
4277
4277
  }).sort((e, t) => e.anchor - t.anchor).map((n) => {
4278
- let r = n.end > n.start + 1 ? `${n.start + 1}–${n.end}` : n.start + 1, i = n.type === "Insertion" ? `AA INS +${n.alternative} · after ${n.aaPosition}` : n.type === "Deletion" ? `AA DEL ${n.reference} · ${r}` : n.type === "Frameshift" ? `Frame shift · AA ${n.aaPosition}` : `AA ${n.reference}${n.aaPosition} → ${n.alternative}`, a = Math.max(8, Math.floor((P - 20) / 7)), o = i.length > a ? `${i.slice(0, a - 1)}…` : i, s = Math.min(P, o.length * 7 + 16), c = ((n.pointerPosition ?? n.anchor) - t) * C, l = Math.max(-C / 2, Math.min(c - s / 2, P - s)), u = R[e.lane], d = u.findIndex((e) => e + 8 <= l);
4279
- d === -1 && (d = u.length), u[d] = l + s;
4280
- let f = n.type === "Insertion" ? "#1d4ed8" : n.type === "Deletion" ? "#b91c1c" : ["Frameshift", "Ambiguous"].includes(n.type) ? "#6d28d9" : "#92400e";
4278
+ let r = n.end > n.start + 1 ? `${n.start + 1}–${n.end}` : n.start + 1, i = n.type === "Insertion" ? `AA INS +${n.alternative} · after ${n.aaPosition}` : n.type === "Deletion" ? `AA DEL ${n.reference} · ${r}` : n.type === "Frameshift" ? `Frame shift · AA ${n.aaPosition}` : n.type === "Ambiguous" ? `Coverage gap · AA ${r}` : `AA ${n.reference}${n.aaPosition} → ${n.alternative}`, a = Math.max(8, Math.floor((P - 20) / 7)), o = n.type === "Ambiguous" ? "Coverage gap" : i, s = o.length > a ? `${o.slice(0, a - 1)}…` : o, c = Math.min(P, s.length * 7 + 16), l = ((n.pointerPosition ?? n.anchor) - t) * C, u = Math.max(-C / 2, Math.min(l - c / 2, P - c)), d = R[e.lane], f = d.findIndex((e) => e + 8 <= u);
4279
+ f === -1 && (f = d.length), d[f] = u + c;
4280
+ let p = n.type === "Insertion" ? "#1d4ed8" : n.type === "Deletion" ? "#b91c1c" : ["Frameshift", "Ambiguous"].includes(n.type) ? "#6d28d9" : "#92400e";
4281
4281
  return {
4282
4282
  ...n,
4283
4283
  text: i,
4284
- label: o,
4285
- labelWidth: s,
4286
- anchor: c,
4287
- left: l,
4288
- lane: d,
4289
- color: f
4284
+ label: s,
4285
+ labelWidth: c,
4286
+ anchor: l,
4287
+ left: u,
4288
+ lane: f,
4289
+ color: p
4290
4290
  };
4291
4291
  });
4292
4292
  });
@@ -4402,7 +4402,7 @@ var Ao = ({ parsedSequence: e, rowStart: t, rowEnd: n, setHoveredInfo: r, rowId:
4402
4402
  width: t.labelWidth,
4403
4403
  height: 20,
4404
4404
  rx: 4,
4405
- fill: "white",
4405
+ fill: t.type === "Ambiguous" ? "#f5f3ff" : "white",
4406
4406
  stroke: t.color
4407
4407
  }),
4408
4408
  /* @__PURE__ */ x("text", {
@@ -4482,7 +4482,7 @@ var Ao = ({ parsedSequence: e, rowStart: t, rowEnd: n, setHoveredInfo: r, rowId:
4482
4482
  locusTag: e.notes?.locus_tag || null
4483
4483
  }),
4484
4484
  onMouseLeave: () => r(null),
4485
- fillOpacity: .75,
4485
+ fillOpacity: e.proteinChanges.some((e) => e.type === "Ambiguous" && t.codonIndex >= e.start && t.codonIndex < e.end) ? .35 : .75,
4486
4486
  style: { cursor: "pointer" },
4487
4487
  children: t.aminoAcid
4488
4488
  }), t.middle > 2 && s > -.5 && /* @__PURE__ */ x("text", {
@@ -23730,8 +23730,8 @@ Z(wC, "jsonToJsonString");
23730
23730
  //#endregion
23731
23731
  //#region src/comparison/parseReference.mjs
23732
23732
  async function TC(e) {
23733
- let t = await Dv(e);
23734
- for (let e of t) e.parsedSequence?.sequence && (e.parsedSequence.sequence = e.parsedSequence.sequence.toUpperCase().replace(/U/g, "T"));
23733
+ let t = await Dv(e, { isOligo: !0 });
23734
+ for (let e of t) e.parsedSequence?.sequence && (e.parsedSequence.sequence = e.parsedSequence.sequence.toUpperCase());
23735
23735
  return t;
23736
23736
  }
23737
23737
  //#endregion
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gensplore",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "description": "React component for displaying genbank files",
5
5
  "keywords": [
6
6
  "genbank",