@teselagen/sequence-utils 0.1.6 → 0.1.8
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.
- package/index.js +2 -51
- package/index.mjs +14123 -8130
- package/index.umd.js +2 -51
- package/package.json +1 -1
package/index.umd.js
CHANGED
|
@@ -1,57 +1,8 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(global2,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):(global2=typeof globalThis!=="undefined"?globalThis:global2||self,factory(global2["sequence-utils"]={}))})(this,function(exports2){"use strict";var __defProp=Object.defineProperty;var __defProps=Object.defineProperties;var __getOwnPropDescs=Object.getOwnPropertyDescriptors;var __getOwnPropSymbols=Object.getOwnPropertySymbols;var __hasOwnProp=Object.prototype.hasOwnProperty;var __propIsEnum=Object.prototype.propertyIsEnumerable;var __pow=Math.pow;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:true,configurable:true,writable:true,value}):obj[key]=value;var __spreadValues=(a,b)=>{for(var prop in b||(b={}))if(__hasOwnProp.call(b,prop))__defNormalProp(a,prop,b[prop]);if(__getOwnPropSymbols)for(var prop of __getOwnPropSymbols(b)){if(__propIsEnum.call(b,prop))__defNormalProp(a,prop,b[prop])}return a};var __spreadProps=(a,b)=>__defProps(a,__getOwnPropDescs(b));var __name=(target,value)=>__defProp(target,"name",{value,configurable:true});var commonjsGlobal=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};function getDefaultExportFromCjs(x){return x&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,"default")?x["default"]:x}__name(getDefaultExportFromCjs,"getDefaultExportFromCjs");var lodash={exports:{}};/**
|
|
2
2
|
* @license
|
|
3
3
|
* Lodash <https://lodash.com/>
|
|
4
4
|
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
|
5
5
|
* Released under MIT license <https://lodash.com/license>
|
|
6
6
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
|
7
7
|
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
8
|
-
*/tn.exports,function(a,n){(function(){var r,o="4.17.21",f=200,i="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",c="Expected a function",g="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",p=500,I="__lodash_placeholder__",h=1,v=2,m=4,w=1,B=2,_=1,C=2,N=4,F=8,L=16,x=32,U=64,G=128,$=256,J=512,ve=30,oe="...",ce=800,xe=16,Ze=1,tp=2,rp=3,zt=1/0,Mt=9007199254740991,np=17976931348623157e292,An=0/0,dt=4294967295,sp=dt-1,ap=dt>>>1,ip=[["ary",G],["bind",_],["bindKey",C],["curry",F],["curryRight",L],["flip",J],["partial",x],["partialRight",U],["rearg",$]],gr="[object Arguments]",_n="[object Array]",op="[object AsyncFunction]",Mr="[object Boolean]",Pr="[object Date]",fp="[object DOMException]",xn="[object Error]",En="[object Function]",Yo="[object GeneratorFunction]",it="[object Map]",Ur="[object Number]",cp="[object Null]",Rt="[object Object]",Qo="[object Promise]",gp="[object Proxy]",kr="[object RegExp]",ot="[object Set]",Dr="[object String]",Cn="[object Symbol]",lp="[object Undefined]",Hr="[object WeakMap]",up="[object WeakSet]",Nr="[object ArrayBuffer]",lr="[object DataView]",ea="[object Float32Array]",ta="[object Float64Array]",ra="[object Int8Array]",na="[object Int16Array]",sa="[object Int32Array]",aa="[object Uint8Array]",ia="[object Uint8ClampedArray]",oa="[object Uint16Array]",fa="[object Uint32Array]",pp=/\b__p \+= '';/g,Ip=/\b(__p \+=) '' \+/g,hp=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ef=/&(?:amp|lt|gt|quot|#39);/g,tf=/[&<>"']/g,dp=RegExp(ef.source),vp=RegExp(tf.source),mp=/<%-([\s\S]+?)%>/g,Sp=/<%([\s\S]+?)%>/g,rf=/<%=([\s\S]+?)%>/g,bp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,yp=/^\w*$/,wp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ca=/[\\^$.*+?()[\]{}|]/g,Rp=RegExp(ca.source),ga=/^\s+/,Op=/\s/,Bp=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ap=/\{\n\/\* \[wrapped with (.+)\] \*/,_p=/,? & /,xp=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ep=/[()=,{}\[\]\/\s]/,Cp=/\\(\\)?/g,Fp=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,nf=/\w*$/,Tp=/^[-+]0x[0-9a-f]+$/i,Mp=/^0b[01]+$/i,Pp=/^\[object .+?Constructor\]$/,Up=/^0o[0-7]+$/i,kp=/^(?:0|[1-9]\d*)$/,Dp=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Fn=/($^)/,Hp=/['\n\r\u2028\u2029\\]/g,Tn="\\ud800-\\udfff",Np="\\u0300-\\u036f",Lp="\\ufe20-\\ufe2f",Gp="\\u20d0-\\u20ff",sf=Np+Lp+Gp,af="\\u2700-\\u27bf",of="a-z\\xdf-\\xf6\\xf8-\\xff",Kp="\\xac\\xb1\\xd7\\xf7",Vp="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",qp="\\u2000-\\u206f",Wp=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ff="A-Z\\xc0-\\xd6\\xd8-\\xde",cf="\\ufe0e\\ufe0f",gf=Kp+Vp+qp+Wp,la="['’]",$p="["+Tn+"]",lf="["+gf+"]",Mn="["+sf+"]",uf="\\d+",jp="["+af+"]",pf="["+of+"]",If="[^"+Tn+gf+uf+af+of+ff+"]",ua="\\ud83c[\\udffb-\\udfff]",Xp="(?:"+Mn+"|"+ua+")",hf="[^"+Tn+"]",pa="(?:\\ud83c[\\udde6-\\uddff]){2}",Ia="[\\ud800-\\udbff][\\udc00-\\udfff]",ur="["+ff+"]",df="\\u200d",vf="(?:"+pf+"|"+If+")",zp="(?:"+ur+"|"+If+")",mf="(?:"+la+"(?:d|ll|m|re|s|t|ve))?",Sf="(?:"+la+"(?:D|LL|M|RE|S|T|VE))?",bf=Xp+"?",yf="["+cf+"]?",Jp="(?:"+df+"(?:"+[hf,pa,Ia].join("|")+")"+yf+bf+")*",Zp="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Yp="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",wf=yf+bf+Jp,Qp="(?:"+[jp,pa,Ia].join("|")+")"+wf,eI="(?:"+[hf+Mn+"?",Mn,pa,Ia,$p].join("|")+")",tI=RegExp(la,"g"),rI=RegExp(Mn,"g"),ha=RegExp(ua+"(?="+ua+")|"+eI+wf,"g"),nI=RegExp([ur+"?"+pf+"+"+mf+"(?="+[lf,ur,"$"].join("|")+")",zp+"+"+Sf+"(?="+[lf,ur+vf,"$"].join("|")+")",ur+"?"+vf+"+"+mf,ur+"+"+Sf,Yp,Zp,uf,Qp].join("|"),"g"),sI=RegExp("["+df+Tn+sf+cf+"]"),aI=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,iI=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],oI=-1,Ie={};Ie[ea]=Ie[ta]=Ie[ra]=Ie[na]=Ie[sa]=Ie[aa]=Ie[ia]=Ie[oa]=Ie[fa]=!0,Ie[gr]=Ie[_n]=Ie[Nr]=Ie[Mr]=Ie[lr]=Ie[Pr]=Ie[xn]=Ie[En]=Ie[it]=Ie[Ur]=Ie[Rt]=Ie[kr]=Ie[ot]=Ie[Dr]=Ie[Hr]=!1;var pe={};pe[gr]=pe[_n]=pe[Nr]=pe[lr]=pe[Mr]=pe[Pr]=pe[ea]=pe[ta]=pe[ra]=pe[na]=pe[sa]=pe[it]=pe[Ur]=pe[Rt]=pe[kr]=pe[ot]=pe[Dr]=pe[Cn]=pe[aa]=pe[ia]=pe[oa]=pe[fa]=!0,pe[xn]=pe[En]=pe[Hr]=!1;var fI={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},cI={"&":"&","<":"<",">":">",'"':""","'":"'"},gI={"&":"&","<":"<",">":">",""":'"',"'":"'"},lI={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},uI=parseFloat,pI=parseInt,Rf=typeof Se=="object"&&Se&&Se.Object===Object&&Se,II=typeof self=="object"&&self&&self.Object===Object&&self,Ce=Rf||II||Function("return this")(),da=n&&!n.nodeType&&n,Jt=da&&!0&&a&&!a.nodeType&&a,Of=Jt&&Jt.exports===da,va=Of&&Rf.process,Ye=function(){try{var O=Jt&&Jt.require&&Jt.require("util").types;return O||va&&va.binding&&va.binding("util")}catch(T){}}(),Bf=Ye&&Ye.isArrayBuffer,Af=Ye&&Ye.isDate,_f=Ye&&Ye.isMap,xf=Ye&&Ye.isRegExp,Ef=Ye&&Ye.isSet,Cf=Ye&&Ye.isTypedArray;function Ve(O,T,E){switch(E.length){case 0:return O.call(T);case 1:return O.call(T,E[0]);case 2:return O.call(T,E[0],E[1]);case 3:return O.call(T,E[0],E[1],E[2])}return O.apply(T,E)}function hI(O,T,E,V){for(var Z=-1,fe=O==null?0:O.length;++Z<fe;){var Be=O[Z];T(V,Be,E(Be),O)}return V}function Qe(O,T){for(var E=-1,V=O==null?0:O.length;++E<V&&T(O[E],E,O)!==!1;);return O}function dI(O,T){for(var E=O==null?0:O.length;E--&&T(O[E],E,O)!==!1;);return O}function Ff(O,T){for(var E=-1,V=O==null?0:O.length;++E<V;)if(!T(O[E],E,O))return!1;return!0}function Pt(O,T){for(var E=-1,V=O==null?0:O.length,Z=0,fe=[];++E<V;){var Be=O[E];T(Be,E,O)&&(fe[Z++]=Be)}return fe}function Pn(O,T){var E=O==null?0:O.length;return!!E&&pr(O,T,0)>-1}function ma(O,T,E){for(var V=-1,Z=O==null?0:O.length;++V<Z;)if(E(T,O[V]))return!0;return!1}function de(O,T){for(var E=-1,V=O==null?0:O.length,Z=Array(V);++E<V;)Z[E]=T(O[E],E,O);return Z}function Ut(O,T){for(var E=-1,V=T.length,Z=O.length;++E<V;)O[Z+E]=T[E];return O}function Sa(O,T,E,V){var Z=-1,fe=O==null?0:O.length;for(V&&fe&&(E=O[++Z]);++Z<fe;)E=T(E,O[Z],Z,O);return E}function vI(O,T,E,V){var Z=O==null?0:O.length;for(V&&Z&&(E=O[--Z]);Z--;)E=T(E,O[Z],Z,O);return E}function ba(O,T){for(var E=-1,V=O==null?0:O.length;++E<V;)if(T(O[E],E,O))return!0;return!1}var mI=ya("length");function SI(O){return O.split("")}function bI(O){return O.match(xp)||[]}function Tf(O,T,E){var V;return E(O,function(Z,fe,Be){if(T(Z,fe,Be))return V=fe,!1}),V}function Un(O,T,E,V){for(var Z=O.length,fe=E+(V?1:-1);V?fe--:++fe<Z;)if(T(O[fe],fe,O))return fe;return-1}function pr(O,T,E){return T===T?TI(O,T,E):Un(O,Mf,E)}function yI(O,T,E,V){for(var Z=E-1,fe=O.length;++Z<fe;)if(V(O[Z],T))return Z;return-1}function Mf(O){return O!==O}function Pf(O,T){var E=O==null?0:O.length;return E?Ra(O,T)/E:An}function ya(O){return function(T){return T==null?r:T[O]}}function wa(O){return function(T){return O==null?r:O[T]}}function Uf(O,T,E,V,Z){return Z(O,function(fe,Be,ue){E=V?(V=!1,fe):T(E,fe,Be,ue)}),E}function wI(O,T){var E=O.length;for(O.sort(T);E--;)O[E]=O[E].value;return O}function Ra(O,T){for(var E,V=-1,Z=O.length;++V<Z;){var fe=T(O[V]);fe!==r&&(E=E===r?fe:E+fe)}return E}function Oa(O,T){for(var E=-1,V=Array(O);++E<O;)V[E]=T(E);return V}function RI(O,T){return de(T,function(E){return[E,O[E]]})}function kf(O){return O&&O.slice(0,Lf(O)+1).replace(ga,"")}function qe(O){return function(T){return O(T)}}function Ba(O,T){return de(T,function(E){return O[E]})}function Lr(O,T){return O.has(T)}function Df(O,T){for(var E=-1,V=O.length;++E<V&&pr(T,O[E],0)>-1;);return E}function Hf(O,T){for(var E=O.length;E--&&pr(T,O[E],0)>-1;);return E}function OI(O,T){for(var E=O.length,V=0;E--;)O[E]===T&&++V;return V}var BI=wa(fI),AI=wa(cI);function _I(O){return"\\"+lI[O]}function xI(O,T){return O==null?r:O[T]}function Ir(O){return sI.test(O)}function EI(O){return aI.test(O)}function CI(O){for(var T,E=[];!(T=O.next()).done;)E.push(T.value);return E}function Aa(O){var T=-1,E=Array(O.size);return O.forEach(function(V,Z){E[++T]=[Z,V]}),E}function Nf(O,T){return function(E){return O(T(E))}}function kt(O,T){for(var E=-1,V=O.length,Z=0,fe=[];++E<V;){var Be=O[E];(Be===T||Be===I)&&(O[E]=I,fe[Z++]=E)}return fe}function kn(O){var T=-1,E=Array(O.size);return O.forEach(function(V){E[++T]=V}),E}function FI(O){var T=-1,E=Array(O.size);return O.forEach(function(V){E[++T]=[V,V]}),E}function TI(O,T,E){for(var V=E-1,Z=O.length;++V<Z;)if(O[V]===T)return V;return-1}function MI(O,T,E){for(var V=E+1;V--;)if(O[V]===T)return V;return V}function hr(O){return Ir(O)?UI(O):mI(O)}function ft(O){return Ir(O)?kI(O):SI(O)}function Lf(O){for(var T=O.length;T--&&Op.test(O.charAt(T)););return T}var PI=wa(gI);function UI(O){for(var T=ha.lastIndex=0;ha.test(O);)++T;return T}function kI(O){return O.match(ha)||[]}function DI(O){return O.match(nI)||[]}var HI=function O(T){T=T==null?Ce:dr.defaults(Ce.Object(),T,dr.pick(Ce,iI));var E=T.Array,V=T.Date,Z=T.Error,fe=T.Function,Be=T.Math,ue=T.Object,_a=T.RegExp,NI=T.String,et=T.TypeError,Dn=E.prototype,LI=fe.prototype,vr=ue.prototype,Hn=T["__core-js_shared__"],Nn=LI.toString,le=vr.hasOwnProperty,GI=0,Gf=function(){var e=/[^.]+$/.exec(Hn&&Hn.keys&&Hn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),Ln=vr.toString,KI=Nn.call(ue),VI=Ce._,qI=_a("^"+Nn.call(le).replace(ca,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Gn=Of?T.Buffer:r,Dt=T.Symbol,Kn=T.Uint8Array,Kf=Gn?Gn.allocUnsafe:r,Vn=Nf(ue.getPrototypeOf,ue),Vf=ue.create,qf=vr.propertyIsEnumerable,qn=Dn.splice,Wf=Dt?Dt.isConcatSpreadable:r,Gr=Dt?Dt.iterator:r,Zt=Dt?Dt.toStringTag:r,Wn=function(){try{var e=rr(ue,"defineProperty");return e({},"",{}),e}catch(t){}}(),WI=T.clearTimeout!==Ce.clearTimeout&&T.clearTimeout,$I=V&&V.now!==Ce.Date.now&&V.now,jI=T.setTimeout!==Ce.setTimeout&&T.setTimeout,$n=Be.ceil,jn=Be.floor,xa=ue.getOwnPropertySymbols,XI=Gn?Gn.isBuffer:r,$f=T.isFinite,zI=Dn.join,JI=Nf(ue.keys,ue),Ae=Be.max,Me=Be.min,ZI=V.now,YI=T.parseInt,jf=Be.random,QI=Dn.reverse,Ea=rr(T,"DataView"),Kr=rr(T,"Map"),Ca=rr(T,"Promise"),mr=rr(T,"Set"),Vr=rr(T,"WeakMap"),qr=rr(ue,"create"),Xn=Vr&&new Vr,Sr={},e1=nr(Ea),t1=nr(Kr),r1=nr(Ca),n1=nr(mr),s1=nr(Vr),zn=Dt?Dt.prototype:r,Wr=zn?zn.valueOf:r,Xf=zn?zn.toString:r;function S(e){if(be(e)&&!Y(e)&&!(e instanceof ne)){if(e instanceof tt)return e;if(le.call(e,"__wrapped__"))return zc(e)}return new tt(e)}var br=function(){function e(){}return function(t){if(!me(t))return{};if(Vf)return Vf(t);e.prototype=t;var s=new e;return e.prototype=r,s}}();function Jn(){}function tt(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=r}S.templateSettings={escape:mp,evaluate:Sp,interpolate:rf,variable:"",imports:{_:S}},S.prototype=Jn.prototype,S.prototype.constructor=S,tt.prototype=br(Jn.prototype),tt.prototype.constructor=tt;function ne(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=dt,this.__views__=[]}function a1(){var e=new ne(this.__wrapped__);return e.__actions__=Ne(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Ne(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Ne(this.__views__),e}function i1(){if(this.__filtered__){var e=new ne(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function o1(){var e=this.__wrapped__.value(),t=this.__dir__,s=Y(e),u=t<0,d=s?e.length:0,b=Sh(0,d,this.__views__),y=b.start,R=b.end,A=R-y,M=u?R:y-1,P=this.__iteratees__,H=P.length,K=0,W=Me(A,this.__takeCount__);if(!s||!u&&d==A&&W==A)return mc(e,this.__actions__);var X=[];e:for(;A--&&K<W;){M+=t;for(var ee=-1,z=e[M];++ee<H;){var re=P[ee],se=re.iteratee,je=re.type,He=se(z);if(je==tp)z=He;else if(!He){if(je==Ze)continue e;break e}}X[K++]=z}return X}ne.prototype=br(Jn.prototype),ne.prototype.constructor=ne;function Yt(e){var t=-1,s=e==null?0:e.length;for(this.clear();++t<s;){var u=e[t];this.set(u[0],u[1])}}function f1(){this.__data__=qr?qr(null):{},this.size=0}function c1(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}function g1(e){var t=this.__data__;if(qr){var s=t[e];return s===l?r:s}return le.call(t,e)?t[e]:r}function l1(e){var t=this.__data__;return qr?t[e]!==r:le.call(t,e)}function u1(e,t){var s=this.__data__;return this.size+=this.has(e)?0:1,s[e]=qr&&t===r?l:t,this}Yt.prototype.clear=f1,Yt.prototype.delete=c1,Yt.prototype.get=g1,Yt.prototype.has=l1,Yt.prototype.set=u1;function Ot(e){var t=-1,s=e==null?0:e.length;for(this.clear();++t<s;){var u=e[t];this.set(u[0],u[1])}}function p1(){this.__data__=[],this.size=0}function I1(e){var t=this.__data__,s=Zn(t,e);if(s<0)return!1;var u=t.length-1;return s==u?t.pop():qn.call(t,s,1),--this.size,!0}function h1(e){var t=this.__data__,s=Zn(t,e);return s<0?r:t[s][1]}function d1(e){return Zn(this.__data__,e)>-1}function v1(e,t){var s=this.__data__,u=Zn(s,e);return u<0?(++this.size,s.push([e,t])):s[u][1]=t,this}Ot.prototype.clear=p1,Ot.prototype.delete=I1,Ot.prototype.get=h1,Ot.prototype.has=d1,Ot.prototype.set=v1;function Bt(e){var t=-1,s=e==null?0:e.length;for(this.clear();++t<s;){var u=e[t];this.set(u[0],u[1])}}function m1(){this.size=0,this.__data__={hash:new Yt,map:new(Kr||Ot),string:new Yt}}function S1(e){var t=cs(this,e).delete(e);return this.size-=t?1:0,t}function b1(e){return cs(this,e).get(e)}function y1(e){return cs(this,e).has(e)}function w1(e,t){var s=cs(this,e),u=s.size;return s.set(e,t),this.size+=s.size==u?0:1,this}Bt.prototype.clear=m1,Bt.prototype.delete=S1,Bt.prototype.get=b1,Bt.prototype.has=y1,Bt.prototype.set=w1;function Qt(e){var t=-1,s=e==null?0:e.length;for(this.__data__=new Bt;++t<s;)this.add(e[t])}function R1(e){return this.__data__.set(e,l),this}function O1(e){return this.__data__.has(e)}Qt.prototype.add=Qt.prototype.push=R1,Qt.prototype.has=O1;function ct(e){var t=this.__data__=new Ot(e);this.size=t.size}function B1(){this.__data__=new Ot,this.size=0}function A1(e){var t=this.__data__,s=t.delete(e);return this.size=t.size,s}function _1(e){return this.__data__.get(e)}function x1(e){return this.__data__.has(e)}function E1(e,t){var s=this.__data__;if(s instanceof Ot){var u=s.__data__;if(!Kr||u.length<f-1)return u.push([e,t]),this.size=++s.size,this;s=this.__data__=new Bt(u)}return s.set(e,t),this.size=s.size,this}ct.prototype.clear=B1,ct.prototype.delete=A1,ct.prototype.get=_1,ct.prototype.has=x1,ct.prototype.set=E1;function zf(e,t){var s=Y(e),u=!s&&sr(e),d=!s&&!u&&Kt(e),b=!s&&!u&&!d&&Or(e),y=s||u||d||b,R=y?Oa(e.length,NI):[],A=R.length;for(var M in e)(t||le.call(e,M))&&!(y&&(M=="length"||d&&(M=="offset"||M=="parent")||b&&(M=="buffer"||M=="byteLength"||M=="byteOffset")||Et(M,A)))&&R.push(M);return R}function Jf(e){var t=e.length;return t?e[Ga(0,t-1)]:r}function C1(e,t){return gs(Ne(e),er(t,0,e.length))}function F1(e){return gs(Ne(e))}function Fa(e,t,s){(s!==r&&!gt(e[t],s)||s===r&&!(t in e))&&At(e,t,s)}function $r(e,t,s){var u=e[t];(!(le.call(e,t)&>(u,s))||s===r&&!(t in e))&&At(e,t,s)}function Zn(e,t){for(var s=e.length;s--;)if(gt(e[s][0],t))return s;return-1}function T1(e,t,s,u){return Ht(e,function(d,b,y){t(u,d,s(d),y)}),u}function Zf(e,t){return e&&mt(t,Ee(t),e)}function M1(e,t){return e&&mt(t,Ge(t),e)}function At(e,t,s){t=="__proto__"&&Wn?Wn(e,t,{configurable:!0,enumerable:!0,value:s,writable:!0}):e[t]=s}function Ta(e,t){for(var s=-1,u=t.length,d=E(u),b=e==null;++s<u;)d[s]=b?r:ui(e,t[s]);return d}function er(e,t,s){return e===e&&(s!==r&&(e=e<=s?e:s),t!==r&&(e=e>=t?e:t)),e}function rt(e,t,s,u,d,b){var y,R=t&h,A=t&v,M=t&m;if(s&&(y=d?s(e,u,d,b):s(e)),y!==r)return y;if(!me(e))return e;var P=Y(e);if(P){if(y=yh(e),!R)return Ne(e,y)}else{var H=Pe(e),K=H==En||H==Yo;if(Kt(e))return yc(e,R);if(H==Rt||H==gr||K&&!d){if(y=A||K?{}:Lc(e),!R)return A?gh(e,M1(y,e)):ch(e,Zf(y,e))}else{if(!pe[H])return d?e:{};y=wh(e,H,R)}}b||(b=new ct);var W=b.get(e);if(W)return W;b.set(e,y),hg(e)?e.forEach(function(z){y.add(rt(z,t,s,z,e,b))}):pg(e)&&e.forEach(function(z,re){y.set(re,rt(z,t,s,re,e,b))});var X=M?A?Ya:Za:A?Ge:Ee,ee=P?r:X(e);return Qe(ee||e,function(z,re){ee&&(re=z,z=e[re]),$r(y,re,rt(z,t,s,re,e,b))}),y}function P1(e){var t=Ee(e);return function(s){return Yf(s,e,t)}}function Yf(e,t,s){var u=s.length;if(e==null)return!u;for(e=ue(e);u--;){var d=s[u],b=t[d],y=e[d];if(y===r&&!(d in e)||!b(y))return!1}return!0}function Qf(e,t,s){if(typeof e!="function")throw new et(c);return Qr(function(){e.apply(r,s)},t)}function jr(e,t,s,u){var d=-1,b=Pn,y=!0,R=e.length,A=[],M=t.length;if(!R)return A;s&&(t=de(t,qe(s))),u?(b=ma,y=!1):t.length>=f&&(b=Lr,y=!1,t=new Qt(t));e:for(;++d<R;){var P=e[d],H=s==null?P:s(P);if(P=u||P!==0?P:0,y&&H===H){for(var K=M;K--;)if(t[K]===H)continue e;A.push(P)}else b(t,H,u)||A.push(P)}return A}var Ht=Ac(vt),ec=Ac(Pa,!0);function U1(e,t){var s=!0;return Ht(e,function(u,d,b){return s=!!t(u,d,b),s}),s}function Yn(e,t,s){for(var u=-1,d=e.length;++u<d;){var b=e[u],y=t(b);if(y!=null&&(R===r?y===y&&!$e(y):s(y,R)))var R=y,A=b}return A}function k1(e,t,s,u){var d=e.length;for(s=Q(s),s<0&&(s=-s>d?0:d+s),u=u===r||u>d?d:Q(u),u<0&&(u+=d),u=s>u?0:vg(u);s<u;)e[s++]=t;return e}function tc(e,t){var s=[];return Ht(e,function(u,d,b){t(u,d,b)&&s.push(u)}),s}function Fe(e,t,s,u,d){var b=-1,y=e.length;for(s||(s=Oh),d||(d=[]);++b<y;){var R=e[b];t>0&&s(R)?t>1?Fe(R,t-1,s,u,d):Ut(d,R):u||(d[d.length]=R)}return d}var Ma=_c(),rc=_c(!0);function vt(e,t){return e&&Ma(e,t,Ee)}function Pa(e,t){return e&&rc(e,t,Ee)}function Qn(e,t){return Pt(t,function(s){return Ct(e[s])})}function tr(e,t){t=Lt(t,e);for(var s=0,u=t.length;e!=null&&s<u;)e=e[St(t[s++])];return s&&s==u?e:r}function nc(e,t,s){var u=t(e);return Y(e)?u:Ut(u,s(e))}function ke(e){return e==null?e===r?lp:cp:Zt&&Zt in ue(e)?mh(e):Fh(e)}function Ua(e,t){return e>t}function D1(e,t){return e!=null&&le.call(e,t)}function H1(e,t){return e!=null&&t in ue(e)}function N1(e,t,s){return e>=Me(t,s)&&e<Ae(t,s)}function ka(e,t,s){for(var u=s?ma:Pn,d=e[0].length,b=e.length,y=b,R=E(b),A=1/0,M=[];y--;){var P=e[y];y&&t&&(P=de(P,qe(t))),A=Me(P.length,A),R[y]=!s&&(t||d>=120&&P.length>=120)?new Qt(y&&P):r}P=e[0];var H=-1,K=R[0];e:for(;++H<d&&M.length<A;){var W=P[H],X=t?t(W):W;if(W=s||W!==0?W:0,!(K?Lr(K,X):u(M,X,s))){for(y=b;--y;){var ee=R[y];if(!(ee?Lr(ee,X):u(e[y],X,s)))continue e}K&&K.push(X),M.push(W)}}return M}function L1(e,t,s,u){return vt(e,function(d,b,y){t(u,s(d),b,y)}),u}function Xr(e,t,s){t=Lt(t,e),e=qc(e,t);var u=e==null?e:e[St(st(t))];return u==null?r:Ve(u,e,s)}function sc(e){return be(e)&&ke(e)==gr}function G1(e){return be(e)&&ke(e)==Nr}function K1(e){return be(e)&&ke(e)==Pr}function zr(e,t,s,u,d){return e===t?!0:e==null||t==null||!be(e)&&!be(t)?e!==e&&t!==t:V1(e,t,s,u,zr,d)}function V1(e,t,s,u,d,b){var y=Y(e),R=Y(t),A=y?_n:Pe(e),M=R?_n:Pe(t);A=A==gr?Rt:A,M=M==gr?Rt:M;var P=A==Rt,H=M==Rt,K=A==M;if(K&&Kt(e)){if(!Kt(t))return!1;y=!0,P=!1}if(K&&!P)return b||(b=new ct),y||Or(e)?Dc(e,t,s,u,d,b):dh(e,t,A,s,u,d,b);if(!(s&w)){var W=P&&le.call(e,"__wrapped__"),X=H&&le.call(t,"__wrapped__");if(W||X){var ee=W?e.value():e,z=X?t.value():t;return b||(b=new ct),d(ee,z,s,u,b)}}return K?(b||(b=new ct),vh(e,t,s,u,d,b)):!1}function q1(e){return be(e)&&Pe(e)==it}function Da(e,t,s,u){var d=s.length,b=d,y=!u;if(e==null)return!b;for(e=ue(e);d--;){var R=s[d];if(y&&R[2]?R[1]!==e[R[0]]:!(R[0]in e))return!1}for(;++d<b;){R=s[d];var A=R[0],M=e[A],P=R[1];if(y&&R[2]){if(M===r&&!(A in e))return!1}else{var H=new ct;if(u)var K=u(M,P,A,e,t,H);if(!(K===r?zr(P,M,w|B,u,H):K))return!1}}return!0}function ac(e){if(!me(e)||Ah(e))return!1;var t=Ct(e)?qI:Pp;return t.test(nr(e))}function W1(e){return be(e)&&ke(e)==kr}function $1(e){return be(e)&&Pe(e)==ot}function j1(e){return be(e)&&ds(e.length)&&!!Ie[ke(e)]}function ic(e){return typeof e=="function"?e:e==null?Ke:typeof e=="object"?Y(e)?cc(e[0],e[1]):fc(e):xg(e)}function Ha(e){if(!Yr(e))return JI(e);var t=[];for(var s in ue(e))le.call(e,s)&&s!="constructor"&&t.push(s);return t}function X1(e){if(!me(e))return Ch(e);var t=Yr(e),s=[];for(var u in e)u=="constructor"&&(t||!le.call(e,u))||s.push(u);return s}function Na(e,t){return e<t}function oc(e,t){var s=-1,u=Le(e)?E(e.length):[];return Ht(e,function(d,b,y){u[++s]=t(d,b,y)}),u}function fc(e){var t=ei(e);return t.length==1&&t[0][2]?Kc(t[0][0],t[0][1]):function(s){return s===e||Da(s,e,t)}}function cc(e,t){return ri(e)&&Gc(t)?Kc(St(e),t):function(s){var u=ui(s,e);return u===r&&u===t?pi(s,e):zr(t,u,w|B)}}function es(e,t,s,u,d){e!==t&&Ma(t,function(b,y){if(d||(d=new ct),me(b))z1(e,t,y,s,es,u,d);else{var R=u?u(si(e,y),b,y+"",e,t,d):r;R===r&&(R=b),Fa(e,y,R)}},Ge)}function z1(e,t,s,u,d,b,y){var R=si(e,s),A=si(t,s),M=y.get(A);if(M){Fa(e,s,M);return}var P=b?b(R,A,s+"",e,t,y):r,H=P===r;if(H){var K=Y(A),W=!K&&Kt(A),X=!K&&!W&&Or(A);P=A,K||W||X?Y(R)?P=R:we(R)?P=Ne(R):W?(H=!1,P=yc(A,!0)):X?(H=!1,P=wc(A,!0)):P=[]:en(A)||sr(A)?(P=R,sr(R)?P=mg(R):(!me(R)||Ct(R))&&(P=Lc(A))):H=!1}H&&(y.set(A,P),d(P,A,u,b,y),y.delete(A)),Fa(e,s,P)}function gc(e,t){var s=e.length;if(s)return t+=t<0?s:0,Et(t,s)?e[t]:r}function lc(e,t,s){t.length?t=de(t,function(b){return Y(b)?function(y){return tr(y,b.length===1?b[0]:b)}:b}):t=[Ke];var u=-1;t=de(t,qe(j()));var d=oc(e,function(b,y,R){var A=de(t,function(M){return M(b)});return{criteria:A,index:++u,value:b}});return wI(d,function(b,y){return fh(b,y,s)})}function J1(e,t){return uc(e,t,function(s,u){return pi(e,u)})}function uc(e,t,s){for(var u=-1,d=t.length,b={};++u<d;){var y=t[u],R=tr(e,y);s(R,y)&&Jr(b,Lt(y,e),R)}return b}function Z1(e){return function(t){return tr(t,e)}}function La(e,t,s,u){var d=u?yI:pr,b=-1,y=t.length,R=e;for(e===t&&(t=Ne(t)),s&&(R=de(e,qe(s)));++b<y;)for(var A=0,M=t[b],P=s?s(M):M;(A=d(R,P,A,u))>-1;)R!==e&&qn.call(R,A,1),qn.call(e,A,1);return e}function pc(e,t){for(var s=e?t.length:0,u=s-1;s--;){var d=t[s];if(s==u||d!==b){var b=d;Et(d)?qn.call(e,d,1):qa(e,d)}}return e}function Ga(e,t){return e+jn(jf()*(t-e+1))}function Y1(e,t,s,u){for(var d=-1,b=Ae($n((t-e)/(s||1)),0),y=E(b);b--;)y[u?b:++d]=e,e+=s;return y}function Ka(e,t){var s="";if(!e||t<1||t>Mt)return s;do t%2&&(s+=e),t=jn(t/2),t&&(e+=e);while(t);return s}function te(e,t){return ai(Vc(e,t,Ke),e+"")}function Q1(e){return Jf(Br(e))}function eh(e,t){var s=Br(e);return gs(s,er(t,0,s.length))}function Jr(e,t,s,u){if(!me(e))return e;t=Lt(t,e);for(var d=-1,b=t.length,y=b-1,R=e;R!=null&&++d<b;){var A=St(t[d]),M=s;if(A==="__proto__"||A==="constructor"||A==="prototype")return e;if(d!=y){var P=R[A];M=u?u(P,A,R):r,M===r&&(M=me(P)?P:Et(t[d+1])?[]:{})}$r(R,A,M),R=R[A]}return e}var Ic=Xn?function(e,t){return Xn.set(e,t),e}:Ke,th=Wn?function(e,t){return Wn(e,"toString",{configurable:!0,enumerable:!1,value:hi(t),writable:!0})}:Ke;function rh(e){return gs(Br(e))}function nt(e,t,s){var u=-1,d=e.length;t<0&&(t=-t>d?0:d+t),s=s>d?d:s,s<0&&(s+=d),d=t>s?0:s-t>>>0,t>>>=0;for(var b=E(d);++u<d;)b[u]=e[u+t];return b}function nh(e,t){var s;return Ht(e,function(u,d,b){return s=t(u,d,b),!s}),!!s}function ts(e,t,s){var u=0,d=e==null?u:e.length;if(typeof t=="number"&&t===t&&d<=ap){for(;u<d;){var b=u+d>>>1,y=e[b];y!==null&&!$e(y)&&(s?y<=t:y<t)?u=b+1:d=b}return d}return Va(e,t,Ke,s)}function Va(e,t,s,u){var d=0,b=e==null?0:e.length;if(b===0)return 0;t=s(t);for(var y=t!==t,R=t===null,A=$e(t),M=t===r;d<b;){var P=jn((d+b)/2),H=s(e[P]),K=H!==r,W=H===null,X=H===H,ee=$e(H);if(y)var z=u||X;else M?z=X&&(u||K):R?z=X&&K&&(u||!W):A?z=X&&K&&!W&&(u||!ee):W||ee?z=!1:z=u?H<=t:H<t;z?d=P+1:b=P}return Me(b,sp)}function hc(e,t){for(var s=-1,u=e.length,d=0,b=[];++s<u;){var y=e[s],R=t?t(y):y;if(!s||!gt(R,A)){var A=R;b[d++]=y===0?0:y}}return b}function dc(e){return typeof e=="number"?e:$e(e)?An:+e}function We(e){if(typeof e=="string")return e;if(Y(e))return de(e,We)+"";if($e(e))return Xf?Xf.call(e):"";var t=e+"";return t=="0"&&1/e==-zt?"-0":t}function Nt(e,t,s){var u=-1,d=Pn,b=e.length,y=!0,R=[],A=R;if(s)y=!1,d=ma;else if(b>=f){var M=t?null:Ih(e);if(M)return kn(M);y=!1,d=Lr,A=new Qt}else A=t?[]:R;e:for(;++u<b;){var P=e[u],H=t?t(P):P;if(P=s||P!==0?P:0,y&&H===H){for(var K=A.length;K--;)if(A[K]===H)continue e;t&&A.push(H),R.push(P)}else d(A,H,s)||(A!==R&&A.push(H),R.push(P))}return R}function qa(e,t){return t=Lt(t,e),e=qc(e,t),e==null||delete e[St(st(t))]}function vc(e,t,s,u){return Jr(e,t,s(tr(e,t)),u)}function rs(e,t,s,u){for(var d=e.length,b=u?d:-1;(u?b--:++b<d)&&t(e[b],b,e););return s?nt(e,u?0:b,u?b+1:d):nt(e,u?b+1:0,u?d:b)}function mc(e,t){var s=e;return s instanceof ne&&(s=s.value()),Sa(t,function(u,d){return d.func.apply(d.thisArg,Ut([u],d.args))},s)}function Wa(e,t,s){var u=e.length;if(u<2)return u?Nt(e[0]):[];for(var d=-1,b=E(u);++d<u;)for(var y=e[d],R=-1;++R<u;)R!=d&&(b[d]=jr(b[d]||y,e[R],t,s));return Nt(Fe(b,1),t,s)}function Sc(e,t,s){for(var u=-1,d=e.length,b=t.length,y={};++u<d;){var R=u<b?t[u]:r;s(y,e[u],R)}return y}function $a(e){return we(e)?e:[]}function ja(e){return typeof e=="function"?e:Ke}function Lt(e,t){return Y(e)?e:ri(e,t)?[e]:Xc(ge(e))}var sh=te;function Gt(e,t,s){var u=e.length;return s=s===r?u:s,!t&&s>=u?e:nt(e,t,s)}var bc=WI||function(e){return Ce.clearTimeout(e)};function yc(e,t){if(t)return e.slice();var s=e.length,u=Kf?Kf(s):new e.constructor(s);return e.copy(u),u}function Xa(e){var t=new e.constructor(e.byteLength);return new Kn(t).set(new Kn(e)),t}function ah(e,t){var s=t?Xa(e.buffer):e.buffer;return new e.constructor(s,e.byteOffset,e.byteLength)}function ih(e){var t=new e.constructor(e.source,nf.exec(e));return t.lastIndex=e.lastIndex,t}function oh(e){return Wr?ue(Wr.call(e)):{}}function wc(e,t){var s=t?Xa(e.buffer):e.buffer;return new e.constructor(s,e.byteOffset,e.length)}function Rc(e,t){if(e!==t){var s=e!==r,u=e===null,d=e===e,b=$e(e),y=t!==r,R=t===null,A=t===t,M=$e(t);if(!R&&!M&&!b&&e>t||b&&y&&A&&!R&&!M||u&&y&&A||!s&&A||!d)return 1;if(!u&&!b&&!M&&e<t||M&&s&&d&&!u&&!b||R&&s&&d||!y&&d||!A)return-1}return 0}function fh(e,t,s){for(var u=-1,d=e.criteria,b=t.criteria,y=d.length,R=s.length;++u<y;){var A=Rc(d[u],b[u]);if(A){if(u>=R)return A;var M=s[u];return A*(M=="desc"?-1:1)}}return e.index-t.index}function Oc(e,t,s,u){for(var d=-1,b=e.length,y=s.length,R=-1,A=t.length,M=Ae(b-y,0),P=E(A+M),H=!u;++R<A;)P[R]=t[R];for(;++d<y;)(H||d<b)&&(P[s[d]]=e[d]);for(;M--;)P[R++]=e[d++];return P}function Bc(e,t,s,u){for(var d=-1,b=e.length,y=-1,R=s.length,A=-1,M=t.length,P=Ae(b-R,0),H=E(P+M),K=!u;++d<P;)H[d]=e[d];for(var W=d;++A<M;)H[W+A]=t[A];for(;++y<R;)(K||d<b)&&(H[W+s[y]]=e[d++]);return H}function Ne(e,t){var s=-1,u=e.length;for(t||(t=E(u));++s<u;)t[s]=e[s];return t}function mt(e,t,s,u){var d=!s;s||(s={});for(var b=-1,y=t.length;++b<y;){var R=t[b],A=u?u(s[R],e[R],R,s,e):r;A===r&&(A=e[R]),d?At(s,R,A):$r(s,R,A)}return s}function ch(e,t){return mt(e,ti(e),t)}function gh(e,t){return mt(e,Hc(e),t)}function ns(e,t){return function(s,u){var d=Y(s)?hI:T1,b=t?t():{};return d(s,e,j(u,2),b)}}function yr(e){return te(function(t,s){var u=-1,d=s.length,b=d>1?s[d-1]:r,y=d>2?s[2]:r;for(b=e.length>3&&typeof b=="function"?(d--,b):r,y&&De(s[0],s[1],y)&&(b=d<3?r:b,d=1),t=ue(t);++u<d;){var R=s[u];R&&e(t,R,u,b)}return t})}function Ac(e,t){return function(s,u){if(s==null)return s;if(!Le(s))return e(s,u);for(var d=s.length,b=t?d:-1,y=ue(s);(t?b--:++b<d)&&u(y[b],b,y)!==!1;);return s}}function _c(e){return function(t,s,u){for(var d=-1,b=ue(t),y=u(t),R=y.length;R--;){var A=y[e?R:++d];if(s(b[A],A,b)===!1)break}return t}}function lh(e,t,s){var u=t&_,d=Zr(e);function b(){var y=this&&this!==Ce&&this instanceof b?d:e;return y.apply(u?s:this,arguments)}return b}function xc(e){return function(t){t=ge(t);var s=Ir(t)?ft(t):r,u=s?s[0]:t.charAt(0),d=s?Gt(s,1).join(""):t.slice(1);return u[e]()+d}}function wr(e){return function(t){return Sa(Ag(Bg(t).replace(tI,"")),e,"")}}function Zr(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var s=br(e.prototype),u=e.apply(s,t);return me(u)?u:s}}function uh(e,t,s){var u=Zr(e);function d(){for(var b=arguments.length,y=E(b),R=b,A=Rr(d);R--;)y[R]=arguments[R];var M=b<3&&y[0]!==A&&y[b-1]!==A?[]:kt(y,A);if(b-=M.length,b<s)return Mc(e,t,ss,d.placeholder,r,y,M,r,r,s-b);var P=this&&this!==Ce&&this instanceof d?u:e;return Ve(P,this,y)}return d}function Ec(e){return function(t,s,u){var d=ue(t);if(!Le(t)){var b=j(s,3);t=Ee(t),s=function(R){return b(d[R],R,d)}}var y=e(t,s,u);return y>-1?d[b?t[y]:y]:r}}function Cc(e){return xt(function(t){var s=t.length,u=s,d=tt.prototype.thru;for(e&&t.reverse();u--;){var b=t[u];if(typeof b!="function")throw new et(c);if(d&&!y&&fs(b)=="wrapper")var y=new tt([],!0)}for(u=y?u:s;++u<s;){b=t[u];var R=fs(b),A=R=="wrapper"?Qa(b):r;A&&ni(A[0])&&A[1]==(G|F|x|$)&&!A[4].length&&A[9]==1?y=y[fs(A[0])].apply(y,A[3]):y=b.length==1&&ni(b)?y[R]():y.thru(b)}return function(){var M=arguments,P=M[0];if(y&&M.length==1&&Y(P))return y.plant(P).value();for(var H=0,K=s?t[H].apply(this,M):P;++H<s;)K=t[H].call(this,K);return K}})}function ss(e,t,s,u,d,b,y,R,A,M){var P=t&G,H=t&_,K=t&C,W=t&(F|L),X=t&J,ee=K?r:Zr(e);function z(){for(var re=arguments.length,se=E(re),je=re;je--;)se[je]=arguments[je];if(W)var He=Rr(z),Xe=OI(se,He);if(u&&(se=Oc(se,u,d,W)),b&&(se=Bc(se,b,y,W)),re-=Xe,W&&re<M){var Re=kt(se,He);return Mc(e,t,ss,z.placeholder,s,se,Re,R,A,M-re)}var lt=H?s:this,Tt=K?lt[e]:e;return re=se.length,R?se=Th(se,R):X&&re>1&&se.reverse(),P&&A<re&&(se.length=A),this&&this!==Ce&&this instanceof z&&(Tt=ee||Zr(Tt)),Tt.apply(lt,se)}return z}function Fc(e,t){return function(s,u){return L1(s,e,t(u),{})}}function as(e,t){return function(s,u){var d;if(s===r&&u===r)return t;if(s!==r&&(d=s),u!==r){if(d===r)return u;typeof s=="string"||typeof u=="string"?(s=We(s),u=We(u)):(s=dc(s),u=dc(u)),d=e(s,u)}return d}}function za(e){return xt(function(t){return t=de(t,qe(j())),te(function(s){var u=this;return e(t,function(d){return Ve(d,u,s)})})})}function is(e,t){t=t===r?" ":We(t);var s=t.length;if(s<2)return s?Ka(t,e):t;var u=Ka(t,$n(e/hr(t)));return Ir(t)?Gt(ft(u),0,e).join(""):u.slice(0,e)}function ph(e,t,s,u){var d=t&_,b=Zr(e);function y(){for(var R=-1,A=arguments.length,M=-1,P=u.length,H=E(P+A),K=this&&this!==Ce&&this instanceof y?b:e;++M<P;)H[M]=u[M];for(;A--;)H[M++]=arguments[++R];return Ve(K,d?s:this,H)}return y}function Tc(e){return function(t,s,u){return u&&typeof u!="number"&&De(t,s,u)&&(s=u=r),t=Ft(t),s===r?(s=t,t=0):s=Ft(s),u=u===r?t<s?1:-1:Ft(u),Y1(t,s,u,e)}}function os(e){return function(t,s){return typeof t=="string"&&typeof s=="string"||(t=at(t),s=at(s)),e(t,s)}}function Mc(e,t,s,u,d,b,y,R,A,M){var P=t&F,H=P?y:r,K=P?r:y,W=P?b:r,X=P?r:b;t|=P?x:U,t&=~(P?U:x),t&N||(t&=~(_|C));var ee=[e,t,d,W,H,X,K,R,A,M],z=s.apply(r,ee);return ni(e)&&Wc(z,ee),z.placeholder=u,$c(z,e,t)}function Ja(e){var t=Be[e];return function(s,u){if(s=at(s),u=u==null?0:Me(Q(u),292),u&&$f(s)){var d=(ge(s)+"e").split("e"),b=t(d[0]+"e"+(+d[1]+u));return d=(ge(b)+"e").split("e"),+(d[0]+"e"+(+d[1]-u))}return t(s)}}var Ih=mr&&1/kn(new mr([,-0]))[1]==zt?function(e){return new mr(e)}:mi;function Pc(e){return function(t){var s=Pe(t);return s==it?Aa(t):s==ot?FI(t):RI(t,e(t))}}function _t(e,t,s,u,d,b,y,R){var A=t&C;if(!A&&typeof e!="function")throw new et(c);var M=u?u.length:0;if(M||(t&=~(x|U),u=d=r),y=y===r?y:Ae(Q(y),0),R=R===r?R:Q(R),M-=d?d.length:0,t&U){var P=u,H=d;u=d=r}var K=A?r:Qa(e),W=[e,t,s,u,d,P,H,b,y,R];if(K&&Eh(W,K),e=W[0],t=W[1],s=W[2],u=W[3],d=W[4],R=W[9]=W[9]===r?A?0:e.length:Ae(W[9]-M,0),!R&&t&(F|L)&&(t&=~(F|L)),!t||t==_)var X=lh(e,t,s);else t==F||t==L?X=uh(e,t,R):(t==x||t==(_|x))&&!d.length?X=ph(e,t,s,u):X=ss.apply(r,W);var ee=K?Ic:Wc;return $c(ee(X,W),e,t)}function Uc(e,t,s,u){return e===r||gt(e,vr[s])&&!le.call(u,s)?t:e}function kc(e,t,s,u,d,b){return me(e)&&me(t)&&(b.set(t,e),es(e,t,r,kc,b),b.delete(t)),e}function hh(e){return en(e)?r:e}function Dc(e,t,s,u,d,b){var y=s&w,R=e.length,A=t.length;if(R!=A&&!(y&&A>R))return!1;var M=b.get(e),P=b.get(t);if(M&&P)return M==t&&P==e;var H=-1,K=!0,W=s&B?new Qt:r;for(b.set(e,t),b.set(t,e);++H<R;){var X=e[H],ee=t[H];if(u)var z=y?u(ee,X,H,t,e,b):u(X,ee,H,e,t,b);if(z!==r){if(z)continue;K=!1;break}if(W){if(!ba(t,function(re,se){if(!Lr(W,se)&&(X===re||d(X,re,s,u,b)))return W.push(se)})){K=!1;break}}else if(!(X===ee||d(X,ee,s,u,b))){K=!1;break}}return b.delete(e),b.delete(t),K}function dh(e,t,s,u,d,b,y){switch(s){case lr:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case Nr:return!(e.byteLength!=t.byteLength||!b(new Kn(e),new Kn(t)));case Mr:case Pr:case Ur:return gt(+e,+t);case xn:return e.name==t.name&&e.message==t.message;case kr:case Dr:return e==t+"";case it:var R=Aa;case ot:var A=u&w;if(R||(R=kn),e.size!=t.size&&!A)return!1;var M=y.get(e);if(M)return M==t;u|=B,y.set(e,t);var P=Dc(R(e),R(t),u,d,b,y);return y.delete(e),P;case Cn:if(Wr)return Wr.call(e)==Wr.call(t)}return!1}function vh(e,t,s,u,d,b){var y=s&w,R=Za(e),A=R.length,M=Za(t),P=M.length;if(A!=P&&!y)return!1;for(var H=A;H--;){var K=R[H];if(!(y?K in t:le.call(t,K)))return!1}var W=b.get(e),X=b.get(t);if(W&&X)return W==t&&X==e;var ee=!0;b.set(e,t),b.set(t,e);for(var z=y;++H<A;){K=R[H];var re=e[K],se=t[K];if(u)var je=y?u(se,re,K,t,e,b):u(re,se,K,e,t,b);if(!(je===r?re===se||d(re,se,s,u,b):je)){ee=!1;break}z||(z=K=="constructor")}if(ee&&!z){var He=e.constructor,Xe=t.constructor;He!=Xe&&"constructor"in e&&"constructor"in t&&!(typeof He=="function"&&He instanceof He&&typeof Xe=="function"&&Xe instanceof Xe)&&(ee=!1)}return b.delete(e),b.delete(t),ee}function xt(e){return ai(Vc(e,r,Yc),e+"")}function Za(e){return nc(e,Ee,ti)}function Ya(e){return nc(e,Ge,Hc)}var Qa=Xn?function(e){return Xn.get(e)}:mi;function fs(e){for(var t=e.name+"",s=Sr[t],u=le.call(Sr,t)?s.length:0;u--;){var d=s[u],b=d.func;if(b==null||b==e)return d.name}return t}function Rr(e){var t=le.call(S,"placeholder")?S:e;return t.placeholder}function j(){var e=S.iteratee||di;return e=e===di?ic:e,arguments.length?e(arguments[0],arguments[1]):e}function cs(e,t){var s=e.__data__;return Bh(t)?s[typeof t=="string"?"string":"hash"]:s.map}function ei(e){for(var t=Ee(e),s=t.length;s--;){var u=t[s],d=e[u];t[s]=[u,d,Gc(d)]}return t}function rr(e,t){var s=xI(e,t);return ac(s)?s:r}function mh(e){var t=le.call(e,Zt),s=e[Zt];try{e[Zt]=r;var u=!0}catch(b){}var d=Ln.call(e);return u&&(t?e[Zt]=s:delete e[Zt]),d}var ti=xa?function(e){return e==null?[]:(e=ue(e),Pt(xa(e),function(t){return qf.call(e,t)}))}:Si,Hc=xa?function(e){for(var t=[];e;)Ut(t,ti(e)),e=Vn(e);return t}:Si,Pe=ke;(Ea&&Pe(new Ea(new ArrayBuffer(1)))!=lr||Kr&&Pe(new Kr)!=it||Ca&&Pe(Ca.resolve())!=Qo||mr&&Pe(new mr)!=ot||Vr&&Pe(new Vr)!=Hr)&&(Pe=function(e){var t=ke(e),s=t==Rt?e.constructor:r,u=s?nr(s):"";if(u)switch(u){case e1:return lr;case t1:return it;case r1:return Qo;case n1:return ot;case s1:return Hr}return t});function Sh(e,t,s){for(var u=-1,d=s.length;++u<d;){var b=s[u],y=b.size;switch(b.type){case"drop":e+=y;break;case"dropRight":t-=y;break;case"take":t=Me(t,e+y);break;case"takeRight":e=Ae(e,t-y);break}}return{start:e,end:t}}function bh(e){var t=e.match(Ap);return t?t[1].split(_p):[]}function Nc(e,t,s){t=Lt(t,e);for(var u=-1,d=t.length,b=!1;++u<d;){var y=St(t[u]);if(!(b=e!=null&&s(e,y)))break;e=e[y]}return b||++u!=d?b:(d=e==null?0:e.length,!!d&&ds(d)&&Et(y,d)&&(Y(e)||sr(e)))}function yh(e){var t=e.length,s=new e.constructor(t);return t&&typeof e[0]=="string"&&le.call(e,"index")&&(s.index=e.index,s.input=e.input),s}function Lc(e){return typeof e.constructor=="function"&&!Yr(e)?br(Vn(e)):{}}function wh(e,t,s){var u=e.constructor;switch(t){case Nr:return Xa(e);case Mr:case Pr:return new u(+e);case lr:return ah(e,s);case ea:case ta:case ra:case na:case sa:case aa:case ia:case oa:case fa:return wc(e,s);case it:return new u;case Ur:case Dr:return new u(e);case kr:return ih(e);case ot:return new u;case Cn:return oh(e)}}function Rh(e,t){var s=t.length;if(!s)return e;var u=s-1;return t[u]=(s>1?"& ":"")+t[u],t=t.join(s>2?", ":" "),e.replace(Bp,`{
|
|
9
|
-
/* [wrapped with `+t+`] */
|
|
10
|
-
`)}function Oh(e){return Y(e)||sr(e)||!!(Wf&&e&&e[Wf])}function Et(e,t){var s=typeof e;return t=t==null?Mt:t,!!t&&(s=="number"||s!="symbol"&&kp.test(e))&&e>-1&&e%1==0&&e<t}function De(e,t,s){if(!me(s))return!1;var u=typeof t;return(u=="number"?Le(s)&&Et(t,s.length):u=="string"&&t in s)?gt(s[t],e):!1}function ri(e,t){if(Y(e))return!1;var s=typeof e;return s=="number"||s=="symbol"||s=="boolean"||e==null||$e(e)?!0:yp.test(e)||!bp.test(e)||t!=null&&e in ue(t)}function Bh(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function ni(e){var t=fs(e),s=S[t];if(typeof s!="function"||!(t in ne.prototype))return!1;if(e===s)return!0;var u=Qa(s);return!!u&&e===u[0]}function Ah(e){return!!Gf&&Gf in e}var _h=Hn?Ct:bi;function Yr(e){var t=e&&e.constructor,s=typeof t=="function"&&t.prototype||vr;return e===s}function Gc(e){return e===e&&!me(e)}function Kc(e,t){return function(s){return s==null?!1:s[e]===t&&(t!==r||e in ue(s))}}function xh(e){var t=Is(e,function(u){return s.size===p&&s.clear(),u}),s=t.cache;return t}function Eh(e,t){var s=e[1],u=t[1],d=s|u,b=d<(_|C|G),y=u==G&&s==F||u==G&&s==$&&e[7].length<=t[8]||u==(G|$)&&t[7].length<=t[8]&&s==F;if(!(b||y))return e;u&_&&(e[2]=t[2],d|=s&_?0:N);var R=t[3];if(R){var A=e[3];e[3]=A?Oc(A,R,t[4]):R,e[4]=A?kt(e[3],I):t[4]}return R=t[5],R&&(A=e[5],e[5]=A?Bc(A,R,t[6]):R,e[6]=A?kt(e[5],I):t[6]),R=t[7],R&&(e[7]=R),u&G&&(e[8]=e[8]==null?t[8]:Me(e[8],t[8])),e[9]==null&&(e[9]=t[9]),e[0]=t[0],e[1]=d,e}function Ch(e){var t=[];if(e!=null)for(var s in ue(e))t.push(s);return t}function Fh(e){return Ln.call(e)}function Vc(e,t,s){return t=Ae(t===r?e.length-1:t,0),function(){for(var u=arguments,d=-1,b=Ae(u.length-t,0),y=E(b);++d<b;)y[d]=u[t+d];d=-1;for(var R=E(t+1);++d<t;)R[d]=u[d];return R[t]=s(y),Ve(e,this,R)}}function qc(e,t){return t.length<2?e:tr(e,nt(t,0,-1))}function Th(e,t){for(var s=e.length,u=Me(t.length,s),d=Ne(e);u--;){var b=t[u];e[u]=Et(b,s)?d[b]:r}return e}function si(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}var Wc=jc(Ic),Qr=jI||function(e,t){return Ce.setTimeout(e,t)},ai=jc(th);function $c(e,t,s){var u=t+"";return ai(e,Rh(u,Mh(bh(u),s)))}function jc(e){var t=0,s=0;return function(){var u=ZI(),d=xe-(u-s);if(s=u,d>0){if(++t>=ce)return arguments[0]}else t=0;return e.apply(r,arguments)}}function gs(e,t){var s=-1,u=e.length,d=u-1;for(t=t===r?u:t;++s<t;){var b=Ga(s,d),y=e[b];e[b]=e[s],e[s]=y}return e.length=t,e}var Xc=xh(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(wp,function(s,u,d,b){t.push(d?b.replace(Cp,"$1"):u||s)}),t});function St(e){if(typeof e=="string"||$e(e))return e;var t=e+"";return t=="0"&&1/e==-zt?"-0":t}function nr(e){if(e!=null){try{return Nn.call(e)}catch(t){}try{return e+""}catch(t){}}return""}function Mh(e,t){return Qe(ip,function(s){var u="_."+s[0];t&s[1]&&!Pn(e,u)&&e.push(u)}),e.sort()}function zc(e){if(e instanceof ne)return e.clone();var t=new tt(e.__wrapped__,e.__chain__);return t.__actions__=Ne(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}function Ph(e,t,s){(s?De(e,t,s):t===r)?t=1:t=Ae(Q(t),0);var u=e==null?0:e.length;if(!u||t<1)return[];for(var d=0,b=0,y=E($n(u/t));d<u;)y[b++]=nt(e,d,d+=t);return y}function Uh(e){for(var t=-1,s=e==null?0:e.length,u=0,d=[];++t<s;){var b=e[t];b&&(d[u++]=b)}return d}function kh(){var e=arguments.length;if(!e)return[];for(var t=E(e-1),s=arguments[0],u=e;u--;)t[u-1]=arguments[u];return Ut(Y(s)?Ne(s):[s],Fe(t,1))}var Dh=te(function(e,t){return we(e)?jr(e,Fe(t,1,we,!0)):[]}),Hh=te(function(e,t){var s=st(t);return we(s)&&(s=r),we(e)?jr(e,Fe(t,1,we,!0),j(s,2)):[]}),Nh=te(function(e,t){var s=st(t);return we(s)&&(s=r),we(e)?jr(e,Fe(t,1,we,!0),r,s):[]});function Lh(e,t,s){var u=e==null?0:e.length;return u?(t=s||t===r?1:Q(t),nt(e,t<0?0:t,u)):[]}function Gh(e,t,s){var u=e==null?0:e.length;return u?(t=s||t===r?1:Q(t),t=u-t,nt(e,0,t<0?0:t)):[]}function Kh(e,t){return e&&e.length?rs(e,j(t,3),!0,!0):[]}function Vh(e,t){return e&&e.length?rs(e,j(t,3),!0):[]}function qh(e,t,s,u){var d=e==null?0:e.length;return d?(s&&typeof s!="number"&&De(e,t,s)&&(s=0,u=d),k1(e,t,s,u)):[]}function Jc(e,t,s){var u=e==null?0:e.length;if(!u)return-1;var d=s==null?0:Q(s);return d<0&&(d=Ae(u+d,0)),Un(e,j(t,3),d)}function Zc(e,t,s){var u=e==null?0:e.length;if(!u)return-1;var d=u-1;return s!==r&&(d=Q(s),d=s<0?Ae(u+d,0):Me(d,u-1)),Un(e,j(t,3),d,!0)}function Yc(e){var t=e==null?0:e.length;return t?Fe(e,1):[]}function Wh(e){var t=e==null?0:e.length;return t?Fe(e,zt):[]}function $h(e,t){var s=e==null?0:e.length;return s?(t=t===r?1:Q(t),Fe(e,t)):[]}function jh(e){for(var t=-1,s=e==null?0:e.length,u={};++t<s;){var d=e[t];u[d[0]]=d[1]}return u}function Qc(e){return e&&e.length?e[0]:r}function Xh(e,t,s){var u=e==null?0:e.length;if(!u)return-1;var d=s==null?0:Q(s);return d<0&&(d=Ae(u+d,0)),pr(e,t,d)}function zh(e){var t=e==null?0:e.length;return t?nt(e,0,-1):[]}var Jh=te(function(e){var t=de(e,$a);return t.length&&t[0]===e[0]?ka(t):[]}),Zh=te(function(e){var t=st(e),s=de(e,$a);return t===st(s)?t=r:s.pop(),s.length&&s[0]===e[0]?ka(s,j(t,2)):[]}),Yh=te(function(e){var t=st(e),s=de(e,$a);return t=typeof t=="function"?t:r,t&&s.pop(),s.length&&s[0]===e[0]?ka(s,r,t):[]});function Qh(e,t){return e==null?"":zI.call(e,t)}function st(e){var t=e==null?0:e.length;return t?e[t-1]:r}function ed(e,t,s){var u=e==null?0:e.length;if(!u)return-1;var d=u;return s!==r&&(d=Q(s),d=d<0?Ae(u+d,0):Me(d,u-1)),t===t?MI(e,t,d):Un(e,Mf,d,!0)}function td(e,t){return e&&e.length?gc(e,Q(t)):r}var rd=te(eg);function eg(e,t){return e&&e.length&&t&&t.length?La(e,t):e}function nd(e,t,s){return e&&e.length&&t&&t.length?La(e,t,j(s,2)):e}function sd(e,t,s){return e&&e.length&&t&&t.length?La(e,t,r,s):e}var ad=xt(function(e,t){var s=e==null?0:e.length,u=Ta(e,t);return pc(e,de(t,function(d){return Et(d,s)?+d:d}).sort(Rc)),u});function id(e,t){var s=[];if(!(e&&e.length))return s;var u=-1,d=[],b=e.length;for(t=j(t,3);++u<b;){var y=e[u];t(y,u,e)&&(s.push(y),d.push(u))}return pc(e,d),s}function ii(e){return e==null?e:QI.call(e)}function od(e,t,s){var u=e==null?0:e.length;return u?(s&&typeof s!="number"&&De(e,t,s)?(t=0,s=u):(t=t==null?0:Q(t),s=s===r?u:Q(s)),nt(e,t,s)):[]}function fd(e,t){return ts(e,t)}function cd(e,t,s){return Va(e,t,j(s,2))}function gd(e,t){var s=e==null?0:e.length;if(s){var u=ts(e,t);if(u<s&>(e[u],t))return u}return-1}function ld(e,t){return ts(e,t,!0)}function ud(e,t,s){return Va(e,t,j(s,2),!0)}function pd(e,t){var s=e==null?0:e.length;if(s){var u=ts(e,t,!0)-1;if(gt(e[u],t))return u}return-1}function Id(e){return e&&e.length?hc(e):[]}function hd(e,t){return e&&e.length?hc(e,j(t,2)):[]}function dd(e){var t=e==null?0:e.length;return t?nt(e,1,t):[]}function vd(e,t,s){return e&&e.length?(t=s||t===r?1:Q(t),nt(e,0,t<0?0:t)):[]}function md(e,t,s){var u=e==null?0:e.length;return u?(t=s||t===r?1:Q(t),t=u-t,nt(e,t<0?0:t,u)):[]}function Sd(e,t){return e&&e.length?rs(e,j(t,3),!1,!0):[]}function bd(e,t){return e&&e.length?rs(e,j(t,3)):[]}var yd=te(function(e){return Nt(Fe(e,1,we,!0))}),wd=te(function(e){var t=st(e);return we(t)&&(t=r),Nt(Fe(e,1,we,!0),j(t,2))}),Rd=te(function(e){var t=st(e);return t=typeof t=="function"?t:r,Nt(Fe(e,1,we,!0),r,t)});function Od(e){return e&&e.length?Nt(e):[]}function Bd(e,t){return e&&e.length?Nt(e,j(t,2)):[]}function Ad(e,t){return t=typeof t=="function"?t:r,e&&e.length?Nt(e,r,t):[]}function oi(e){if(!(e&&e.length))return[];var t=0;return e=Pt(e,function(s){if(we(s))return t=Ae(s.length,t),!0}),Oa(t,function(s){return de(e,ya(s))})}function tg(e,t){if(!(e&&e.length))return[];var s=oi(e);return t==null?s:de(s,function(u){return Ve(t,r,u)})}var _d=te(function(e,t){return we(e)?jr(e,t):[]}),xd=te(function(e){return Wa(Pt(e,we))}),Ed=te(function(e){var t=st(e);return we(t)&&(t=r),Wa(Pt(e,we),j(t,2))}),Cd=te(function(e){var t=st(e);return t=typeof t=="function"?t:r,Wa(Pt(e,we),r,t)}),Fd=te(oi);function Td(e,t){return Sc(e||[],t||[],$r)}function Md(e,t){return Sc(e||[],t||[],Jr)}var Pd=te(function(e){var t=e.length,s=t>1?e[t-1]:r;return s=typeof s=="function"?(e.pop(),s):r,tg(e,s)});function rg(e){var t=S(e);return t.__chain__=!0,t}function Ud(e,t){return t(e),e}function ls(e,t){return t(e)}var kd=xt(function(e){var t=e.length,s=t?e[0]:0,u=this.__wrapped__,d=function(b){return Ta(b,e)};return t>1||this.__actions__.length||!(u instanceof ne)||!Et(s)?this.thru(d):(u=u.slice(s,+s+(t?1:0)),u.__actions__.push({func:ls,args:[d],thisArg:r}),new tt(u,this.__chain__).thru(function(b){return t&&!b.length&&b.push(r),b}))});function Dd(){return rg(this)}function Hd(){return new tt(this.value(),this.__chain__)}function Nd(){this.__values__===r&&(this.__values__=dg(this.value()));var e=this.__index__>=this.__values__.length,t=e?r:this.__values__[this.__index__++];return{done:e,value:t}}function Ld(){return this}function Gd(e){for(var t,s=this;s instanceof Jn;){var u=zc(s);u.__index__=0,u.__values__=r,t?d.__wrapped__=u:t=u;var d=u;s=s.__wrapped__}return d.__wrapped__=e,t}function Kd(){var e=this.__wrapped__;if(e instanceof ne){var t=e;return this.__actions__.length&&(t=new ne(this)),t=t.reverse(),t.__actions__.push({func:ls,args:[ii],thisArg:r}),new tt(t,this.__chain__)}return this.thru(ii)}function Vd(){return mc(this.__wrapped__,this.__actions__)}var qd=ns(function(e,t,s){le.call(e,s)?++e[s]:At(e,s,1)});function Wd(e,t,s){var u=Y(e)?Ff:U1;return s&&De(e,t,s)&&(t=r),u(e,j(t,3))}function $d(e,t){var s=Y(e)?Pt:tc;return s(e,j(t,3))}var jd=Ec(Jc),Xd=Ec(Zc);function zd(e,t){return Fe(us(e,t),1)}function Jd(e,t){return Fe(us(e,t),zt)}function Zd(e,t,s){return s=s===r?1:Q(s),Fe(us(e,t),s)}function ng(e,t){var s=Y(e)?Qe:Ht;return s(e,j(t,3))}function sg(e,t){var s=Y(e)?dI:ec;return s(e,j(t,3))}var Yd=ns(function(e,t,s){le.call(e,s)?e[s].push(t):At(e,s,[t])});function Qd(e,t,s,u){e=Le(e)?e:Br(e),s=s&&!u?Q(s):0;var d=e.length;return s<0&&(s=Ae(d+s,0)),vs(e)?s<=d&&e.indexOf(t,s)>-1:!!d&&pr(e,t,s)>-1}var e2=te(function(e,t,s){var u=-1,d=typeof t=="function",b=Le(e)?E(e.length):[];return Ht(e,function(y){b[++u]=d?Ve(t,y,s):Xr(y,t,s)}),b}),t2=ns(function(e,t,s){At(e,s,t)});function us(e,t){var s=Y(e)?de:oc;return s(e,j(t,3))}function r2(e,t,s,u){return e==null?[]:(Y(t)||(t=t==null?[]:[t]),s=u?r:s,Y(s)||(s=s==null?[]:[s]),lc(e,t,s))}var n2=ns(function(e,t,s){e[s?0:1].push(t)},function(){return[[],[]]});function s2(e,t,s){var u=Y(e)?Sa:Uf,d=arguments.length<3;return u(e,j(t,4),s,d,Ht)}function a2(e,t,s){var u=Y(e)?vI:Uf,d=arguments.length<3;return u(e,j(t,4),s,d,ec)}function i2(e,t){var s=Y(e)?Pt:tc;return s(e,hs(j(t,3)))}function o2(e){var t=Y(e)?Jf:Q1;return t(e)}function f2(e,t,s){(s?De(e,t,s):t===r)?t=1:t=Q(t);var u=Y(e)?C1:eh;return u(e,t)}function c2(e){var t=Y(e)?F1:rh;return t(e)}function g2(e){if(e==null)return 0;if(Le(e))return vs(e)?hr(e):e.length;var t=Pe(e);return t==it||t==ot?e.size:Ha(e).length}function l2(e,t,s){var u=Y(e)?ba:nh;return s&&De(e,t,s)&&(t=r),u(e,j(t,3))}var u2=te(function(e,t){if(e==null)return[];var s=t.length;return s>1&&De(e,t[0],t[1])?t=[]:s>2&&De(t[0],t[1],t[2])&&(t=[t[0]]),lc(e,Fe(t,1),[])}),ps=$I||function(){return Ce.Date.now()};function p2(e,t){if(typeof t!="function")throw new et(c);return e=Q(e),function(){if(--e<1)return t.apply(this,arguments)}}function ag(e,t,s){return t=s?r:t,t=e&&t==null?e.length:t,_t(e,G,r,r,r,r,t)}function ig(e,t){var s;if(typeof t!="function")throw new et(c);return e=Q(e),function(){return--e>0&&(s=t.apply(this,arguments)),e<=1&&(t=r),s}}var fi=te(function(e,t,s){var u=_;if(s.length){var d=kt(s,Rr(fi));u|=x}return _t(e,u,t,s,d)}),og=te(function(e,t,s){var u=_|C;if(s.length){var d=kt(s,Rr(og));u|=x}return _t(t,u,e,s,d)});function fg(e,t,s){t=s?r:t;var u=_t(e,F,r,r,r,r,r,t);return u.placeholder=fg.placeholder,u}function cg(e,t,s){t=s?r:t;var u=_t(e,L,r,r,r,r,r,t);return u.placeholder=cg.placeholder,u}function gg(e,t,s){var u,d,b,y,R,A,M=0,P=!1,H=!1,K=!0;if(typeof e!="function")throw new et(c);t=at(t)||0,me(s)&&(P=!!s.leading,H="maxWait"in s,b=H?Ae(at(s.maxWait)||0,t):b,K="trailing"in s?!!s.trailing:K);function W(Re){var lt=u,Tt=d;return u=d=r,M=Re,y=e.apply(Tt,lt),y}function X(Re){return M=Re,R=Qr(re,t),P?W(Re):y}function ee(Re){var lt=Re-A,Tt=Re-M,Eg=t-lt;return H?Me(Eg,b-Tt):Eg}function z(Re){var lt=Re-A,Tt=Re-M;return A===r||lt>=t||lt<0||H&&Tt>=b}function re(){var Re=ps();if(z(Re))return se(Re);R=Qr(re,ee(Re))}function se(Re){return R=r,K&&u?W(Re):(u=d=r,y)}function je(){R!==r&&bc(R),M=0,u=A=d=R=r}function He(){return R===r?y:se(ps())}function Xe(){var Re=ps(),lt=z(Re);if(u=arguments,d=this,A=Re,lt){if(R===r)return X(A);if(H)return bc(R),R=Qr(re,t),W(A)}return R===r&&(R=Qr(re,t)),y}return Xe.cancel=je,Xe.flush=He,Xe}var I2=te(function(e,t){return Qf(e,1,t)}),h2=te(function(e,t,s){return Qf(e,at(t)||0,s)});function d2(e){return _t(e,J)}function Is(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new et(c);var s=function(){var u=arguments,d=t?t.apply(this,u):u[0],b=s.cache;if(b.has(d))return b.get(d);var y=e.apply(this,u);return s.cache=b.set(d,y)||b,y};return s.cache=new(Is.Cache||Bt),s}Is.Cache=Bt;function hs(e){if(typeof e!="function")throw new et(c);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function v2(e){return ig(2,e)}var m2=sh(function(e,t){t=t.length==1&&Y(t[0])?de(t[0],qe(j())):de(Fe(t,1),qe(j()));var s=t.length;return te(function(u){for(var d=-1,b=Me(u.length,s);++d<b;)u[d]=t[d].call(this,u[d]);return Ve(e,this,u)})}),ci=te(function(e,t){var s=kt(t,Rr(ci));return _t(e,x,r,t,s)}),lg=te(function(e,t){var s=kt(t,Rr(lg));return _t(e,U,r,t,s)}),S2=xt(function(e,t){return _t(e,$,r,r,r,t)});function b2(e,t){if(typeof e!="function")throw new et(c);return t=t===r?t:Q(t),te(e,t)}function y2(e,t){if(typeof e!="function")throw new et(c);return t=t==null?0:Ae(Q(t),0),te(function(s){var u=s[t],d=Gt(s,0,t);return u&&Ut(d,u),Ve(e,this,d)})}function w2(e,t,s){var u=!0,d=!0;if(typeof e!="function")throw new et(c);return me(s)&&(u="leading"in s?!!s.leading:u,d="trailing"in s?!!s.trailing:d),gg(e,t,{leading:u,maxWait:t,trailing:d})}function R2(e){return ag(e,1)}function O2(e,t){return ci(ja(t),e)}function B2(){if(!arguments.length)return[];var e=arguments[0];return Y(e)?e:[e]}function A2(e){return rt(e,m)}function _2(e,t){return t=typeof t=="function"?t:r,rt(e,m,t)}function x2(e){return rt(e,h|m)}function E2(e,t){return t=typeof t=="function"?t:r,rt(e,h|m,t)}function C2(e,t){return t==null||Yf(e,t,Ee(t))}function gt(e,t){return e===t||e!==e&&t!==t}var F2=os(Ua),T2=os(function(e,t){return e>=t}),sr=sc(function(){return arguments}())?sc:function(e){return be(e)&&le.call(e,"callee")&&!qf.call(e,"callee")},Y=E.isArray,M2=Bf?qe(Bf):G1;function Le(e){return e!=null&&ds(e.length)&&!Ct(e)}function we(e){return be(e)&&Le(e)}function P2(e){return e===!0||e===!1||be(e)&&ke(e)==Mr}var Kt=XI||bi,U2=Af?qe(Af):K1;function k2(e){return be(e)&&e.nodeType===1&&!en(e)}function D2(e){if(e==null)return!0;if(Le(e)&&(Y(e)||typeof e=="string"||typeof e.splice=="function"||Kt(e)||Or(e)||sr(e)))return!e.length;var t=Pe(e);if(t==it||t==ot)return!e.size;if(Yr(e))return!Ha(e).length;for(var s in e)if(le.call(e,s))return!1;return!0}function H2(e,t){return zr(e,t)}function N2(e,t,s){s=typeof s=="function"?s:r;var u=s?s(e,t):r;return u===r?zr(e,t,r,s):!!u}function gi(e){if(!be(e))return!1;var t=ke(e);return t==xn||t==fp||typeof e.message=="string"&&typeof e.name=="string"&&!en(e)}function L2(e){return typeof e=="number"&&$f(e)}function Ct(e){if(!me(e))return!1;var t=ke(e);return t==En||t==Yo||t==op||t==gp}function ug(e){return typeof e=="number"&&e==Q(e)}function ds(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Mt}function me(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function be(e){return e!=null&&typeof e=="object"}var pg=_f?qe(_f):q1;function G2(e,t){return e===t||Da(e,t,ei(t))}function K2(e,t,s){return s=typeof s=="function"?s:r,Da(e,t,ei(t),s)}function V2(e){return Ig(e)&&e!=+e}function q2(e){if(_h(e))throw new Z(i);return ac(e)}function W2(e){return e===null}function $2(e){return e==null}function Ig(e){return typeof e=="number"||be(e)&&ke(e)==Ur}function en(e){if(!be(e)||ke(e)!=Rt)return!1;var t=Vn(e);if(t===null)return!0;var s=le.call(t,"constructor")&&t.constructor;return typeof s=="function"&&s instanceof s&&Nn.call(s)==KI}var li=xf?qe(xf):W1;function j2(e){return ug(e)&&e>=-Mt&&e<=Mt}var hg=Ef?qe(Ef):$1;function vs(e){return typeof e=="string"||!Y(e)&&be(e)&&ke(e)==Dr}function $e(e){return typeof e=="symbol"||be(e)&&ke(e)==Cn}var Or=Cf?qe(Cf):j1;function X2(e){return e===r}function z2(e){return be(e)&&Pe(e)==Hr}function J2(e){return be(e)&&ke(e)==up}var Z2=os(Na),Y2=os(function(e,t){return e<=t});function dg(e){if(!e)return[];if(Le(e))return vs(e)?ft(e):Ne(e);if(Gr&&e[Gr])return CI(e[Gr]());var t=Pe(e),s=t==it?Aa:t==ot?kn:Br;return s(e)}function Ft(e){if(!e)return e===0?e:0;if(e=at(e),e===zt||e===-zt){var t=e<0?-1:1;return t*np}return e===e?e:0}function Q(e){var t=Ft(e),s=t%1;return t===t?s?t-s:t:0}function vg(e){return e?er(Q(e),0,dt):0}function at(e){if(typeof e=="number")return e;if($e(e))return An;if(me(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=me(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=kf(e);var s=Mp.test(e);return s||Up.test(e)?pI(e.slice(2),s?2:8):Tp.test(e)?An:+e}function mg(e){return mt(e,Ge(e))}function Q2(e){return e?er(Q(e),-Mt,Mt):e===0?e:0}function ge(e){return e==null?"":We(e)}var e0=yr(function(e,t){if(Yr(t)||Le(t)){mt(t,Ee(t),e);return}for(var s in t)le.call(t,s)&&$r(e,s,t[s])}),Sg=yr(function(e,t){mt(t,Ge(t),e)}),ms=yr(function(e,t,s,u){mt(t,Ge(t),e,u)}),t0=yr(function(e,t,s,u){mt(t,Ee(t),e,u)}),r0=xt(Ta);function n0(e,t){var s=br(e);return t==null?s:Zf(s,t)}var s0=te(function(e,t){e=ue(e);var s=-1,u=t.length,d=u>2?t[2]:r;for(d&&De(t[0],t[1],d)&&(u=1);++s<u;)for(var b=t[s],y=Ge(b),R=-1,A=y.length;++R<A;){var M=y[R],P=e[M];(P===r||gt(P,vr[M])&&!le.call(e,M))&&(e[M]=b[M])}return e}),a0=te(function(e){return e.push(r,kc),Ve(bg,r,e)});function i0(e,t){return Tf(e,j(t,3),vt)}function o0(e,t){return Tf(e,j(t,3),Pa)}function f0(e,t){return e==null?e:Ma(e,j(t,3),Ge)}function c0(e,t){return e==null?e:rc(e,j(t,3),Ge)}function g0(e,t){return e&&vt(e,j(t,3))}function l0(e,t){return e&&Pa(e,j(t,3))}function u0(e){return e==null?[]:Qn(e,Ee(e))}function p0(e){return e==null?[]:Qn(e,Ge(e))}function ui(e,t,s){var u=e==null?r:tr(e,t);return u===r?s:u}function I0(e,t){return e!=null&&Nc(e,t,D1)}function pi(e,t){return e!=null&&Nc(e,t,H1)}var h0=Fc(function(e,t,s){t!=null&&typeof t.toString!="function"&&(t=Ln.call(t)),e[t]=s},hi(Ke)),d0=Fc(function(e,t,s){t!=null&&typeof t.toString!="function"&&(t=Ln.call(t)),le.call(e,t)?e[t].push(s):e[t]=[s]},j),v0=te(Xr);function Ee(e){return Le(e)?zf(e):Ha(e)}function Ge(e){return Le(e)?zf(e,!0):X1(e)}function m0(e,t){var s={};return t=j(t,3),vt(e,function(u,d,b){At(s,t(u,d,b),u)}),s}function S0(e,t){var s={};return t=j(t,3),vt(e,function(u,d,b){At(s,d,t(u,d,b))}),s}var b0=yr(function(e,t,s){es(e,t,s)}),bg=yr(function(e,t,s,u){es(e,t,s,u)}),y0=xt(function(e,t){var s={};if(e==null)return s;var u=!1;t=de(t,function(b){return b=Lt(b,e),u||(u=b.length>1),b}),mt(e,Ya(e),s),u&&(s=rt(s,h|v|m,hh));for(var d=t.length;d--;)qa(s,t[d]);return s});function w0(e,t){return yg(e,hs(j(t)))}var R0=xt(function(e,t){return e==null?{}:J1(e,t)});function yg(e,t){if(e==null)return{};var s=de(Ya(e),function(u){return[u]});return t=j(t),uc(e,s,function(u,d){return t(u,d[0])})}function O0(e,t,s){t=Lt(t,e);var u=-1,d=t.length;for(d||(d=1,e=r);++u<d;){var b=e==null?r:e[St(t[u])];b===r&&(u=d,b=s),e=Ct(b)?b.call(e):b}return e}function B0(e,t,s){return e==null?e:Jr(e,t,s)}function A0(e,t,s,u){return u=typeof u=="function"?u:r,e==null?e:Jr(e,t,s,u)}var wg=Pc(Ee),Rg=Pc(Ge);function _0(e,t,s){var u=Y(e),d=u||Kt(e)||Or(e);if(t=j(t,4),s==null){var b=e&&e.constructor;d?s=u?new b:[]:me(e)?s=Ct(b)?br(Vn(e)):{}:s={}}return(d?Qe:vt)(e,function(y,R,A){return t(s,y,R,A)}),s}function x0(e,t){return e==null?!0:qa(e,t)}function E0(e,t,s){return e==null?e:vc(e,t,ja(s))}function C0(e,t,s,u){return u=typeof u=="function"?u:r,e==null?e:vc(e,t,ja(s),u)}function Br(e){return e==null?[]:Ba(e,Ee(e))}function F0(e){return e==null?[]:Ba(e,Ge(e))}function T0(e,t,s){return s===r&&(s=t,t=r),s!==r&&(s=at(s),s=s===s?s:0),t!==r&&(t=at(t),t=t===t?t:0),er(at(e),t,s)}function M0(e,t,s){return t=Ft(t),s===r?(s=t,t=0):s=Ft(s),e=at(e),N1(e,t,s)}function P0(e,t,s){if(s&&typeof s!="boolean"&&De(e,t,s)&&(t=s=r),s===r&&(typeof t=="boolean"?(s=t,t=r):typeof e=="boolean"&&(s=e,e=r)),e===r&&t===r?(e=0,t=1):(e=Ft(e),t===r?(t=e,e=0):t=Ft(t)),e>t){var u=e;e=t,t=u}if(s||e%1||t%1){var d=jf();return Me(e+d*(t-e+uI("1e-"+((d+"").length-1))),t)}return Ga(e,t)}var U0=wr(function(e,t,s){return t=t.toLowerCase(),e+(s?Og(t):t)});function Og(e){return Ii(ge(e).toLowerCase())}function Bg(e){return e=ge(e),e&&e.replace(Dp,BI).replace(rI,"")}function k0(e,t,s){e=ge(e),t=We(t);var u=e.length;s=s===r?u:er(Q(s),0,u);var d=s;return s-=t.length,s>=0&&e.slice(s,d)==t}function D0(e){return e=ge(e),e&&vp.test(e)?e.replace(tf,AI):e}function H0(e){return e=ge(e),e&&Rp.test(e)?e.replace(ca,"\\$&"):e}var N0=wr(function(e,t,s){return e+(s?"-":"")+t.toLowerCase()}),L0=wr(function(e,t,s){return e+(s?" ":"")+t.toLowerCase()}),G0=xc("toLowerCase");function K0(e,t,s){e=ge(e),t=Q(t);var u=t?hr(e):0;if(!t||u>=t)return e;var d=(t-u)/2;return is(jn(d),s)+e+is($n(d),s)}function V0(e,t,s){e=ge(e),t=Q(t);var u=t?hr(e):0;return t&&u<t?e+is(t-u,s):e}function q0(e,t,s){e=ge(e),t=Q(t);var u=t?hr(e):0;return t&&u<t?is(t-u,s)+e:e}function W0(e,t,s){return s||t==null?t=0:t&&(t=+t),YI(ge(e).replace(ga,""),t||0)}function $0(e,t,s){return(s?De(e,t,s):t===r)?t=1:t=Q(t),Ka(ge(e),t)}function j0(){var e=arguments,t=ge(e[0]);return e.length<3?t:t.replace(e[1],e[2])}var X0=wr(function(e,t,s){return e+(s?"_":"")+t.toLowerCase()});function z0(e,t,s){return s&&typeof s!="number"&&De(e,t,s)&&(t=s=r),s=s===r?dt:s>>>0,s?(e=ge(e),e&&(typeof t=="string"||t!=null&&!li(t))&&(t=We(t),!t&&Ir(e))?Gt(ft(e),0,s):e.split(t,s)):[]}var J0=wr(function(e,t,s){return e+(s?" ":"")+Ii(t)});function Z0(e,t,s){return e=ge(e),s=s==null?0:er(Q(s),0,e.length),t=We(t),e.slice(s,s+t.length)==t}function Y0(e,t,s){var u=S.templateSettings;s&&De(e,t,s)&&(t=r),e=ge(e),t=ms({},t,u,Uc);var d=ms({},t.imports,u.imports,Uc),b=Ee(d),y=Ba(d,b),R,A,M=0,P=t.interpolate||Fn,H="__p += '",K=_a((t.escape||Fn).source+"|"+P.source+"|"+(P===rf?Fp:Fn).source+"|"+(t.evaluate||Fn).source+"|$","g"),W="//# sourceURL="+(le.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++oI+"]")+`
|
|
11
|
-
`;e.replace(K,function(z,re,se,je,He,Xe){return se||(se=je),H+=e.slice(M,Xe).replace(Hp,_I),re&&(R=!0,H+=`' +
|
|
12
|
-
__e(`+re+`) +
|
|
13
|
-
'`),He&&(A=!0,H+=`';
|
|
14
|
-
`+He+`;
|
|
15
|
-
__p += '`),se&&(H+=`' +
|
|
16
|
-
((__t = (`+se+`)) == null ? '' : __t) +
|
|
17
|
-
'`),M=Xe+z.length,z}),H+=`';
|
|
18
|
-
`;var X=le.call(t,"variable")&&t.variable;if(!X)H=`with (obj) {
|
|
19
|
-
`+H+`
|
|
20
|
-
}
|
|
21
|
-
`;else if(Ep.test(X))throw new Z(g);H=(A?H.replace(pp,""):H).replace(Ip,"$1").replace(hp,"$1;"),H="function("+(X||"obj")+`) {
|
|
22
|
-
`+(X?"":`obj || (obj = {});
|
|
23
|
-
`)+"var __t, __p = ''"+(R?", __e = _.escape":"")+(A?`, __j = Array.prototype.join;
|
|
24
|
-
function print() { __p += __j.call(arguments, '') }
|
|
25
|
-
`:`;
|
|
26
|
-
`)+H+`return __p
|
|
27
|
-
}`;var ee=_g(function(){return fe(b,W+"return "+H).apply(r,y)});if(ee.source=H,gi(ee))throw ee;return ee}function Q0(e){return ge(e).toLowerCase()}function ev(e){return ge(e).toUpperCase()}function tv(e,t,s){if(e=ge(e),e&&(s||t===r))return kf(e);if(!e||!(t=We(t)))return e;var u=ft(e),d=ft(t),b=Df(u,d),y=Hf(u,d)+1;return Gt(u,b,y).join("")}function rv(e,t,s){if(e=ge(e),e&&(s||t===r))return e.slice(0,Lf(e)+1);if(!e||!(t=We(t)))return e;var u=ft(e),d=Hf(u,ft(t))+1;return Gt(u,0,d).join("")}function nv(e,t,s){if(e=ge(e),e&&(s||t===r))return e.replace(ga,"");if(!e||!(t=We(t)))return e;var u=ft(e),d=Df(u,ft(t));return Gt(u,d).join("")}function sv(e,t){var s=ve,u=oe;if(me(t)){var d="separator"in t?t.separator:d;s="length"in t?Q(t.length):s,u="omission"in t?We(t.omission):u}e=ge(e);var b=e.length;if(Ir(e)){var y=ft(e);b=y.length}if(s>=b)return e;var R=s-hr(u);if(R<1)return u;var A=y?Gt(y,0,R).join(""):e.slice(0,R);if(d===r)return A+u;if(y&&(R+=A.length-R),li(d)){if(e.slice(R).search(d)){var M,P=A;for(d.global||(d=_a(d.source,ge(nf.exec(d))+"g")),d.lastIndex=0;M=d.exec(P);)var H=M.index;A=A.slice(0,H===r?R:H)}}else if(e.indexOf(We(d),R)!=R){var K=A.lastIndexOf(d);K>-1&&(A=A.slice(0,K))}return A+u}function av(e){return e=ge(e),e&&dp.test(e)?e.replace(ef,PI):e}var iv=wr(function(e,t,s){return e+(s?" ":"")+t.toUpperCase()}),Ii=xc("toUpperCase");function Ag(e,t,s){return e=ge(e),t=s?r:t,t===r?EI(e)?DI(e):bI(e):e.match(t)||[]}var _g=te(function(e,t){try{return Ve(e,r,t)}catch(s){return gi(s)?s:new Z(s)}}),ov=xt(function(e,t){return Qe(t,function(s){s=St(s),At(e,s,fi(e[s],e))}),e});function fv(e){var t=e==null?0:e.length,s=j();return e=t?de(e,function(u){if(typeof u[1]!="function")throw new et(c);return[s(u[0]),u[1]]}):[],te(function(u){for(var d=-1;++d<t;){var b=e[d];if(Ve(b[0],this,u))return Ve(b[1],this,u)}})}function cv(e){return P1(rt(e,h))}function hi(e){return function(){return e}}function gv(e,t){return e==null||e!==e?t:e}var lv=Cc(),uv=Cc(!0);function Ke(e){return e}function di(e){return ic(typeof e=="function"?e:rt(e,h))}function pv(e){return fc(rt(e,h))}function Iv(e,t){return cc(e,rt(t,h))}var hv=te(function(e,t){return function(s){return Xr(s,e,t)}}),dv=te(function(e,t){return function(s){return Xr(e,s,t)}});function vi(e,t,s){var u=Ee(t),d=Qn(t,u);s==null&&!(me(t)&&(d.length||!u.length))&&(s=t,t=e,e=this,d=Qn(t,Ee(t)));var b=!(me(s)&&"chain"in s)||!!s.chain,y=Ct(e);return Qe(d,function(R){var A=t[R];e[R]=A,y&&(e.prototype[R]=function(){var M=this.__chain__;if(b||M){var P=e(this.__wrapped__),H=P.__actions__=Ne(this.__actions__);return H.push({func:A,args:arguments,thisArg:e}),P.__chain__=M,P}return A.apply(e,Ut([this.value()],arguments))})}),e}function vv(){return Ce._===this&&(Ce._=VI),this}function mi(){}function mv(e){return e=Q(e),te(function(t){return gc(t,e)})}var Sv=za(de),bv=za(Ff),yv=za(ba);function xg(e){return ri(e)?ya(St(e)):Z1(e)}function wv(e){return function(t){return e==null?r:tr(e,t)}}var Rv=Tc(),Ov=Tc(!0);function Si(){return[]}function bi(){return!1}function Bv(){return{}}function Av(){return""}function _v(){return!0}function xv(e,t){if(e=Q(e),e<1||e>Mt)return[];var s=dt,u=Me(e,dt);t=j(t),e-=dt;for(var d=Oa(u,t);++s<e;)t(s);return d}function Ev(e){return Y(e)?de(e,St):$e(e)?[e]:Ne(Xc(ge(e)))}function Cv(e){var t=++GI;return ge(e)+t}var Fv=as(function(e,t){return e+t},0),Tv=Ja("ceil"),Mv=as(function(e,t){return e/t},1),Pv=Ja("floor");function Uv(e){return e&&e.length?Yn(e,Ke,Ua):r}function kv(e,t){return e&&e.length?Yn(e,j(t,2),Ua):r}function Dv(e){return Pf(e,Ke)}function Hv(e,t){return Pf(e,j(t,2))}function Nv(e){return e&&e.length?Yn(e,Ke,Na):r}function Lv(e,t){return e&&e.length?Yn(e,j(t,2),Na):r}var Gv=as(function(e,t){return e*t},1),Kv=Ja("round"),Vv=as(function(e,t){return e-t},0);function qv(e){return e&&e.length?Ra(e,Ke):0}function Wv(e,t){return e&&e.length?Ra(e,j(t,2)):0}return S.after=p2,S.ary=ag,S.assign=e0,S.assignIn=Sg,S.assignInWith=ms,S.assignWith=t0,S.at=r0,S.before=ig,S.bind=fi,S.bindAll=ov,S.bindKey=og,S.castArray=B2,S.chain=rg,S.chunk=Ph,S.compact=Uh,S.concat=kh,S.cond=fv,S.conforms=cv,S.constant=hi,S.countBy=qd,S.create=n0,S.curry=fg,S.curryRight=cg,S.debounce=gg,S.defaults=s0,S.defaultsDeep=a0,S.defer=I2,S.delay=h2,S.difference=Dh,S.differenceBy=Hh,S.differenceWith=Nh,S.drop=Lh,S.dropRight=Gh,S.dropRightWhile=Kh,S.dropWhile=Vh,S.fill=qh,S.filter=$d,S.flatMap=zd,S.flatMapDeep=Jd,S.flatMapDepth=Zd,S.flatten=Yc,S.flattenDeep=Wh,S.flattenDepth=$h,S.flip=d2,S.flow=lv,S.flowRight=uv,S.fromPairs=jh,S.functions=u0,S.functionsIn=p0,S.groupBy=Yd,S.initial=zh,S.intersection=Jh,S.intersectionBy=Zh,S.intersectionWith=Yh,S.invert=h0,S.invertBy=d0,S.invokeMap=e2,S.iteratee=di,S.keyBy=t2,S.keys=Ee,S.keysIn=Ge,S.map=us,S.mapKeys=m0,S.mapValues=S0,S.matches=pv,S.matchesProperty=Iv,S.memoize=Is,S.merge=b0,S.mergeWith=bg,S.method=hv,S.methodOf=dv,S.mixin=vi,S.negate=hs,S.nthArg=mv,S.omit=y0,S.omitBy=w0,S.once=v2,S.orderBy=r2,S.over=Sv,S.overArgs=m2,S.overEvery=bv,S.overSome=yv,S.partial=ci,S.partialRight=lg,S.partition=n2,S.pick=R0,S.pickBy=yg,S.property=xg,S.propertyOf=wv,S.pull=rd,S.pullAll=eg,S.pullAllBy=nd,S.pullAllWith=sd,S.pullAt=ad,S.range=Rv,S.rangeRight=Ov,S.rearg=S2,S.reject=i2,S.remove=id,S.rest=b2,S.reverse=ii,S.sampleSize=f2,S.set=B0,S.setWith=A0,S.shuffle=c2,S.slice=od,S.sortBy=u2,S.sortedUniq=Id,S.sortedUniqBy=hd,S.split=z0,S.spread=y2,S.tail=dd,S.take=vd,S.takeRight=md,S.takeRightWhile=Sd,S.takeWhile=bd,S.tap=Ud,S.throttle=w2,S.thru=ls,S.toArray=dg,S.toPairs=wg,S.toPairsIn=Rg,S.toPath=Ev,S.toPlainObject=mg,S.transform=_0,S.unary=R2,S.union=yd,S.unionBy=wd,S.unionWith=Rd,S.uniq=Od,S.uniqBy=Bd,S.uniqWith=Ad,S.unset=x0,S.unzip=oi,S.unzipWith=tg,S.update=E0,S.updateWith=C0,S.values=Br,S.valuesIn=F0,S.without=_d,S.words=Ag,S.wrap=O2,S.xor=xd,S.xorBy=Ed,S.xorWith=Cd,S.zip=Fd,S.zipObject=Td,S.zipObjectDeep=Md,S.zipWith=Pd,S.entries=wg,S.entriesIn=Rg,S.extend=Sg,S.extendWith=ms,vi(S,S),S.add=Fv,S.attempt=_g,S.camelCase=U0,S.capitalize=Og,S.ceil=Tv,S.clamp=T0,S.clone=A2,S.cloneDeep=x2,S.cloneDeepWith=E2,S.cloneWith=_2,S.conformsTo=C2,S.deburr=Bg,S.defaultTo=gv,S.divide=Mv,S.endsWith=k0,S.eq=gt,S.escape=D0,S.escapeRegExp=H0,S.every=Wd,S.find=jd,S.findIndex=Jc,S.findKey=i0,S.findLast=Xd,S.findLastIndex=Zc,S.findLastKey=o0,S.floor=Pv,S.forEach=ng,S.forEachRight=sg,S.forIn=f0,S.forInRight=c0,S.forOwn=g0,S.forOwnRight=l0,S.get=ui,S.gt=F2,S.gte=T2,S.has=I0,S.hasIn=pi,S.head=Qc,S.identity=Ke,S.includes=Qd,S.indexOf=Xh,S.inRange=M0,S.invoke=v0,S.isArguments=sr,S.isArray=Y,S.isArrayBuffer=M2,S.isArrayLike=Le,S.isArrayLikeObject=we,S.isBoolean=P2,S.isBuffer=Kt,S.isDate=U2,S.isElement=k2,S.isEmpty=D2,S.isEqual=H2,S.isEqualWith=N2,S.isError=gi,S.isFinite=L2,S.isFunction=Ct,S.isInteger=ug,S.isLength=ds,S.isMap=pg,S.isMatch=G2,S.isMatchWith=K2,S.isNaN=V2,S.isNative=q2,S.isNil=$2,S.isNull=W2,S.isNumber=Ig,S.isObject=me,S.isObjectLike=be,S.isPlainObject=en,S.isRegExp=li,S.isSafeInteger=j2,S.isSet=hg,S.isString=vs,S.isSymbol=$e,S.isTypedArray=Or,S.isUndefined=X2,S.isWeakMap=z2,S.isWeakSet=J2,S.join=Qh,S.kebabCase=N0,S.last=st,S.lastIndexOf=ed,S.lowerCase=L0,S.lowerFirst=G0,S.lt=Z2,S.lte=Y2,S.max=Uv,S.maxBy=kv,S.mean=Dv,S.meanBy=Hv,S.min=Nv,S.minBy=Lv,S.stubArray=Si,S.stubFalse=bi,S.stubObject=Bv,S.stubString=Av,S.stubTrue=_v,S.multiply=Gv,S.nth=td,S.noConflict=vv,S.noop=mi,S.now=ps,S.pad=K0,S.padEnd=V0,S.padStart=q0,S.parseInt=W0,S.random=P0,S.reduce=s2,S.reduceRight=a2,S.repeat=$0,S.replace=j0,S.result=O0,S.round=Kv,S.runInContext=O,S.sample=o2,S.size=g2,S.snakeCase=X0,S.some=l2,S.sortedIndex=fd,S.sortedIndexBy=cd,S.sortedIndexOf=gd,S.sortedLastIndex=ld,S.sortedLastIndexBy=ud,S.sortedLastIndexOf=pd,S.startCase=J0,S.startsWith=Z0,S.subtract=Vv,S.sum=qv,S.sumBy=Wv,S.template=Y0,S.times=xv,S.toFinite=Ft,S.toInteger=Q,S.toLength=vg,S.toLower=Q0,S.toNumber=at,S.toSafeInteger=Q2,S.toString=ge,S.toUpper=ev,S.trim=tv,S.trimEnd=rv,S.trimStart=nv,S.truncate=sv,S.unescape=av,S.uniqueId=Cv,S.upperCase=iv,S.upperFirst=Ii,S.each=ng,S.eachRight=sg,S.first=Qc,vi(S,function(){var e={};return vt(S,function(t,s){le.call(S.prototype,s)||(e[s]=t)}),e}(),{chain:!1}),S.VERSION=o,Qe(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){S[e].placeholder=S}),Qe(["drop","take"],function(e,t){ne.prototype[e]=function(s){s=s===r?1:Ae(Q(s),0);var u=this.__filtered__&&!t?new ne(this):this.clone();return u.__filtered__?u.__takeCount__=Me(s,u.__takeCount__):u.__views__.push({size:Me(s,dt),type:e+(u.__dir__<0?"Right":"")}),u},ne.prototype[e+"Right"]=function(s){return this.reverse()[e](s).reverse()}}),Qe(["filter","map","takeWhile"],function(e,t){var s=t+1,u=s==Ze||s==rp;ne.prototype[e]=function(d){var b=this.clone();return b.__iteratees__.push({iteratee:j(d,3),type:s}),b.__filtered__=b.__filtered__||u,b}}),Qe(["head","last"],function(e,t){var s="take"+(t?"Right":"");ne.prototype[e]=function(){return this[s](1).value()[0]}}),Qe(["initial","tail"],function(e,t){var s="drop"+(t?"":"Right");ne.prototype[e]=function(){return this.__filtered__?new ne(this):this[s](1)}}),ne.prototype.compact=function(){return this.filter(Ke)},ne.prototype.find=function(e){return this.filter(e).head()},ne.prototype.findLast=function(e){return this.reverse().find(e)},ne.prototype.invokeMap=te(function(e,t){return typeof e=="function"?new ne(this):this.map(function(s){return Xr(s,e,t)})}),ne.prototype.reject=function(e){return this.filter(hs(j(e)))},ne.prototype.slice=function(e,t){e=Q(e);var s=this;return s.__filtered__&&(e>0||t<0)?new ne(s):(e<0?s=s.takeRight(-e):e&&(s=s.drop(e)),t!==r&&(t=Q(t),s=t<0?s.dropRight(-t):s.take(t-e)),s)},ne.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},ne.prototype.toArray=function(){return this.take(dt)},vt(ne.prototype,function(e,t){var s=/^(?:filter|find|map|reject)|While$/.test(t),u=/^(?:head|last)$/.test(t),d=S[u?"take"+(t=="last"?"Right":""):t],b=u||/^find/.test(t);d&&(S.prototype[t]=function(){var y=this.__wrapped__,R=u?[1]:arguments,A=y instanceof ne,M=R[0],P=A||Y(y),H=function(re){var se=d.apply(S,Ut([re],R));return u&&K?se[0]:se};P&&s&&typeof M=="function"&&M.length!=1&&(A=P=!1);var K=this.__chain__,W=!!this.__actions__.length,X=b&&!K,ee=A&&!W;if(!b&&P){y=ee?y:new ne(this);var z=e.apply(y,R);return z.__actions__.push({func:ls,args:[H],thisArg:r}),new tt(z,K)}return X&&ee?e.apply(this,R):(z=this.thru(H),X?u?z.value()[0]:z.value():z)})}),Qe(["pop","push","shift","sort","splice","unshift"],function(e){var t=Dn[e],s=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",u=/^(?:pop|shift)$/.test(e);S.prototype[e]=function(){var d=arguments;if(u&&!this.__chain__){var b=this.value();return t.apply(Y(b)?b:[],d)}return this[s](function(y){return t.apply(Y(y)?y:[],d)})}}),vt(ne.prototype,function(e,t){var s=S[t];if(s){var u=s.name+"";le.call(Sr,u)||(Sr[u]=[]),Sr[u].push({name:t,func:s})}}),Sr[ss(r,C).name]=[{name:"wrapper",func:r}],ne.prototype.clone=a1,ne.prototype.reverse=i1,ne.prototype.value=o1,S.prototype.at=kd,S.prototype.chain=Dd,S.prototype.commit=Hd,S.prototype.next=Nd,S.prototype.plant=Gd,S.prototype.reverse=Kd,S.prototype.toJSON=S.prototype.valueOf=S.prototype.value=Vd,S.prototype.first=S.prototype.head,Gr&&(S.prototype[Gr]=Ld),S},dr=HI();Jt?((Jt.exports=dr)._=dr,da._=dr):Ce._=dr}).call(Se)}(tn,tn.exports);var q=tn.exports;const Tg="ACDEFGHIKLMNPQRSTVWY",Mg="ACDEFGHIKLMNPQRSTVWYBXZJUO.*-",Pg={A:"Ala",C:"Cys",D:"Asp",E:"Glu",F:"Phe",G:"Gly",H:"His",I:"Ile",K:"Lys",L:"Leu",M:"Met",N:"Asn",P:"Pro",Q:"Gln",R:"Arg",S:"Ser",T:"Thr",V:"Val",W:"Trp",Y:"Tyr",O:"Pyl",U:"Sec"},yi="GATCRYWSMKHBVDN",Ug="GATC",kg="GAUCRYWSMKHBVDN",Dg="GAUC",Hg="GATCBDSW",rn={".":".",A:"A",C:"C",G:"G",T:"T",M:"AC",R:"AG",W:"AT",S:"CG",Y:"CT",K:"GT",V:"ACG",H:"ACT",D:"AGT",B:"CGT",X:"GATC",N:"GATC"},Ng={".":".",A:"A",C:"C",G:"G",U:"U",M:"AC",R:"AG",W:"AU",S:"CG",Y:"CU",K:"GU",V:"ACG",H:"ACU",D:"AGU",B:"CGU",X:"GAUC",N:"GAUC"},Lg={".":".",A:"T",C:"G",G:"C",T:"A",M:"K",R:"Y",W:"W",S:"S",Y:"R",K:"M",V:"B",H:"D",D:"H",B:"V",X:"X",N:"N"},Gg={".":".",A:"U",C:"G",G:"C",U:"A",M:"K",R:"Y",W:"W",S:"S",Y:"R",K:"M",V:"B",H:"D",D:"H",B:"V",X:"X",N:"N"},Kg={A:331.2218,C:307.1971,G:347.2212,T:322.2085},Vg={A:331.06817,C:307.056936,G:347.063084,T:322.056602},qg={A:347.2212,C:323.1965,G:363.2206,U:324.1813},Wg={A:347.063084,C:323.051851,G:363.057999,U:324.035867},$g={A:89.0932,C:121.1582,D:133.1027,E:147.1293,F:165.1891,G:75.0666,H:155.1546,I:131.1729,K:146.1876,L:131.1729,M:149.2113,N:132.1179,O:255.3134,P:115.1305,Q:146.1445,R:174.201,S:105.0926,T:119.1192,U:168.0532,V:117.1463,W:204.2252,Y:181.1885},jg={A:89.047678,C:121.019749,D:133.037508,E:147.053158,F:165.078979,G:75.032028,H:155.069477,I:131.094629,K:146.105528,L:131.094629,M:149.051049,N:132.053492,O:255.158292,P:115.063329,Q:146.069142,R:174.111676,S:105.042593,T:119.058243,U:168.964203,V:117.078979,W:204.089878,Y:181.073893},wi={A:"A",B:"ND",C:"C",D:"D",E:"E",F:"F",G:"G",H:"H",I:"I",J:"IL",K:"K",L:"L",M:"M",N:"N",O:"O",P:"P",Q:"Q",R:"R",S:"S",T:"T",U:"U",V:"V",W:"W",X:"ACDEFGHIKLMNPQRSTVWY",Y:"Y",Z:"QE","*":"\\*\\.",".":"\\.\\.","-":"\\-"},Xg=Object.freeze(Object.defineProperty({__proto__:null,ambiguous_dna_complement:Lg,ambiguous_dna_letters:yi,ambiguous_dna_values:rn,ambiguous_rna_complement:Gg,ambiguous_rna_letters:kg,ambiguous_rna_values:Ng,atom_weights:{H:1.00794,D:2.0141,He:4.002602,Li:6.941,Be:9.012182,B:10.811,C:12.0107,N:14.0067,O:15.9994,F:18.9984032,Ne:20.1797,Na:22.98977,Mg:24.305,Al:26.981538,Si:28.0855,P:30.973761,S:32.065,Cl:35.453,Ar:39.948,K:39.0983,Ca:40.078,Sc:44.95591,Ti:47.867,V:50.9415,Cr:51.9961,Mn:54.938049,Fe:55.845,Co:58.9332,Ni:58.6934,Cu:63.546,Zn:65.39,Ga:69.723,Ge:72.64,As:74.9216,Se:78.96,Br:79.904,Kr:83.8,Rb:85.4678,Sr:87.62,Y:88.90585,Zr:91.224,Nb:92.90638,Mo:95.94,Tc:98,Ru:101.07,Rh:102.9055,Pd:106.42,Ag:107.8682,Cd:112.411,In:114.818,Sn:118.71,Sb:121.76,Te:127.6,I:126.90447,Xe:131.293,Cs:132.90545,Ba:137.327,La:138.9055,Ce:140.116,Pr:140.90765,Nd:144.24,Pm:145,Sm:150.36,Eu:151.964,Gd:157.25,Tb:158.92534,Dy:162.5,Ho:164.93032,Er:167.259,Tm:168.93421,Yb:173.04,Lu:174.967,Hf:178.49,Ta:180.9479,W:183.84,Re:186.207,Os:190.23,Ir:192.217,Pt:195.078,Au:196.96655,Hg:200.59,Tl:204.3833,Pb:207.2,Bi:208.98038,Po:208.98,At:209.99,Rn:222.02,Fr:223.02,Ra:226.03,Ac:227.03,Th:232.0381,Pa:231.03588,U:238.02891,Np:237.05,Pu:244.06,Am:243.06,Cm:247.07,Bk:247.07,Cf:251.08,Es:252.08,Fm:257.1,Md:258.1,No:259.1,Lr:262.11,Rf:261.11,Db:262.11,Sg:266.12,Bh:264.12,Hs:269.13,Mt:268.14},extended_dna_letters:Hg,extended_protein_letters:Mg,extended_protein_values:wi,monoisotopic_protein_weights:jg,monoisotopic_unambiguous_dna_weights:Vg,monoisotopic_unambiguous_rna_weights:Wg,protein_letters:Tg,protein_letters_1to3:Pg,protein_weights:$g,unambiguous_dna_letters:Ug,unambiguous_dna_weights:Kg,unambiguous_rna_letters:Dg,unambiguous_rna_weights:qg},Symbol.toStringTag,{value:"Module"})),nn={"-":"---",".":"...","*":"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 bt(a,n){n!==0&&(n=n||1/0);const r=[];return a.start>a.end?(r.push({start:0,end:a.end,type:"end"}),r.push({start:a.start,end:n-1,type:"beginning"})):r.push({start:a.start,end:a.end,type:"beginningAndEnd"}),r}function zg(a,n){if(a.start<n.start){if(!(a.end<n.start))return a.end<n.end?{start:n.start,end:a.end}:{start:n.start,end:n.end}}else if(!(a.start>n.end))return a.end<n.end?{start:a.start,end:a.end}:{start:a.start,end:n.end}}function Ss(a,n,r,o){const f=bt(a,r),i=bt(n,r);let c=[];if(f.forEach(function(g,l){i.forEach(function(p,I){const h=zg(g,p);h&&c.push(h)})}),o&&f.length===2&&i.length===2&&r){const g={};c=q.flatMap(c,(l,p)=>{if(l.start===0)return g.end=l.end,[];if(l.end===r-1)return g.start=l.start,[]}),c.push(g)}return c}function Jg(a,n){let r;return a&&(a.start<n.start?a.end<n.start?r={start:a.start,end:a.end}:a.end>n.end?r={start:a.start,end:a.end}:r={start:a.start,end:n.start-1}:a.end<=n.end||(a.start>n.end?r={end:a.end,start:a.start}:r={end:a.end,start:n.end+1})),r}function bs(a,n,r){if(!a||!n)return console.warn("invalid range input"),null;let o;for(o of[a.start,a.end,n.start,n.end])if(o<0||!o&&o!==0)return console.warn("invalid range input"),null;const f=Ss(a,n,r);if(!f.length)return a;const i=bt(a,r);i.forEach(function(l,p){f.forEach(function(I){l&&(l=Jg(l,I))}),i[p]=l});const c=i.filter(function(l){return!!l});let g;if(c.length<0||(c.length===1?g=c[0]:c.length===2&&(c[0].start<c[1].start?g={start:c[1].start,end:c[0].end}:g={start:c[0].start,end:c[1].end})),g)return q.extend({},a,{start:g.start,end:g.end})}function Ri(a,n,r){const o=bs(a,n,r);return o&&bt(n,r).forEach(function(i){const c=i.end-i.start+1;o.start>o.end?i.start<o.end?(o.start-=c,o.end-=c):i.start<o.start&&(o.start-=c):i.start<o.start?(o.start-=c,o.end-=c):i.start<o.end&&(o.end-=c)}),o}function Oi(a,n,r){const o=q.assign({},a);return a.start>a.end?a.end>=n?(o.start+=r,o.end+=r):a.start>=n&&(o.start+=r):a.start>=n?(o.start+=r,o.end+=r):a.end>=n&&(o.end+=r),o}function Zg(a,n){return a.start<n.start?!(a.end<n.start):!(a.start>n.end)}function Yg(a,n){return bt(a,1/0).some(function(r){return bt(n,1/0).some(function(o){return Zg(r,o)})})}function sn(a,n,r){const o=r&&r.start<=r.end;if(a.length===1||a.length===0)return a;if(a.length===2)return a[0].start===0&&a[1].end+1===n&&!o?[{start:a[1].start,end:a[0].end}]:a[1].start===0&&a[0].end+1===n&&!o?[{start:a[0].start,end:a[1].end}]:a;if(a.length===3){const f=a[0],i=a[1],c=a[2];let g=sn([f,i],n,r);return g.length===1?(g.push(c),g):(g=sn([f,c],n,r),g.length===1?(g.push(i),g):(g=sn([i,c],n,r),g.length===1?(g.push(f),g):a))}}function ys(a){return function(){const n=Array.prototype.slice.call(arguments),r=n[n.length-1];r&&(r.inclusive1BasedEnd||r.inclusive1BasedStart)&&n.forEach(function(f,i){f&&f.start>-1&&r.inclusive1BasedStart&&(n[i]=q.assign(f,{start:f.start-1})),f&&f.end>-1&&r.inclusive1BasedEnd&&(n[i]=q.assign(f,{end:f.end-1}))});let o=a.apply(this,n);return o&&o.start>-1&&r&&r.inclusive1BasedStart&&(o=q.assign(o,{start:o.start+1})),o&&o.end>-1&&r&&r.inclusive1BasedEnd&&(o=q.assign(o,{end:o.end+1})),o}}const _e=ys(Qg);function Qg(a,n){let r;return a.end<a.start?r=n-a.start+a.end+1:r=a.end-a.start+1,a.overlapsSelf&&n&&(r+=n),r}function Bi(a,n,r){let o=bs(a,n,r);return o===null?!1:!o}function Ai(a,n,r,o,f){return bt(n,r).some(function(g){return(o?a<g.start:a<=g.start)?!1:f?a<=g.end+1:a<=g.end})}function ae(a,n,r){let o=a;return o<0?o+=n:o+(r?0:1)>n&&(o-=n),o<0?0:o>n-(r?0:1)?n-(r?0:1):o}function _i(a,n){return q.assign({},a,{start:ae(a.start,n),end:ae(a.end,n)})}function ws(a,n,r,o){const f=q.clone(a);return r?f.start-=n:f.end+=n,_i(f,o)}function ar(a,n,r){return q.assign({},a,{start:ae(a.start+n,r),end:ae(a.end+n,r)})}function el(a,n,r,o){return Bi(a,n,r)?xi(a,n,r):tl(a,n,r)}function tl(a,n,r,o){const f=Bi(n,a,r);let i;if(f){const c=_e({start:a.start,end:n.start},r)-1;i=ws(n,c,!1,r);const g=_e({end:a.end,start:n.end},r)-1;i=ws(i,g,!0,r)}else{const c=Ss(a,n,r);if(c.length>=1){let g;const l=c[0];g=l.start!==n.start;const p=xi(l,n,r),I=_e(a,r)-_e(p,r);i=ws(p,I,g,r)}else throw new Error("This case (relative ranges that do not overlap) is unsupported! ")}return i}function xi(a,n,r,o){const f=-n.start,i=ar(n,f,r),c=ar(a,f,r),g=rl(c,i,r);return ar(g,-f,r)}function rl(a,n,r){const o=a.start-n.start,f=n.end-o,i=_e(a,r);return{end:f,start:f-(i-1)}}function nl(a,n,r){const o=Rs(a,n);let f;return r?f=ae(Rs(o,o+r),n):f=Rs(a,n),{start:o,end:f}}function Rs(a,n){return Math.floor(Math.random()*(n-a))+a}function yt(a,n){if(a.start<0||a.end<0)return"";if(a.start>a.end){let r=n.slice(a.start,n.length);return typeof r=="string"?r+=n.slice(0,a.end+1):r=r.concat(n.slice(0,a.end+1)),r}else return n.slice(a.start,a.end+1)}function Ei(a,n,r){if(a<n){const i=a;a=n,n=i}const o=a-n,f=r-a+n;return Math.min(o,f)}function Ci(a,n,r){let o=[];return n.some(function(i,c){if(!i.some(function(l){return Yg(a,l)}))return o=c,r&&(a.yOffset=c),i.push(a),!0})||(o=n.length,r&&(a.yOffset=n.length)),o}function sl(a,n){const r=[];let o=0;const f=[];return a.forEach(function(i){const c=Ci(i,f,n);r.push(c),c>o&&(o=c),i.yOffset=c,f[c]||(f[c]=[]),f[c].push(i)}),{yOffsets:r,maxYOffset:o}}const al=ys(il);function il(a,n){if(a.start>-1){const r=a.end+1,o=a.start-1;return{start:ae(r,n,!1),end:ae(o,n,!1)}}else if(a>-1)return{start:ae(a,n,!1),end:ae(a-1,n,!1)}}function ol(a,n,r){const o=Ei(n.start,a,r),f=Ei(n.end,a,r);return o<=f}function Fi(a,n){let r=a;return a<n.start?r=n.end-(n.start-(a+1)):a>n.end&&(r=n.start+(a-n.end-1)),r}const fl=ys(cl);function cl(a,n){return q.assign(a,{start:ae(a.start,n),end:ae(a.end,n)})}function an(a,n){return Fi(a,{start:1,end:n})}function ut(a,n,r){return n-a-(r?0:1)}function gl(a,n,r){if(bs(a,n,r))throw new Error("subRange must be fully contained by containerRange! Otherwise this function does not make sense");const f={};return f.start=a.start-n.start,f.end=a.end-n.start,f.start<0&&(f.start+=r),f.end<0&&(f.end+=r),f}function Ti(a,n=0,r){const o=r?ll:q.identity;return q.assign({},a,{start:o(a.start-(n||0),r),end:o(a.end-(n||0),r)})}function ll(a,n){return(a%n+n)%n}function ul(a,n,r){return sn(Ss(a,n,r),r,a).map(i=>gl(i,{start:n.start,end:ae(n.start-1,r)},r))}const Os={".":".",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 wt(a){let n="";for(let r=a.length-1;r>=0;r--){let o=Os[a[r]];o||(o=a[r]),n+=o}return n}function Mi({seqsToAnnotateById:a,annotationsToCheckById:n,compareName:r,warnIfMoreThan:o}){const f={};q.forEach(n,c=>{const g=new RegExp(c.sequence,"gi");q.forEach(q.omitBy(a,l=>!l.sequence.length),({circular:l,sequence:p},I)=>{function h({seqToMatchAgainst:w,isReverse:B,seqLen:_}){let C,N;try{for(;C=g.exec(w);){const{index:F,0:L}=C;if(F>=_)return;const x=F+L.length;if(N&&F>N.start&&x<=N.end){g.lastIndex=C.index+1;continue}N={start:F,end:x};const U={start:F,end:ae(x-1,_)};f[I]||(f[I]=[]),f[I].push(ye(ie({},B?{start:ut(U.end,_),end:ut(U.start,_)}:U),{strand:B?-1:1,id:c.id})),g.lastIndex=C.index+1}}catch(F){console.error("error:",F)}}const v=p.length,m=wt(p);h({seqLen:v,seqToMatchAgainst:l?p+p:p}),h({seqLen:v,isReverse:!0,seqToMatchAgainst:l?m+m:m})})});const i={};return q.forEach(f,(c,g)=>{const l=a[g],p={};q.forEach(l.annotations,v=>{p[Pi(v,{compareName:r})]=v});const I={},h=c.filter(v=>p[Pi(v,{compareName:r})]?!1:(o&&(I[v.id]=(I[v.id]||0)+1),!0)).sort((v,m)=>v.start-m.start);h.length&&(i[g]=h),o&&q.forEach(I,(v,m)=>{v>o&&(i.__more_than_warnings=i.__more_than_warnings||{},i.__more_than_warnings[g]=i.__more_than_warnings[g]||[],i.__more_than_warnings[g].push(m))})}),i}function Pi({start:a,end:n,name:r,strand:o,forward:f},{compareName:i}){return`${a}-${n}-${o===-1||f===!1?"rev":"for"}-${i?r:""}`}function pl(a=""){let n="",r="",o="",f="",i,c,g;for(const l of a.replace("(","").replace(")","")){let p=function(h){g&&(r+=h,o=`${r}${o.length?"|":""}${o}`)};const I=rn[l.toUpperCase()];if(I&&I.length>1){let h;I.length===4?h=".":h=`[${I}]`,n+=h,p(h);continue}if(l==="#"){if(g)throw new Error("Error converting regex");const h=i?`[^${i}]*?`:".*?";n+=h,p(h);continue}if(l==="<"){if(g)throw new Error("Error converting to regex");if(c)throw new Error("Error converting to regex");let h="",v="",m=!0,w;const B=[];for(let C=0;C<n.length;C++){const N=n[C],F=n[C+1];N==="["?m=!1:(N==="]"||w)&&(w=!0,(rn[F]||F==="[")&&(m=!0,w=!1)),h+=N,m&&(B.push(h),h="")}let _="";B.reverse(),B.forEach(C=>{_=C+_,v=`${_}${v.length?"|":""}${v}`}),n=`(${v})?`,c=!0;continue}if(l===">"){if(g)throw new Error("Error converting regex");g=!0,f=n;continue}n+=l,p(l),i=l}return g&&(n=`${f}(${o})?`),n}function Il(a){let n="",r;for(r of a){const o=nn[r.toLowerCase()];o?n+=o:n+=r}return n}const Ui=[{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"}],Bs=()=>{const a=q.keyBy(Ui.map(r=>ye(ie({},r),{isGenbankStandardType:!0})),"name");let n=typeof window!="undefined"&&q.get(window,"tg_featureTypeOverrides")||typeof global!="undefined"&&q.get(global,"tg_featureTypeOverrides");return n=n||[],n=n.map(r=>{const o=a[r.name];return ie(ie(ie({},o),r),o?{isOverridden:!0}:{isCustomType:!0})}),n=q.keyBy(n,"name"),ie(ie({},a),n)},As=({includeHidden:a}={})=>{const n={};return q.filter(Bs(),r=>a?!0:!r.isHidden).forEach(r=>{n[r.name]=r.color}),n},on=({includeHidden:a}={})=>q.filter(Bs(),n=>a?!0:!n.isHidden).map(n=>n.name);var _s=Math.floor(Math.random()*16777215),ki=he.index=parseInt(Math.random()*16777215,10),hl=(typeof process=="undefined"||typeof process.pid!="number"?Math.floor(Math.random()*1e5):process.pid)%65535,dl=function(a){return!!(a!=null&&a.constructor&&typeof a.constructor.isBuffer=="function"&&a.constructor.isBuffer(a))};function he(a){if(!(this instanceof he))return new he(a);if(a&&(a instanceof he||a._bsontype==="ObjectID"))return a;var n;if(dl(a)||Array.isArray(a)&&a.length===12)n=Array.prototype.slice.call(a);else if(typeof a=="string"){if(a.length!==12&&!he.isValid(a))throw new Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters");n=Hi(a)}else/number|undefined/.test(typeof a)&&(n=Hi(Di(a)));Object.defineProperty(this,"id",{enumerable:!0,get:function(){return String.fromCharCode.apply(this,n)}}),Object.defineProperty(this,"str",{get:function(){return n.map(ir.bind(this,2)).join("")}})}var vl=he;he.generate=Di,he.default=he,he.createFromTime=function(a){return a=parseInt(a,10)%4294967295,new he(ir(8,a)+"0000000000000000")},he.createFromHexString=function(a){if(!he.isValid(a))throw new Error("Invalid ObjectID hex string");return new he(a)},he.isValid=function(a){return!a||typeof a!="string"&&(typeof a!="object"||Array.isArray(a)||typeof a.toString!="function")?!1:/^[0-9A-F]{24}$/i.test(a.toString())},he.setMachineID=function(a){var n;if(typeof a=="string"){if(n=parseInt(a,16),isNaN(n)){a=("000000"+a).substr(-7,6),n="";for(var r=0;r<6;r++)n+=a.charCodeAt(r)}}else/number|undefined/.test(typeof a)&&(n=a|0);_s=n&16777215},he.getMachineID=function(){return _s},he.prototype={_bsontype:"ObjectID",constructor:he,toHexString:function(){return this.str},equals:function(a){return!!a&&this.str===a.toString()},getTimestamp:function(){return new Date(parseInt(this.str.substr(0,8),16)*1e3)}};function ml(){return ki=(ki+1)%16777215}function Di(a){return typeof a!="number"&&(a=Date.now()/1e3),a=parseInt(a,10)%4294967295,ir(8,a)+ir(6,_s)+ir(4,hl)+ir(6,ml())}function ir(a,n){return n=n.toString(16),n.length===a?n:"00000000".substring(n.length,a)+n}function Hi(a){var n=0,r=[];if(a.length===24)for(;n<24;r.push(parseInt(a[n]+a[n+1],16)),n+=2);else if(a.length===12)for(;n<12;r.push(a.charCodeAt(n)),n++);return r}var Sl=Symbol&&Symbol.for("nodejs.util.inspect.custom")||"inspect";he.prototype[Sl]=function(){return"ObjectID("+this+")"},he.prototype.toJSON=he.prototype.toHexString,he.prototype.toString=he.prototype.toHexString;const Vt=Te(vl);function fn(a,n,r){if(r.forwardRegex.length===0||r.reverseRegex.length===0){let l=[];return l.error="Cannot cut sequence. Enzyme restriction site must be at least 1 bp long.",l}let o=new RegExp(r.forwardRegex,"ig"),f=a,i=Ni(o,r,f,n),c=[];if(r.forwardRegex!==r.reverseRegex){let l=wt(f);c=Ni(o,r,l,n),c=c.map(p=>g(p,f.length))}return i.concat(c);function g(l,p){return l.start=ut(l.start,p,!1),l.end=ut(l.end,p,!1),l.topSnipPosition=ut(l.topSnipPosition,p,!0),l.bottomSnipPosition=ut(l.bottomSnipPosition,p,!0),l.cutsTwice&&(l.upstreamTopSnip=ut(l.upstreamTopSnip,p,!0),l.upstreamBottomSnip=ut(l.upstreamBottomSnip,p,!0)),l.recognitionSiteRange.start=ut(l.recognitionSiteRange.start,p,!1),l.recognitionSiteRange.end=ut(l.recognitionSiteRange.end,p,!1),q.assign({},l,{start:l.end,end:l.start,overhangBps:wt(l.overhangBps),topSnipPosition:l.bottomSnipPosition,bottomSnipPosition:l.topSnipPosition,upstreamTopSnip:l.upstreamBottomSnip,upstreamBottomSnip:l.upstreamTopSnip,upstreamTopBeforeBottom:!!l.upstreamTopBeforeBottom,topSnipBeforeBottom:!!l.topSnipBeforeBottom,recognitionSiteRange:{start:l.recognitionSiteRange.end,end:l.recognitionSiteRange.start},forward:!1})}}function Ni(a,n,r,o){let f=[],i,c=n.site.length,g=r,l=r.length;o&&(r+=r);let p=r.length,I=r.search(a),h=0,v=r;for(;I!==-1;){let m={},w,B,_=null,C=null,N=!1,F=null,L=null,x=!1,U=!1;if(m.start=I+h,w=m.start,m.end=I+c-1+h,B=m.end,n.cutType===1&&(_=m.end-n.usForward,C=m.end-n.usReverse,_>=0&&C>=0?(U=!0,_<C?(w>_&&(w=_+1),N=!0):w>C&&(w=C+1),_=ae(_,l,!0),C=ae(C,l,!0)):(_=null,C=null)),F=m.start+n.topSnipOffset,L=m.start+n.bottomSnipOffset,L<=p&&F<=p?(U=!0,F>L?F>m.end&&(B=F-1):(L>m.end&&(B=L-1),x=!0),F=ae(F,l,!0),L=ae(L,l,!0)):(F=null,L=null),U&&w>=0&&B>=0&&w<l&&B<p){w=ae(w,l,!1),B=ae(B,l,!1),m.start=ae(m.start,l,!1),m.end=ae(m.end,l,!1);let G={start:-1,end:-1};F!==L&&(G=x?{start:F,end:ae(L-1,l)}:{start:L,end:ae(F-1,l)});let $=yt(G,g);i={id:Vt().str,start:w,end:B,topSnipPosition:F,bottomSnipPosition:L,topSnipBeforeBottom:x,overhangBps:$,overhangSize:$.length,upstreamTopBeforeBottom:N,upstreamTopSnip:_,annotationTypePlural:"cutsites",upstreamBottomSnip:C,recognitionSiteRange:m,forward:!0,name:n.name,restrictionEnzyme:n},f.push(i)}h=h+I+1,v=r.substring(h,r.length),I=v.search(a)}return f}function Li(a,n,r){const o={};for(let f=0;f<r.length;f++){const i=r[f],c=fn(a,n,i);c.length&&(o[i.name]=c)}return o}function Gi({cutsites:a,sequenceLength:n,circular:r,includeOverAndUnderHangs:o,computePartialDigest:f,computeDigestDisabled:i,computePartialDigestDisabled:c,selectionLayerUpdate:g,updateSelectedFragment:l}){const p=[],I=[],h=[],v=a.sort((m,w)=>m.topSnipPosition-w.topSnipPosition);return!r&&a.length&&v.push({id:"seqTerm_"+Vt().str,start:0,end:0,overhangBps:"",topSnipPosition:0,bottomSnipPosition:0,upstreamTopSnip:0,upstreamBottomSnip:0,upstreamTopBeforeBottom:!1,topSnipBeforeBottom:!1,recognitionSiteRange:{start:0,end:0},forward:!0,name:"Sequence_Terminus",restrictionEnzyme:{name:"Sequence_Terminus"}}),v.forEach((m,w)=>{f&&!c&&v.forEach((B,_)=>{_===w+1||_===0||h.push([m,v[_]])}),i||h.push([m,v[w+1]?v[w+1]:v[0]])}),h.forEach(m=>{let[w,B]=m,_,C,N;_=ae(w.topSnipPosition,n),C=ae(B.topSnipPosition-1,n),N=_e({start:_,end:C},n);let F;if(o){const G=N;_=ae(w.topSnipBeforeBottom?w.topSnipPosition:w.bottomSnipPosition,n),C=ae(B.topSnipBeforeBottom?B.bottomSnipPosition-1:B.topSnipPosition-1,n),N=_e({start:_,end:C},n),G>N&&(F=!0,N+=n)}let L;w.name==="Sequence_Terminus"?(w=q.cloneDeep(w),L=!0,w.name="Linear_Sequence_Start",w.restrictionEnzyme.name="Linear_Sequence_Start"):B.name==="Sequence_Terminus"&&(B=q.cloneDeep(B),L=!0,B.name="Linear_Sequence_End",B.restrictionEnzyme.name="Linear_Sequence_End");const x=_+"-"+C+"-"+N+"-",U=`${w.restrictionEnzyme.name} -- ${B.restrictionEnzyme.name} ${N} bps`;_e({start:_,end:C},n),p.push({isFormedFromLinearEnd:L,madeFromOneCutsite:w===B,start:_,end:C,size:N,overlapsSelf:F,id:x,name:U,cut1:w,cut2:B,onFragmentSelect:g&&l?()=>{g({start:_,end:C,name:U}),l(x)}:void 0})}),p.filter(m=>m.size?!0:(I.push(m),!1)),{computePartialDigestDisabled:c,computeDigestDisabled:i,fragments:p,overlappingEnzymes:I}}function bl({sequence:a,circular:n,enzymes:r,includeOverAndUnderHangs:o}){const f=Li(a,n,r);return Gi({includeOverAndUnderHangs:o,cutsites:q.flatMap(f),sequenceLength:a.length,circular:n})}var Ki={exports:{}};(function(a){var n=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32},r=-1,o=1,f=0;n.Diff=function(i,c){return[i,c]},n.prototype.diff_main=function(i,c,g,l){typeof l=="undefined"&&(this.Diff_Timeout<=0?l=Number.MAX_VALUE:l=new Date().getTime()+this.Diff_Timeout*1e3);var p=l;if(i==null||c==null)throw new Error("Null input. (diff_main)");if(i==c)return i?[new n.Diff(f,i)]:[];typeof g=="undefined"&&(g=!0);var I=g,h=this.diff_commonPrefix(i,c),v=i.substring(0,h);i=i.substring(h),c=c.substring(h),h=this.diff_commonSuffix(i,c);var m=i.substring(i.length-h);i=i.substring(0,i.length-h),c=c.substring(0,c.length-h);var w=this.diff_compute_(i,c,I,p);return v&&w.unshift(new n.Diff(f,v)),m&&w.push(new n.Diff(f,m)),this.diff_cleanupMerge(w),w},n.prototype.diff_compute_=function(i,c,g,l){var p;if(!i)return[new n.Diff(o,c)];if(!c)return[new n.Diff(r,i)];var I=i.length>c.length?i:c,h=i.length>c.length?c:i,v=I.indexOf(h);if(v!=-1)return p=[new n.Diff(o,I.substring(0,v)),new n.Diff(f,h),new n.Diff(o,I.substring(v+h.length))],i.length>c.length&&(p[0][0]=p[2][0]=r),p;if(h.length==1)return[new n.Diff(r,i),new n.Diff(o,c)];var m=this.diff_halfMatch_(i,c);if(m){var w=m[0],B=m[1],_=m[2],C=m[3],N=m[4],F=this.diff_main(w,_,g,l),L=this.diff_main(B,C,g,l);return F.concat([new n.Diff(f,N)],L)}return g&&i.length>100&&c.length>100?this.diff_lineMode_(i,c,l):this.diff_bisect_(i,c,l)},n.prototype.diff_lineMode_=function(i,c,g){var l=this.diff_linesToChars_(i,c);i=l.chars1,c=l.chars2;var p=l.lineArray,I=this.diff_main(i,c,!1,g);this.diff_charsToLines_(I,p),this.diff_cleanupSemantic(I),I.push(new n.Diff(f,""));for(var h=0,v=0,m=0,w="",B="";h<I.length;){switch(I[h][0]){case o:m++,B+=I[h][1];break;case r:v++,w+=I[h][1];break;case f:if(v>=1&&m>=1){I.splice(h-v-m,v+m),h=h-v-m;for(var _=this.diff_main(w,B,!1,g),C=_.length-1;C>=0;C--)I.splice(h,0,_[C]);h=h+_.length}m=0,v=0,w="",B="";break}h++}return I.pop(),I},n.prototype.diff_bisect_=function(i,c,g){for(var l=i.length,p=c.length,I=Math.ceil((l+p)/2),h=I,v=2*I,m=new Array(v),w=new Array(v),B=0;B<v;B++)m[B]=-1,w[B]=-1;m[h+1]=0,w[h+1]=0;for(var _=l-p,C=_%2!=0,N=0,F=0,L=0,x=0,U=0;U<I&&!(new Date().getTime()>g);U++){for(var G=-U+N;G<=U-F;G+=2){var $=h+G,J;G==-U||G!=U&&m[$-1]<m[$+1]?J=m[$+1]:J=m[$-1]+1;for(var ve=J-G;J<l&&ve<p&&i.charAt(J)==c.charAt(ve);)J++,ve++;if(m[$]=J,J>l)F+=2;else if(ve>p)N+=2;else if(C){var oe=h+_-G;if(oe>=0&&oe<v&&w[oe]!=-1){var ce=l-w[oe];if(J>=ce)return this.diff_bisectSplit_(i,c,J,ve,g)}}}for(var xe=-U+L;xe<=U-x;xe+=2){var oe=h+xe,ce;xe==-U||xe!=U&&w[oe-1]<w[oe+1]?ce=w[oe+1]:ce=w[oe-1]+1;for(var Ze=ce-xe;ce<l&&Ze<p&&i.charAt(l-ce-1)==c.charAt(p-Ze-1);)ce++,Ze++;if(w[oe]=ce,ce>l)x+=2;else if(Ze>p)L+=2;else if(!C){var $=h+_-xe;if($>=0&&$<v&&m[$]!=-1){var J=m[$],ve=h+J-$;if(ce=l-ce,J>=ce)return this.diff_bisectSplit_(i,c,J,ve,g)}}}}return[new n.Diff(r,i),new n.Diff(o,c)]},n.prototype.diff_bisectSplit_=function(i,c,g,l,p){var I=i.substring(0,g),h=c.substring(0,l),v=i.substring(g),m=c.substring(l),w=this.diff_main(I,h,!1,p),B=this.diff_main(v,m,!1,p);return w.concat(B)},n.prototype.diff_linesToChars_=function(i,c){var g=[],l={};g[0]="";function p(m){for(var w="",B=0,_=-1,C=g.length;_<m.length-1;){_=m.indexOf(`
|
|
28
|
-
`,B),_==-1&&(_=m.length-1);var N=m.substring(B,_+1);(l.hasOwnProperty?l.hasOwnProperty(N):l[N]!==void 0)?w+=String.fromCharCode(l[N]):(C==I&&(N=m.substring(B),_=m.length),w+=String.fromCharCode(C),l[N]=C,g[C++]=N),B=_+1}return w}var I=4e4,h=p(i);I=65535;var v=p(c);return{chars1:h,chars2:v,lineArray:g}},n.prototype.diff_charsToLines_=function(i,c){for(var g=0;g<i.length;g++){for(var l=i[g][1],p=[],I=0;I<l.length;I++)p[I]=c[l.charCodeAt(I)];i[g][1]=p.join("")}},n.prototype.diff_commonPrefix=function(i,c){if(!i||!c||i.charAt(0)!=c.charAt(0))return 0;for(var g=0,l=Math.min(i.length,c.length),p=l,I=0;g<p;)i.substring(I,p)==c.substring(I,p)?(g=p,I=g):l=p,p=Math.floor((l-g)/2+g);return p},n.prototype.diff_commonSuffix=function(i,c){if(!i||!c||i.charAt(i.length-1)!=c.charAt(c.length-1))return 0;for(var g=0,l=Math.min(i.length,c.length),p=l,I=0;g<p;)i.substring(i.length-p,i.length-I)==c.substring(c.length-p,c.length-I)?(g=p,I=g):l=p,p=Math.floor((l-g)/2+g);return p},n.prototype.diff_commonOverlap_=function(i,c){var g=i.length,l=c.length;if(g==0||l==0)return 0;g>l?i=i.substring(g-l):g<l&&(c=c.substring(0,g));var p=Math.min(g,l);if(i==c)return p;for(var I=0,h=1;;){var v=i.substring(p-h),m=c.indexOf(v);if(m==-1)return I;h+=m,(m==0||i.substring(p-h)==c.substring(0,h))&&(I=h,h++)}},n.prototype.diff_halfMatch_=function(i,c){if(this.Diff_Timeout<=0)return null;var g=i.length>c.length?i:c,l=i.length>c.length?c:i;if(g.length<4||l.length*2<g.length)return null;var p=this;function I(F,L,x){for(var U=F.substring(x,x+Math.floor(F.length/4)),G=-1,$="",J,ve,oe,ce;(G=L.indexOf(U,G+1))!=-1;){var xe=p.diff_commonPrefix(F.substring(x),L.substring(G)),Ze=p.diff_commonSuffix(F.substring(0,x),L.substring(0,G));$.length<Ze+xe&&($=L.substring(G-Ze,G)+L.substring(G,G+xe),J=F.substring(0,x-Ze),ve=F.substring(x+xe),oe=L.substring(0,G-Ze),ce=L.substring(G+xe))}return $.length*2>=F.length?[J,ve,oe,ce,$]:null}var h=I(g,l,Math.ceil(g.length/4)),v=I(g,l,Math.ceil(g.length/2)),m;if(!h&&!v)return null;v?h?m=h[4].length>v[4].length?h:v:m=v:m=h;var w,B,_,C;i.length>c.length?(w=m[0],B=m[1],_=m[2],C=m[3]):(_=m[0],C=m[1],w=m[2],B=m[3]);var N=m[4];return[w,B,_,C,N]},n.prototype.diff_cleanupSemantic=function(i){for(var c=!1,g=[],l=0,p=null,I=0,h=0,v=0,m=0,w=0;I<i.length;)i[I][0]==f?(g[l++]=I,h=m,v=w,m=0,w=0,p=i[I][1]):(i[I][0]==o?m+=i[I][1].length:w+=i[I][1].length,p&&p.length<=Math.max(h,v)&&p.length<=Math.max(m,w)&&(i.splice(g[l-1],0,new n.Diff(r,p)),i[g[l-1]+1][0]=o,l--,l--,I=l>0?g[l-1]:-1,h=0,v=0,m=0,w=0,p=null,c=!0)),I++;for(c&&this.diff_cleanupMerge(i),this.diff_cleanupSemanticLossless(i),I=1;I<i.length;){if(i[I-1][0]==r&&i[I][0]==o){var B=i[I-1][1],_=i[I][1],C=this.diff_commonOverlap_(B,_),N=this.diff_commonOverlap_(_,B);C>=N?(C>=B.length/2||C>=_.length/2)&&(i.splice(I,0,new n.Diff(f,_.substring(0,C))),i[I-1][1]=B.substring(0,B.length-C),i[I+1][1]=_.substring(C),I++):(N>=B.length/2||N>=_.length/2)&&(i.splice(I,0,new n.Diff(f,B.substring(0,N))),i[I-1][0]=o,i[I-1][1]=_.substring(0,_.length-N),i[I+1][0]=r,i[I+1][1]=B.substring(N),I++),I++}I++}},n.prototype.diff_cleanupSemanticLossless=function(i){function c(N,F){if(!N||!F)return 6;var L=N.charAt(N.length-1),x=F.charAt(0),U=L.match(n.nonAlphaNumericRegex_),G=x.match(n.nonAlphaNumericRegex_),$=U&&L.match(n.whitespaceRegex_),J=G&&x.match(n.whitespaceRegex_),ve=$&&L.match(n.linebreakRegex_),oe=J&&x.match(n.linebreakRegex_),ce=ve&&N.match(n.blanklineEndRegex_),xe=oe&&F.match(n.blanklineStartRegex_);return ce||xe?5:ve||oe?4:U&&!$&&J?3:$||J?2:U||G?1:0}for(var g=1;g<i.length-1;){if(i[g-1][0]==f&&i[g+1][0]==f){var l=i[g-1][1],p=i[g][1],I=i[g+1][1],h=this.diff_commonSuffix(l,p);if(h){var v=p.substring(p.length-h);l=l.substring(0,l.length-h),p=v+p.substring(0,p.length-h),I=v+I}for(var m=l,w=p,B=I,_=c(l,p)+c(p,I);p.charAt(0)===I.charAt(0);){l+=p.charAt(0),p=p.substring(1)+I.charAt(0),I=I.substring(1);var C=c(l,p)+c(p,I);C>=_&&(_=C,m=l,w=p,B=I)}i[g-1][1]!=m&&(m?i[g-1][1]=m:(i.splice(g-1,1),g--),i[g][1]=w,B?i[g+1][1]=B:(i.splice(g+1,1),g--))}g++}},n.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,n.whitespaceRegex_=/\s/,n.linebreakRegex_=/[\r\n]/,n.blanklineEndRegex_=/\n\r?\n$/,n.blanklineStartRegex_=/^\r?\n\r?\n/,n.prototype.diff_cleanupEfficiency=function(i){for(var c=!1,g=[],l=0,p=null,I=0,h=!1,v=!1,m=!1,w=!1;I<i.length;)i[I][0]==f?(i[I][1].length<this.Diff_EditCost&&(m||w)?(g[l++]=I,h=m,v=w,p=i[I][1]):(l=0,p=null),m=w=!1):(i[I][0]==r?w=!0:m=!0,p&&(h&&v&&m&&w||p.length<this.Diff_EditCost/2&&h+v+m+w==3)&&(i.splice(g[l-1],0,new n.Diff(r,p)),i[g[l-1]+1][0]=o,l--,p=null,h&&v?(m=w=!0,l=0):(l--,I=l>0?g[l-1]:-1,m=w=!1),c=!0)),I++;c&&this.diff_cleanupMerge(i)},n.prototype.diff_cleanupMerge=function(i){i.push(new n.Diff(f,""));for(var c=0,g=0,l=0,p="",I="",h;c<i.length;)switch(i[c][0]){case o:l++,I+=i[c][1],c++;break;case r:g++,p+=i[c][1],c++;break;case f:g+l>1?(g!==0&&l!==0&&(h=this.diff_commonPrefix(I,p),h!==0&&(c-g-l>0&&i[c-g-l-1][0]==f?i[c-g-l-1][1]+=I.substring(0,h):(i.splice(0,0,new n.Diff(f,I.substring(0,h))),c++),I=I.substring(h),p=p.substring(h)),h=this.diff_commonSuffix(I,p),h!==0&&(i[c][1]=I.substring(I.length-h)+i[c][1],I=I.substring(0,I.length-h),p=p.substring(0,p.length-h))),c-=g+l,i.splice(c,g+l),p.length&&(i.splice(c,0,new n.Diff(r,p)),c++),I.length&&(i.splice(c,0,new n.Diff(o,I)),c++),c++):c!==0&&i[c-1][0]==f?(i[c-1][1]+=i[c][1],i.splice(c,1)):c++,l=0,g=0,p="",I="";break}i[i.length-1][1]===""&&i.pop();var v=!1;for(c=1;c<i.length-1;)i[c-1][0]==f&&i[c+1][0]==f&&(i[c][1].substring(i[c][1].length-i[c-1][1].length)==i[c-1][1]?(i[c][1]=i[c-1][1]+i[c][1].substring(0,i[c][1].length-i[c-1][1].length),i[c+1][1]=i[c-1][1]+i[c+1][1],i.splice(c-1,1),v=!0):i[c][1].substring(0,i[c+1][1].length)==i[c+1][1]&&(i[c-1][1]+=i[c+1][1],i[c][1]=i[c][1].substring(i[c+1][1].length)+i[c+1][1],i.splice(c+1,1),v=!0)),c++;v&&this.diff_cleanupMerge(i)},n.prototype.diff_xIndex=function(i,c){var g=0,l=0,p=0,I=0,h;for(h=0;h<i.length&&(i[h][0]!==o&&(g+=i[h][1].length),i[h][0]!==r&&(l+=i[h][1].length),!(g>c));h++)p=g,I=l;return i.length!=h&&i[h][0]===r?I:I+(c-p)},n.prototype.diff_prettyHtml=function(i){for(var c=[],g=/&/g,l=/</g,p=/>/g,I=/\n/g,h=0;h<i.length;h++){var v=i[h][0],m=i[h][1],w=m.replace(g,"&").replace(l,"<").replace(p,">").replace(I,"¶<br>");switch(v){case o:c[h]='<ins style="background:#e6ffe6;">'+w+"</ins>";break;case r:c[h]='<del style="background:#ffe6e6;">'+w+"</del>";break;case f:c[h]="<span>"+w+"</span>";break}}return c.join("")},n.prototype.diff_text1=function(i){for(var c=[],g=0;g<i.length;g++)i[g][0]!==o&&(c[g]=i[g][1]);return c.join("")},n.prototype.diff_text2=function(i){for(var c=[],g=0;g<i.length;g++)i[g][0]!==r&&(c[g]=i[g][1]);return c.join("")},n.prototype.diff_levenshtein=function(i){for(var c=0,g=0,l=0,p=0;p<i.length;p++){var I=i[p][0],h=i[p][1];switch(I){case o:g+=h.length;break;case r:l+=h.length;break;case f:c+=Math.max(g,l),g=0,l=0;break}}return c+=Math.max(g,l),c},n.prototype.diff_toDelta=function(i){for(var c=[],g=0;g<i.length;g++)switch(i[g][0]){case o:c[g]="+"+encodeURI(i[g][1]);break;case r:c[g]="-"+i[g][1].length;break;case f:c[g]="="+i[g][1].length;break}return c.join(" ").replace(/%20/g," ")},n.prototype.diff_fromDelta=function(i,c){for(var g=[],l=0,p=0,I=c.split(/\t/g),h=0;h<I.length;h++){var v=I[h].substring(1);switch(I[h].charAt(0)){case"+":try{g[l++]=new n.Diff(o,decodeURI(v))}catch(B){throw new Error("Illegal escape in diff_fromDelta: "+v)}break;case"-":case"=":var m=parseInt(v,10);if(isNaN(m)||m<0)throw new Error("Invalid number in diff_fromDelta: "+v);var w=i.substring(p,p+=m);I[h].charAt(0)=="="?g[l++]=new n.Diff(f,w):g[l++]=new n.Diff(r,w);break;default:if(I[h])throw new Error("Invalid diff operation in diff_fromDelta: "+I[h])}}if(p!=i.length)throw new Error("Delta length ("+p+") does not equal source text length ("+i.length+").");return g},n.prototype.match_main=function(i,c,g){if(i==null||c==null||g==null)throw new Error("Null input. (match_main)");return g=Math.max(0,Math.min(g,i.length)),i==c?0:i.length?i.substring(g,g+c.length)==c?g:this.match_bitap_(i,c,g):-1},n.prototype.match_bitap_=function(i,c,g){if(c.length>this.Match_MaxBits)throw new Error("Pattern too long for this browser.");var l=this.match_alphabet_(c),p=this;function I(J,ve){var oe=J/c.length,ce=Math.abs(g-ve);return p.Match_Distance?oe+ce/p.Match_Distance:ce?1:oe}var h=this.Match_Threshold,v=i.indexOf(c,g);v!=-1&&(h=Math.min(I(0,v),h),v=i.lastIndexOf(c,g+c.length),v!=-1&&(h=Math.min(I(0,v),h)));var m=1<<c.length-1;v=-1;for(var w,B,_=c.length+i.length,C,N=0;N<c.length;N++){for(w=0,B=_;w<B;)I(N,g+B)<=h?w=B:_=B,B=Math.floor((_-w)/2+w);_=B;var F=Math.max(1,g-B+1),L=Math.min(g+B,i.length)+c.length,x=Array(L+2);x[L+1]=(1<<N)-1;for(var U=L;U>=F;U--){var G=l[i.charAt(U-1)];if(N===0?x[U]=(x[U+1]<<1|1)&G:x[U]=(x[U+1]<<1|1)&G|((C[U+1]|C[U])<<1|1)|C[U+1],x[U]&m){var $=I(N,U-1);if($<=h)if(h=$,v=U-1,v>g)F=Math.max(1,2*g-v);else break}}if(I(N+1,g)>h)break;C=x}return v},n.prototype.match_alphabet_=function(i){for(var c={},g=0;g<i.length;g++)c[i.charAt(g)]=0;for(var g=0;g<i.length;g++)c[i.charAt(g)]|=1<<i.length-g-1;return c},n.prototype.patch_addContext_=function(i,c){if(c.length!=0){if(i.start2===null)throw Error("patch not initialized");for(var g=c.substring(i.start2,i.start2+i.length1),l=0;c.indexOf(g)!=c.lastIndexOf(g)&&g.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)l+=this.Patch_Margin,g=c.substring(i.start2-l,i.start2+i.length1+l);l+=this.Patch_Margin;var p=c.substring(i.start2-l,i.start2);p&&i.diffs.unshift(new n.Diff(f,p));var I=c.substring(i.start2+i.length1,i.start2+i.length1+l);I&&i.diffs.push(new n.Diff(f,I)),i.start1-=p.length,i.start2-=p.length,i.length1+=p.length+I.length,i.length2+=p.length+I.length}},n.prototype.patch_make=function(i,c,g){var l,p;if(typeof i=="string"&&typeof c=="string"&&typeof g=="undefined")l=i,p=this.diff_main(l,c,!0),p.length>2&&(this.diff_cleanupSemantic(p),this.diff_cleanupEfficiency(p));else if(i&&typeof i=="object"&&typeof c=="undefined"&&typeof g=="undefined")p=i,l=this.diff_text1(p);else if(typeof i=="string"&&c&&typeof c=="object"&&typeof g=="undefined")l=i,p=c;else if(typeof i=="string"&&typeof c=="string"&&g&&typeof g=="object")l=i,p=g;else throw new Error("Unknown call format to patch_make.");if(p.length===0)return[];for(var I=[],h=new n.patch_obj,v=0,m=0,w=0,B=l,_=l,C=0;C<p.length;C++){var N=p[C][0],F=p[C][1];switch(!v&&N!==f&&(h.start1=m,h.start2=w),N){case o:h.diffs[v++]=p[C],h.length2+=F.length,_=_.substring(0,w)+F+_.substring(w);break;case r:h.length1+=F.length,h.diffs[v++]=p[C],_=_.substring(0,w)+_.substring(w+F.length);break;case f:F.length<=2*this.Patch_Margin&&v&&p.length!=C+1?(h.diffs[v++]=p[C],h.length1+=F.length,h.length2+=F.length):F.length>=2*this.Patch_Margin&&v&&(this.patch_addContext_(h,B),I.push(h),h=new n.patch_obj,v=0,B=_,m=w);break}N!==o&&(m+=F.length),N!==r&&(w+=F.length)}return v&&(this.patch_addContext_(h,B),I.push(h)),I},n.prototype.patch_deepCopy=function(i){for(var c=[],g=0;g<i.length;g++){var l=i[g],p=new n.patch_obj;p.diffs=[];for(var I=0;I<l.diffs.length;I++)p.diffs[I]=new n.Diff(l.diffs[I][0],l.diffs[I][1]);p.start1=l.start1,p.start2=l.start2,p.length1=l.length1,p.length2=l.length2,c[g]=p}return c},n.prototype.patch_apply=function(i,c){if(i.length==0)return[c,[]];i=this.patch_deepCopy(i);var g=this.patch_addPadding(i);c=g+c+g,this.patch_splitMax(i);for(var l=0,p=[],I=0;I<i.length;I++){var h=i[I].start2+l,v=this.diff_text1(i[I].diffs),m,w=-1;if(v.length>this.Match_MaxBits?(m=this.match_main(c,v.substring(0,this.Match_MaxBits),h),m!=-1&&(w=this.match_main(c,v.substring(v.length-this.Match_MaxBits),h+v.length-this.Match_MaxBits),(w==-1||m>=w)&&(m=-1))):m=this.match_main(c,v,h),m==-1)p[I]=!1,l-=i[I].length2-i[I].length1;else{p[I]=!0,l=m-h;var B;if(w==-1?B=c.substring(m,m+v.length):B=c.substring(m,w+this.Match_MaxBits),v==B)c=c.substring(0,m)+this.diff_text2(i[I].diffs)+c.substring(m+v.length);else{var _=this.diff_main(v,B,!1);if(v.length>this.Match_MaxBits&&this.diff_levenshtein(_)/v.length>this.Patch_DeleteThreshold)p[I]=!1;else{this.diff_cleanupSemanticLossless(_);for(var C=0,N,F=0;F<i[I].diffs.length;F++){var L=i[I].diffs[F];L[0]!==f&&(N=this.diff_xIndex(_,C)),L[0]===o?c=c.substring(0,m+N)+L[1]+c.substring(m+N):L[0]===r&&(c=c.substring(0,m+N)+c.substring(m+this.diff_xIndex(_,C+L[1].length))),L[0]!==r&&(C+=L[1].length)}}}}}return c=c.substring(g.length,c.length-g.length),[c,p]},n.prototype.patch_addPadding=function(i){for(var c=this.Patch_Margin,g="",l=1;l<=c;l++)g+=String.fromCharCode(l);for(var l=0;l<i.length;l++)i[l].start1+=c,i[l].start2+=c;var p=i[0],I=p.diffs;if(I.length==0||I[0][0]!=f)I.unshift(new n.Diff(f,g)),p.start1-=c,p.start2-=c,p.length1+=c,p.length2+=c;else if(c>I[0][1].length){var h=c-I[0][1].length;I[0][1]=g.substring(I[0][1].length)+I[0][1],p.start1-=h,p.start2-=h,p.length1+=h,p.length2+=h}if(p=i[i.length-1],I=p.diffs,I.length==0||I[I.length-1][0]!=f)I.push(new n.Diff(f,g)),p.length1+=c,p.length2+=c;else if(c>I[I.length-1][1].length){var h=c-I[I.length-1][1].length;I[I.length-1][1]+=g.substring(0,h),p.length1+=h,p.length2+=h}return g},n.prototype.patch_splitMax=function(i){for(var c=this.Match_MaxBits,g=0;g<i.length;g++)if(!(i[g].length1<=c)){var l=i[g];i.splice(g--,1);for(var p=l.start1,I=l.start2,h="";l.diffs.length!==0;){var v=new n.patch_obj,m=!0;for(v.start1=p-h.length,v.start2=I-h.length,h!==""&&(v.length1=v.length2=h.length,v.diffs.push(new n.Diff(f,h)));l.diffs.length!==0&&v.length1<c-this.Patch_Margin;){var w=l.diffs[0][0],B=l.diffs[0][1];w===o?(v.length2+=B.length,I+=B.length,v.diffs.push(l.diffs.shift()),m=!1):w===r&&v.diffs.length==1&&v.diffs[0][0]==f&&B.length>2*c?(v.length1+=B.length,p+=B.length,m=!1,v.diffs.push(new n.Diff(w,B)),l.diffs.shift()):(B=B.substring(0,c-v.length1-this.Patch_Margin),v.length1+=B.length,p+=B.length,w===f?(v.length2+=B.length,I+=B.length):m=!1,v.diffs.push(new n.Diff(w,B)),B==l.diffs[0][1]?l.diffs.shift():l.diffs[0][1]=l.diffs[0][1].substring(B.length))}h=this.diff_text2(v.diffs),h=h.substring(h.length-this.Patch_Margin);var _=this.diff_text1(l.diffs).substring(0,this.Patch_Margin);_!==""&&(v.length1+=_.length,v.length2+=_.length,v.diffs.length!==0&&v.diffs[v.diffs.length-1][0]===f?v.diffs[v.diffs.length-1][1]+=_:v.diffs.push(new n.Diff(f,_))),m||i.splice(++g,0,v)}}},n.prototype.patch_toText=function(i){for(var c=[],g=0;g<i.length;g++)c[g]=i[g];return c.join("")},n.prototype.patch_fromText=function(i){var c=[];if(!i)return c;for(var g=i.split(`
|
|
29
|
-
`),l=0,p=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;l<g.length;){var I=g[l].match(p);if(!I)throw new Error("Invalid patch string: "+g[l]);var h=new n.patch_obj;for(c.push(h),h.start1=parseInt(I[1],10),I[2]===""?(h.start1--,h.length1=1):I[2]=="0"?h.length1=0:(h.start1--,h.length1=parseInt(I[2],10)),h.start2=parseInt(I[3],10),I[4]===""?(h.start2--,h.length2=1):I[4]=="0"?h.length2=0:(h.start2--,h.length2=parseInt(I[4],10)),l++;l<g.length;){var v=g[l].charAt(0);try{var m=decodeURI(g[l].substring(1))}catch(w){throw new Error("Illegal escape in patch_fromText: "+m)}if(v=="-")h.diffs.push(new n.Diff(r,m));else if(v=="+")h.diffs.push(new n.Diff(o,m));else if(v==" ")h.diffs.push(new n.Diff(f,m));else{if(v=="@")break;if(v!=="")throw new Error('Invalid patch mode "'+v+'" in: '+m)}l++}}return c},n.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0},n.patch_obj.prototype.toString=function(){var i,c;this.length1===0?i=this.start1+",0":this.length1==1?i=this.start1+1:i=this.start1+1+","+this.length1,this.length2===0?c=this.start2+",0":this.length2==1?c=this.start2+1:c=this.start2+1+","+this.length2;for(var g=["@@ -"+i+" +"+c+` @@
|
|
30
|
-
`],l,p=0;p<this.diffs.length;p++){switch(this.diffs[p][0]){case o:l="+";break;case r:l="-";break;case f:l=" ";break}g[p+1]=l+encodeURI(this.diffs[p][1])+`
|
|
31
|
-
`}return g.join("").replace(/%20/g," ")},a.exports=n,a.exports.diff_match_patch=n,a.exports.DIFF_DELETE=r,a.exports.DIFF_INSERT=o,a.exports.DIFF_EQUAL=f})(Ki);var yl=Ki.exports;const xs=Te(yl);var Es={exports:{}},Cs,Vi;function wl(){return Vi||(Vi=1,Cs={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}),Cs}var Fs,qi;function Wi(){if(qi)return Fs;qi=1;const a=wl(),n={};for(const f of Object.keys(a))n[a[f]]=f;const r={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};Fs=r;for(const f of Object.keys(r)){if(!("channels"in r[f]))throw new Error("missing channels property: "+f);if(!("labels"in r[f]))throw new Error("missing channel labels property: "+f);if(r[f].labels.length!==r[f].channels)throw new Error("channel and label counts mismatch: "+f);const{channels:i,labels:c}=r[f];delete r[f].channels,delete r[f].labels,Object.defineProperty(r[f],"channels",{value:i}),Object.defineProperty(r[f],"labels",{value:c})}r.rgb.hsl=function(f){const i=f[0]/255,c=f[1]/255,g=f[2]/255,l=Math.min(i,c,g),p=Math.max(i,c,g),I=p-l;let h,v;p===l?h=0:i===p?h=(c-g)/I:c===p?h=2+(g-i)/I:g===p&&(h=4+(i-c)/I),h=Math.min(h*60,360),h<0&&(h+=360);const m=(l+p)/2;return p===l?v=0:m<=.5?v=I/(p+l):v=I/(2-p-l),[h,v*100,m*100]},r.rgb.hsv=function(f){let i,c,g,l,p;const I=f[0]/255,h=f[1]/255,v=f[2]/255,m=Math.max(I,h,v),w=m-Math.min(I,h,v),B=function(_){return(m-_)/6/w+1/2};return w===0?(l=0,p=0):(p=w/m,i=B(I),c=B(h),g=B(v),I===m?l=g-c:h===m?l=1/3+i-g:v===m&&(l=2/3+c-i),l<0?l+=1:l>1&&(l-=1)),[l*360,p*100,m*100]},r.rgb.hwb=function(f){const i=f[0],c=f[1];let g=f[2];const l=r.rgb.hsl(f)[0],p=1/255*Math.min(i,Math.min(c,g));return g=1-1/255*Math.max(i,Math.max(c,g)),[l,p*100,g*100]},r.rgb.cmyk=function(f){const i=f[0]/255,c=f[1]/255,g=f[2]/255,l=Math.min(1-i,1-c,1-g),p=(1-i-l)/(1-l)||0,I=(1-c-l)/(1-l)||0,h=(1-g-l)/(1-l)||0;return[p*100,I*100,h*100,l*100]};function o(f,i){return Oe(f[0]-i[0],2)+Oe(f[1]-i[1],2)+Oe(f[2]-i[2],2)}return r.rgb.keyword=function(f){const i=n[f];if(i)return i;let c=1/0,g;for(const l of Object.keys(a)){const p=a[l],I=o(f,p);I<c&&(c=I,g=l)}return g},r.keyword.rgb=function(f){return a[f]},r.rgb.xyz=function(f){let i=f[0]/255,c=f[1]/255,g=f[2]/255;i=i>.04045?Oe((i+.055)/1.055,2.4):i/12.92,c=c>.04045?Oe((c+.055)/1.055,2.4):c/12.92,g=g>.04045?Oe((g+.055)/1.055,2.4):g/12.92;const l=i*.4124+c*.3576+g*.1805,p=i*.2126+c*.7152+g*.0722,I=i*.0193+c*.1192+g*.9505;return[l*100,p*100,I*100]},r.rgb.lab=function(f){const i=r.rgb.xyz(f);let c=i[0],g=i[1],l=i[2];c/=95.047,g/=100,l/=108.883,c=c>.008856?Oe(c,1/3):7.787*c+16/116,g=g>.008856?Oe(g,1/3):7.787*g+16/116,l=l>.008856?Oe(l,1/3):7.787*l+16/116;const p=116*g-16,I=500*(c-g),h=200*(g-l);return[p,I,h]},r.hsl.rgb=function(f){const i=f[0]/360,c=f[1]/100,g=f[2]/100;let l,p,I;if(c===0)return I=g*255,[I,I,I];g<.5?l=g*(1+c):l=g+c-g*c;const h=2*g-l,v=[0,0,0];for(let m=0;m<3;m++)p=i+1/3*-(m-1),p<0&&p++,p>1&&p--,6*p<1?I=h+(l-h)*6*p:2*p<1?I=l:3*p<2?I=h+(l-h)*(2/3-p)*6:I=h,v[m]=I*255;return v},r.hsl.hsv=function(f){const i=f[0];let c=f[1]/100,g=f[2]/100,l=c;const p=Math.max(g,.01);g*=2,c*=g<=1?g:2-g,l*=p<=1?p:2-p;const I=(g+c)/2,h=g===0?2*l/(p+l):2*c/(g+c);return[i,h*100,I*100]},r.hsv.rgb=function(f){const i=f[0]/60,c=f[1]/100;let g=f[2]/100;const l=Math.floor(i)%6,p=i-Math.floor(i),I=255*g*(1-c),h=255*g*(1-c*p),v=255*g*(1-c*(1-p));switch(g*=255,l){case 0:return[g,v,I];case 1:return[h,g,I];case 2:return[I,g,v];case 3:return[I,h,g];case 4:return[v,I,g];case 5:return[g,I,h]}},r.hsv.hsl=function(f){const i=f[0],c=f[1]/100,g=f[2]/100,l=Math.max(g,.01);let p,I;I=(2-c)*g;const h=(2-c)*l;return p=c*l,p/=h<=1?h:2-h,p=p||0,I/=2,[i,p*100,I*100]},r.hwb.rgb=function(f){const i=f[0]/360;let c=f[1]/100,g=f[2]/100;const l=c+g;let p;l>1&&(c/=l,g/=l);const I=Math.floor(6*i),h=1-g;p=6*i-I,I&1&&(p=1-p);const v=c+p*(h-c);let m,w,B;switch(I){default:case 6:case 0:m=h,w=v,B=c;break;case 1:m=v,w=h,B=c;break;case 2:m=c,w=h,B=v;break;case 3:m=c,w=v,B=h;break;case 4:m=v,w=c,B=h;break;case 5:m=h,w=c,B=v;break}return[m*255,w*255,B*255]},r.cmyk.rgb=function(f){const i=f[0]/100,c=f[1]/100,g=f[2]/100,l=f[3]/100,p=1-Math.min(1,i*(1-l)+l),I=1-Math.min(1,c*(1-l)+l),h=1-Math.min(1,g*(1-l)+l);return[p*255,I*255,h*255]},r.xyz.rgb=function(f){const i=f[0]/100,c=f[1]/100,g=f[2]/100;let l,p,I;return l=i*3.2406+c*-1.5372+g*-.4986,p=i*-.9689+c*1.8758+g*.0415,I=i*.0557+c*-.204+g*1.057,l=l>.0031308?1.055*Oe(l,1/2.4)-.055:l*12.92,p=p>.0031308?1.055*Oe(p,1/2.4)-.055:p*12.92,I=I>.0031308?1.055*Oe(I,1/2.4)-.055:I*12.92,l=Math.min(Math.max(0,l),1),p=Math.min(Math.max(0,p),1),I=Math.min(Math.max(0,I),1),[l*255,p*255,I*255]},r.xyz.lab=function(f){let i=f[0],c=f[1],g=f[2];i/=95.047,c/=100,g/=108.883,i=i>.008856?Oe(i,1/3):7.787*i+16/116,c=c>.008856?Oe(c,1/3):7.787*c+16/116,g=g>.008856?Oe(g,1/3):7.787*g+16/116;const l=116*c-16,p=500*(i-c),I=200*(c-g);return[l,p,I]},r.lab.xyz=function(f){const i=f[0],c=f[1],g=f[2];let l,p,I;p=(i+16)/116,l=c/500+p,I=p-g/200;const h=Oe(p,3),v=Oe(l,3),m=Oe(I,3);return p=h>.008856?h:(p-16/116)/7.787,l=v>.008856?v:(l-16/116)/7.787,I=m>.008856?m:(I-16/116)/7.787,l*=95.047,p*=100,I*=108.883,[l,p,I]},r.lab.lch=function(f){const i=f[0],c=f[1],g=f[2];let l;l=Math.atan2(g,c)*360/2/Math.PI,l<0&&(l+=360);const I=Math.sqrt(c*c+g*g);return[i,I,l]},r.lch.lab=function(f){const i=f[0],c=f[1],l=f[2]/360*2*Math.PI,p=c*Math.cos(l),I=c*Math.sin(l);return[i,p,I]},r.rgb.ansi16=function(f,i=null){const[c,g,l]=f;let p=i===null?r.rgb.hsv(f)[2]:i;if(p=Math.round(p/50),p===0)return 30;let I=30+(Math.round(l/255)<<2|Math.round(g/255)<<1|Math.round(c/255));return p===2&&(I+=60),I},r.hsv.ansi16=function(f){return r.rgb.ansi16(r.hsv.rgb(f),f[2])},r.rgb.ansi256=function(f){const i=f[0],c=f[1],g=f[2];return i===c&&c===g?i<8?16:i>248?231:Math.round((i-8)/247*24)+232:16+36*Math.round(i/255*5)+6*Math.round(c/255*5)+Math.round(g/255*5)},r.ansi16.rgb=function(f){let i=f%10;if(i===0||i===7)return f>50&&(i+=3.5),i=i/10.5*255,[i,i,i];const c=(~~(f>50)+1)*.5,g=(i&1)*c*255,l=(i>>1&1)*c*255,p=(i>>2&1)*c*255;return[g,l,p]},r.ansi256.rgb=function(f){if(f>=232){const p=(f-232)*10+8;return[p,p,p]}f-=16;let i;const c=Math.floor(f/36)/5*255,g=Math.floor((i=f%36)/6)/5*255,l=i%6/5*255;return[c,g,l]},r.rgb.hex=function(f){const c=(((Math.round(f[0])&255)<<16)+((Math.round(f[1])&255)<<8)+(Math.round(f[2])&255)).toString(16).toUpperCase();return"000000".substring(c.length)+c},r.hex.rgb=function(f){const i=f.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!i)return[0,0,0];let c=i[0];i[0].length===3&&(c=c.split("").map(h=>h+h).join(""));const g=parseInt(c,16),l=g>>16&255,p=g>>8&255,I=g&255;return[l,p,I]},r.rgb.hcg=function(f){const i=f[0]/255,c=f[1]/255,g=f[2]/255,l=Math.max(Math.max(i,c),g),p=Math.min(Math.min(i,c),g),I=l-p;let h,v;return I<1?h=p/(1-I):h=0,I<=0?v=0:l===i?v=(c-g)/I%6:l===c?v=2+(g-i)/I:v=4+(i-c)/I,v/=6,v%=1,[v*360,I*100,h*100]},r.hsl.hcg=function(f){const i=f[1]/100,c=f[2]/100,g=c<.5?2*i*c:2*i*(1-c);let l=0;return g<1&&(l=(c-.5*g)/(1-g)),[f[0],g*100,l*100]},r.hsv.hcg=function(f){const i=f[1]/100,c=f[2]/100,g=i*c;let l=0;return g<1&&(l=(c-g)/(1-g)),[f[0],g*100,l*100]},r.hcg.rgb=function(f){const i=f[0]/360,c=f[1]/100,g=f[2]/100;if(c===0)return[g*255,g*255,g*255];const l=[0,0,0],p=i%1*6,I=p%1,h=1-I;let v=0;switch(Math.floor(p)){case 0:l[0]=1,l[1]=I,l[2]=0;break;case 1:l[0]=h,l[1]=1,l[2]=0;break;case 2:l[0]=0,l[1]=1,l[2]=I;break;case 3:l[0]=0,l[1]=h,l[2]=1;break;case 4:l[0]=I,l[1]=0,l[2]=1;break;default:l[0]=1,l[1]=0,l[2]=h}return v=(1-c)*g,[(c*l[0]+v)*255,(c*l[1]+v)*255,(c*l[2]+v)*255]},r.hcg.hsv=function(f){const i=f[1]/100,c=f[2]/100,g=i+c*(1-i);let l=0;return g>0&&(l=i/g),[f[0],l*100,g*100]},r.hcg.hsl=function(f){const i=f[1]/100,g=f[2]/100*(1-i)+.5*i;let l=0;return g>0&&g<.5?l=i/(2*g):g>=.5&&g<1&&(l=i/(2*(1-g))),[f[0],l*100,g*100]},r.hcg.hwb=function(f){const i=f[1]/100,c=f[2]/100,g=i+c*(1-i);return[f[0],(g-i)*100,(1-g)*100]},r.hwb.hcg=function(f){const i=f[1]/100,g=1-f[2]/100,l=g-i;let p=0;return l<1&&(p=(g-l)/(1-l)),[f[0],l*100,p*100]},r.apple.rgb=function(f){return[f[0]/65535*255,f[1]/65535*255,f[2]/65535*255]},r.rgb.apple=function(f){return[f[0]/255*65535,f[1]/255*65535,f[2]/255*65535]},r.gray.rgb=function(f){return[f[0]/100*255,f[0]/100*255,f[0]/100*255]},r.gray.hsl=function(f){return[0,0,f[0]]},r.gray.hsv=r.gray.hsl,r.gray.hwb=function(f){return[0,100,f[0]]},r.gray.cmyk=function(f){return[0,0,0,f[0]]},r.gray.lab=function(f){return[f[0],0,0]},r.gray.hex=function(f){const i=Math.round(f[0]/100*255)&255,g=((i<<16)+(i<<8)+i).toString(16).toUpperCase();return"000000".substring(g.length)+g},r.rgb.gray=function(f){return[(f[0]+f[1]+f[2])/3/255*100]},Fs}var Ts,$i;function Rl(){if($i)return Ts;$i=1;const a=Wi();function n(){const i={},c=Object.keys(a);for(let g=c.length,l=0;l<g;l++)i[c[l]]={distance:-1,parent:null};return i}function r(i){const c=n(),g=[i];for(c[i].distance=0;g.length;){const l=g.pop(),p=Object.keys(a[l]);for(let I=p.length,h=0;h<I;h++){const v=p[h],m=c[v];m.distance===-1&&(m.distance=c[l].distance+1,m.parent=l,g.unshift(v))}}return c}function o(i,c){return function(g){return c(i(g))}}function f(i,c){const g=[c[i].parent,i];let l=a[c[i].parent][i],p=c[i].parent;for(;c[p].parent;)g.unshift(c[p].parent),l=o(a[c[p].parent][p],l),p=c[p].parent;return l.conversion=g,l}return Ts=function(i){const c=r(i),g={},l=Object.keys(c);for(let p=l.length,I=0;I<p;I++){const h=l[I];c[h].parent!==null&&(g[h]=f(h,c))}return g},Ts}var Ms,ji;function Ol(){if(ji)return Ms;ji=1;const a=Wi(),n=Rl(),r={},o=Object.keys(a);function f(c){const g=function(...l){const p=l[0];return p==null?p:(p.length>1&&(l=p),c(l))};return"conversion"in c&&(g.conversion=c.conversion),g}function i(c){const g=function(...l){const p=l[0];if(p==null)return p;p.length>1&&(l=p);const I=c(l);if(typeof I=="object")for(let h=I.length,v=0;v<h;v++)I[v]=Math.round(I[v]);return I};return"conversion"in c&&(g.conversion=c.conversion),g}return o.forEach(c=>{r[c]={},Object.defineProperty(r[c],"channels",{value:a[c].channels}),Object.defineProperty(r[c],"labels",{value:a[c].labels});const g=n(c);Object.keys(g).forEach(p=>{const I=g[p];r[c][p]=i(I),r[c][p].raw=f(I)})}),Ms=r,Ms}Es.exports,function(a){const n=(I,h)=>(...v)=>`\x1B[${I(...v)+h}m`,r=(I,h)=>(...v)=>{const m=I(...v);return`\x1B[${38+h};5;${m}m`},o=(I,h)=>(...v)=>{const m=I(...v);return`\x1B[${38+h};2;${m[0]};${m[1]};${m[2]}m`},f=I=>I,i=(I,h,v)=>[I,h,v],c=(I,h,v)=>{Object.defineProperty(I,h,{get:()=>{const m=v();return Object.defineProperty(I,h,{value:m,enumerable:!0,configurable:!0}),m},enumerable:!0,configurable:!0})};let g;const l=(I,h,v,m)=>{g===void 0&&(g=Ol());const w=m?10:0,B={};for(const[_,C]of Object.entries(g)){const N=_==="ansi16"?"ansi":_;_===h?B[N]=I(v,w):typeof C=="object"&&(B[N]=I(C[h],w))}return B};function p(){const I=new Map,h={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};h.color.gray=h.color.blackBright,h.bgColor.bgGray=h.bgColor.bgBlackBright,h.color.grey=h.color.blackBright,h.bgColor.bgGrey=h.bgColor.bgBlackBright;for(const[v,m]of Object.entries(h)){for(const[w,B]of Object.entries(m))h[w]={open:`\x1B[${B[0]}m`,close:`\x1B[${B[1]}m`},m[w]=h[w],I.set(B[0],B[1]);Object.defineProperty(h,v,{value:m,enumerable:!1})}return Object.defineProperty(h,"codes",{value:I,enumerable:!1}),h.color.close="\x1B[39m",h.bgColor.close="\x1B[49m",c(h.color,"ansi",()=>l(n,"ansi16",f,!1)),c(h.color,"ansi256",()=>l(r,"ansi256",f,!1)),c(h.color,"ansi16m",()=>l(o,"rgb",i,!1)),c(h.bgColor,"ansi",()=>l(n,"ansi16",f,!0)),c(h.bgColor,"ansi256",()=>l(r,"ansi256",f,!0)),c(h.bgColor,"ansi16m",()=>l(o,"rgb",i,!0)),h}Object.defineProperty(a,"exports",{enumerable:!0,get:p})}(Es);var Bl=Es.exports,Al={stdout:!1,stderr:!1},_l={stringReplaceAll:(a,n,r)=>{let o=a.indexOf(n);if(o===-1)return a;const f=n.length;let i=0,c="";do c+=a.substr(i,o-i)+n+r,i=o+f,o=a.indexOf(n,i);while(o!==-1);return c+=a.substr(i),c},stringEncaseCRLFWithFirstIndex:(a,n,r,o)=>{let f=0,i="";do{const c=a[o-1]==="\r";i+=a.substr(f,(c?o-1:o)-f)+n+(c?`\r
|
|
32
|
-
`:`
|
|
33
|
-
`)+r,f=o+1,o=a.indexOf(`
|
|
34
|
-
`,f)}while(o!==-1);return i+=a.substr(f),i}},Ps,Xi;function xl(){if(Xi)return Ps;Xi=1;const a=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,n=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,r=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,o=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,f=new Map([["n",`
|
|
35
|
-
`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function i(p){const I=p[0]==="u",h=p[1]==="{";return I&&!h&&p.length===5||p[0]==="x"&&p.length===3?String.fromCharCode(parseInt(p.slice(1),16)):I&&h?String.fromCodePoint(parseInt(p.slice(2,-1),16)):f.get(p)||p}function c(p,I){const h=[],v=I.trim().split(/\s*,\s*/g);let m;for(const w of v){const B=Number(w);if(!Number.isNaN(B))h.push(B);else if(m=w.match(r))h.push(m[2].replace(o,(_,C,N)=>C?i(C):N));else throw new Error(`Invalid Chalk template style argument: ${w} (in style '${p}')`)}return h}function g(p){n.lastIndex=0;const I=[];let h;for(;(h=n.exec(p))!==null;){const v=h[1];if(h[2]){const m=c(v,h[2]);I.push([v].concat(m))}else I.push([v])}return I}function l(p,I){const h={};for(const m of I)for(const w of m.styles)h[w[0]]=m.inverse?null:w.slice(1);let v=p;for(const[m,w]of Object.entries(h))if(Array.isArray(w)){if(!(m in v))throw new Error(`Unknown Chalk style: ${m}`);v=w.length>0?v[m](...w):v[m]}return v}return Ps=(p,I)=>{const h=[],v=[];let m=[];if(I.replace(a,(w,B,_,C,N,F)=>{if(B)m.push(i(B));else if(C){const L=m.join("");m=[],v.push(h.length===0?L:l(p,h)(L)),h.push({inverse:_,styles:g(C)})}else if(N){if(h.length===0)throw new Error("Found extraneous } in Chalk template literal");v.push(l(p,h)(m.join(""))),m=[],h.pop()}else m.push(F)}),v.push(m.join("")),h.length>0){const w=`Chalk template literal is missing ${h.length} closing bracket${h.length===1?"":"s"} (\`}\`)`;throw new Error(w)}return v.join("")},Ps}const Ar=Bl,{stdout:Us,stderr:ks}=Al,{stringReplaceAll:El,stringEncaseCRLFWithFirstIndex:Cl}=_l,{isArray:cn}=Array,zi=["ansi","ansi","ansi256","ansi16m"],or=Object.create(null),Fl=(a,n={})=>{if(n.level&&!(Number.isInteger(n.level)&&n.level>=0&&n.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const r=Us?Us.level:0;a.level=n.level===void 0?r:n.level};class Tl{constructor(n){return Ji(n)}}const Ji=a=>{const n={};return Fl(n,a),n.template=(...r)=>Qi(n.template,...r),Object.setPrototypeOf(n,gn.prototype),Object.setPrototypeOf(n.template,n),n.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},n.template.Instance=Tl,n.template};function gn(a){return Ji(a)}for(const[a,n]of Object.entries(Ar))or[a]={get(){const r=ln(this,Ds(n.open,n.close,this._styler),this._isEmpty);return Object.defineProperty(this,a,{value:r}),r}};or.visible={get(){const a=ln(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:a}),a}};const Zi=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(const a of Zi)or[a]={get(){const{level:n}=this;return function(...r){const o=Ds(Ar.color[zi[n]][a](...r),Ar.color.close,this._styler);return ln(this,o,this._isEmpty)}}};for(const a of Zi){const n="bg"+a[0].toUpperCase()+a.slice(1);or[n]={get(){const{level:r}=this;return function(...o){const f=Ds(Ar.bgColor[zi[r]][a](...o),Ar.bgColor.close,this._styler);return ln(this,f,this._isEmpty)}}}}const Ml=Object.defineProperties(()=>{},ye(ie({},or),{level:{enumerable:!0,get(){return this._generator.level},set(a){this._generator.level=a}}})),Ds=(a,n,r)=>{let o,f;return r===void 0?(o=a,f=n):(o=r.openAll+a,f=n+r.closeAll),{open:a,close:n,openAll:o,closeAll:f,parent:r}},ln=(a,n,r)=>{const o=(...f)=>cn(f[0])&&cn(f[0].raw)?Yi(o,Qi(o,...f)):Yi(o,f.length===1?""+f[0]:f.join(" "));return Object.setPrototypeOf(o,Ml),o._generator=a,o._styler=n,o._isEmpty=r,o},Yi=(a,n)=>{if(a.level<=0||!n)return a._isEmpty?"":n;let r=a._styler;if(r===void 0)return n;const{openAll:o,closeAll:f}=r;if(n.indexOf("\x1B")!==-1)for(;r!==void 0;)n=El(n,r.close,r.open),r=r.parent;const i=n.indexOf(`
|
|
36
|
-
`);return i!==-1&&(n=Cl(n,f,o,i)),o+n+f};let Hs;const Qi=(a,...n)=>{const[r]=n;if(!cn(r)||!cn(r.raw))return n.join(" ");const o=n.slice(1),f=[r.raw[0]];for(let i=1;i<r.length;i++)f.push(String(o[i-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[i]));return Hs===void 0&&(Hs=xl()),Hs(a,f.join(""))};Object.defineProperties(gn.prototype,or);const un=gn();un.supportsColor=Us,un.stderr=gn({level:ks?ks.level:0}),un.stderr.supportsColor=ks;var Pl=un;const eo=Te(Pl);var pt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(a){return typeof a}:function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},ze=function(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function")},It=function(){function a(n,r){for(var o=0;o<r.length;o++){var f=r[o];f.enumerable=f.enumerable||!1,f.configurable=!0,"value"in f&&(f.writable=!0),Object.defineProperty(n,f.key,f)}}return function(n,r,o){return r&&a(n.prototype,r),o&&a(n,o),n}}(),Ns=function a(n,r,o){n===null&&(n=Function.prototype);var f=Object.getOwnPropertyDescriptor(n,r);if(f===void 0){var i=Object.getPrototypeOf(n);return i===null?void 0:a(i,r,o)}else{if("value"in f)return f.value;var c=f.get;return c===void 0?void 0:c.call(o)}},qt=function(a,n){if(typeof n!="function"&&n!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof n);a.prototype=Object.create(n&&n.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),n&&(Object.setPrototypeOf?Object.setPrototypeOf(a,n):a.__proto__=n)},Wt=function(a,n){if(!a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return n&&(typeof n=="object"||typeof n=="function")?n:a},Ul=function(){function a(n){ze(this,a),this.selfOptions=n||{},this.pipes={}}return It(a,[{key:"options",value:function(r){return r&&(this.selfOptions=r),this.selfOptions}},{key:"pipe",value:function(r,o){var f=o;if(typeof r=="string"){if(typeof f=="undefined")return this.pipes[r];this.pipes[r]=f}if(r&&r.name){if(f=r,f.processor===this)return f;this.pipes[f.name]=f}return f.processor=this,f}},{key:"process",value:function(r,o){var f=r;f.options=this.options();for(var i=o||r.pipe||"default",c=void 0,g=void 0;i;)typeof f.nextAfterChildren!="undefined"&&(f.next=f.nextAfterChildren,f.nextAfterChildren=null),typeof i=="string"&&(i=this.pipe(i)),i.process(f),g=f,c=i,i=null,f&&f.next&&(f=f.next,i=g.nextPipe||f.pipe||c);return f.hasResult?f.result:void 0}}]),a}(),pn=function(){function a(n){ze(this,a),this.name=n,this.filters=[]}return It(a,[{key:"process",value:function(r){if(!this.processor)throw new Error("add this pipe to a processor before using it");for(var o=this.debug,f=this.filters.length,i=r,c=0;c<f;c++){var g=this.filters[c];if(o&&this.log("filter: "+g.filterName),g(i),(typeof i=="undefined"?"undefined":pt(i))==="object"&&i.exiting){i.exiting=!1;break}}!i.next&&this.resultCheck&&this.resultCheck(i)}},{key:"log",value:function(r){console.log("[jsondiffpatch] "+this.name+" pipe, "+r)}},{key:"append",value:function(){var r;return(r=this.filters).push.apply(r,arguments),this}},{key:"prepend",value:function(){var r;return(r=this.filters).unshift.apply(r,arguments),this}},{key:"indexOf",value:function(r){if(!r)throw new Error("a filter name is required");for(var o=0;o<this.filters.length;o++){var f=this.filters[o];if(f.filterName===r)return o}throw new Error("filter not found: "+r)}},{key:"list",value:function(){return this.filters.map(function(r){return r.filterName})}},{key:"after",value:function(r){var o=this.indexOf(r),f=Array.prototype.slice.call(arguments,1);if(!f.length)throw new Error("a filter is required");return f.unshift(o+1,0),Array.prototype.splice.apply(this.filters,f),this}},{key:"before",value:function(r){var o=this.indexOf(r),f=Array.prototype.slice.call(arguments,1);if(!f.length)throw new Error("a filter is required");return f.unshift(o,0),Array.prototype.splice.apply(this.filters,f),this}},{key:"replace",value:function(r){var o=this.indexOf(r),f=Array.prototype.slice.call(arguments,1);if(!f.length)throw new Error("a filter is required");return f.unshift(o,1),Array.prototype.splice.apply(this.filters,f),this}},{key:"remove",value:function(r){var o=this.indexOf(r);return this.filters.splice(o,1),this}},{key:"clear",value:function(){return this.filters.length=0,this}},{key:"shouldHaveResult",value:function(r){if(r===!1){this.resultCheck=null;return}if(!this.resultCheck){var o=this;return this.resultCheck=function(f){if(!f.hasResult){console.log(f);var i=new Error(o.name+" failed");throw i.noResult=!0,i}},this}}}]),a}(),In=function(){function a(){ze(this,a)}return It(a,[{key:"setResult",value:function(r){return this.result=r,this.hasResult=!0,this}},{key:"exit",value:function(){return this.exiting=!0,this}},{key:"switchTo",value:function(r,o){return typeof r=="string"||r instanceof pn?this.nextPipe=r:(this.next=r,o&&(this.nextPipe=o)),this}},{key:"push",value:function(r,o){return r.parent=this,typeof o!="undefined"&&(r.childName=o),r.root=this.root||this,r.options=r.options||this.options,this.children?(this.children[this.children.length-1].next=r,this.children.push(r)):(this.children=[r],this.nextAfterChildren=this.next||null,this.next=r),r.next=this,this}}]),a}(),kl=typeof Array.isArray=="function"?Array.isArray:function(a){return a instanceof Array};function Dl(a){var n=/^\/(.*)\/([gimyu]*)$/.exec(a.toString());return new RegExp(n[1],n[2])}function hn(a){if((typeof a=="undefined"?"undefined":pt(a))!=="object")return a;if(a===null)return null;if(kl(a))return a.map(hn);if(a instanceof Date)return new Date(a.getTime());if(a instanceof RegExp)return Dl(a);var n={};for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(n[r]=hn(a[r]));return n}var $t=function(a){qt(n,a);function n(r,o){ze(this,n);var f=Wt(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return f.left=r,f.right=o,f.pipe="diff",f}return It(n,[{key:"setResult",value:function(o){if(this.options.cloneDiffValues&&(typeof o=="undefined"?"undefined":pt(o))==="object"){var f=typeof this.options.cloneDiffValues=="function"?this.options.cloneDiffValues:hn;pt(o[0])==="object"&&(o[0]=f(o[0])),pt(o[1])==="object"&&(o[1]=f(o[1]))}return In.prototype.setResult.apply(this,arguments)}}]),n}(In),Ls=function(a){qt(n,a);function n(r,o){ze(this,n);var f=Wt(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return f.left=r,f.delta=o,f.pipe="patch",f}return n}(In),Gs=function(a){qt(n,a);function n(r){ze(this,n);var o=Wt(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return o.delta=r,o.pipe="reverse",o}return n}(In),dn=typeof Array.isArray=="function"?Array.isArray:function(a){return a instanceof Array},to=function(n){if(n.left===n.right){n.setResult(void 0).exit();return}if(typeof n.left=="undefined"){if(typeof n.right=="function")throw new Error("functions are not supported");n.setResult([n.right]).exit();return}if(typeof n.right=="undefined"){n.setResult([n.left,0,0]).exit();return}if(typeof n.left=="function"||typeof n.right=="function")throw new Error("functions are not supported");if(n.leftType=n.left===null?"null":pt(n.left),n.rightType=n.right===null?"null":pt(n.right),n.leftType!==n.rightType){n.setResult([n.left,n.right]).exit();return}if(n.leftType==="boolean"||n.leftType==="number"){n.setResult([n.left,n.right]).exit();return}if(n.leftType==="object"&&(n.leftIsArray=dn(n.left)),n.rightType==="object"&&(n.rightIsArray=dn(n.right)),n.leftIsArray!==n.rightIsArray){n.setResult([n.left,n.right]).exit();return}n.left instanceof RegExp&&(n.right instanceof RegExp?n.setResult([n.left.toString(),n.right.toString()]).exit():n.setResult([n.left,n.right]).exit())};to.filterName="trivial";var ro=function(n){if(typeof n.delta=="undefined"){n.setResult(n.left).exit();return}if(n.nested=!dn(n.delta),!n.nested){if(n.delta.length===1){n.setResult(n.delta[0]).exit();return}if(n.delta.length===2){if(n.left instanceof RegExp){var r=/^\/(.*)\/([gimyu]+)$/.exec(n.delta[1]);if(r){n.setResult(new RegExp(r[1],r[2])).exit();return}}n.setResult(n.delta[1]).exit();return}n.delta.length===3&&n.delta[2]===0&&n.setResult(void 0).exit()}};ro.filterName="trivial";var no=function(n){if(typeof n.delta=="undefined"){n.setResult(n.delta).exit();return}if(n.nested=!dn(n.delta),!n.nested){if(n.delta.length===1){n.setResult([n.delta[0],0,0]).exit();return}if(n.delta.length===2){n.setResult([n.delta[1],n.delta[0]]).exit();return}n.delta.length===3&&n.delta[2]===0&&n.setResult([n.delta[0]]).exit()}};no.filterName="trivial";function so(a){if(!(!a||!a.children)){for(var n=a.children.length,r=void 0,o=a.result,f=0;f<n;f++)r=a.children[f],typeof r.result!="undefined"&&(o=o||{},o[r.childName]=r.result);o&&a.leftIsArray&&(o._t="a"),a.setResult(o).exit()}}so.filterName="collectChildren";function ao(a){if(!(a.leftIsArray||a.leftType!=="object")){var n=void 0,r=void 0,o=a.options.propertyFilter;for(n in a.left)Object.prototype.hasOwnProperty.call(a.left,n)&&(o&&!o(n,a)||(r=new $t(a.left[n],a.right[n]),a.push(r,n)));for(n in a.right)Object.prototype.hasOwnProperty.call(a.right,n)&&(o&&!o(n,a)||typeof a.left[n]=="undefined"&&(r=new $t(void 0,a.right[n]),a.push(r,n)));if(!a.children||a.children.length===0){a.setResult(void 0).exit();return}a.exit()}}ao.filterName="objects";var io=function(n){if(n.nested&&!n.delta._t){var r=void 0,o=void 0;for(r in n.delta)o=new Ls(n.left[r],n.delta[r]),n.push(o,r);n.exit()}};io.filterName="objects";var oo=function(n){if(!(!n||!n.children)&&!n.delta._t){for(var r=n.children.length,o=void 0,f=0;f<r;f++)o=n.children[f],Object.prototype.hasOwnProperty.call(n.left,o.childName)&&o.result===void 0?delete n.left[o.childName]:n.left[o.childName]!==o.result&&(n.left[o.childName]=o.result);n.setResult(n.left).exit()}};oo.filterName="collectChildren";var fo=function(n){if(n.nested&&!n.delta._t){var r=void 0,o=void 0;for(r in n.delta)o=new Gs(n.delta[r]),n.push(o,r);n.exit()}};fo.filterName="objects";function co(a){if(!(!a||!a.children)&&!a.delta._t){for(var n=a.children.length,r=void 0,o={},f=0;f<n;f++)r=a.children[f],o[r.childName]!==r.result&&(o[r.childName]=r.result);a.setResult(o).exit()}}co.filterName="collectChildren";var Hl=function(n,r,o,f){return n[o]===r[f]},Nl=function(n,r,o,f){var i=n.length,c=r.length,g=void 0,l=void 0,p=[i+1];for(g=0;g<i+1;g++)for(p[g]=[c+1],l=0;l<c+1;l++)p[g][l]=0;for(p.match=o,g=1;g<i+1;g++)for(l=1;l<c+1;l++)o(n,r,g-1,l-1,f)?p[g][l]=p[g-1][l-1]+1:p[g][l]=Math.max(p[g-1][l],p[g][l-1]);return p},Ll=function(n,r,o,f){for(var i=r.length,c=o.length,g={sequence:[],indices1:[],indices2:[]};i!==0&&c!==0;){var l=n.match(r,o,i-1,c-1,f);if(l)g.sequence.unshift(r[i-1]),g.indices1.unshift(i-1),g.indices2.unshift(c-1),--i,--c;else{var p=n[i][c-1],I=n[i-1][c];p>I?--c:--i}}return g},Gl=function(n,r,o,f){var i=f||{},c=Nl(n,r,o||Hl,i),g=Ll(c,n,r,i);return typeof n=="string"&&typeof r=="string"&&(g.sequence=g.sequence.join("")),g},Kl={get:Gl},fr=3,go=typeof Array.isArray=="function"?Array.isArray:function(a){return a instanceof Array},lo=typeof Array.prototype.indexOf=="function"?function(a,n){return a.indexOf(n)}:function(a,n){for(var r=a.length,o=0;o<r;o++)if(a[o]===n)return o;return-1};function Vl(a,n,r,o){for(var f=0;f<r;f++)for(var i=a[f],c=0;c<o;c++){var g=n[c];if(f!==c&&i===g)return!0}}function vn(a,n,r,o,f){var i=a[r],c=n[o];if(i===c)return!0;if((typeof i=="undefined"?"undefined":pt(i))!=="object"||(typeof c=="undefined"?"undefined":pt(c))!=="object")return!1;var g=f.objectHash;if(!g)return f.matchByPosition&&r===o;var l=void 0,p=void 0;return typeof r=="number"?(f.hashCache1=f.hashCache1||[],l=f.hashCache1[r],typeof l=="undefined"&&(f.hashCache1[r]=l=g(i,r))):l=g(i),typeof l=="undefined"||(typeof o=="number"?(f.hashCache2=f.hashCache2||[],p=f.hashCache2[o],typeof p=="undefined"&&(f.hashCache2[o]=p=g(c,o))):p=g(c),typeof p=="undefined")?!1:l===p}var uo=function(n){if(n.leftIsArray){var r={objectHash:n.options&&n.options.objectHash,matchByPosition:n.options&&n.options.matchByPosition},o=0,f=0,i=void 0,c=void 0,g=void 0,l=n.left,p=n.right,I=l.length,h=p.length,v=void 0;for(I>0&&h>0&&!r.objectHash&&typeof r.matchByPosition!="boolean"&&(r.matchByPosition=!Vl(l,p,I,h));o<I&&o<h&&vn(l,p,o,o,r);)i=o,v=new $t(n.left[i],n.right[i]),n.push(v,i),o++;for(;f+o<I&&f+o<h&&vn(l,p,I-1-f,h-1-f,r);)c=I-1-f,g=h-1-f,v=new $t(n.left[c],n.right[g]),n.push(v,g),f++;var m=void 0;if(o+f===I){if(I===h){n.setResult(void 0).exit();return}for(m=m||{_t:"a"},i=o;i<h-f;i++)m[i]=[p[i]];n.setResult(m).exit();return}if(o+f===h){for(m=m||{_t:"a"},i=o;i<I-f;i++)m["_"+i]=[l[i],0,0];n.setResult(m).exit();return}delete r.hashCache1,delete r.hashCache2;var w=l.slice(o,I-f),B=p.slice(o,h-f),_=Kl.get(w,B,vn,r),C=[];for(m=m||{_t:"a"},i=o;i<I-f;i++)lo(_.indices1,i-o)<0&&(m["_"+i]=[l[i],0,0],C.push(i));var N=!0;n.options&&n.options.arrays&&n.options.arrays.detectMove===!1&&(N=!1);var F=!1;n.options&&n.options.arrays&&n.options.arrays.includeValueOnMove&&(F=!0);var L=C.length;for(i=o;i<h-f;i++){var x=lo(_.indices2,i-o);if(x<0){var U=!1;if(N&&L>0){for(var G=0;G<L;G++)if(c=C[G],vn(w,B,c-o,i-o,r)){m["_"+c].splice(1,2,i,fr),F||(m["_"+c][0]=""),g=i,v=new $t(n.left[c],n.right[g]),n.push(v,g),C.splice(G,1),U=!0;break}}U||(m[i]=[p[i]])}else c=_.indices1[x]+o,g=_.indices2[x]+o,v=new $t(n.left[c],n.right[g]),n.push(v,g)}n.setResult(m).exit()}};uo.filterName="arrays";var po={numerically:function(n,r){return n-r},numericallyBy:function(n){return function(r,o){return r[n]-o[n]}}},Io=function(n){if(n.nested&&n.delta._t==="a"){var r=void 0,o=void 0,f=n.delta,i=n.left,c=[],g=[],l=[];for(r in f)if(r!=="_t")if(r[0]==="_")if(f[r][2]===0||f[r][2]===fr)c.push(parseInt(r.slice(1),10));else throw new Error("only removal or move can be applied at original array indices,"+(" invalid diff type: "+f[r][2]));else f[r].length===1?g.push({index:parseInt(r,10),value:f[r][0]}):l.push({index:parseInt(r,10),delta:f[r]});for(c=c.sort(po.numerically),r=c.length-1;r>=0;r--){o=c[r];var p=f["_"+o],I=i.splice(o,1)[0];p[2]===fr&&g.push({index:p[1],value:I})}g=g.sort(po.numericallyBy("index"));var h=g.length;for(r=0;r<h;r++){var v=g[r];i.splice(v.index,0,v.value)}var m=l.length,w=void 0;if(m>0)for(r=0;r<m;r++){var B=l[r];w=new Ls(n.left[B.index],B.delta),n.push(w,B.index)}if(!n.children){n.setResult(n.left).exit();return}n.exit()}};Io.filterName="arrays";var ho=function(n){if(!(!n||!n.children)&&n.delta._t==="a"){for(var r=n.children.length,o=void 0,f=0;f<r;f++)o=n.children[f],n.left[o.childName]=o.result;n.setResult(n.left).exit()}};ho.filterName="arraysCollectChildren";var vo=function(n){if(!n.nested){n.delta[2]===fr&&(n.newName="_"+n.delta[1],n.setResult([n.delta[0],parseInt(n.childName.substr(1),10),fr]).exit());return}if(n.delta._t==="a"){var r=void 0,o=void 0;for(r in n.delta)r!=="_t"&&(o=new Gs(n.delta[r]),n.push(o,r));n.exit()}};vo.filterName="arrays";var ql=function(n,r,o){if(typeof r=="string"&&r[0]==="_")return parseInt(r.substr(1),10);if(go(o)&&o[2]===0)return"_"+r;var f=+r;for(var i in n){var c=n[i];if(go(c))if(c[2]===fr){var g=parseInt(i.substr(1),10),l=c[1];if(l===+r)return g;g<=f&&l>f?f++:g>=f&&l<f&&f--}else if(c[2]===0){var p=parseInt(i.substr(1),10);p<=f&&f++}else c.length===1&&i<=f&&f--}return f};function mo(a){if(!(!a||!a.children)&&a.delta._t==="a"){for(var n=a.children.length,r=void 0,o={_t:"a"},f=0;f<n;f++){r=a.children[f];var i=r.newName;typeof i=="undefined"&&(i=ql(a.delta,r.childName,r.result)),o[i]!==r.result&&(o[i]=r.result)}a.setResult(o).exit()}}mo.filterName="arraysCollectChildren";var So=function(n){n.left instanceof Date?(n.right instanceof Date?n.left.getTime()!==n.right.getTime()?n.setResult([n.left,n.right]):n.setResult(void 0):n.setResult([n.left,n.right]),n.exit()):n.right instanceof Date&&n.setResult([n.left,n.right]).exit()};So.filterName="dates";var mn=2,Wl=60,Ks=null,bo=function(n){if(!Ks){var r=void 0;if(typeof diff_match_patch!="undefined")r=typeof diff_match_patch=="function"?new diff_match_patch:new diff_match_patch.diff_match_patch;else if(xs)try{r=xs&&new xs}catch(f){r=null}if(!r){if(!n)return null;var o=new Error("text diff_match_patch library not found");throw o.diff_match_patch_not_found=!0,o}Ks={diff:function(i,c){return r.patch_toText(r.patch_make(i,c))},patch:function(i,c){for(var g=r.patch_apply(r.patch_fromText(c),i),l=0;l<g[1].length;l++)if(!g[1][l]){var p=new Error("text patch failed");p.textPatchFailed=!0}return g[0]}}}return Ks},yo=function(n){if(n.leftType==="string"){var r=n.options&&n.options.textDiff&&n.options.textDiff.minLength||Wl;if(n.left.length<r||n.right.length<r){n.setResult([n.left,n.right]).exit();return}var o=bo();if(!o){n.setResult([n.left,n.right]).exit();return}var f=o.diff;n.setResult([f(n.left,n.right),0,mn]).exit()}};yo.filterName="texts";var wo=function(n){if(!n.nested&&n.delta[2]===mn){var r=bo(!0).patch;n.setResult(r(n.left,n.delta[0])).exit()}};wo.filterName="texts";var $l=function(n){var r=void 0,o=void 0,f=void 0,i=void 0,c=void 0,g=null,l=/^@@ +-(\d+),(\d+) +\+(\d+),(\d+) +@@$/,p=void 0;for(f=n.split(`
|
|
37
|
-
`),r=0,o=f.length;r<o;r++){i=f[r];var I=i.slice(0,1);I==="@"?(g=l.exec(i),p=r,f[p]="@@ -"+g[3]+","+g[4]+" +"+g[1]+","+g[2]+" @@"):I==="+"?(f[r]="-"+f[r].slice(1),f[r-1].slice(0,1)==="+"&&(c=f[r],f[r]=f[r-1],f[r-1]=c)):I==="-"&&(f[r]="+"+f[r].slice(1))}return f.join(`
|
|
38
|
-
`)},Ro=function(n){n.nested||n.delta[2]===mn&&n.setResult([$l(n.delta[0]),0,mn]).exit()};Ro.filterName="texts";var Vs=function(){function a(n){ze(this,a),this.processor=new Ul(n),this.processor.pipe(new pn("diff").append(so,to,So,yo,ao,uo).shouldHaveResult()),this.processor.pipe(new pn("patch").append(oo,ho,ro,wo,io,Io).shouldHaveResult()),this.processor.pipe(new pn("reverse").append(co,mo,no,Ro,fo,vo).shouldHaveResult())}return It(a,[{key:"options",value:function(){var r;return(r=this.processor).options.apply(r,arguments)}},{key:"diff",value:function(r,o){return this.processor.process(new $t(r,o))}},{key:"patch",value:function(r,o){return this.processor.process(new Ls(r,o))}},{key:"reverse",value:function(r){return this.processor.process(new Gs(r))}},{key:"unpatch",value:function(r,o){return this.patch(r,this.reverse(o))}},{key:"clone",value:function(r){return hn(r)}}]),a}(),qs=typeof Array.isArray=="function"?Array.isArray:function(a){return a instanceof Array},jl=typeof Object.keys=="function"?function(a){return Object.keys(a)}:function(a){var n=[];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&n.push(r);return n},Xl=function(n){return n.substr(0,1)==="_"?n.slice(1):n},Oo=function(n){return n==="_t"?-1:n.substr(0,1)==="_"?parseInt(n.slice(1),10):parseInt(n,10)+.1},zl=function(n,r){return Oo(n)-Oo(r)},Sn=function(){function a(){ze(this,a)}return It(a,[{key:"format",value:function(r,o){var f={};return this.prepareContext(f),this.recurse(f,r,o),this.finalize(f)}},{key:"prepareContext",value:function(r){r.buffer=[],r.out=function(){var o;(o=this.buffer).push.apply(o,arguments)}}},{key:"typeFormattterNotFound",value:function(r,o){throw new Error("cannot format delta type: "+o)}},{key:"typeFormattterErrorFormatter",value:function(r,o){return o.toString()}},{key:"finalize",value:function(r){var o=r.buffer;if(qs(o))return o.join("")}},{key:"recurse",value:function(r,o,f,i,c,g,l){var p=o&&g,I=p?g.value:f;if(!(typeof o=="undefined"&&typeof i=="undefined")){var h=this.getDeltaType(o,g),v=h==="node"?o._t==="a"?"array":"object":"";typeof i!="undefined"?this.nodeBegin(r,i,c,h,v,l):this.rootBegin(r,h,v);var m=void 0;try{m=this["format_"+h]||this.typeFormattterNotFound(r,h),m.call(this,r,o,I,i,c,g)}catch(w){this.typeFormattterErrorFormatter(r,w,o,I,i,c,g),typeof console!="undefined"&&console.error&&console.error(w.stack)}typeof i!="undefined"?this.nodeEnd(r,i,c,h,v,l):this.rootEnd(r,h,v)}}},{key:"formatDeltaChildren",value:function(r,o,f){var i=this;this.forEachDeltaKey(o,f,function(c,g,l,p){i.recurse(r,o[c],f?f[g]:void 0,c,g,l,p)})}},{key:"forEachDeltaKey",value:function(r,o,f){var i=jl(r),c=r._t==="a",g={},l=void 0;if(typeof o!="undefined")for(l in o)Object.prototype.hasOwnProperty.call(o,l)&&typeof r[l]=="undefined"&&(!c||typeof r["_"+l]=="undefined")&&i.push(l);for(l in r)if(Object.prototype.hasOwnProperty.call(r,l)){var p=r[l];qs(p)&&p[2]===3&&(g[p[1].toString()]={key:l,value:o&&o[parseInt(l.substr(1))]},this.includeMoveDestinations!==!1&&typeof o=="undefined"&&typeof r[p[1]]=="undefined"&&i.push(p[1].toString()))}c?i.sort(zl):i.sort();for(var I=0,h=i.length;I<h;I++){var v=i[I];if(!(c&&v==="_t")){var m=c?typeof v=="number"?v:parseInt(Xl(v),10):v,w=I===h-1;f(v,m,g[m],w)}}}},{key:"getDeltaType",value:function(r,o){if(typeof r=="undefined")return typeof o!="undefined"?"movedestination":"unchanged";if(qs(r)){if(r.length===1)return"added";if(r.length===2)return"modified";if(r.length===3&&r[2]===0)return"deleted";if(r.length===3&&r[2]===2)return"textdiff";if(r.length===3&&r[2]===3)return"moved"}else if((typeof r=="undefined"?"undefined":pt(r))==="object")return"node";return"unknown"}},{key:"parseTextDiff",value:function(r){for(var o=[],f=r.split(`
|
|
39
|
-
@@ `),i=0,c=f.length;i<c;i++){var g=f[i],l={pieces:[]},p=/^(?:@@ )?[-+]?(\d+),(\d+)/.exec(g).slice(1);l.location={line:p[0],chr:p[1]};for(var I=g.split(`
|
|
40
|
-
`).slice(1),h=0,v=I.length;h<v;h++){var m=I[h];if(m.length){var w={type:"context"};m.substr(0,1)==="+"?w.type="added":m.substr(0,1)==="-"&&(w.type="deleted"),w.text=m.slice(1),l.pieces.push(w)}}o.push(l)}return o}}]),a}();(function(a){qt(n,a);function n(){return ze(this,n),Wt(this,(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments))}return It(n,[{key:"typeFormattterErrorFormatter",value:function(o,f){o.out('<pre class="jsondiffpatch-error">'+f+"</pre>")}},{key:"formatValue",value:function(o,f){o.out("<pre>"+Bo(JSON.stringify(f,null,2))+"</pre>")}},{key:"formatTextDiffString",value:function(o,f){var i=this.parseTextDiff(f);o.out('<ul class="jsondiffpatch-textdiff">');for(var c=0,g=i.length;c<g;c++){var l=i[c];o.out('<li><div class="jsondiffpatch-textdiff-location">'+('<span class="jsondiffpatch-textdiff-line-number">'+l.location.line+'</span><span class="jsondiffpatch-textdiff-char">'+l.location.chr+'</span></div><div class="jsondiffpatch-textdiff-line">'));for(var p=l.pieces,I=0,h=p.length;I<h;I++){var v=p[I];o.out('<span class="jsondiffpatch-textdiff-'+v.type+'">'+Bo(decodeURI(v.text))+"</span>")}o.out("</div></li>")}o.out("</ul>")}},{key:"rootBegin",value:function(o,f,i){var c="jsondiffpatch-"+f+(i?" jsondiffpatch-child-node-type-"+i:"");o.out('<div class="jsondiffpatch-delta '+c+'">')}},{key:"rootEnd",value:function(o){o.out("</div>"+(o.hasArrows?'<script type="text/javascript">setTimeout('+(Jl.toString()+",10);<\/script>"):""))}},{key:"nodeBegin",value:function(o,f,i,c,g){var l="jsondiffpatch-"+c+(g?" jsondiffpatch-child-node-type-"+g:"");o.out('<li class="'+l+'" data-key="'+i+'">'+('<div class="jsondiffpatch-property-name">'+i+"</div>"))}},{key:"nodeEnd",value:function(o){o.out("</li>")}},{key:"format_unchanged",value:function(o,f,i){typeof i!="undefined"&&(o.out('<div class="jsondiffpatch-value">'),this.formatValue(o,i),o.out("</div>"))}},{key:"format_movedestination",value:function(o,f,i){typeof i!="undefined"&&(o.out('<div class="jsondiffpatch-value">'),this.formatValue(o,i),o.out("</div>"))}},{key:"format_node",value:function(o,f,i){var c=f._t==="a"?"array":"object";o.out('<ul class="jsondiffpatch-node jsondiffpatch-node-type-'+c+'">'),this.formatDeltaChildren(o,f,i),o.out("</ul>")}},{key:"format_added",value:function(o,f){o.out('<div class="jsondiffpatch-value">'),this.formatValue(o,f[0]),o.out("</div>")}},{key:"format_modified",value:function(o,f){o.out('<div class="jsondiffpatch-value jsondiffpatch-left-value">'),this.formatValue(o,f[0]),o.out('</div><div class="jsondiffpatch-value jsondiffpatch-right-value">'),this.formatValue(o,f[1]),o.out("</div>")}},{key:"format_deleted",value:function(o,f){o.out('<div class="jsondiffpatch-value">'),this.formatValue(o,f[0]),o.out("</div>")}},{key:"format_moved",value:function(o,f){o.out('<div class="jsondiffpatch-value">'),this.formatValue(o,f[0]),o.out('</div><div class="jsondiffpatch-moved-destination">'+f[1]+"</div>"),o.out(`<div class="jsondiffpatch-arrow" style="position: relative; left: -34px;">
|
|
41
|
-
<svg width="30" height="60" style="position: absolute; display: none;">
|
|
42
|
-
<defs>
|
|
43
|
-
<marker id="markerArrow" markerWidth="8" markerHeight="8"
|
|
44
|
-
refx="2" refy="4"
|
|
45
|
-
orient="auto" markerUnits="userSpaceOnUse">
|
|
46
|
-
<path d="M1,1 L1,7 L7,4 L1,1" style="fill: #339;" />
|
|
47
|
-
</marker>
|
|
48
|
-
</defs>
|
|
49
|
-
<path d="M30,0 Q-10,25 26,50"
|
|
50
|
-
style="stroke: #88f; stroke-width: 2px; fill: none; stroke-opacity: 0.5; marker-end: url(#markerArrow);"
|
|
51
|
-
></path>
|
|
52
|
-
</svg>
|
|
53
|
-
</div>`),o.hasArrows=!0}},{key:"format_textdiff",value:function(o,f){o.out('<div class="jsondiffpatch-value">'),this.formatTextDiffString(o,f[0]),o.out("</div>")}}]),n})(Sn);function Bo(a){for(var n=a,r=[[/&/g,"&"],[/</g,"<"],[/>/g,">"],[/'/g,"'"],[/"/g,"""]],o=0;o<r.length;o++)n=n.replace(r[o][0],r[o][1]);return n}var Jl=function(n){var r=n||document,o=function(g){var l=g.textContent,p=g.innerText;return l||p},f=function(g,l,p){for(var I=g.querySelectorAll(l),h=0,v=I.length;h<v;h++)p(I[h])},i=function(g,l){for(var p=g.children,I=0,h=p.length;I<h;I++)l(p[I],I)};f(r,".jsondiffpatch-arrow",function(c){var g=c.parentNode,l=c.children,p=c.style,I=g,h=l[0],v=h.children[1];h.style.display="none";var m=o(I.querySelector(".jsondiffpatch-moved-destination")),w=I.parentNode,B=void 0;if(i(w,function(N){N.getAttribute("data-key")===m&&(B=N)}),!!B)try{var _=B.offsetTop-I.offsetTop;h.setAttribute("height",Math.abs(_)+6),p.top=-8+(_>0?0:_)+"px";var C=_>0?"M30,0 Q-10,"+Math.round(_/2)+" 26,"+(_-4):"M30,"+-_+" Q-10,"+Math.round(-_/2)+" 26,4";v.setAttribute("d",C),h.style.display=""}catch(N){}})},_r=function(a){qt(n,a);function n(){ze(this,n);var r=Wt(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return r.includeMoveDestinations=!1,r}return It(n,[{key:"prepareContext",value:function(o){Ns(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"prepareContext",this).call(this,o),o.indent=function(f){this.indentLevel=(this.indentLevel||0)+(typeof f=="undefined"?1:f),this.indentPad=new Array(this.indentLevel+1).join(" ")},o.row=function(f,i){o.out('<tr><td style="white-space: nowrap;"><pre class="jsondiffpatch-annotated-indent" style="display: inline-block">'),o.out(o.indentPad),o.out('</pre><pre style="display: inline-block">'),o.out(f),o.out('</pre></td><td class="jsondiffpatch-delta-note"><div>'),o.out(i),o.out("</div></td></tr>")}}},{key:"typeFormattterErrorFormatter",value:function(o,f){o.row("",'<pre class="jsondiffpatch-error">'+f+"</pre>")}},{key:"formatTextDiffString",value:function(o,f){var i=this.parseTextDiff(f);o.out('<ul class="jsondiffpatch-textdiff">');for(var c=0,g=i.length;c<g;c++){var l=i[c];o.out('<li><div class="jsondiffpatch-textdiff-location">'+('<span class="jsondiffpatch-textdiff-line-number">'+l.location.line+'</span><span class="jsondiffpatch-textdiff-char">'+l.location.chr+'</span></div><div class="jsondiffpatch-textdiff-line">'));for(var p=l.pieces,I=0,h=p.length;I<h;I++){var v=p[I];o.out('<span class="jsondiffpatch-textdiff-'+v.type+'">'+v.text+"</span>")}o.out("</div></li>")}o.out("</ul>")}},{key:"rootBegin",value:function(o,f,i){o.out('<table class="jsondiffpatch-annotated-delta">'),f==="node"&&(o.row("{"),o.indent()),i==="array"&&o.row('"_t": "a",',"Array delta (member names indicate array indices)")}},{key:"rootEnd",value:function(o,f){f==="node"&&(o.indent(-1),o.row("}")),o.out("</table>")}},{key:"nodeBegin",value:function(o,f,i,c,g){o.row("""+f+"": {"),c==="node"&&o.indent(),g==="array"&&o.row('"_t": "a",',"Array delta (member names indicate array indices)")}},{key:"nodeEnd",value:function(o,f,i,c,g,l){c==="node"&&o.indent(-1),o.row("}"+(l?"":","))}},{key:"format_unchanged",value:function(){}},{key:"format_movedestination",value:function(){}},{key:"format_node",value:function(o,f,i){this.formatDeltaChildren(o,f,i)}}]),n}(Sn),bn=function(n){return'<pre style="display:inline-block">"'+n+""</pre>"},Zl={added:function(n,r,o,f){var i=" <pre>([newValue])</pre>";return typeof f=="undefined"?"new value"+i:typeof f=="number"?"insert at index "+f+i:"add property "+bn(f)+i},modified:function(n,r,o,f){var i=" <pre>([previousValue, newValue])</pre>";return typeof f=="undefined"?"modify value"+i:typeof f=="number"?"modify at index "+f+i:"modify property "+bn(f)+i},deleted:function(n,r,o,f){var i=" <pre>([previousValue, 0, 0])</pre>";return typeof f=="undefined"?"delete value"+i:typeof f=="number"?"remove index "+f+i:"delete property "+bn(f)+i},moved:function(n,r,o,f){return'move from <span title="(position to remove at original state)">'+("index "+f+'</span> to <span title="(position to insert at final')+(' state)">index '+n[1]+"</span>")},textdiff:function(n,r,o,f){var i=typeof f=="undefined"?"":typeof f=="number"?" at index "+f:" at property "+bn(f);return"text diff"+i+', format is <a href="https://code.google.com/p/google-diff-match-patch/wiki/Unidiff">a variation of Unidiff</a>'}},xr=function(n,r){var o=this.getDeltaType(r),f=Zl[o],i=f&&f.apply(f,Array.prototype.slice.call(arguments,1)),c=JSON.stringify(r,null,2);o==="textdiff"&&(c=c.split("\\n").join(`\\n"+
|
|
54
|
-
"`)),n.indent(),n.row(c,i),n.indent(-1)};_r.prototype.format_added=xr,_r.prototype.format_modified=xr,_r.prototype.format_deleted=xr,_r.prototype.format_moved=xr,_r.prototype.format_textdiff=xr;var yn={add:"add",remove:"remove",replace:"replace",move:"move"};(function(a){qt(n,a);function n(){ze(this,n);var r=Wt(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return r.includeMoveDestinations=!0,r}return It(n,[{key:"prepareContext",value:function(o){Ns(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"prepareContext",this).call(this,o),o.result=[],o.path=[],o.pushCurrentOp=function(f){var i=f.op,c=f.value,g={op:i,path:this.currentPath()};typeof c!="undefined"&&(g.value=c),this.result.push(g)},o.pushMoveOp=function(f){var i=this.currentPath();this.result.push({op:yn.move,from:i,path:this.toPath(f)})},o.currentPath=function(){return"/"+this.path.join("/")},o.toPath=function(f){var i=this.path.slice();return i[i.length-1]=f,"/"+i.join("/")}}},{key:"typeFormattterErrorFormatter",value:function(o,f){o.out("[ERROR] "+f)}},{key:"rootBegin",value:function(){}},{key:"rootEnd",value:function(){}},{key:"nodeBegin",value:function(o,f,i){var c=o.path;c.push(i)}},{key:"nodeEnd",value:function(o){var f=o.path;f.pop()}},{key:"format_unchanged",value:function(){}},{key:"format_movedestination",value:function(){}},{key:"format_node",value:function(o,f,i){this.formatDeltaChildren(o,f,i)}},{key:"format_added",value:function(o,f){o.pushCurrentOp({op:yn.add,value:f[0]})}},{key:"format_modified",value:function(o,f){o.pushCurrentOp({op:yn.replace,value:f[1]})}},{key:"format_deleted",value:function(o){o.pushCurrentOp({op:yn.remove})}},{key:"format_moved",value:function(o,f){var i=f[1];o.pushMoveOp(i)}},{key:"format_textdiff",value:function(){throw new Error("Not implemented")}},{key:"format",value:function(o,f){var i={};return this.prepareContext(i),this.recurse(i,o,f),i.result}}]),n})(Sn);function jt(a){return eo&&eo[a]||function(){for(var n=arguments.length,r=Array(n),o=0;o<n;o++)r[o]=arguments[o];return r}}var Xt={added:jt("green"),deleted:jt("red"),movedestination:jt("gray"),moved:jt("yellow"),unchanged:jt("gray"),error:jt("white.bgRed"),textDiffLine:jt("gray")};(function(a){qt(n,a);function n(){ze(this,n);var r=Wt(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return r.includeMoveDestinations=!1,r}return It(n,[{key:"prepareContext",value:function(o){Ns(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"prepareContext",this).call(this,o),o.indent=function(f){this.indentLevel=(this.indentLevel||0)+(typeof f=="undefined"?1:f),this.indentPad=new Array(this.indentLevel+1).join(" "),this.outLine()},o.outLine=function(){this.buffer.push(`
|
|
55
|
-
`+(this.indentPad||""))},o.out=function(){for(var f=arguments.length,i=Array(f),c=0;c<f;c++)i[c]=arguments[c];for(var g=0,l=i.length;g<l;g++){var p=i[g].split(`
|
|
56
|
-
`),I=p.join(`
|
|
57
|
-
`+(this.indentPad||""));this.color&&this.color[0]&&(I=this.color[0](I)),this.buffer.push(I)}},o.pushColor=function(f){this.color=this.color||[],this.color.unshift(f)},o.popColor=function(){this.color=this.color||[],this.color.shift()}}},{key:"typeFormattterErrorFormatter",value:function(o,f){o.pushColor(Xt.error),o.out("[ERROR]"+f),o.popColor()}},{key:"formatValue",value:function(o,f){o.out(JSON.stringify(f,null,2))}},{key:"formatTextDiffString",value:function(o,f){var i=this.parseTextDiff(f);o.indent();for(var c=0,g=i.length;c<g;c++){var l=i[c];o.pushColor(Xt.textDiffLine),o.out(l.location.line+","+l.location.chr+" "),o.popColor();for(var p=l.pieces,I=0,h=p.length;I<h;I++){var v=p[I];o.pushColor(Xt[v.type]),o.out(v.text),o.popColor()}c<g-1&&o.outLine()}o.indent(-1)}},{key:"rootBegin",value:function(o,f,i){o.pushColor(Xt[f]),f==="node"&&(o.out(i==="array"?"[":"{"),o.indent())}},{key:"rootEnd",value:function(o,f,i){f==="node"&&(o.indent(-1),o.out(i==="array"?"]":"}")),o.popColor()}},{key:"nodeBegin",value:function(o,f,i,c,g){o.pushColor(Xt[c]),o.out(i+": "),c==="node"&&(o.out(g==="array"?"[":"{"),o.indent())}},{key:"nodeEnd",value:function(o,f,i,c,g,l){c==="node"&&(o.indent(-1),o.out(g==="array"?"]":"}"+(l?"":","))),l||o.outLine(),o.popColor()}},{key:"format_unchanged",value:function(o,f,i){typeof i!="undefined"&&this.formatValue(o,i)}},{key:"format_movedestination",value:function(o,f,i){typeof i!="undefined"&&this.formatValue(o,i)}},{key:"format_node",value:function(o,f,i){this.formatDeltaChildren(o,f,i)}},{key:"format_added",value:function(o,f){this.formatValue(o,f[0])}},{key:"format_modified",value:function(o,f){o.pushColor(Xt.deleted),this.formatValue(o,f[0]),o.popColor(),o.out(" => "),o.pushColor(Xt.added),this.formatValue(o,f[1]),o.popColor()}},{key:"format_deleted",value:function(o,f){this.formatValue(o,f[0])}},{key:"format_moved",value:function(o,f){o.out("==> "+f[1])}},{key:"format_textdiff",value:function(o,f){this.formatTextDiffString(o,f[0])}}]),n})(Sn);var Je=void 0;function Yl(){return Je||(Je=new Vs),Je.diff.apply(Je,arguments)}function Ql(){return Je||(Je=new Vs),Je.patch.apply(Je,arguments)}function eu(){return Je||(Je=new Vs),Je.reverse.apply(Je,arguments)}const k={A:{value:"A",name:"Alanine",threeLettersName:"Ala",hydrophobicity:1.8,colorByFamily:"#00FFFF",color:"hsl(327.3, 100%, 69%)",mass:89.1},R:{value:"R",name:"Arginine",threeLettersName:"Arg",hydrophobicity:-4.5,colorByFamily:"#FFC0CB",color:"hsl(258.1, 100%, 69%)",mass:174.2},N:{value:"N",name:"Asparagine",threeLettersName:"Asn",hydrophobicity:-3.5,colorByFamily:"#D3D3D3",color:"hsl(268.9, 100%, 69%)",mass:132.1},D:{value:"D",name:"Aspartic acid",threeLettersName:"Asp",hydrophobicity:-3.5,colorByFamily:"#EE82EE",color:"hsl(268.9, 100%, 69%)",mass:133.1},C:{value:"C",name:"Cysteine",threeLettersName:"Cys",hydrophobicity:2.5,colorByFamily:"#FFFF00",color:"hsl(335.1, 100%, 69%)",mass:121.2},E:{value:"E",name:"Glutamic acid",threeLettersName:"Glu",hydrophobicity:-3.5,colorByFamily:"#EE82EE",color:"hsl(268.9, 100%, 69%)",mass:147.1},Q:{value:"Q",name:"Glutamine",threeLettersName:"Gln",hydrophobicity:-3.5,colorByFamily:"#D3D3D3",color:"hsl(268.9, 100%, 69%)",mass:146.2},G:{value:"G",name:"Glycine",threeLettersName:"Gly",hydrophobicity:-.4,colorByFamily:"#00FFFF",color:"hsl(303.1, 100%, 69%)",mass:75.1},H:{value:"H",name:"Histidine",threeLettersName:"His",hydrophobicity:-3.2,colorByFamily:"#FFC0CB",color:"hsl(272.2, 100%, 69%)",mass:155.2},I:{value:"I",name:"Isoleucine ",threeLettersName:"Ile",hydrophobicity:4.5,colorByFamily:"#00FFFF",color:"hsl(356.9, 100%, 69%)",mass:131.2},L:{value:"L",name:"Leucine",threeLettersName:"Leu",hydrophobicity:3.8,colorByFamily:"#00FFFF",color:"hsl(349.4, 100%, 69%)",mass:131.2},K:{value:"K",name:"Lysine",threeLettersName:"Lys",hydrophobicity:-3.9,colorByFamily:"#FFC0CB",color:"hsl(264.7, 100%, 69%)",mass:146.2},M:{value:"M",name:"Methionine",threeLettersName:"Met",hydrophobicity:1.9,colorByFamily:"#FFFF00",color:"hsl(328.5, 100%, 69%)",mass:149.2},F:{value:"F",name:"Phenylalanine",threeLettersName:"Phe",hydrophobicity:2.8,colorByFamily:"#FFA500",color:"hsl(338.4, 100%, 69%)",mass:165.2},P:{value:"P",name:"Proline",threeLettersName:"Pro",hydrophobicity:-1.6,colorByFamily:"#00FFFF",color:"hsl(289.9, 100%, 69%)",mass:115.1},S:{value:"S",name:"Serine",threeLettersName:"Ser",hydrophobicity:-.8,colorByFamily:"#90EE90",color:"hsl(298.6, 100%, 69%)",mass:105.1},T:{value:"T",name:"Threonine",threeLettersName:"Thr",hydrophobicity:-.7,colorByFamily:"#90EE90",color:"hsl(299.8, 100%, 69%)",mass:119.1},U:{value:"U",name:"Selenocysteine",threeLettersName:"Sec",colorByFamily:"#FF0000",color:"hsl(0, 100%, 69%)",mass:168.1},W:{value:"W",name:"Tryptophan",threeLettersName:"Trp",hydrophobicity:-.9,colorByFamily:"#FFA500",color:"hsl(297.6, 100%, 69%)",mass:204.2},Y:{value:"Y",name:"Tyrosine",threeLettersName:"Tyr",hydrophobicity:-1.3,colorByFamily:"#FFA500",color:"hsl(293.2, 100%, 69%)",mass:181.2},V:{value:"V",name:"Valine",threeLettersName:"Val",hydrophobicity:4.2,colorByFamily:"#00FFFF",color:"hsl(353.6, 100%, 69%)",mass:117.1},"*":{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}},Ao={gct:k.A,gcc:k.A,gca:k.A,gcg:k.A,gcu:k.A,cgt:k.R,cgc:k.R,cga:k.R,cgg:k.R,aga:k.R,agg:k.R,cgu:k.R,aat:k.N,aac:k.N,aau:k.N,gat:k.D,gac:k.D,gau:k.D,tgt:k.C,tgc:k.C,ugu:k.C,ugc:k.C,gaa:k.E,gag:k.E,caa:k.Q,cag:k.Q,ggt:k.G,ggc:k.G,gga:k.G,ggg:k.G,ggu:k.G,cat:k.H,cac:k.H,cau:k.H,att:k.I,atc:k.I,ata:k.I,auu:k.I,auc:k.I,aua:k.I,ctt:k.L,ctc:k.L,cta:k.L,ctg:k.L,tta:k.L,ttg:k.L,cuu:k.L,cuc:k.L,cua:k.L,cug:k.L,uua:k.L,uug:k.L,aaa:k.K,aag:k.K,atg:k.M,aug:k.M,ttt:k.F,ttc:k.F,uuu:k.F,uuc:k.F,cct:k.P,ccc:k.P,cca:k.P,ccg:k.P,ccu:k.P,tct:k.S,tcc:k.S,tca:k.S,tcg:k.S,agt:k.S,agc:k.S,ucu:k.S,ucc:k.S,uca:k.S,ucg:k.S,agu:k.S,act:k.T,acc:k.T,aca:k.T,acg:k.T,acu:k.T,tgg:k.W,ugg:k.W,tat:k.Y,tac:k.Y,uau:k.Y,uac:k.Y,gtt:k.V,gtc:k.V,gta:k.V,gtg:k.V,guu:k.V,guc:k.V,gua:k.V,gug:k.V,taa:k["*"],tag:k["*"],tga:k["*"],"...":k["."],"---":k["-"]},_o=q.invert(nn);function wn(a){if(a=a.toLowerCase(),a.length!==3)throw new Error("must pass a string of length 3");let n=Ao[a];if(n)return n;const r=_o[a.replace("x","n")]||"x";return k[r.toUpperCase()]}function Er(a,n,r,o){let f=o?a.length*3:a.length,i=a,c=0;r&&(i=yt(r,a),c=r.start);let g=o?i.length*3:i.length,l=[],p,I=0,h=0;if(!n&&(h=Math.floor((g-1)/3),I=g%3,p=ar({start:0,end:I-1},c,f),I>0)){for(let m=0;m<I;m++)l.push({aminoAcid:wn("xxx"),positionInCodon:I-m-1,aminoAcidIndex:h,sequenceIndex:p.start+m,codonRange:p,fullCodon:!1});h--}for(let m=2+I;m<g;m+=3){let w;if(o)w=k[i[(m-2)/3].toUpperCase()];else{let B=i.slice(m-2,m+1);n||(B=wt(B)),w=wn(B)}p=ar({start:m-2,end:m},c,f),l.push({aminoAcid:w,positionInCodon:n?0:2,aminoAcidIndex:h,sequenceIndex:p.start,codonRange:p,fullCodon:!0}),l.push({aminoAcid:w,positionInCodon:1,aminoAcidIndex:h,sequenceIndex:p.start+1,codonRange:p,fullCodon:!0}),l.push({aminoAcid:w,positionInCodon:n?2:0,aminoAcidIndex:h,sequenceIndex:p.start+2,codonRange:p,fullCodon:!0}),n?h++:h--}let v=g-l.length;p=ar({start:g-v,end:g-1},c,f);for(let m=0;m<v;m++)l.push({aminoAcid:wn("xxx"),positionInCodon:m,aminoAcidIndex:h,sequenceIndex:p.start+m,fullCodon:!1,codonRange:p});if(g!==l.length)throw new Error("something went wrong!");return l}const ht=["features","warnings","assemblyPieces","lineageAnnotations","parts","cutsites","orfs","translations","primers","guides"],Cr=["features","assemblyPieces","lineageAnnotations","warnings","parts","translations","primers","guides"];function xo(a,n="",r){return a&&a.replace(new RegExp(`[^${r||`atgcyrswkmbvdhnu${n.split("").join("\\")}`}]`,"gi"),"")}function Eo(a,{sequenceData:n={},convertAnnotationsFromAAIndices:r,annotationType:o,provideNewIdsForAnnotations:f,doNotProvideIdsForAnnotations:i,messages:c=[],mutative:g,allowNonStandardGenbankTypes:l,featureTypes:p}){const{size:I,circular:h,isProtein:v}=n;if(!a||typeof a!="object")return c.push("Invalid annotation detected and removed"),!1;let m=a;if(g||(m=q.cloneDeep(a)),m.annotationTypePlural=o,(!m.name||typeof m.name!="string")&&(c.push('Unable to detect valid name for annotation, setting name to "Untitled annotation"'),m.name="Untitled annotation"),f&&(m.id=Vt().str),!m.id&&m.id!==0&&!i&&(m.id=Vt().str,c.push("Unable to detect valid ID for annotation, setting ID to "+m.id)),Co({isProtein:v,location:m,convertAnnotationsFromAAIndices:r,size:I,messages:c,circular:h,name:m.name}),m.locations&&m.locations.forEach(w=>{Co({isProtein:v,location:w,convertAnnotationsFromAAIndices:r,size:I,messages:c,circular:h,name:m.name})}),v||m.forward===!0||m.forward==="true"||m.strand===1||m.strand==="1"||m.strand==="+"?(m.forward=!0,m.strand=1):(m.forward=!1,m.strand=-1),(!m.type||typeof m.type!="string"||!q.some(p||on(),w=>w.toLowerCase()===m.type.toLowerCase()?(m.type=w,!0):!!(l||typeof window!="undefined"&&q.get(window,"tg_allowNonStandardGenbankTypes")||typeof global!="undefined"&&q.get(global,"tg_allowNonStandardGenbankTypes"))))&&(c.push("Invalid annotation type detected: "+m.type+" for "+m.name+". set type to misc_feature"),m.type="misc_feature"),m.notes&&typeof m.notes=="string")try{m.notes=JSON.parse(m.notes)}catch(w){console.info(`warning 33y00a0912 - couldn't parse notes for ${m.name||""} ${m.notes}:`,w)}return m.color||(m.color=As()[m.type]),m}function Co({location:a,convertAnnotationsFromAAIndices:n,size:r,isProtein:o,messages:f,circular:i,name:c}){a.start=parseInt(a.start,10),a.end=parseInt(a.end,10),n&&(a.start=a.start*3,a.end=a.end*3+2),(a.start<0||!(a.start<=r-1)||a.start>r-1)&&(f.push("Invalid annotation start: "+a.start+" detected for "+a.name+" and set to size: "+r),a.start=r-(o?3:1)),(a.end<0||!(a.end<=r-1)||a.end>r-1)&&(f.push("Invalid annotation end: "+a.end+" detected for "+a.name+" and set to seq size: "+r),a.end=r-1),a.start>a.end&&i===!1&&(f.push("Invalid circular annotation detected for "+c+". end set to 1"),a.end=r)}function Fo(a,n){return n=n||{},n.includeStopCodon?a.replace(/[^xtgalmfwkqespvicyhrndu.*]/gi,""):a.replace(/[^xtgalmfwkqespvicyhrndu]/gi,"")}function To(a){return a.split("").map(n=>nn[n.toLowerCase()]||"nnn").join("")}function Ue(a,n={}){const{annotationsAsObjects:r,logMessages:o,removeUnwantedChars:f,additionalValidChars:i,noTranslationData:c,charOverrides:g,doNotProvideIdsForAnnotations:l,proteinFilterOptions:p,noCdsTranslations:I,convertAnnotationsFromAAIndices:h}=n;let v=q.cloneDeep(a);const m={messages:[]};v||(v={}),v.sequence||(v.sequence=""),v.proteinSequence||(v.proteinSequence="");let w=!1;v.isProtein&&(v.circular=!1,!v.proteinSequence&&v.proteinSequence!==""&&(v.proteinSequence=v.sequence),(!v.sequence||v.sequence.length!==v.proteinSequence.length*3)&&(w=!0)),v.isRna&&(v.sequence=v.sequence.replace(/t/gi,"u")),f&&(v.isProtein?v.proteinSequence=Fo(v.proteinSequence,ie({includeStopCodon:!0},p)):v.sequence=xo(v.sequence,`${i||""}${v.isRna||v.isMixedRnaAndDna?"u":""}`,g)),v.isProtein&&(w&&(v.sequence=To(v.proteinSequence)),v.aminoAcidDataForEachBaseOfDNA=Er(v.proteinSequence,!0,null,!0)),v.size=v.noSequence?v.size:v.sequence.length,v.proteinSize=v.noSequence?v.proteinSize:v.proteinSequence.length,v.circular==="false"||v.circular==-1||v.circular===!1||!v.circular&&v.sequenceTypeCode!=="CIRCULAR_DNA"?v.circular=!1:v.circular=!0;const B=on();return ht.forEach(_=>{Array.isArray(v[_])||(typeof v[_]=="object"?v[_]=Object.keys(v[_]).map(C=>v[_][C]):v[_]=[]),v[_]=v[_].filter(C=>Eo(C,ye(ie({},n),{featureTypes:B,sequenceData:v,convertAnnotationsFromAAIndices:h,mutative:!0,annotationType:_})))}),c||(v.translations=q.flatMap(v.translations,_=>I&&_.translationType==="CDS Feature"?[]:(!_.aminoAcids&&!v.noSequence&&(_.aminoAcids=Er(v.sequence,_.forward,_)),_))),r&&ht.forEach(_=>{v[_]=v[_].reduce((C,N)=>{let F;return N.id||N.id===0?F=N.id:(F=Vt().str,l||(N.id=F)),C[F]=N,C},{})}),o&&m.messages.length>0&&console.info("tidyUpSequenceData messages:",m.messages),v}const tu=(a,n,{ignoreKeys:r=[]}={})=>(a=Ue(a,{annotationsAsObjects:!0,noTranslationData:!0}),n=Ue(n,{annotationsAsObjects:!0,noTranslationData:!0}),[a,n].forEach(o=>{["cutsites","orfs","filteredFeatures","size","fromFileUpload","description","materiallyAvailable",...r].forEach(f=>{delete o[f]}),o.translations&&q.forEach(o.translations,(f,i)=>{f.translationType&&f.translationType!=="User Created"?delete o.translations[i]:delete f.aminoAcids})}),Yl(a,n)),ru=(a,n,{ignoreKeys:r=[]}={})=>(r.forEach(o=>{delete n[o]}),Ql(Ue(q.cloneDeep(a),{annotationsAsObjects:!0}),n)),nu=a=>eu(a);function Mo(a){let n=[];a.forEach(o=>{const f=o.cigar.match(/([0-9]*[MDI])/g);for(let i=0;i<f.length;i++)if(f[i].slice(-1)==="I"){let c=o.pos;const g=Number(f[i].slice(0,-1));for(let p=0;p<i;p++)if(f[p].slice(-1)!=="I"){const I=Number(f[p].slice(0,-1));c+=I}let l={bpPos:c,number:g};n.push(l)}});let r=n.sort((o,f)=>o.bpPos-f.bpPos);for(let o=0;o<r.length-1;o++)r[o].bpPos===r[o+1].bpPos&&(r[o].number>r[o+1].number?(r.splice(o+1,1),o--):(r[o].number<r[o+1].number||r[o].number===r[o+1].number)&&(r.splice(o,1),o--));return r}function su({fullSeq:a,searchSeq:n}){const r=a.id||"fullSeqId",o=n.id||"searchSeqId",f=Mi({seqsToAnnotateById:{[r]:ye(ie({},a),{id:r})},annotationsToCheckById:{[o]:ye(ie({},n),{id:o})},compareName:!1});return f&&f[r]?{matches:f[r]}:{matches:[]}}const Ws={"-":"---",".":"...","*":"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"};function au(a){return a.split("").map(n=>Ws[n.toLowerCase()]||"nnn").join("")}function iu({cutsites:a,sequenceLength:n,isCircular:r,computePartialDigest:o,computePartialDigestDisabled:f,computeDigestDisabled:i}){let c=[];const g=[],l=[],p=a.sort((I,h)=>I.topSnipPosition-h.topSnipPosition);return p.forEach((I,h)=>{o&&!f&&p.forEach((v,m)=>{l.push([I,p[m]])}),i||l.push([I,p[h+1]?p[h+1]:p[0]])}),l.forEach(([I,h])=>{const v=ae(I.topSnipPosition,n),m=ae(h.topSnipPosition-1,n);if(!r&&v>m){const w={start:v,end:n-1,cut1:I,cut2:{type:"endOfSeq",restrictionEnzyme:{name:"End Of Seq"}}},B={start:0,end:m,cut1:{type:"startOfSeq",restrictionEnzyme:{name:"Start Of Seq"}},cut2:h};c.push($s(w,n)),c.push($s(B,n))}else{const w={cut1:I,cut2:h,start:v,end:m};c.push($s(w,n))}}),c=c.filter(I=>I.size?!0:(g.push(I),!1)),{computePartialDigestDisabled:f,computeDigestDisabled:i,fragments:c,overlappingEnzymes:g}}function $s(a,n){const r=_e({start:a.start,end:a.end},n),o=`${q.get(a,"cut1.restrictionEnzyme.name","Untitled Cutsite")} -- ${q.get(a,"cut2.restrictionEnzyme.name","Untitled Cutsite")} ${r} bps`;return ye(ie({},a),{size:r,name:o,id:a.start+"-"+a.end+"-"+r+"-"})}function ou(a){return a.site.length<a.topSnipOffset||a.site.length<a.bottomSnipOffset}function Po(a,n){let r=a.split("");const o=Mo(n);for(let f=0;f<o.length;f++){const i=o[f].bpPos,c=o[f].number;let g="";for(let l=0;l<c;l++)g+="-";r.splice(i-1,0,g);for(let l=f+1;l<o.length;l++)o[l].bpPos+=1}return r.join("")}var fu=function(n,r,o,f){return n.slice(0,r)+(f||"")+n.slice(r+o)};const cu=Te(fu);function js(a,n="",r){let o=a;if(r&&r.start>-1){if(_e(r,a.length)===a.length)return n;const f=bt(al(r,a.length));o="",f.forEach((i,c)=>{o+=yt(i,a),f.length===1?Ai(0,i,a.length,!0,!0)?o=o+n:o=n+o:c===0&&(o+=n)})}else o=cu(a,r,0,n);return o}function Uo(a){return(a.match(/[cg]/gi)||[]).length/a.length*100||0}const ko={TABLE_BRESLAUER:"breslauer",TABLE_SUGIMOTO:"sugimoto",TABLE_UNIFIED:"unified",A:-10.8,R:1.987,C:5e-7,Na:.05,calculateTemperature:function(a,n,r,o,f,i){if(typeof n=="undefined")n=this.TABLE_BRESLAUER;else if(n!=this.TABLE_BRESLAUER&&n!=this.TABLE_UNIFIED&&n!=this.TABLE_SUGIMOTO)throw new Error("Invalid table type!");if(r||(r=this.A),o||(o=this.R),f||(f=this.C),i||(i=this.Na),a.length==0)return 0;const g=this.getDeltaHTable(n),l=this.getDeltaSTable(n),p=[];p.push(this.calculateReps(a,"aa")),p.push(this.calculateNumberOfOccurrences(a,"at")),p.push(this.calculateNumberOfOccurrences(a,"ac")),p.push(this.calculateNumberOfOccurrences(a,"ag")),p.push(this.calculateReps(a,"tt")),p.push(this.calculateNumberOfOccurrences(a,"ta")),p.push(this.calculateNumberOfOccurrences(a,"tc")),p.push(this.calculateNumberOfOccurrences(a,"tg")),p.push(this.calculateReps(a,"cc")),p.push(this.calculateNumberOfOccurrences(a,"ca")),p.push(this.calculateNumberOfOccurrences(a,"ct")),p.push(this.calculateNumberOfOccurrences(a,"cg")),p.push(this.calculateReps(a,"gg")),p.push(this.calculateNumberOfOccurrences(a,"ga")),p.push(this.calculateNumberOfOccurrences(a,"gt")),p.push(this.calculateNumberOfOccurrences(a,"gc"));let I=0,h=0;for(let m=0;m<16;m++)I=I+p[m]*g[m],h=h+p[m]*l[m];const v=-1e3*I/(r+-h+o*Math.log(f/4))-273.15+16.6*Math.LOG10E*Math.log(i);return v<0?0:v.toFixed(2)},getDeltaHTable:function(a){return a==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]:a==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]:a==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},getDeltaSTable:function(a){return a==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]:a==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]:a==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},calculateReps:function(a,n){const r=a.length;if(r==0)return 0;let o=0,f=0;for(;;){const i=a.indexOf(n,f);if(i==-1||(f=i+1,o++,f>r))break}return o},calculateNumberOfOccurrences:function(a,n){return a.length==0?0:a.split(n).length-1}},gu=ko.calculateTemperature.bind(ko);function Xs(a){return typeof a=="object"&&a!==null?Do(ye(ie({},a),{locations:a.locations?a.locations.map(Do):void 0})):lu(a)}function lu(a){return Math.floor(a/3)}function Do(a){return ye(ie({},a),{start:a.start>-1?Math.floor(a.start/3):a.start,end:a.end>-1?Math.floor(a.end-2)/3:a.end})}function Ho(a,n){return uu(a.split(""),n).join("")}function uu(a,n){return n-=a.length*Math.floor(n/a.length),a.push.apply(a,a.splice(0,n)),a}function No(a,n,r){const o=Ue(a,r);return o.sequence=Ho(o.sequence,n),Cr.forEach(f=>{o[f]=pu(o[f],n,o.sequence.length)}),o}function pu(a,n,r){return q.map(a,o=>ye(ie({},Ti(o,n,r)),{locations:o.locations?o.locations.map(f=>Ti(f,n,r)):void 0})).filter(o=>!!o)}function Rn(a,n,r){return q.map(a,o=>ie(ie({},Oi(o,n,r)),o.locations&&{locations:o.locations.map(f=>Oi(f,n,r))}))}function On(a,n,r,o={}){const{maintainOriginSplit:f}=o;let i=Ue(n,o);const c=Ue(a,o);let g=q.cloneDeep(i);const l=c.proteinSequence?c.proteinSequence.length*3:c.sequence.length;let p=r;const I=c.sequence.length===_e(r,i.sequence.length);if(r.start>-1&&_e(r,i.sequence.length)===i.sequence.length?(i=Ue(ye(ie(ie({},i),Cr.reduce((h,v)=>h[v]=[],{})),{sequence:"",proteinSequence:"",chromatogramData:void 0}),o),g.chromatogramData=void 0):g.chromatogramData&&g.chromatogramData.baseTraces&&(r&&r.start>-1&&(r.start>r.end?(g.chromatogramData=zs({chromatogramData:g.chromatogramData,range:{start:r.start,end:g.sequence.length},justBaseCalls:I}),g.chromatogramData=zs({chromatogramData:g.chromatogramData,range:{start:0,end:r.end},justBaseCalls:I})):g.chromatogramData=zs({chromatogramData:g.chromatogramData,range:{start:r.start,end:r.end},justBaseCalls:I})),c.sequence&&hu({chromatogramData:g.chromatogramData,caretPosition:r.start>-1?r.start:r,seqToInsert:c.sequence,justBaseCalls:I})),g.sequence=js(i.sequence,c.sequence,r),g.size=g.sequence.length,g.proteinSequence=js(i.proteinSequence,c.proteinSequence,Xs(r)),g.proteinSize=g.proteinSequence.length,Cr.forEach(h=>{let v=i[h];if(r&&r.start>-1){const m=r;p=m.start>m.end?0:m.start,v=Iu(v,m,i.sequence.length)}g[h]=[],g[h]=g[h].concat(Rn(v,p,l)),g[h]=g[h].concat(Rn(c[h],0,p))}),f&&r&&r.start>r.end){const h=i.sequence.length-r.start;return No(g,Math.min(h,l))}return g}function Iu(a,n,r){return q.map(a,o=>{const f=Ri(o,n,r),i=o.locations&&o.locations.map(c=>Ri(c,n,r)).filter(c=>!!c);return i&&i.length?ie(ye(ie({},f),{start:i[0].start,end:i[i.length-1].end}),i.length>1&&{locations:i}):f}).filter(o=>!!o)}function hu({chromatogramData:a,caretPosition:n,seqToInsert:r,justBaseCalls:o}){if(!r.length)return;if(a.baseCalls&&a.baseCalls.splice(n,0,...r.split("")),o)return a;let f=[],i=[];for(let c=0;c<r.length;c++){i.push(0);const g=[0,0,0,0,0,0,0,0,0,0,0];f.push({aTrace:g,cTrace:g,gTrace:g,tTrace:g})}return a.baseTraces&&a.baseTraces.splice(n,0,...f),a.qualNums&&a.qualNums.splice(n,0,...i),a}function zs({chromatogramData:a,range:{start:n,end:r},justBaseCalls:o}){return["baseCalls",...o?[]:["qualNums","baseTraces","basePos"]].forEach(f=>{a[f]&&a[f].splice(n,r-n+1)}),a}function du(a,n){return On({},a,n)}function vu(a){return a.topSnipOffset>a.site.length||a.bottomSnipOffset>a.site.length}const mu=[{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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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"],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}],Js={};mu.forEach(a=>{a.aliases.forEach(n=>{Js[n.toLowerCase()]=ye(ie({},a),{name:n})})});const Su=["aari","aatii","aaui","accebi","acci","accii","acciii","acsi","afai","aflii","alui","aor13hi","aor51hi","apai","apali","asci","asisi","asp35hi","asp713i","aspmi","atsi","atu1i","atu1ii","avrbi","avrii","bali","bamhi","banii","bari","baui","bbvbi","bcni","bcoki","bdii","bgli","bglii","blni","bme216i","bmet110i","bmgt120i","bmui","bnai","bpu1102i","bpuai","bpub5i","bsai","bsavi","bseri","bsgi","bshhi","bsiwi","bsmbi","bsmfi","bsofi","bsp105i","bsp1286i","bsp139i","bsp1407i","bsp4009i","bsp70i","bsp71i","bspa2i","bspci","bspfni","bspt104i","bspt107i","bsrfi","bsshii","bst1107i","bstb7si","bsthi","bstiz316i","bstli","bstpi","bstri","bstxi","bsu1532i","bsu8565i","bsu90i","btgai","btsci","btsi","bvei","ccini","ccop95i","ceqi","cfr10i","cfr45i","cfr47i","cfr6i","cjuii","clai","cpaai","cpoi","cspai","cspci","ddei","dpni","drai","dsai","dsavi","eaei","eagi","eam1105i","ecidi","ecl37i","eco211i","eco240i","eco241i","eco246i","eco247i","eco52i","eco68i","eco81i","eco93i","ecoicri","ecoo109i","ecoo65i","ecopi","ecoprri","ecori","ecorv","ecot14i","ecot22i","ecoviii","ehei","esphk22i","fbai","fdiii","foki","fsei","haeii","haeiii","hapii","hgiai","hgibi","hhai","hin1i","hincii","hindiii","hinfi","hpai","hpyf13iii","hpyf19ii","hpyf21i","hpyf28i","hpyf29i","hpyf36i","hpyf62i","hpyf65i","hpyii","koyi","kpni","m.bbu297i","m.pmudam","maek81i","mboi","mboii","mfli","mizi","mlui","mph1103ii","msei","msii","mspi","mthai","muni","naei","ncoi","ndai","ndei","nflaii","ngbi","ngobviii","ngodviii","ngoeii","ngotii","nhei","nlaiv","noci","noti","novii","nrui","nsbi","nsici","nsp29132i","paci","pae17ki","pca17ai","pfaaiii","pfl16i","ple214i","pmaci","pmei","pru2i","psb9879i","pshai","pshbi","psp1406i","psp31i","psp33i","psp5i","psti","psuni","pvui","pvuii","ral8i","rsplki","saci","sacii","sali","sapi","sau3ai","sauni","sbai","sbfi","scai","sfii","sflhk115731i","slu1777i","smai","smii","snabi","spei","sphi","srfi","srl61di","sse8387i","ssp2i","sspi","stui","suii","swai","taqi","tauii","tsci","tth111i","tthhb8i","uba1093i","uba1095i","uba1122i","uba1160i","uba1229i","uba1371i","uba1380i","uba1403i","uba1415i","uba1437i","uba1439i","uba1440i","uba36i","uba41i","uba42i","uba89i","uban13i","van91i","vcho66i","vpak11bi","vpakutji","xbai","xcyi","xhoi","xmai","xmli","xphi","xspi"],Lo={};Su.forEach(a=>{Lo[a]=Js[a]});function Fr(a,n,r,o){const f={};for(let i=0;i<a;i++){const c=bu(n,r,o);f[c.id]=c}return f}function bu(a,n,r){const o=nl(a,n,r);return ye(ie({},o),{name:yu(0,1e5).toString(),type:"misc_feature",id:Vt().str,forward:Math.random()>.5,notes:{}})}function yu(a,n){return Math.floor(Math.random()*(n-a))+a}function wu({isProtein:a,sequenceLength:n=1e3,numFeatures:r,numParts:o,numPrimers:f,numTranslations:i}={}){const c=a&&Go(n,!0),g=!a&&Go(n);return{circular:a?!1:Math.random()>.5,name:"p-"+Math.floor(Math.random*100),description:"",isProtein:a,sequence:g,proteinSequence:c,translations:a?void 0:Fr(i||5,0,n-1,n/3),features:Fr(r||10,0,n-1,n/3),primers:a?void 0:Fr(f||10,0,n-1,50),parts:Fr(o||10,0,n-1,n/3)}}function Go(a=9,n){let r="";const o=n?"":"gatc";for(let f=0;f<a;f++)r+=o.charAt(Math.floor(Math.random()*o.length));return r}function Ru(a,n,r,o){if(r||(r=0),a.length<n.length)return null;const f=new RegExp(n,"ig");let i,c,g=1/0;for(;(i=f.exec(a+(o?"":a)))&&!(i.index>a.length);){let l=Math.abs(i.index-r);if(l=o?l:Math.min(l,Math.abs(l-a.length)),l>g)break;c=i.index,g=l}return _i({start:c,end:c+n.length-1},a.length)}function Zs(a){let n=a.sequence;const r=a.minimumOrfSize,o=a.forward,f=a.circular,i=a.useAdditionalOrfStartCodons,c=n.length;o||(n=wt(n)),f&&(n+=n);const g=i?/(?=((?:A[TU]G|G[TU]G|C[TU]G)(?:.{3})*?(?:[TU]AG|[TU]AA|[TU]GA)))/gi:/(?=((?:A[TU]G)(?:.{3})*?(?:[TU]AG|[TU]AA|[TU]GA)))/gi;let l;const p=[];for(;(l=g.exec(n))!==null;){l.index===g.lastIndex&&g.lastIndex++;const v=l[1].length;if(v>=r){const m=l.index;let w=v+m-1;w>=c&&(w-=c),m<c&&p.push({start:m,end:w,length:l[1].length,internalStartCodonIndices:[],frame:m%3,forward:o,annotationTypePlural:"orfs",isOrf:!0,id:Vt().str})}}const I={};return p.forEach((v,m)=>{const w=I[v.end];if(typeof w!="undefined"){let B=v,_=p[w];_.length<B.length&&(B=p[w],_=v,I[v.end]=m);const C=o?B.start:c-B.start-1;_.internalStartCodonIndices=[..._.internalStartCodonIndices,...B.internalStartCodonIndices,C],B.remove=!0}else if(I[v.end]=m,!o){const B=v.end;v.end=c-v.start-1,v.start=c-B-1}}),p.filter(v=>!v.remove)}function Ou(a,n,r,o){const f=Zs({sequence:a,minimumOrfSize:r,forward:!0,circular:n,useAdditionalOrfStartCodons:o}),i=Zs({sequence:a,minimumOrfSize:r,forward:!1,circular:n,useAdditionalOrfStartCodons:o});return f.concat(i)}var Bu=/[|\\{}()[\]^$+*?.]/g,Au=function(a){if(typeof a!="string")throw new TypeError("Expected a string");return a.replace(Bu,"\\$&")};const _u=Te(Au);function cr(a){const n=Er(a,!0),r=[];let o="";return n.forEach(f=>{f.fullCodon&&(r[f.aminoAcidIndex]=f.aminoAcid.value)}),o=r.join(""),o}function xu(a,n,r={}){let o=Ko(a,n,r);const{searchReverseStrand:f}=r;if(f){const i=a.length;let c;c=wt(a);const l=Ko(c,n,r).map(p=>ye(ie({},el(p,{start:0,end:i-1},i)),{bottomStrand:!0}));o=[...o,...l]}return o}function Ko(a,n,r={}){const{isCircular:o,isAmbiguous:f,isProteinSequence:i,isProteinSearch:c}=r;let g=_u(n);if(f&&(c||i?g=Vo(g,!0):g=Vo(g)),!g)return[];let l=a;o&&(l=l+l);let p=[{seqToCheck:l,offset:0}];c&&(p=[{seqToCheck:cr(l),offset:0},{seqToCheck:cr(l.substr(1)),offset:1},{seqToCheck:cr(l.substr(2)),offset:2}]);let I=[];return p.forEach(({seqToCheck:h,offset:v})=>{const m=new RegExp(g,"ig");let w,B;for(;(w=m.exec(h))!==null;)B={start:w.index,end:w.index+n.length-1},c&&(B.start=B.start*3+v,B.end=B.end*3+2+v),I.push(fl(B,a.length)),m.lastIndex=w.index+1}),q.uniqBy(I,h=>h.start+"-"+h.end)}function Vo(a,n){return q.reduce(a,(r,o)=>{const f=n?wi[o.toUpperCase()]:rn[o.toUpperCase()];return f&&(f.length===1?r+=f:r+=`[${f}]`),r},"")}function Eu(a,n,r,o){const f=r[o-1];if(f&&f.aminoAcidIndex===n.aminoAcidIndex){const i=r[o-2];return i&&i.aminoAcidIndex===n.aminoAcidIndex?{start:a-2,end:a}:n.fullCodon===!0?{start:a-1,end:a+1}:{start:a-1,end:a}}else{if(n.fullCodon===!0)return{start:a,end:a+2};{const i=r[o-2];return i&&i.aminoAcidIndex===n.aminoAcidIndex?{start:a,end:a+1}:{start:a,end:a+1}}}}function Cu(a){return cr(a).split("").reverse().join("")}function Tr(a){let n="";for(let r=0;r<a.length;r++){let o=Os[a[r]];o||(o=a[r]),n+=o}return n}function Bn(a,n,r={}){if(!n)return a;const{exclude:o={},excludePartial:f={}}=r,i=Ue(a,r);ht.forEach(g=>{delete i[`filtered${q.startCase(g)}`]});const c=q.extend({},i,{circular:i.sequence.length===_e(n,a.sequence.length)?i.circular:!1,sequence:yt(n,i.sequence),proteinSequence:yt(Xs(n),i.proteinSequence)},ht.reduce((g,l)=>o[l]?(g[l]=[],g):(g[l]=qo(i[l],n,i.sequence.length,f[l]),g),{}));if(n.overlapsSelf){const g=On({sequence:c.sequence},i,n.start),l=Bn(g,{start:n.end+1,end:n.end},r);return ht.forEach(p=>{q.forEach(l[p],I=>{I.overlapsSelf&&I.start===0&&_e(I,i.sequence.length)===_e(n,i.sequence.length)&&(I.overlapsSelf=!1,I.end=l.sequence.length-1)})}),Ue(l,r)}return Ue(c,r)}function qo(a,n,r,o){return q.flatMap(a,f=>{f.locations&&f.locations.length&&(f.locations=qo(f.locations,n,r,o));const i=ul(f,n,r).map(c=>q.extend({},f,c));if(o){if(i.length>1)return[];if(i[0]&&_e(i[0],r)!==_e(f,r))return[]}return i}).map(f=>(f.locations&&f.locations.length&&(f.start=f.locations[0].start,f.end=f.locations[f.locations.length-1].end,f.locations.length===1&&delete f.locations),f))}function Fu(a,n={}){const r=Ue(Bn(a,n.range),n),o=Object.assign({},r,{sequence:Tr(r.sequence)});return Ue(o,n)}function Tu(a){const{topSnipOffset:n,bottomSnipOffset:r}=a;return n===r?"blunt":n<r?"5' overhang":"3' overhang"}function Mu(a,n,r){return n.start>-1?[an(n.start,r),an(n.end+2,r)]:a>-1?[an(a,r),an(a+1,r)]:[r,1]}function Pu(a,n,r){let o={leftHandSide:"",rightHandSide:""};return Ai(n,a)?(o.leftHandSide=yt({start:a.start,end:ae(n-1,r.length)},r),o.rightHandSide=yt({start:n,end:a.end},r)):ol(n,a,r.length)?o.rightHandSide=yt(a,r):o.leftHandSide=yt(a,r),o}function Uu(a,n,r){n=n.toLowerCase(),a=a.toLowerCase();const f=(n+n).indexOf(a);return f>-1?{start:f,end:Fi(f+a.length-1,{start:0,end:n.length-1})}:null}function ku(a,n){n=n.length?n:[n];let r=a.sequence,o=r.length,f=a.circular,i=[];n.forEach(g=>{let l=fn(r,f,g);i=i.concat(l)});let c=[];return i.length<1?c:i.length===1?(c.push(Ys(i[0],i[0],o)),c):($o(i).forEach(l=>{let p=l[0],I=l[1],h=Ys(p,I,o),v=Ys(I,p,o);(f||!(h.start>h.end))&&c.push(h),(f||!(v.start>v.end))&&c.push(v)}),c)}function Ys(a,n,r){let o=Wo(a.restrictionEnzyme),f=Wo(n.restrictionEnzyme),i=a.topSnipBeforeBottom?a.topSnipPosition:a.bottomSnipPosition,c=ae((n.topSnipBeforeBottom?n.bottomSnipPosition:n.topSnipPosition)-1,r);return{start:i,start1Based:i+1,end:c,end1Based:c+1,firstCut:a,firstCutOffset:o,firstCutOverhang:a.overhangBps,firstCutOverhangTop:o>0?a.overhangBps:"",firstCutOverhangBottom:o<0?Tr(a.overhangBps):"",secondCut:n,secondCutOffset:f,secondCutOverhang:n.overhangBps,secondCutOverhangTop:f<0?n.overhangBps:"",secondCutOverhangBottom:f>0?Tr(n.overhangBps):""}}function Wo(a){return a.bottomSnipOffset-a.topSnipOffset}function $o(a){if(a.length<2)return[];let n=a[0],r=a.slice(1);return r.map(f=>[n,f]).concat($o(r))}function Du(a){const n=Er(a,!1),r=[];let o="";return n.forEach(f=>{f.fullCodon&&(r[f.aminoAcidIndex]=f.aminoAcid.value)}),o=r.join(""),o}function Hu(a){return cr(wt(a))}function jo(a,n){return Object.assign({},a,{start:n-(a.end+1),end:n-(a.start+1),forward:!a.forward,strand:a.strand===1?-1:1})}function Nu(a,n={}){const r=Ue(Bn(a,n.range),n),o=Object.assign({},r,{sequence:wt(r.sequence)},ht.reduce((f,i)=>(r[i]&&(f[i]=q.map(r[i],c=>jo(c,r.sequence.length))),f),{}));return Ue(o,n)}function Lu(a){let n="";for(let r=a.length-1;r>=0;r--){let o=a[r];o||(o=a[r]),n+=o}return n}function Gu(a,n={}){const{threshold:r=.9,loose:o}=n,i=(n.dnaLetters||o?[...yi.split(""),"U"]:["G","A","T","C","U"]).reduce((g,l)=>(g[l.toUpperCase()]=!0,g),{});let c=0;if(!a||!a.length)return!0;for(let g=0;g<a.length;g++){const l=a[g];i[l.toUpperCase()]&&(c=c+1)}return c/a.length>r}function Xo(a,n,r,{splitForwardReverse:o}={}){const f={},i={},c={};return q.each(a,g=>{const l=!!(g.locations&&g.locations.length);g.overlapsSelf&&(c[g.id]||(Qs({wrappedAnnotations:c,annotation:{start:0,end:n-1,id:`__tempAnnRemoveMe__${g.id}`},sequenceLength:n,bpsPerRow:r,annotationsToRowsMap:f,yOffsetLevelMap:i,containsLocations:l,splitForwardReverse:o}),c[g.id]=!0)),Qs({wrappedAnnotations:c,annotation:g,sequenceLength:n,bpsPerRow:r,annotationsToRowsMap:f,yOffsetLevelMap:i,containsLocations:l,splitForwardReverse:o}),l&&g.locations.forEach(p=>{Qs({wrappedAnnotations:c,annotation:g,sequenceLength:n,bpsPerRow:r,annotationsToRowsMap:f,yOffsetLevelMap:i,location:p,splitForwardReverse:o})})}),q.forEach(f,(g,l)=>{f[l]=q.filter(g,p=>!q.startsWith(p.id,"__tempAnnRemoveMe__"))}),f}function Qs({wrappedAnnotations:a,annotation:n,sequenceLength:r,bpsPerRow:o,annotationsToRowsMap:f,yOffsetLevelMap:i,location:c,containsLocations:g,splitForwardReverse:l}){bt(c||n,r).forEach((I,h)=>{const v=Math.floor(I.start/o),m=Math.floor(I.end/o);for(let w=v;w<=m;w++){f[w]||(f[w]=[]);const B=l?n.forward?w+"_forward":w+"_reverse":w,_=f[w];i[B]||(i[B]=[]);let C;const N=i[B],F=w===v?I.start:w*o,L=w===m?I.end:w*o+o-1;n.overlapsSelf?_.forEach(x=>{x.id===`__tempAnnRemoveMe__${n.id}`&&(C=x.yOffset)}):c?_.forEach(x=>{x.id===n.id&&(C=x.yOffset)}):(h>0&&_.length&&_[_.length-1].annotation===n?C=_[_.length-1].yOffset:C=Ci(n,N),N[C]||(N[C]=[]),N[C].push({start:F,end:L})),_.push(ye(ie(ie({id:n.id,annotation:n,start:F,end:L},g&&{containsLocations:g}),c&&{isJoinedLocation:!!c}),{yOffset:C,enclosingRangeType:I.type}))}})}function Ku(a){const n=q.cloneDeep(a);return ht.forEach(r=>{if(r!=="cutsites"){const o=sl(n[r]).maxYOffset;n[r].maxYOffset=o}}),n}function Vu(a,n){const r=a.sequence.length,o=Math.ceil(r/n)||1,f=[],i={};ht.forEach(c=>{i[c]=Xo(a[c],r,n,{splitForwardReverse:c==="primers"})});for(let c=0;c<o;c++){const g={};g.rowNumber=c,g.start=c*n,g.end=(c+1)*n-1<r?(c+1)*n-1:r-1,g.end<0&&(g.end=0),ht.forEach(l=>{g[l]=i[l][c]||[]}),g.sequence=a.sequence.slice(g.start,g.end+1),f[c]=g}return f}function qu(a,n){let r=[];const o=a.toLowerCase().split(""),f=n.toLowerCase().split(""),i=n.length,c=n.replace(/^-+/g,""),g=n.replace(/-+$/g,""),l=i-c.length,p=i-(i-g.length);for(let I=0;I<o.length;I++)I<l||I>=p?r.push("W"):o[I]===f[I]&&o[I]!=="-"&&f[I]!=="-"?r.push("G"):o[I]!==f[I]&&o[I]!=="-"&&f[I]!=="-"||f[I]==="-"||o[I]==="-"&&o[I-1]!=="-"&&I!==o.length-1&&o[I+1]==="-"?r.push("R"):o[I]==="-"&&o[I-1]!=="-"&&I!==o.length-1&&o[I+1]!=="-"?(r.push("R"),I++):I===o.length-1&&o[I]==="-"&&o[I-1]==="-"?r.splice(-2,1):I===o.length-1&&o[I]==="-"&&o[I-1]!=="-"?(r.pop(),r.push("R")):o[I]==="-"&&o[I-1]==="-"&&o[I+1]!=="-"?I++:o[I]==="-"&&o[I-1]==="-"||console.error("should not reach this step!");return r.join("")}function Wu(a,n){for(let g=0;g<n.length;g++)n[g].cigar===null&&n.splice(g,1);const r=Po(a.sequence,n),o=[{name:a.name,sequence:r.toUpperCase()}];n.forEach(g=>{const l=[];n.forEach(x=>{const U=x.cigar.match(/([0-9]*[SMDI])/g);let G=q.cloneDeep(x.pos);if(U[0].slice(-1)==="S"){const $=U[0].slice(0,-1);G=x.pos-$}for(let $=0;$<U.length;$++)if(U[$].slice(-1)==="I"){let J=G;const ve=Number(U[$].slice(0,-1));for(let ce=0;ce<$;ce++)if(U[ce].slice(-1)!=="I"){const xe=Number(U[ce].slice(0,-1));J+=xe}const oe={bpPos:J,number:ve};l.push(oe)}});const p=g.cigar.match(/([0-9]*[SMDI])/g);let I=q.cloneDeep(g.pos);if(p[0].slice(-1)==="S"){const x=p[0].slice(0,-1);I=g.pos-x}let h=g.seq.split("");I>0&&h.unshift("-".repeat(I-1)),h=h.join("").split("");const v=[];for(let x=0;x<p.length;x++)if(p[x].slice(-1)==="D"){let U=I;const G=Number(p[x].slice(0,-1));for(let J=0;J<x;J++){const ve=Number(p[J].slice(0,-1));U+=ve}const $={bpPos:U,number:G};v.push($)}const m=v.sort((x,U)=>x.bpPos-U.bpPos);for(let x=0;x<m.length;x++){const U=m[x].bpPos,G=m[x].number;let $="";for(let J=0;J<G;J++)$+="-";h.splice(U-1,0,$),h=h.join("").split("")}h=h.join("").split("");const w=[],B=[];for(let x=0;x<p.length;x++)if(p[x].slice(-1)==="I"){let U=I;const G=Number(p[x].slice(0,-1)),$=[];for(let oe=0;oe<x;oe++){const ce=Number(p[oe].slice(0,-1));U+=ce}for(let oe=0;oe<G;oe++)$.push(h[U-1+oe]);const J={bpPos:U,number:G},ve={bpPos:U,number:G,nucleotides:$};w.push(J),B.push(ve)}const _=JSON.parse(JSON.stringify(w)),C=w.sort((x,U)=>x.bpPos-U.bpPos),N=B.sort((x,U)=>x.bpPos-U.bpPos);for(let x=0;x<C.length;x++){const U=C[x].bpPos,G=C[x].number;for(let $=0;$<G;$++)h.splice(U-1,1);for(let $=x+1;$<C.length;$++)C[$].bpPos-=G}let F=l.sort((x,U)=>x.bpPos-U.bpPos);F=F.filter((x,U)=>U===F.findIndex(G=>JSON.stringify(G)===JSON.stringify(x)));for(let x=0;x<F.length-1;x++)for(;F[x].bpPos===F[x+1].bpPos;)F[x].number>F[x+1].number?F.splice(x+1,1):(F[x].number<F[x+1].number||F[x].number===F[x+1].number)&&F.splice(x,1);for(let x=0;x<_.length;x++){const U=F.findIndex(G=>G.bpPos===_[x].bpPos);U!==-1&&(F[U].number>_[x].number?F[U].number=F[U].number-_[x].number:F[U].number<=_[x].number&&(F.splice(U,1),x--))}for(let x=0;x<C.length;x++){const U=F.findIndex(G=>G.bpPos===C[x].bpPos);U!==-1&&(F[U].number>C[x].number?F[U].number=F[U].number-C[x].number:F[U].number<=C[x].number&&(F.splice(U,1),x--))}const L=JSON.parse(JSON.stringify(N));for(let x=0;x<L.length;x++){let U=0;for(let G=0;G<x;G++)U+=L[G].number-1;L[x].bpPos=L[x].bpPos-U,N[x].bpPos=N[x].bpPos-U}for(let x=0;x<F.length;x++)for(let U=0;U<L.length;U++)F[x].bpPos<=N[U].bpPos&&(L[U].bpPos+=1);for(let x=0;x<F.length&&F[x].bpPos<=h.length;x++){const U=F[x].bpPos,G=F[x].number;let $="";for(let J=0;J<G;J++)$+="-";h.splice(U-1,0,$);for(let J=x+1;J<F.length;J++)F[J].bpPos+=1}for(let x=0;x<L.length;x++){const U=L[x].bpPos,G=L[x].nucleotides.join("");h.splice(U-1,0,G)}h=h.join("").split(""),h.length<r.length&&h.push("-".repeat(r.length-h.length)),o.push({name:g.name,sequence:h.join(""),reversed:g.reversed,cigar:g.cigar})});const f=[];n.forEach(g=>{const l=g.cigar.match(/([0-9]*[SMDI])/g);let p=q.cloneDeep(g.pos);if(l[0].slice(-1)==="S"){const I=l[0].slice(0,-1);p=g.pos-I,p<0&&f.push(Math.abs(p))}});let i=0;for(let g=1;g<o.length;g++){const l=o[g].sequence.split(""),p=n[g-1].cigar.match(/([0-9]*[SMDI])/g);let I=q.cloneDeep(n[g-1].pos);if(f.length>0&&(i=Math.max(...f)),p[0].slice(-1)==="S"){const h=p[0].slice(0,-1);I=n[g-1].pos-h,I>0?(i>0&&l.unshift("-".repeat(i+1)),o[g].sequence=l.join("")):I<0&&(i>0&&l.unshift("-".repeat(i-Math.abs(I))),o[g].sequence=l.join(""))}else i>0&&l.unshift("-".repeat(i+1)),o[g].sequence=l.join("")}if(i>0){const g=o[0].sequence.split("");g.unshift("-".repeat(i+1)),o[0].sequence=g.join("")}const c=[];for(let g=1;g<o.length;g++){const l=o[0];o[g].sequence.length>l.sequence.length&&c.push(o[g].sequence.length)}if(c.length>0){const g=Math.max(...c);for(let l=0;l<o.length;l++)o[l].sequence.length<g&&(o[l].sequence+="-".repeat(g-o[l].sequence.length))}for(let g=1;g<o.length;g++){const l=o[0];o[g].sequence.length<l.sequence.length&&(o[g].sequence+="-".repeat(l.sequence.length-o[g].sequence.length))}return o}function zo(a,n,{monovalentCationConc:r}={}){try{if(/[^atgc]/i.test(a))throw new Error(`Degenerate bases prohibited in Tm calculation of sequence ${a}`);const f=a.toUpperCase().split("");let i=0,c=0,g=0,l=0;const p=1.987,I=-273.15,h=273.15,v=1e3,m={"AA/TT":-7.9,"AT/TA":-7.2,"TA/AT":-7.2,"CA/GT":-8.5,"GT/CA":-8.4,"CT/GA":-7.8,"GA/CT":-8.2,"CG/GC":-10.6,"GC/CG":-9.8,"GG/CC":-8,"TT/AA":-7.9,"TG/AC":-8.5,"AC/TG":-8.4,"AG/TC":-7.8,"TC/AG":-8.2,"CC/GG":-8,initiationWithTerminalGC:.1,initiationWithTerminalAT:2.3},w={"AA/TT":-22.2,"AT/TA":-20.4,"TA/AT":-21.3,"CA/GT":-22.7,"GT/CA":-22.4,"CT/GA":-21,"GA/CT":-22.2,"CG/GC":-27.2,"GC/CG":-24.4,"GG/CC":-19.9,"TT/AA":-22.2,"TG/AC":-22.7,"AC/TG":-22.4,"AG/TC":-21,"TC/AG":-22.2,"CC/GG":-19.9,initiationWithTerminalGC:-2.8,initiationWithTerminalAT:4.1};for(let L=0;L<f.length;L++)if((L===0||L===f.length-1)&&(f[L]==="G"||f[L]==="C"?(g+=m.initiationWithTerminalGC,l+=w.initiationWithTerminalGC):(f[L]==="A"||f[L]==="T")&&(g+=m.initiationWithTerminalAT,l+=w.initiationWithTerminalAT)),L<f.length-1){const x=f[L]+f[L+1],U=Tr(x).toUpperCase(),G=`${x}/${U}`;if(!m[G]||!w[G])throw new Error(`Could not find value for ${G} of sequence ${a}`);i+=m[G],c+=w[G]}const B=i+g,_=c+l,C=B*v,N=_+p*Math.log(n),F=C/N+I;if(r){const L=Math.log(r),G=(4.29*(Uo(a)/100)-3.95)*Math.pow(10,-5)*L+Math.pow(9.4,-6)*Math.pow(L,2);return 1/(1/(F+h)+G)+I}else return F}catch(o){return`Error calculating Tm for sequence ${a}: ${o}`}}function $u(a,n,{monovalentCationConc:r,polymerase:o}={}){try{if(a.length!==2)throw new Error(`${a.length} sequences received when 2 primers were expected`);const f=a.map(g=>zo(g,n,{monovalentCationConc:r}));f.sort((g,l)=>g-l);const i=f[0];let c;return o==="Q5"?(c=i+1,c>72&&(c=72)):c=i-3,c}catch(f){return`Error calculating annealing temperature: ${f}`}}function Jo(a,n,r,o={}){const f=[],i=[];if(!r.length)return[];let c=r.sort((g,l)=>g.topSnipPosition-l.topSnipPosition);return n||(c=[{topSnipPosition:0,bottomSnipPosition:0,overhangSize:0,type:"START_OR_END_OF_SEQ",name:"START_OF_SEQ"},...c,{topSnipPosition:a,bottomSnipPosition:a,overhangSize:0,type:"START_OR_END_OF_SEQ",name:"END_OF_SEQ"}]),c.forEach((g,l)=>{!n&&!c[l+1]||(o.computePartialDigests&&c.forEach((p,I)=>{I===l+1||I===0||i.push([g,c[I]])}),i.push([g,c[l+1]?c[l+1]:c[0]]))}),i.forEach(([g,l])=>{const p=ae(g.topSnipPosition,a),I=ae(l.topSnipPosition-1,a),h={start:p,end:I},v=_e(h,a),m=p+"-"+I+"-"+v+"-";f.push(ye(ie({cut1:ye(ie({},g),{isOverhangIncludedInFragmentSize:g.type!=="START_OR_END_OF_SEQ"&&g.overhangSize>0&&g.topSnipBeforeBottom}),cut2:ye(ie({},l),{isOverhangIncludedInFragmentSize:l.type!=="START_OR_END_OF_SEQ"&&l.overhangSize>0&&!l.topSnipBeforeBottom})},h),{size:v,id:m}))}),f.filter(g=>!!g.size),f}function ju(a,n,r,o){const f=Array.isArray(r)?r:[r],i=q.flatMap(f,c=>fn(a,n,c));return Jo(a.length,n,i,o)}function Xu(a){return typeof a=="object"&&a!==null?Zo(ye(ie({},a),{locations:a.locations?a.locations.map(Zo):void 0})):zu(a)}function zu(a){return a*3}function Zo(a){return ye(ie({},a),{start:a.start>-1?a.start*3:a.start,end:a.end>-1?a.end*3+2:a.end})}const Ju=q.invert(Ws);function Zu(a,n=2,r=!1){let o=0;for(let f=0;f<a.length;f++)o+=k[a[f]].mass;return r&&(o/=3),Math.round(o*Oe(10,n))/Oe(10,n)}function Yu({seqData:a,caretPosition:n,insertLength:r}){Cr.forEach(o=>{const f=a[o];a[o]=Rn(f,n,r)})}const Qu=on(),ep=As();D.DNAComplementMap=Os,D.FeatureTypes=Qu,D.addGapsToSeqReads=Wu,D.adjustAnnotationsToInsert=Rn,D.adjustBpsToReplaceOrInsert=js,D.aliasedEnzymesByName=Js,D.aminoAcidToDegenerateDnaMap=nn,D.aminoAcidToDegenerateRnaMap=Ws,D.annotateSingleSeq=su,D.annotationTypes=ht,D.autoAnnotate=Mi,D.bioData=Xg,D.calculateNebTa=$u,D.calculateNebTm=zo,D.calculatePercentGC=Uo,D.calculateTm=gu,D.computeDigestFragments=Gi,D.condensePairwiseAlignmentDifferences=qu,D.convertAACaretPositionOrRangeToDna=Xu,D.convertApELikeRegexToRegex=pl,D.convertDnaCaretPositionOrRangeToAA=Xs,D.convertProteinSeqToDNAIupac=Il,D.cutSequenceByRestrictionEnzyme=fn,D.defaultEnzymesByName=Lo,D.degenerateDnaToAminoAcidMap=_o,D.degenerateRnaToAminoAcidMap=Ju,D.deleteSequenceDataAtRange=du,D.doesEnzymeChopOutsideOfRecognitionSite=vu,D.featureColors=ep,D.filterAminoAcidSequenceString=Fo,D.filterSequenceString=xo,D.findNearestRangeOfSequenceOverlapToPosition=Ru,D.findOrfsInPlasmid=Ou,D.findSequenceMatches=xu,D.genbankFeatureTypes=Ui,D.generateAnnotations=Fr,D.generateSequenceData=wu,D.getAllInsertionsInSeqReads=Mo,D.getAminoAcidDataForEachBaseOfDna=Er,D.getAminoAcidFromSequenceTriplet=wn,D.getAminoAcidStringFromSequenceString=cr,D.getCodonRangeForAASliver=Eu,D.getComplementAminoAcidStringFromSequenceString=Cu,D.getComplementSequenceAndAnnotations=Fu,D.getComplementSequenceString=Tr,D.getCutsiteType=Tu,D.getCutsitesFromSequence=Li,D.getDegenerateDnaStringFromAAString=To,D.getDegenerateRnaStringFromAAString=au,D.getDiffFromSeqs=tu,D.getDigestFragmentsForCutsites=Jo,D.getDigestFragmentsForRestrictionEnzymes=ju,D.getDigestFragsForSeqAndEnzymes=bl,D.getFeatureToColorMap=As,D.getFeatureTypes=on,D.getInsertBetweenVals=Mu,D.getLeftAndRightOfSequenceInRangeGivenPosition=Pu,D.getMassOfAaString=Zu,D.getMergedFeatureMap=Bs,D.getOrfsFromSequence=Zs,D.getOverlapBetweenTwoSequences=Uu,D.getPossiblePartsFromSequenceAndEnzymes=ku,D.getReverseAminoAcidStringFromSequenceString=Du,D.getReverseComplementAminoAcidStringFromSequenceString=Hu,D.getReverseComplementAnnotation=jo,D.getReverseComplementSequenceAndAnnotations=Nu,D.getReverseComplementSequenceString=wt,D.getReverseSequenceString=Lu,D.getSequenceDataBetweenRange=Bn,D.getVirtualDigest=iu,D.guessIfSequenceIsDnaAndNotProtein=Gu,D.insertGapsIntoRefSeq=Po,D.insertSequenceDataAtPosition=On,D.insertSequenceDataAtPositionOrRange=On,D.isEnzymeType2S=ou,D.mapAnnotationsToRows=Xo,D.modifiableTypes=Cr,D.patchSeqWithDiff=ru,D.prepareCircularViewData=Ku,D.prepareRowData=Vu,D.proteinAlphabet=k,D.reverseSeqDiff=nu,D.rotateBpsToPosition=Ho,D.rotateSequenceDataToPosition=No,D.shiftAnnotationsByLen=Yu,D.threeLetterSequenceStringToAminoAcidMap=Ao,D.tidyUpAnnotation=Eo,D.tidyUpSequenceData=Ue,Object.defineProperty(D,Symbol.toStringTag,{value:"Module"})});
|
|
8
|
+
*/lodash.exports;(function(module2,exports3){(function(){var undefined$1;var VERSION="4.17.21";var LARGE_ARRAY_SIZE=200;var CORE_ERROR_TEXT="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",FUNC_ERROR_TEXT="Expected a function",INVALID_TEMPL_VAR_ERROR_TEXT="Invalid `variable` option passed into `_.template`";var HASH_UNDEFINED="__lodash_hash_undefined__";var MAX_MEMOIZE_SIZE=500;var PLACEHOLDER="__lodash_placeholder__";var CLONE_DEEP_FLAG=1,CLONE_FLAT_FLAG=2,CLONE_SYMBOLS_FLAG=4;var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;var WRAP_BIND_FLAG=1,WRAP_BIND_KEY_FLAG=2,WRAP_CURRY_BOUND_FLAG=4,WRAP_CURRY_FLAG=8,WRAP_CURRY_RIGHT_FLAG=16,WRAP_PARTIAL_FLAG=32,WRAP_PARTIAL_RIGHT_FLAG=64,WRAP_ARY_FLAG=128,WRAP_REARG_FLAG=256,WRAP_FLIP_FLAG=512;var DEFAULT_TRUNC_LENGTH=30,DEFAULT_TRUNC_OMISSION="...";var HOT_COUNT=800,HOT_SPAN=16;var LAZY_FILTER_FLAG=1,LAZY_MAP_FLAG=2,LAZY_WHILE_FLAG=3;var INFINITY=1/0,MAX_SAFE_INTEGER=9007199254740991,MAX_INTEGER=17976931348623157e292,NAN=0/0;var MAX_ARRAY_LENGTH=4294967295,MAX_ARRAY_INDEX=MAX_ARRAY_LENGTH-1,HALF_MAX_ARRAY_LENGTH=MAX_ARRAY_LENGTH>>>1;var wrapFlags=[["ary",WRAP_ARY_FLAG],["bind",WRAP_BIND_FLAG],["bindKey",WRAP_BIND_KEY_FLAG],["curry",WRAP_CURRY_FLAG],["curryRight",WRAP_CURRY_RIGHT_FLAG],["flip",WRAP_FLIP_FLAG],["partial",WRAP_PARTIAL_FLAG],["partialRight",WRAP_PARTIAL_RIGHT_FLAG],["rearg",WRAP_REARG_FLAG]];var argsTag="[object Arguments]",arrayTag="[object Array]",asyncTag="[object AsyncFunction]",boolTag="[object Boolean]",dateTag="[object Date]",domExcTag="[object DOMException]",errorTag="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag="[object Map]",numberTag="[object Number]",nullTag="[object Null]",objectTag="[object Object]",promiseTag="[object Promise]",proxyTag="[object Proxy]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",undefinedTag="[object Undefined]",weakMapTag="[object WeakMap]",weakSetTag="[object WeakSet]";var arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]";var reEmptyStringLeading=/\b__p \+= '';/g,reEmptyStringMiddle=/\b(__p \+=) '' \+/g,reEmptyStringTrailing=/(__e\(.*?\)|\b__t\)) \+\n'';/g;var reEscapedHtml=/&(?:amp|lt|gt|quot|#39);/g,reUnescapedHtml=/[&<>"']/g,reHasEscapedHtml=RegExp(reEscapedHtml.source),reHasUnescapedHtml=RegExp(reUnescapedHtml.source);var reEscape=/<%-([\s\S]+?)%>/g,reEvaluate=/<%([\s\S]+?)%>/g,reInterpolate=/<%=([\s\S]+?)%>/g;var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reHasRegExpChar=RegExp(reRegExpChar.source);var reTrimStart=/^\s+/;var reWhitespace=/\s/;var reWrapComment=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,reWrapDetails=/\{\n\/\* \[wrapped with (.+)\] \*/,reSplitDetails=/,? & /;var reAsciiWord=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;var reForbiddenIdentifierChars=/[()=,{}\[\]\/\s]/;var reEscapeChar=/\\(\\)?/g;var reEsTemplate=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;var reFlags=/\w*$/;var reIsBadHex=/^[-+]0x[0-9a-f]+$/i;var reIsBinary=/^0b[01]+$/i;var reIsHostCtor=/^\[object .+?Constructor\]$/;var reIsOctal=/^0o[0-7]+$/i;var reIsUint=/^(?:0|[1-9]\d*)$/;var reLatin=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;var reNoMatch=/($^)/;var reUnescapedString=/['\n\r\u2028\u2029\\]/g;var rsAstralRange="\\ud800-\\udfff",rsComboMarksRange="\\u0300-\\u036f",reComboHalfMarksRange="\\ufe20-\\ufe2f",rsComboSymbolsRange="\\u20d0-\\u20ff",rsComboRange=rsComboMarksRange+reComboHalfMarksRange+rsComboSymbolsRange,rsDingbatRange="\\u2700-\\u27bf",rsLowerRange="a-z\\xdf-\\xf6\\xf8-\\xff",rsMathOpRange="\\xac\\xb1\\xd7\\xf7",rsNonCharRange="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",rsPunctuationRange="\\u2000-\\u206f",rsSpaceRange=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",rsUpperRange="A-Z\\xc0-\\xd6\\xd8-\\xde",rsVarRange="\\ufe0e\\ufe0f",rsBreakRange=rsMathOpRange+rsNonCharRange+rsPunctuationRange+rsSpaceRange;var rsApos="['’]",rsAstral="["+rsAstralRange+"]",rsBreak="["+rsBreakRange+"]",rsCombo="["+rsComboRange+"]",rsDigits="\\d+",rsDingbat="["+rsDingbatRange+"]",rsLower="["+rsLowerRange+"]",rsMisc="[^"+rsAstralRange+rsBreakRange+rsDigits+rsDingbatRange+rsLowerRange+rsUpperRange+"]",rsFitz="\\ud83c[\\udffb-\\udfff]",rsModifier="(?:"+rsCombo+"|"+rsFitz+")",rsNonAstral="[^"+rsAstralRange+"]",rsRegional="(?:\\ud83c[\\udde6-\\uddff]){2}",rsSurrPair="[\\ud800-\\udbff][\\udc00-\\udfff]",rsUpper="["+rsUpperRange+"]",rsZWJ="\\u200d";var rsMiscLower="(?:"+rsLower+"|"+rsMisc+")",rsMiscUpper="(?:"+rsUpper+"|"+rsMisc+")",rsOptContrLower="(?:"+rsApos+"(?:d|ll|m|re|s|t|ve))?",rsOptContrUpper="(?:"+rsApos+"(?:D|LL|M|RE|S|T|VE))?",reOptMod=rsModifier+"?",rsOptVar="["+rsVarRange+"]?",rsOptJoin="(?:"+rsZWJ+"(?:"+[rsNonAstral,rsRegional,rsSurrPair].join("|")+")"+rsOptVar+reOptMod+")*",rsOrdLower="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",rsOrdUpper="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",rsSeq=rsOptVar+reOptMod+rsOptJoin,rsEmoji="(?:"+[rsDingbat,rsRegional,rsSurrPair].join("|")+")"+rsSeq,rsSymbol="(?:"+[rsNonAstral+rsCombo+"?",rsCombo,rsRegional,rsSurrPair,rsAstral].join("|")+")";var reApos=RegExp(rsApos,"g");var reComboMark=RegExp(rsCombo,"g");var reUnicode=RegExp(rsFitz+"(?="+rsFitz+")|"+rsSymbol+rsSeq,"g");var reUnicodeWord=RegExp([rsUpper+"?"+rsLower+"+"+rsOptContrLower+"(?="+[rsBreak,rsUpper,"$"].join("|")+")",rsMiscUpper+"+"+rsOptContrUpper+"(?="+[rsBreak,rsUpper+rsMiscLower,"$"].join("|")+")",rsUpper+"?"+rsMiscLower+"+"+rsOptContrLower,rsUpper+"+"+rsOptContrUpper,rsOrdUpper,rsOrdLower,rsDigits,rsEmoji].join("|"),"g");var reHasUnicode=RegExp("["+rsZWJ+rsAstralRange+rsComboRange+rsVarRange+"]");var reHasUnicodeWord=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;var contextProps=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"];var templateCounter=-1;var typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=true;typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=false;var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[dataViewTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[setTag]=cloneableTags[stringTag]=cloneableTags[symbolTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=true;cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[weakMapTag]=false;var deburredLetters={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"};var htmlEscapes={"&":"&","<":"<",">":">",'"':""","'":"'"};var htmlUnescapes={"&":"&","<":"<",">":">",""":'"',"'":"'"};var stringEscapes={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};var freeParseFloat=parseFloat,freeParseInt=parseInt;var freeGlobal=typeof commonjsGlobal=="object"&&commonjsGlobal&&commonjsGlobal.Object===Object&&commonjsGlobal;var freeSelf=typeof self=="object"&&self&&self.Object===Object&&self;var root=freeGlobal||freeSelf||Function("return this")();var freeExports=exports3&&!exports3.nodeType&&exports3;var freeModule=freeExports&&true&&module2&&!module2.nodeType&&module2;var moduleExports=freeModule&&freeModule.exports===freeExports;var freeProcess=moduleExports&&freeGlobal.process;var nodeUtil=function(){try{var types=freeModule&&freeModule.require&&freeModule.require("util").types;if(types){return types}return freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch(e){}}();var nodeIsArrayBuffer=nodeUtil&&nodeUtil.isArrayBuffer,nodeIsDate=nodeUtil&&nodeUtil.isDate,nodeIsMap=nodeUtil&&nodeUtil.isMap,nodeIsRegExp=nodeUtil&&nodeUtil.isRegExp,nodeIsSet=nodeUtil&&nodeUtil.isSet,nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray;function apply(func,thisArg,args){switch(args.length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args[0]);case 2:return func.call(thisArg,args[0],args[1]);case 3:return func.call(thisArg,args[0],args[1],args[2])}return func.apply(thisArg,args)}__name(apply,"apply");function arrayAggregator(array,setter,iteratee,accumulator){var index2=-1,length=array==null?0:array.length;while(++index2<length){var value=array[index2];setter(accumulator,value,iteratee(value),array)}return accumulator}__name(arrayAggregator,"arrayAggregator");function arrayEach(array,iteratee){var index2=-1,length=array==null?0:array.length;while(++index2<length){if(iteratee(array[index2],index2,array)===false){break}}return array}__name(arrayEach,"arrayEach");function arrayEachRight(array,iteratee){var length=array==null?0:array.length;while(length--){if(iteratee(array[length],length,array)===false){break}}return array}__name(arrayEachRight,"arrayEachRight");function arrayEvery(array,predicate){var index2=-1,length=array==null?0:array.length;while(++index2<length){if(!predicate(array[index2],index2,array)){return false}}return true}__name(arrayEvery,"arrayEvery");function arrayFilter(array,predicate){var index2=-1,length=array==null?0:array.length,resIndex=0,result=[];while(++index2<length){var value=array[index2];if(predicate(value,index2,array)){result[resIndex++]=value}}return result}__name(arrayFilter,"arrayFilter");function arrayIncludes(array,value){var length=array==null?0:array.length;return!!length&&baseIndexOf(array,value,0)>-1}__name(arrayIncludes,"arrayIncludes");function arrayIncludesWith(array,value,comparator){var index2=-1,length=array==null?0:array.length;while(++index2<length){if(comparator(value,array[index2])){return true}}return false}__name(arrayIncludesWith,"arrayIncludesWith");function arrayMap(array,iteratee){var index2=-1,length=array==null?0:array.length,result=Array(length);while(++index2<length){result[index2]=iteratee(array[index2],index2,array)}return result}__name(arrayMap,"arrayMap");function arrayPush(array,values){var index2=-1,length=values.length,offset=array.length;while(++index2<length){array[offset+index2]=values[index2]}return array}__name(arrayPush,"arrayPush");function arrayReduce(array,iteratee,accumulator,initAccum){var index2=-1,length=array==null?0:array.length;if(initAccum&&length){accumulator=array[++index2]}while(++index2<length){accumulator=iteratee(accumulator,array[index2],index2,array)}return accumulator}__name(arrayReduce,"arrayReduce");function arrayReduceRight(array,iteratee,accumulator,initAccum){var length=array==null?0:array.length;if(initAccum&&length){accumulator=array[--length]}while(length--){accumulator=iteratee(accumulator,array[length],length,array)}return accumulator}__name(arrayReduceRight,"arrayReduceRight");function arraySome(array,predicate){var index2=-1,length=array==null?0:array.length;while(++index2<length){if(predicate(array[index2],index2,array)){return true}}return false}__name(arraySome,"arraySome");var asciiSize=baseProperty("length");function asciiToArray(string){return string.split("")}__name(asciiToArray,"asciiToArray");function asciiWords(string){return string.match(reAsciiWord)||[]}__name(asciiWords,"asciiWords");function baseFindKey(collection,predicate,eachFunc){var result;eachFunc(collection,function(value,key,collection2){if(predicate(value,key,collection2)){result=key;return false}});return result}__name(baseFindKey,"baseFindKey");function baseFindIndex(array,predicate,fromIndex,fromRight){var length=array.length,index2=fromIndex+(fromRight?1:-1);while(fromRight?index2--:++index2<length){if(predicate(array[index2],index2,array)){return index2}}return-1}__name(baseFindIndex,"baseFindIndex");function baseIndexOf(array,value,fromIndex){return value===value?strictIndexOf(array,value,fromIndex):baseFindIndex(array,baseIsNaN,fromIndex)}__name(baseIndexOf,"baseIndexOf");function baseIndexOfWith(array,value,fromIndex,comparator){var index2=fromIndex-1,length=array.length;while(++index2<length){if(comparator(array[index2],value)){return index2}}return-1}__name(baseIndexOfWith,"baseIndexOfWith");function baseIsNaN(value){return value!==value}__name(baseIsNaN,"baseIsNaN");function baseMean(array,iteratee){var length=array==null?0:array.length;return length?baseSum(array,iteratee)/length:NAN}__name(baseMean,"baseMean");function baseProperty(key){return function(object){return object==null?undefined$1:object[key]}}__name(baseProperty,"baseProperty");function basePropertyOf(object){return function(key){return object==null?undefined$1:object[key]}}__name(basePropertyOf,"basePropertyOf");function baseReduce(collection,iteratee,accumulator,initAccum,eachFunc){eachFunc(collection,function(value,index2,collection2){accumulator=initAccum?(initAccum=false,value):iteratee(accumulator,value,index2,collection2)});return accumulator}__name(baseReduce,"baseReduce");function baseSortBy(array,comparer){var length=array.length;array.sort(comparer);while(length--){array[length]=array[length].value}return array}__name(baseSortBy,"baseSortBy");function baseSum(array,iteratee){var result,index2=-1,length=array.length;while(++index2<length){var current=iteratee(array[index2]);if(current!==undefined$1){result=result===undefined$1?current:result+current}}return result}__name(baseSum,"baseSum");function baseTimes(n,iteratee){var index2=-1,result=Array(n);while(++index2<n){result[index2]=iteratee(index2)}return result}__name(baseTimes,"baseTimes");function baseToPairs(object,props){return arrayMap(props,function(key){return[key,object[key]]})}__name(baseToPairs,"baseToPairs");function baseTrim(string){return string?string.slice(0,trimmedEndIndex(string)+1).replace(reTrimStart,""):string}__name(baseTrim,"baseTrim");function baseUnary(func){return function(value){return func(value)}}__name(baseUnary,"baseUnary");function baseValues(object,props){return arrayMap(props,function(key){return object[key]})}__name(baseValues,"baseValues");function cacheHas(cache,key){return cache.has(key)}__name(cacheHas,"cacheHas");function charsStartIndex(strSymbols,chrSymbols){var index2=-1,length=strSymbols.length;while(++index2<length&&baseIndexOf(chrSymbols,strSymbols[index2],0)>-1){}return index2}__name(charsStartIndex,"charsStartIndex");function charsEndIndex(strSymbols,chrSymbols){var index2=strSymbols.length;while(index2--&&baseIndexOf(chrSymbols,strSymbols[index2],0)>-1){}return index2}__name(charsEndIndex,"charsEndIndex");function countHolders(array,placeholder){var length=array.length,result=0;while(length--){if(array[length]===placeholder){++result}}return result}__name(countHolders,"countHolders");var deburrLetter=basePropertyOf(deburredLetters);var escapeHtmlChar=basePropertyOf(htmlEscapes);function escapeStringChar(chr){return"\\"+stringEscapes[chr]}__name(escapeStringChar,"escapeStringChar");function getValue(object,key){return object==null?undefined$1:object[key]}__name(getValue,"getValue");function hasUnicode(string){return reHasUnicode.test(string)}__name(hasUnicode,"hasUnicode");function hasUnicodeWord(string){return reHasUnicodeWord.test(string)}__name(hasUnicodeWord,"hasUnicodeWord");function iteratorToArray(iterator){var data,result=[];while(!(data=iterator.next()).done){result.push(data.value)}return result}__name(iteratorToArray,"iteratorToArray");function mapToArray(map){var index2=-1,result=Array(map.size);map.forEach(function(value,key){result[++index2]=[key,value]});return result}__name(mapToArray,"mapToArray");function overArg(func,transform){return function(arg){return func(transform(arg))}}__name(overArg,"overArg");function replaceHolders(array,placeholder){var index2=-1,length=array.length,resIndex=0,result=[];while(++index2<length){var value=array[index2];if(value===placeholder||value===PLACEHOLDER){array[index2]=PLACEHOLDER;result[resIndex++]=index2}}return result}__name(replaceHolders,"replaceHolders");function setToArray(set){var index2=-1,result=Array(set.size);set.forEach(function(value){result[++index2]=value});return result}__name(setToArray,"setToArray");function setToPairs(set){var index2=-1,result=Array(set.size);set.forEach(function(value){result[++index2]=[value,value]});return result}__name(setToPairs,"setToPairs");function strictIndexOf(array,value,fromIndex){var index2=fromIndex-1,length=array.length;while(++index2<length){if(array[index2]===value){return index2}}return-1}__name(strictIndexOf,"strictIndexOf");function strictLastIndexOf(array,value,fromIndex){var index2=fromIndex+1;while(index2--){if(array[index2]===value){return index2}}return index2}__name(strictLastIndexOf,"strictLastIndexOf");function stringSize(string){return hasUnicode(string)?unicodeSize(string):asciiSize(string)}__name(stringSize,"stringSize");function stringToArray(string){return hasUnicode(string)?unicodeToArray(string):asciiToArray(string)}__name(stringToArray,"stringToArray");function trimmedEndIndex(string){var index2=string.length;while(index2--&&reWhitespace.test(string.charAt(index2))){}return index2}__name(trimmedEndIndex,"trimmedEndIndex");var unescapeHtmlChar=basePropertyOf(htmlUnescapes);function unicodeSize(string){var result=reUnicode.lastIndex=0;while(reUnicode.test(string)){++result}return result}__name(unicodeSize,"unicodeSize");function unicodeToArray(string){return string.match(reUnicode)||[]}__name(unicodeToArray,"unicodeToArray");function unicodeWords(string){return string.match(reUnicodeWord)||[]}__name(unicodeWords,"unicodeWords");var runInContext=__name(function runInContext2(context){context=context==null?root:_.defaults(root.Object(),context,_.pick(root,contextProps));var Array2=context.Array,Date2=context.Date,Error2=context.Error,Function2=context.Function,Math2=context.Math,Object2=context.Object,RegExp2=context.RegExp,String2=context.String,TypeError2=context.TypeError;var arrayProto=Array2.prototype,funcProto=Function2.prototype,objectProto=Object2.prototype;var coreJsData=context["__core-js_shared__"];var funcToString=funcProto.toString;var hasOwnProperty=objectProto.hasOwnProperty;var idCounter=0;var maskSrcKey=function(){var uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:""}();var nativeObjectToString=objectProto.toString;var objectCtorString=funcToString.call(Object2);var oldDash=root._;var reIsNative=RegExp2("^"+funcToString.call(hasOwnProperty).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var Buffer2=moduleExports?context.Buffer:undefined$1,Symbol2=context.Symbol,Uint8Array2=context.Uint8Array,allocUnsafe=Buffer2?Buffer2.allocUnsafe:undefined$1,getPrototype=overArg(Object2.getPrototypeOf,Object2),objectCreate=Object2.create,propertyIsEnumerable=objectProto.propertyIsEnumerable,splice=arrayProto.splice,spreadableSymbol=Symbol2?Symbol2.isConcatSpreadable:undefined$1,symIterator=Symbol2?Symbol2.iterator:undefined$1,symToStringTag=Symbol2?Symbol2.toStringTag:undefined$1;var defineProperty=function(){try{var func=getNative(Object2,"defineProperty");func({},"",{});return func}catch(e){}}();var ctxClearTimeout=context.clearTimeout!==root.clearTimeout&&context.clearTimeout,ctxNow=Date2&&Date2.now!==root.Date.now&&Date2.now,ctxSetTimeout=context.setTimeout!==root.setTimeout&&context.setTimeout;var nativeCeil=Math2.ceil,nativeFloor=Math2.floor,nativeGetSymbols=Object2.getOwnPropertySymbols,nativeIsBuffer=Buffer2?Buffer2.isBuffer:undefined$1,nativeIsFinite=context.isFinite,nativeJoin=arrayProto.join,nativeKeys=overArg(Object2.keys,Object2),nativeMax=Math2.max,nativeMin=Math2.min,nativeNow=Date2.now,nativeParseInt=context.parseInt,nativeRandom=Math2.random,nativeReverse=arrayProto.reverse;var DataView=getNative(context,"DataView"),Map2=getNative(context,"Map"),Promise2=getNative(context,"Promise"),Set=getNative(context,"Set"),WeakMap=getNative(context,"WeakMap"),nativeCreate=getNative(Object2,"create");var metaMap=WeakMap&&new WeakMap;var realNames={};var dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map2),promiseCtorString=toSource(Promise2),setCtorString=toSource(Set),weakMapCtorString=toSource(WeakMap);var symbolProto=Symbol2?Symbol2.prototype:undefined$1,symbolValueOf=symbolProto?symbolProto.valueOf:undefined$1,symbolToString=symbolProto?symbolProto.toString:undefined$1;function lodash2(value){if(isObjectLike(value)&&!isArray2(value)&&!(value instanceof LazyWrapper)){if(value instanceof LodashWrapper){return value}if(hasOwnProperty.call(value,"__wrapped__")){return wrapperClone(value)}}return new LodashWrapper(value)}__name(lodash2,"lodash");var baseCreate=function(){function object(){}__name(object,"object");return function(proto2){if(!isObject(proto2)){return{}}if(objectCreate){return objectCreate(proto2)}object.prototype=proto2;var result2=new object;object.prototype=undefined$1;return result2}}();function baseLodash(){}__name(baseLodash,"baseLodash");function LodashWrapper(value,chainAll){this.__wrapped__=value;this.__actions__=[];this.__chain__=!!chainAll;this.__index__=0;this.__values__=undefined$1}__name(LodashWrapper,"LodashWrapper");lodash2.templateSettings={"escape":reEscape,"evaluate":reEvaluate,"interpolate":reInterpolate,"variable":"","imports":{"_":lodash2}};lodash2.prototype=baseLodash.prototype;lodash2.prototype.constructor=lodash2;LodashWrapper.prototype=baseCreate(baseLodash.prototype);LodashWrapper.prototype.constructor=LodashWrapper;function LazyWrapper(value){this.__wrapped__=value;this.__actions__=[];this.__dir__=1;this.__filtered__=false;this.__iteratees__=[];this.__takeCount__=MAX_ARRAY_LENGTH;this.__views__=[]}__name(LazyWrapper,"LazyWrapper");function lazyClone(){var result2=new LazyWrapper(this.__wrapped__);result2.__actions__=copyArray(this.__actions__);result2.__dir__=this.__dir__;result2.__filtered__=this.__filtered__;result2.__iteratees__=copyArray(this.__iteratees__);result2.__takeCount__=this.__takeCount__;result2.__views__=copyArray(this.__views__);return result2}__name(lazyClone,"lazyClone");function lazyReverse(){if(this.__filtered__){var result2=new LazyWrapper(this);result2.__dir__=-1;result2.__filtered__=true}else{result2=this.clone();result2.__dir__*=-1}return result2}__name(lazyReverse,"lazyReverse");function lazyValue(){var array=this.__wrapped__.value(),dir=this.__dir__,isArr=isArray2(array),isRight=dir<0,arrLength=isArr?array.length:0,view=getView(0,arrLength,this.__views__),start=view.start,end=view.end,length=end-start,index2=isRight?end:start-1,iteratees=this.__iteratees__,iterLength=iteratees.length,resIndex=0,takeCount=nativeMin(length,this.__takeCount__);if(!isArr||!isRight&&arrLength==length&&takeCount==length){return baseWrapperValue(array,this.__actions__)}var result2=[];outer:while(length--&&resIndex<takeCount){index2+=dir;var iterIndex=-1,value=array[index2];while(++iterIndex<iterLength){var data=iteratees[iterIndex],iteratee2=data.iteratee,type=data.type,computed=iteratee2(value);if(type==LAZY_MAP_FLAG){value=computed}else if(!computed){if(type==LAZY_FILTER_FLAG){continue outer}else{break outer}}}result2[resIndex++]=value}return result2}__name(lazyValue,"lazyValue");LazyWrapper.prototype=baseCreate(baseLodash.prototype);LazyWrapper.prototype.constructor=LazyWrapper;function Hash(entries){var index2=-1,length=entries==null?0:entries.length;this.clear();while(++index2<length){var entry=entries[index2];this.set(entry[0],entry[1])}}__name(Hash,"Hash");function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{};this.size=0}__name(hashClear,"hashClear");function hashDelete(key){var result2=this.has(key)&&delete this.__data__[key];this.size-=result2?1:0;return result2}__name(hashDelete,"hashDelete");function hashGet(key){var data=this.__data__;if(nativeCreate){var result2=data[key];return result2===HASH_UNDEFINED?undefined$1:result2}return hasOwnProperty.call(data,key)?data[key]:undefined$1}__name(hashGet,"hashGet");function hashHas(key){var data=this.__data__;return nativeCreate?data[key]!==undefined$1:hasOwnProperty.call(data,key)}__name(hashHas,"hashHas");function hashSet(key,value){var data=this.__data__;this.size+=this.has(key)?0:1;data[key]=nativeCreate&&value===undefined$1?HASH_UNDEFINED:value;return this}__name(hashSet,"hashSet");Hash.prototype.clear=hashClear;Hash.prototype["delete"]=hashDelete;Hash.prototype.get=hashGet;Hash.prototype.has=hashHas;Hash.prototype.set=hashSet;function ListCache(entries){var index2=-1,length=entries==null?0:entries.length;this.clear();while(++index2<length){var entry=entries[index2];this.set(entry[0],entry[1])}}__name(ListCache,"ListCache");function listCacheClear(){this.__data__=[];this.size=0}__name(listCacheClear,"listCacheClear");function listCacheDelete(key){var data=this.__data__,index2=assocIndexOf(data,key);if(index2<0){return false}var lastIndex=data.length-1;if(index2==lastIndex){data.pop()}else{splice.call(data,index2,1)}--this.size;return true}__name(listCacheDelete,"listCacheDelete");function listCacheGet(key){var data=this.__data__,index2=assocIndexOf(data,key);return index2<0?undefined$1:data[index2][1]}__name(listCacheGet,"listCacheGet");function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1}__name(listCacheHas,"listCacheHas");function listCacheSet(key,value){var data=this.__data__,index2=assocIndexOf(data,key);if(index2<0){++this.size;data.push([key,value])}else{data[index2][1]=value}return this}__name(listCacheSet,"listCacheSet");ListCache.prototype.clear=listCacheClear;ListCache.prototype["delete"]=listCacheDelete;ListCache.prototype.get=listCacheGet;ListCache.prototype.has=listCacheHas;ListCache.prototype.set=listCacheSet;function MapCache(entries){var index2=-1,length=entries==null?0:entries.length;this.clear();while(++index2<length){var entry=entries[index2];this.set(entry[0],entry[1])}}__name(MapCache,"MapCache");function mapCacheClear(){this.size=0;this.__data__={"hash":new Hash,"map":new(Map2||ListCache),"string":new Hash}}__name(mapCacheClear,"mapCacheClear");function mapCacheDelete(key){var result2=getMapData(this,key)["delete"](key);this.size-=result2?1:0;return result2}__name(mapCacheDelete,"mapCacheDelete");function mapCacheGet(key){return getMapData(this,key).get(key)}__name(mapCacheGet,"mapCacheGet");function mapCacheHas(key){return getMapData(this,key).has(key)}__name(mapCacheHas,"mapCacheHas");function mapCacheSet(key,value){var data=getMapData(this,key),size2=data.size;data.set(key,value);this.size+=data.size==size2?0:1;return this}__name(mapCacheSet,"mapCacheSet");MapCache.prototype.clear=mapCacheClear;MapCache.prototype["delete"]=mapCacheDelete;MapCache.prototype.get=mapCacheGet;MapCache.prototype.has=mapCacheHas;MapCache.prototype.set=mapCacheSet;function SetCache(values2){var index2=-1,length=values2==null?0:values2.length;this.__data__=new MapCache;while(++index2<length){this.add(values2[index2])}}__name(SetCache,"SetCache");function setCacheAdd(value){this.__data__.set(value,HASH_UNDEFINED);return this}__name(setCacheAdd,"setCacheAdd");function setCacheHas(value){return this.__data__.has(value)}__name(setCacheHas,"setCacheHas");SetCache.prototype.add=SetCache.prototype.push=setCacheAdd;SetCache.prototype.has=setCacheHas;function Stack(entries){var data=this.__data__=new ListCache(entries);this.size=data.size}__name(Stack,"Stack");function stackClear(){this.__data__=new ListCache;this.size=0}__name(stackClear,"stackClear");function stackDelete(key){var data=this.__data__,result2=data["delete"](key);this.size=data.size;return result2}__name(stackDelete,"stackDelete");function stackGet(key){return this.__data__.get(key)}__name(stackGet,"stackGet");function stackHas(key){return this.__data__.has(key)}__name(stackHas,"stackHas");function stackSet(key,value){var data=this.__data__;if(data instanceof ListCache){var pairs=data.__data__;if(!Map2||pairs.length<LARGE_ARRAY_SIZE-1){pairs.push([key,value]);this.size=++data.size;return this}data=this.__data__=new MapCache(pairs)}data.set(key,value);this.size=data.size;return this}__name(stackSet,"stackSet");Stack.prototype.clear=stackClear;Stack.prototype["delete"]=stackDelete;Stack.prototype.get=stackGet;Stack.prototype.has=stackHas;Stack.prototype.set=stackSet;function arrayLikeKeys(value,inherited){var isArr=isArray2(value),isArg=!isArr&&isArguments(value),isBuff=!isArr&&!isArg&&isBuffer2(value),isType=!isArr&&!isArg&&!isBuff&&isTypedArray(value),skipIndexes=isArr||isArg||isBuff||isType,result2=skipIndexes?baseTimes(value.length,String2):[],length=result2.length;for(var key in value){if((inherited||hasOwnProperty.call(value,key))&&!(skipIndexes&&(key=="length"||isBuff&&(key=="offset"||key=="parent")||isType&&(key=="buffer"||key=="byteLength"||key=="byteOffset")||isIndex(key,length)))){result2.push(key)}}return result2}__name(arrayLikeKeys,"arrayLikeKeys");function arraySample(array){var length=array.length;return length?array[baseRandom(0,length-1)]:undefined$1}__name(arraySample,"arraySample");function arraySampleSize(array,n){return shuffleSelf(copyArray(array),baseClamp(n,0,array.length))}__name(arraySampleSize,"arraySampleSize");function arrayShuffle(array){return shuffleSelf(copyArray(array))}__name(arrayShuffle,"arrayShuffle");function assignMergeValue(object,key,value){if(value!==undefined$1&&!eq(object[key],value)||value===undefined$1&&!(key in object)){baseAssignValue(object,key,value)}}__name(assignMergeValue,"assignMergeValue");function assignValue(object,key,value){var objValue=object[key];if(!(hasOwnProperty.call(object,key)&&eq(objValue,value))||value===undefined$1&&!(key in object)){baseAssignValue(object,key,value)}}__name(assignValue,"assignValue");function assocIndexOf(array,key){var length=array.length;while(length--){if(eq(array[length][0],key)){return length}}return-1}__name(assocIndexOf,"assocIndexOf");function baseAggregator(collection,setter,iteratee2,accumulator){baseEach(collection,function(value,key,collection2){setter(accumulator,value,iteratee2(value),collection2)});return accumulator}__name(baseAggregator,"baseAggregator");function baseAssign(object,source2){return object&©Object(source2,keys(source2),object)}__name(baseAssign,"baseAssign");function baseAssignIn(object,source2){return object&©Object(source2,keysIn(source2),object)}__name(baseAssignIn,"baseAssignIn");function baseAssignValue(object,key,value){if(key=="__proto__"&&defineProperty){defineProperty(object,key,{"configurable":true,"enumerable":true,"value":value,"writable":true})}else{object[key]=value}}__name(baseAssignValue,"baseAssignValue");function baseAt(object,paths){var index2=-1,length=paths.length,result2=Array2(length),skip=object==null;while(++index2<length){result2[index2]=skip?undefined$1:get2(object,paths[index2])}return result2}__name(baseAt,"baseAt");function baseClamp(number,lower,upper){if(number===number){if(upper!==undefined$1){number=number<=upper?number:upper}if(lower!==undefined$1){number=number>=lower?number:lower}}return number}__name(baseClamp,"baseClamp");function baseClone(value,bitmask,customizer,key,object,stack){var result2,isDeep=bitmask&CLONE_DEEP_FLAG,isFlat=bitmask&CLONE_FLAT_FLAG,isFull=bitmask&CLONE_SYMBOLS_FLAG;if(customizer){result2=object?customizer(value,key,object,stack):customizer(value)}if(result2!==undefined$1){return result2}if(!isObject(value)){return value}var isArr=isArray2(value);if(isArr){result2=initCloneArray(value);if(!isDeep){return copyArray(value,result2)}}else{var tag=getTag(value),isFunc=tag==funcTag||tag==genTag;if(isBuffer2(value)){return cloneBuffer(value,isDeep)}if(tag==objectTag||tag==argsTag||isFunc&&!object){result2=isFlat||isFunc?{}:initCloneObject(value);if(!isDeep){return isFlat?copySymbolsIn(value,baseAssignIn(result2,value)):copySymbols(value,baseAssign(result2,value))}}else{if(!cloneableTags[tag]){return object?value:{}}result2=initCloneByTag(value,tag,isDeep)}}stack||(stack=new Stack);var stacked=stack.get(value);if(stacked){return stacked}stack.set(value,result2);if(isSet(value)){value.forEach(function(subValue){result2.add(baseClone(subValue,bitmask,customizer,subValue,value,stack))})}else if(isMap(value)){value.forEach(function(subValue,key2){result2.set(key2,baseClone(subValue,bitmask,customizer,key2,value,stack))})}var keysFunc=isFull?isFlat?getAllKeysIn:getAllKeys:isFlat?keysIn:keys;var props=isArr?undefined$1:keysFunc(value);arrayEach(props||value,function(subValue,key2){if(props){key2=subValue;subValue=value[key2]}assignValue(result2,key2,baseClone(subValue,bitmask,customizer,key2,value,stack))});return result2}__name(baseClone,"baseClone");function baseConforms(source2){var props=keys(source2);return function(object){return baseConformsTo(object,source2,props)}}__name(baseConforms,"baseConforms");function baseConformsTo(object,source2,props){var length=props.length;if(object==null){return!length}object=Object2(object);while(length--){var key=props[length],predicate=source2[key],value=object[key];if(value===undefined$1&&!(key in object)||!predicate(value)){return false}}return true}__name(baseConformsTo,"baseConformsTo");function baseDelay(func,wait,args){if(typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT)}return setTimeout(function(){func.apply(undefined$1,args)},wait)}__name(baseDelay,"baseDelay");function baseDifference(array,values2,iteratee2,comparator){var index2=-1,includes2=arrayIncludes,isCommon=true,length=array.length,result2=[],valuesLength=values2.length;if(!length){return result2}if(iteratee2){values2=arrayMap(values2,baseUnary(iteratee2))}if(comparator){includes2=arrayIncludesWith;isCommon=false}else if(values2.length>=LARGE_ARRAY_SIZE){includes2=cacheHas;isCommon=false;values2=new SetCache(values2)}outer:while(++index2<length){var value=array[index2],computed=iteratee2==null?value:iteratee2(value);value=comparator||value!==0?value:0;if(isCommon&&computed===computed){var valuesIndex=valuesLength;while(valuesIndex--){if(values2[valuesIndex]===computed){continue outer}}result2.push(value)}else if(!includes2(values2,computed,comparator)){result2.push(value)}}return result2}__name(baseDifference,"baseDifference");var baseEach=createBaseEach(baseForOwn);var baseEachRight=createBaseEach(baseForOwnRight,true);function baseEvery(collection,predicate){var result2=true;baseEach(collection,function(value,index2,collection2){result2=!!predicate(value,index2,collection2);return result2});return result2}__name(baseEvery,"baseEvery");function baseExtremum(array,iteratee2,comparator){var index2=-1,length=array.length;while(++index2<length){var value=array[index2],current=iteratee2(value);if(current!=null&&(computed===undefined$1?current===current&&!isSymbol(current):comparator(current,computed))){var computed=current,result2=value}}return result2}__name(baseExtremum,"baseExtremum");function baseFill(array,value,start,end){var length=array.length;start=toInteger(start);if(start<0){start=-start>length?0:length+start}end=end===undefined$1||end>length?length:toInteger(end);if(end<0){end+=length}end=start>end?0:toLength(end);while(start<end){array[start++]=value}return array}__name(baseFill,"baseFill");function baseFilter(collection,predicate){var result2=[];baseEach(collection,function(value,index2,collection2){if(predicate(value,index2,collection2)){result2.push(value)}});return result2}__name(baseFilter,"baseFilter");function baseFlatten(array,depth,predicate,isStrict,result2){var index2=-1,length=array.length;predicate||(predicate=isFlattenable);result2||(result2=[]);while(++index2<length){var value=array[index2];if(depth>0&&predicate(value)){if(depth>1){baseFlatten(value,depth-1,predicate,isStrict,result2)}else{arrayPush(result2,value)}}else if(!isStrict){result2[result2.length]=value}}return result2}__name(baseFlatten,"baseFlatten");var baseFor=createBaseFor();var baseForRight=createBaseFor(true);function baseForOwn(object,iteratee2){return object&&baseFor(object,iteratee2,keys)}__name(baseForOwn,"baseForOwn");function baseForOwnRight(object,iteratee2){return object&&baseForRight(object,iteratee2,keys)}__name(baseForOwnRight,"baseForOwnRight");function baseFunctions(object,props){return arrayFilter(props,function(key){return isFunction(object[key])})}__name(baseFunctions,"baseFunctions");function baseGet(object,path){path=castPath(path,object);var index2=0,length=path.length;while(object!=null&&index2<length){object=object[toKey(path[index2++])]}return index2&&index2==length?object:undefined$1}__name(baseGet,"baseGet");function baseGetAllKeys(object,keysFunc,symbolsFunc){var result2=keysFunc(object);return isArray2(object)?result2:arrayPush(result2,symbolsFunc(object))}__name(baseGetAllKeys,"baseGetAllKeys");function baseGetTag(value){if(value==null){return value===undefined$1?undefinedTag:nullTag}return symToStringTag&&symToStringTag in Object2(value)?getRawTag(value):objectToString(value)}__name(baseGetTag,"baseGetTag");function baseGt(value,other){return value>other}__name(baseGt,"baseGt");function baseHas(object,key){return object!=null&&hasOwnProperty.call(object,key)}__name(baseHas,"baseHas");function baseHasIn(object,key){return object!=null&&key in Object2(object)}__name(baseHasIn,"baseHasIn");function baseInRange(number,start,end){return number>=nativeMin(start,end)&&number<nativeMax(start,end)}__name(baseInRange,"baseInRange");function baseIntersection(arrays,iteratee2,comparator){var includes2=comparator?arrayIncludesWith:arrayIncludes,length=arrays[0].length,othLength=arrays.length,othIndex=othLength,caches=Array2(othLength),maxLength=Infinity,result2=[];while(othIndex--){var array=arrays[othIndex];if(othIndex&&iteratee2){array=arrayMap(array,baseUnary(iteratee2))}maxLength=nativeMin(array.length,maxLength);caches[othIndex]=!comparator&&(iteratee2||length>=120&&array.length>=120)?new SetCache(othIndex&&array):undefined$1}array=arrays[0];var index2=-1,seen=caches[0];outer:while(++index2<length&&result2.length<maxLength){var value=array[index2],computed=iteratee2?iteratee2(value):value;value=comparator||value!==0?value:0;if(!(seen?cacheHas(seen,computed):includes2(result2,computed,comparator))){othIndex=othLength;while(--othIndex){var cache=caches[othIndex];if(!(cache?cacheHas(cache,computed):includes2(arrays[othIndex],computed,comparator))){continue outer}}if(seen){seen.push(computed)}result2.push(value)}}return result2}__name(baseIntersection,"baseIntersection");function baseInverter(object,setter,iteratee2,accumulator){baseForOwn(object,function(value,key,object2){setter(accumulator,iteratee2(value),key,object2)});return accumulator}__name(baseInverter,"baseInverter");function baseInvoke(object,path,args){path=castPath(path,object);object=parent(object,path);var func=object==null?object:object[toKey(last(path))];return func==null?undefined$1:apply(func,object,args)}__name(baseInvoke,"baseInvoke");function baseIsArguments(value){return isObjectLike(value)&&baseGetTag(value)==argsTag}__name(baseIsArguments,"baseIsArguments");function baseIsArrayBuffer(value){return isObjectLike(value)&&baseGetTag(value)==arrayBufferTag}__name(baseIsArrayBuffer,"baseIsArrayBuffer");function baseIsDate(value){return isObjectLike(value)&&baseGetTag(value)==dateTag}__name(baseIsDate,"baseIsDate");function baseIsEqual(value,other,bitmask,customizer,stack){if(value===other){return true}if(value==null||other==null||!isObjectLike(value)&&!isObjectLike(other)){return value!==value&&other!==other}return baseIsEqualDeep(value,other,bitmask,customizer,baseIsEqual,stack)}__name(baseIsEqual,"baseIsEqual");function baseIsEqualDeep(object,other,bitmask,customizer,equalFunc,stack){var objIsArr=isArray2(object),othIsArr=isArray2(other),objTag=objIsArr?arrayTag:getTag(object),othTag=othIsArr?arrayTag:getTag(other);objTag=objTag==argsTag?objectTag:objTag;othTag=othTag==argsTag?objectTag:othTag;var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&isBuffer2(object)){if(!isBuffer2(other)){return false}objIsArr=true;objIsObj=false}if(isSameTag&&!objIsObj){stack||(stack=new Stack);return objIsArr||isTypedArray(object)?equalArrays(object,other,bitmask,customizer,equalFunc,stack):equalByTag(object,other,objTag,bitmask,customizer,equalFunc,stack)}if(!(bitmask&COMPARE_PARTIAL_FLAG)){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;stack||(stack=new Stack);return equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack)}}if(!isSameTag){return false}stack||(stack=new Stack);return equalObjects(object,other,bitmask,customizer,equalFunc,stack)}__name(baseIsEqualDeep,"baseIsEqualDeep");function baseIsMap(value){return isObjectLike(value)&&getTag(value)==mapTag}__name(baseIsMap,"baseIsMap");function baseIsMatch(object,source2,matchData,customizer){var index2=matchData.length,length=index2,noCustomizer=!customizer;if(object==null){return!length}object=Object2(object);while(index2--){var data=matchData[index2];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object)){return false}}while(++index2<length){data=matchData[index2];var key=data[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(objValue===undefined$1&&!(key in object)){return false}}else{var stack=new Stack;if(customizer){var result2=customizer(objValue,srcValue,key,object,source2,stack)}if(!(result2===undefined$1?baseIsEqual(srcValue,objValue,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG,customizer,stack):result2)){return false}}}return true}__name(baseIsMatch,"baseIsMatch");function baseIsNative(value){if(!isObject(value)||isMasked(value)){return false}var pattern=isFunction(value)?reIsNative:reIsHostCtor;return pattern.test(toSource(value))}__name(baseIsNative,"baseIsNative");function baseIsRegExp(value){return isObjectLike(value)&&baseGetTag(value)==regexpTag}__name(baseIsRegExp,"baseIsRegExp");function baseIsSet(value){return isObjectLike(value)&&getTag(value)==setTag}__name(baseIsSet,"baseIsSet");function baseIsTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[baseGetTag(value)]}__name(baseIsTypedArray,"baseIsTypedArray");function baseIteratee(value){if(typeof value=="function"){return value}if(value==null){return identity}if(typeof value=="object"){return isArray2(value)?baseMatchesProperty(value[0],value[1]):baseMatches(value)}return property(value)}__name(baseIteratee,"baseIteratee");function baseKeys(object){if(!isPrototype(object)){return nativeKeys(object)}var result2=[];for(var key in Object2(object)){if(hasOwnProperty.call(object,key)&&key!="constructor"){result2.push(key)}}return result2}__name(baseKeys,"baseKeys");function baseKeysIn(object){if(!isObject(object)){return nativeKeysIn(object)}var isProto=isPrototype(object),result2=[];for(var key in object){if(!(key=="constructor"&&(isProto||!hasOwnProperty.call(object,key)))){result2.push(key)}}return result2}__name(baseKeysIn,"baseKeysIn");function baseLt(value,other){return value<other}__name(baseLt,"baseLt");function baseMap(collection,iteratee2){var index2=-1,result2=isArrayLike(collection)?Array2(collection.length):[];baseEach(collection,function(value,key,collection2){result2[++index2]=iteratee2(value,key,collection2)});return result2}__name(baseMap,"baseMap");function baseMatches(source2){var matchData=getMatchData(source2);if(matchData.length==1&&matchData[0][2]){return matchesStrictComparable(matchData[0][0],matchData[0][1])}return function(object){return object===source2||baseIsMatch(object,source2,matchData)}}__name(baseMatches,"baseMatches");function baseMatchesProperty(path,srcValue){if(isKey(path)&&isStrictComparable(srcValue)){return matchesStrictComparable(toKey(path),srcValue)}return function(object){var objValue=get2(object,path);return objValue===undefined$1&&objValue===srcValue?hasIn(object,path):baseIsEqual(srcValue,objValue,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG)}}__name(baseMatchesProperty,"baseMatchesProperty");function baseMerge(object,source2,srcIndex,customizer,stack){if(object===source2){return}baseFor(source2,function(srcValue,key){stack||(stack=new Stack);if(isObject(srcValue)){baseMergeDeep(object,source2,key,srcIndex,baseMerge,customizer,stack)}else{var newValue=customizer?customizer(safeGet(object,key),srcValue,key+"",object,source2,stack):undefined$1;if(newValue===undefined$1){newValue=srcValue}assignMergeValue(object,key,newValue)}},keysIn)}__name(baseMerge,"baseMerge");function baseMergeDeep(object,source2,key,srcIndex,mergeFunc,customizer,stack){var objValue=safeGet(object,key),srcValue=safeGet(source2,key),stacked=stack.get(srcValue);if(stacked){assignMergeValue(object,key,stacked);return}var newValue=customizer?customizer(objValue,srcValue,key+"",object,source2,stack):undefined$1;var isCommon=newValue===undefined$1;if(isCommon){var isArr=isArray2(srcValue),isBuff=!isArr&&isBuffer2(srcValue),isTyped=!isArr&&!isBuff&&isTypedArray(srcValue);newValue=srcValue;if(isArr||isBuff||isTyped){if(isArray2(objValue)){newValue=objValue}else if(isArrayLikeObject(objValue)){newValue=copyArray(objValue)}else if(isBuff){isCommon=false;newValue=cloneBuffer(srcValue,true)}else if(isTyped){isCommon=false;newValue=cloneTypedArray(srcValue,true)}else{newValue=[]}}else if(isPlainObject(srcValue)||isArguments(srcValue)){newValue=objValue;if(isArguments(objValue)){newValue=toPlainObject(objValue)}else if(!isObject(objValue)||isFunction(objValue)){newValue=initCloneObject(srcValue)}}else{isCommon=false}}if(isCommon){stack.set(srcValue,newValue);mergeFunc(newValue,srcValue,srcIndex,customizer,stack);stack["delete"](srcValue)}assignMergeValue(object,key,newValue)}__name(baseMergeDeep,"baseMergeDeep");function baseNth(array,n){var length=array.length;if(!length){return}n+=n<0?length:0;return isIndex(n,length)?array[n]:undefined$1}__name(baseNth,"baseNth");function baseOrderBy(collection,iteratees,orders){if(iteratees.length){iteratees=arrayMap(iteratees,function(iteratee2){if(isArray2(iteratee2)){return function(value){return baseGet(value,iteratee2.length===1?iteratee2[0]:iteratee2)}}return iteratee2})}else{iteratees=[identity]}var index2=-1;iteratees=arrayMap(iteratees,baseUnary(getIteratee()));var result2=baseMap(collection,function(value,key,collection2){var criteria=arrayMap(iteratees,function(iteratee2){return iteratee2(value)});return{"criteria":criteria,"index":++index2,"value":value}});return baseSortBy(result2,function(object,other){return compareMultiple(object,other,orders)})}__name(baseOrderBy,"baseOrderBy");function basePick(object,paths){return basePickBy(object,paths,function(value,path){return hasIn(object,path)})}__name(basePick,"basePick");function basePickBy(object,paths,predicate){var index2=-1,length=paths.length,result2={};while(++index2<length){var path=paths[index2],value=baseGet(object,path);if(predicate(value,path)){baseSet(result2,castPath(path,object),value)}}return result2}__name(basePickBy,"basePickBy");function basePropertyDeep(path){return function(object){return baseGet(object,path)}}__name(basePropertyDeep,"basePropertyDeep");function basePullAll(array,values2,iteratee2,comparator){var indexOf2=comparator?baseIndexOfWith:baseIndexOf,index2=-1,length=values2.length,seen=array;if(array===values2){values2=copyArray(values2)}if(iteratee2){seen=arrayMap(array,baseUnary(iteratee2))}while(++index2<length){var fromIndex=0,value=values2[index2],computed=iteratee2?iteratee2(value):value;while((fromIndex=indexOf2(seen,computed,fromIndex,comparator))>-1){if(seen!==array){splice.call(seen,fromIndex,1)}splice.call(array,fromIndex,1)}}return array}__name(basePullAll,"basePullAll");function basePullAt(array,indexes){var length=array?indexes.length:0,lastIndex=length-1;while(length--){var index2=indexes[length];if(length==lastIndex||index2!==previous){var previous=index2;if(isIndex(index2)){splice.call(array,index2,1)}else{baseUnset(array,index2)}}}return array}__name(basePullAt,"basePullAt");function baseRandom(lower,upper){return lower+nativeFloor(nativeRandom()*(upper-lower+1))}__name(baseRandom,"baseRandom");function baseRange(start,end,step,fromRight){var index2=-1,length=nativeMax(nativeCeil((end-start)/(step||1)),0),result2=Array2(length);while(length--){result2[fromRight?length:++index2]=start;start+=step}return result2}__name(baseRange,"baseRange");function baseRepeat(string,n){var result2="";if(!string||n<1||n>MAX_SAFE_INTEGER){return result2}do{if(n%2){result2+=string}n=nativeFloor(n/2);if(n){string+=string}}while(n);return result2}__name(baseRepeat,"baseRepeat");function baseRest(func,start){return setToString(overRest(func,start,identity),func+"")}__name(baseRest,"baseRest");function baseSample(collection){return arraySample(values(collection))}__name(baseSample,"baseSample");function baseSampleSize(collection,n){var array=values(collection);return shuffleSelf(array,baseClamp(n,0,array.length))}__name(baseSampleSize,"baseSampleSize");function baseSet(object,path,value,customizer){if(!isObject(object)){return object}path=castPath(path,object);var index2=-1,length=path.length,lastIndex=length-1,nested=object;while(nested!=null&&++index2<length){var key=toKey(path[index2]),newValue=value;if(key==="__proto__"||key==="constructor"||key==="prototype"){return object}if(index2!=lastIndex){var objValue=nested[key];newValue=customizer?customizer(objValue,key,nested):undefined$1;if(newValue===undefined$1){newValue=isObject(objValue)?objValue:isIndex(path[index2+1])?[]:{}}}assignValue(nested,key,newValue);nested=nested[key]}return object}__name(baseSet,"baseSet");var baseSetData=!metaMap?identity:function(func,data){metaMap.set(func,data);return func};var baseSetToString=!defineProperty?identity:function(func,string){return defineProperty(func,"toString",{"configurable":true,"enumerable":false,"value":constant(string),"writable":true})};function baseShuffle(collection){return shuffleSelf(values(collection))}__name(baseShuffle,"baseShuffle");function baseSlice(array,start,end){var index2=-1,length=array.length;if(start<0){start=-start>length?0:length+start}end=end>length?length:end;if(end<0){end+=length}length=start>end?0:end-start>>>0;start>>>=0;var result2=Array2(length);while(++index2<length){result2[index2]=array[index2+start]}return result2}__name(baseSlice,"baseSlice");function baseSome(collection,predicate){var result2;baseEach(collection,function(value,index2,collection2){result2=predicate(value,index2,collection2);return!result2});return!!result2}__name(baseSome,"baseSome");function baseSortedIndex(array,value,retHighest){var low=0,high=array==null?low:array.length;if(typeof value=="number"&&value===value&&high<=HALF_MAX_ARRAY_LENGTH){while(low<high){var mid=low+high>>>1,computed=array[mid];if(computed!==null&&!isSymbol(computed)&&(retHighest?computed<=value:computed<value)){low=mid+1}else{high=mid}}return high}return baseSortedIndexBy(array,value,identity,retHighest)}__name(baseSortedIndex,"baseSortedIndex");function baseSortedIndexBy(array,value,iteratee2,retHighest){var low=0,high=array==null?0:array.length;if(high===0){return 0}value=iteratee2(value);var valIsNaN=value!==value,valIsNull=value===null,valIsSymbol=isSymbol(value),valIsUndefined=value===undefined$1;while(low<high){var mid=nativeFloor((low+high)/2),computed=iteratee2(array[mid]),othIsDefined=computed!==undefined$1,othIsNull=computed===null,othIsReflexive=computed===computed,othIsSymbol=isSymbol(computed);if(valIsNaN){var setLow=retHighest||othIsReflexive}else if(valIsUndefined){setLow=othIsReflexive&&(retHighest||othIsDefined)}else if(valIsNull){setLow=othIsReflexive&&othIsDefined&&(retHighest||!othIsNull)}else if(valIsSymbol){setLow=othIsReflexive&&othIsDefined&&!othIsNull&&(retHighest||!othIsSymbol)}else if(othIsNull||othIsSymbol){setLow=false}else{setLow=retHighest?computed<=value:computed<value}if(setLow){low=mid+1}else{high=mid}}return nativeMin(high,MAX_ARRAY_INDEX)}__name(baseSortedIndexBy,"baseSortedIndexBy");function baseSortedUniq(array,iteratee2){var index2=-1,length=array.length,resIndex=0,result2=[];while(++index2<length){var value=array[index2],computed=iteratee2?iteratee2(value):value;if(!index2||!eq(computed,seen)){var seen=computed;result2[resIndex++]=value===0?0:value}}return result2}__name(baseSortedUniq,"baseSortedUniq");function baseToNumber(value){if(typeof value=="number"){return value}if(isSymbol(value)){return NAN}return+value}__name(baseToNumber,"baseToNumber");function baseToString(value){if(typeof value=="string"){return value}if(isArray2(value)){return arrayMap(value,baseToString)+""}if(isSymbol(value)){return symbolToString?symbolToString.call(value):""}var result2=value+"";return result2=="0"&&1/value==-INFINITY?"-0":result2}__name(baseToString,"baseToString");function baseUniq(array,iteratee2,comparator){var index2=-1,includes2=arrayIncludes,length=array.length,isCommon=true,result2=[],seen=result2;if(comparator){isCommon=false;includes2=arrayIncludesWith}else if(length>=LARGE_ARRAY_SIZE){var set2=iteratee2?null:createSet(array);if(set2){return setToArray(set2)}isCommon=false;includes2=cacheHas;seen=new SetCache}else{seen=iteratee2?[]:result2}outer:while(++index2<length){var value=array[index2],computed=iteratee2?iteratee2(value):value;value=comparator||value!==0?value:0;if(isCommon&&computed===computed){var seenIndex=seen.length;while(seenIndex--){if(seen[seenIndex]===computed){continue outer}}if(iteratee2){seen.push(computed)}result2.push(value)}else if(!includes2(seen,computed,comparator)){if(seen!==result2){seen.push(computed)}result2.push(value)}}return result2}__name(baseUniq,"baseUniq");function baseUnset(object,path){path=castPath(path,object);object=parent(object,path);return object==null||delete object[toKey(last(path))]}__name(baseUnset,"baseUnset");function baseUpdate(object,path,updater,customizer){return baseSet(object,path,updater(baseGet(object,path)),customizer)}__name(baseUpdate,"baseUpdate");function baseWhile(array,predicate,isDrop,fromRight){var length=array.length,index2=fromRight?length:-1;while((fromRight?index2--:++index2<length)&&predicate(array[index2],index2,array)){}return isDrop?baseSlice(array,fromRight?0:index2,fromRight?index2+1:length):baseSlice(array,fromRight?index2+1:0,fromRight?length:index2)}__name(baseWhile,"baseWhile");function baseWrapperValue(value,actions){var result2=value;if(result2 instanceof LazyWrapper){result2=result2.value()}return arrayReduce(actions,function(result3,action){return action.func.apply(action.thisArg,arrayPush([result3],action.args))},result2)}__name(baseWrapperValue,"baseWrapperValue");function baseXor(arrays,iteratee2,comparator){var length=arrays.length;if(length<2){return length?baseUniq(arrays[0]):[]}var index2=-1,result2=Array2(length);while(++index2<length){var array=arrays[index2],othIndex=-1;while(++othIndex<length){if(othIndex!=index2){result2[index2]=baseDifference(result2[index2]||array,arrays[othIndex],iteratee2,comparator)}}}return baseUniq(baseFlatten(result2,1),iteratee2,comparator)}__name(baseXor,"baseXor");function baseZipObject(props,values2,assignFunc){var index2=-1,length=props.length,valsLength=values2.length,result2={};while(++index2<length){var value=index2<valsLength?values2[index2]:undefined$1;assignFunc(result2,props[index2],value)}return result2}__name(baseZipObject,"baseZipObject");function castArrayLikeObject(value){return isArrayLikeObject(value)?value:[]}__name(castArrayLikeObject,"castArrayLikeObject");function castFunction(value){return typeof value=="function"?value:identity}__name(castFunction,"castFunction");function castPath(value,object){if(isArray2(value)){return value}return isKey(value,object)?[value]:stringToPath(toString(value))}__name(castPath,"castPath");var castRest=baseRest;function castSlice(array,start,end){var length=array.length;end=end===undefined$1?length:end;return!start&&end>=length?array:baseSlice(array,start,end)}__name(castSlice,"castSlice");var clearTimeout=ctxClearTimeout||function(id){return root.clearTimeout(id)};function cloneBuffer(buffer2,isDeep){if(isDeep){return buffer2.slice()}var length=buffer2.length,result2=allocUnsafe?allocUnsafe(length):new buffer2.constructor(length);buffer2.copy(result2);return result2}__name(cloneBuffer,"cloneBuffer");function cloneArrayBuffer(arrayBuffer){var result2=new arrayBuffer.constructor(arrayBuffer.byteLength);new Uint8Array2(result2).set(new Uint8Array2(arrayBuffer));return result2}__name(cloneArrayBuffer,"cloneArrayBuffer");function cloneDataView(dataView,isDeep){var buffer2=isDeep?cloneArrayBuffer(dataView.buffer):dataView.buffer;return new dataView.constructor(buffer2,dataView.byteOffset,dataView.byteLength)}__name(cloneDataView,"cloneDataView");function cloneRegExp2(regexp){var result2=new regexp.constructor(regexp.source,reFlags.exec(regexp));result2.lastIndex=regexp.lastIndex;return result2}__name(cloneRegExp2,"cloneRegExp");function cloneSymbol(symbol){return symbolValueOf?Object2(symbolValueOf.call(symbol)):{}}__name(cloneSymbol,"cloneSymbol");function cloneTypedArray(typedArray,isDeep){var buffer2=isDeep?cloneArrayBuffer(typedArray.buffer):typedArray.buffer;return new typedArray.constructor(buffer2,typedArray.byteOffset,typedArray.length)}__name(cloneTypedArray,"cloneTypedArray");function compareAscending(value,other){if(value!==other){var valIsDefined=value!==undefined$1,valIsNull=value===null,valIsReflexive=value===value,valIsSymbol=isSymbol(value);var othIsDefined=other!==undefined$1,othIsNull=other===null,othIsReflexive=other===other,othIsSymbol=isSymbol(other);if(!othIsNull&&!othIsSymbol&&!valIsSymbol&&value>other||valIsSymbol&&othIsDefined&&othIsReflexive&&!othIsNull&&!othIsSymbol||valIsNull&&othIsDefined&&othIsReflexive||!valIsDefined&&othIsReflexive||!valIsReflexive){return 1}if(!valIsNull&&!valIsSymbol&&!othIsSymbol&&value<other||othIsSymbol&&valIsDefined&&valIsReflexive&&!valIsNull&&!valIsSymbol||othIsNull&&valIsDefined&&valIsReflexive||!othIsDefined&&valIsReflexive||!othIsReflexive){return-1}}return 0}__name(compareAscending,"compareAscending");function compareMultiple(object,other,orders){var index2=-1,objCriteria=object.criteria,othCriteria=other.criteria,length=objCriteria.length,ordersLength=orders.length;while(++index2<length){var result2=compareAscending(objCriteria[index2],othCriteria[index2]);if(result2){if(index2>=ordersLength){return result2}var order=orders[index2];return result2*(order=="desc"?-1:1)}}return object.index-other.index}__name(compareMultiple,"compareMultiple");function composeArgs(args,partials,holders,isCurried){var argsIndex=-1,argsLength=args.length,holdersLength=holders.length,leftIndex=-1,leftLength=partials.length,rangeLength=nativeMax(argsLength-holdersLength,0),result2=Array2(leftLength+rangeLength),isUncurried=!isCurried;while(++leftIndex<leftLength){result2[leftIndex]=partials[leftIndex]}while(++argsIndex<holdersLength){if(isUncurried||argsIndex<argsLength){result2[holders[argsIndex]]=args[argsIndex]}}while(rangeLength--){result2[leftIndex++]=args[argsIndex++]}return result2}__name(composeArgs,"composeArgs");function composeArgsRight(args,partials,holders,isCurried){var argsIndex=-1,argsLength=args.length,holdersIndex=-1,holdersLength=holders.length,rightIndex=-1,rightLength=partials.length,rangeLength=nativeMax(argsLength-holdersLength,0),result2=Array2(rangeLength+rightLength),isUncurried=!isCurried;while(++argsIndex<rangeLength){result2[argsIndex]=args[argsIndex]}var offset=argsIndex;while(++rightIndex<rightLength){result2[offset+rightIndex]=partials[rightIndex]}while(++holdersIndex<holdersLength){if(isUncurried||argsIndex<argsLength){result2[offset+holders[holdersIndex]]=args[argsIndex++]}}return result2}__name(composeArgsRight,"composeArgsRight");function copyArray(source2,array){var index2=-1,length=source2.length;array||(array=Array2(length));while(++index2<length){array[index2]=source2[index2]}return array}__name(copyArray,"copyArray");function copyObject(source2,props,object,customizer){var isNew=!object;object||(object={});var index2=-1,length=props.length;while(++index2<length){var key=props[index2];var newValue=customizer?customizer(object[key],source2[key],key,object,source2):undefined$1;if(newValue===undefined$1){newValue=source2[key]}if(isNew){baseAssignValue(object,key,newValue)}else{assignValue(object,key,newValue)}}return object}__name(copyObject,"copyObject");function copySymbols(source2,object){return copyObject(source2,getSymbols(source2),object)}__name(copySymbols,"copySymbols");function copySymbolsIn(source2,object){return copyObject(source2,getSymbolsIn(source2),object)}__name(copySymbolsIn,"copySymbolsIn");function createAggregator(setter,initializer){return function(collection,iteratee2){var func=isArray2(collection)?arrayAggregator:baseAggregator,accumulator=initializer?initializer():{};return func(collection,setter,getIteratee(iteratee2,2),accumulator)}}__name(createAggregator,"createAggregator");function createAssigner(assigner){return baseRest(function(object,sources){var index2=-1,length=sources.length,customizer=length>1?sources[length-1]:undefined$1,guard=length>2?sources[2]:undefined$1;customizer=assigner.length>3&&typeof customizer=="function"?(length--,customizer):undefined$1;if(guard&&isIterateeCall(sources[0],sources[1],guard)){customizer=length<3?undefined$1:customizer;length=1}object=Object2(object);while(++index2<length){var source2=sources[index2];if(source2){assigner(object,source2,index2,customizer)}}return object})}__name(createAssigner,"createAssigner");function createBaseEach(eachFunc,fromRight){return function(collection,iteratee2){if(collection==null){return collection}if(!isArrayLike(collection)){return eachFunc(collection,iteratee2)}var length=collection.length,index2=fromRight?length:-1,iterable=Object2(collection);while(fromRight?index2--:++index2<length){if(iteratee2(iterable[index2],index2,iterable)===false){break}}return collection}}__name(createBaseEach,"createBaseEach");function createBaseFor(fromRight){return function(object,iteratee2,keysFunc){var index2=-1,iterable=Object2(object),props=keysFunc(object),length=props.length;while(length--){var key=props[fromRight?length:++index2];if(iteratee2(iterable[key],key,iterable)===false){break}}return object}}__name(createBaseFor,"createBaseFor");function createBind(func,bitmask,thisArg){var isBind=bitmask&WRAP_BIND_FLAG,Ctor=createCtor(func);function wrapper(){var fn=this&&this!==root&&this instanceof wrapper?Ctor:func;return fn.apply(isBind?thisArg:this,arguments)}__name(wrapper,"wrapper");return wrapper}__name(createBind,"createBind");function createCaseFirst(methodName){return function(string){string=toString(string);var strSymbols=hasUnicode(string)?stringToArray(string):undefined$1;var chr=strSymbols?strSymbols[0]:string.charAt(0);var trailing=strSymbols?castSlice(strSymbols,1).join(""):string.slice(1);return chr[methodName]()+trailing}}__name(createCaseFirst,"createCaseFirst");function createCompounder(callback){return function(string){return arrayReduce(words(deburr(string).replace(reApos,"")),callback,"")}}__name(createCompounder,"createCompounder");function createCtor(Ctor){return function(){var args=arguments;switch(args.length){case 0:return new Ctor;case 1:return new Ctor(args[0]);case 2:return new Ctor(args[0],args[1]);case 3:return new Ctor(args[0],args[1],args[2]);case 4:return new Ctor(args[0],args[1],args[2],args[3]);case 5:return new Ctor(args[0],args[1],args[2],args[3],args[4]);case 6:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5]);case 7:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5],args[6])}var thisBinding=baseCreate(Ctor.prototype),result2=Ctor.apply(thisBinding,args);return isObject(result2)?result2:thisBinding}}__name(createCtor,"createCtor");function createCurry(func,bitmask,arity){var Ctor=createCtor(func);function wrapper(){var length=arguments.length,args=Array2(length),index2=length,placeholder=getHolder(wrapper);while(index2--){args[index2]=arguments[index2]}var holders=length<3&&args[0]!==placeholder&&args[length-1]!==placeholder?[]:replaceHolders(args,placeholder);length-=holders.length;if(length<arity){return createRecurry(func,bitmask,createHybrid,wrapper.placeholder,undefined$1,args,holders,undefined$1,undefined$1,arity-length)}var fn=this&&this!==root&&this instanceof wrapper?Ctor:func;return apply(fn,this,args)}__name(wrapper,"wrapper");return wrapper}__name(createCurry,"createCurry");function createFind(findIndexFunc){return function(collection,predicate,fromIndex){var iterable=Object2(collection);if(!isArrayLike(collection)){var iteratee2=getIteratee(predicate,3);collection=keys(collection);predicate=__name(function(key){return iteratee2(iterable[key],key,iterable)},"predicate")}var index2=findIndexFunc(collection,predicate,fromIndex);return index2>-1?iterable[iteratee2?collection[index2]:index2]:undefined$1}}__name(createFind,"createFind");function createFlow(fromRight){return flatRest(function(funcs){var length=funcs.length,index2=length,prereq=LodashWrapper.prototype.thru;if(fromRight){funcs.reverse()}while(index2--){var func=funcs[index2];if(typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT)}if(prereq&&!wrapper&&getFuncName(func)=="wrapper"){var wrapper=new LodashWrapper([],true)}}index2=wrapper?index2:length;while(++index2<length){func=funcs[index2];var funcName=getFuncName(func),data=funcName=="wrapper"?getData(func):undefined$1;if(data&&isLaziable(data[0])&&data[1]==(WRAP_ARY_FLAG|WRAP_CURRY_FLAG|WRAP_PARTIAL_FLAG|WRAP_REARG_FLAG)&&!data[4].length&&data[9]==1){wrapper=wrapper[getFuncName(data[0])].apply(wrapper,data[3])}else{wrapper=func.length==1&&isLaziable(func)?wrapper[funcName]():wrapper.thru(func)}}return function(){var args=arguments,value=args[0];if(wrapper&&args.length==1&&isArray2(value)){return wrapper.plant(value).value()}var index3=0,result2=length?funcs[index3].apply(this,args):value;while(++index3<length){result2=funcs[index3].call(this,result2)}return result2}})}__name(createFlow,"createFlow");function createHybrid(func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary2,arity){var isAry=bitmask&WRAP_ARY_FLAG,isBind=bitmask&WRAP_BIND_FLAG,isBindKey=bitmask&WRAP_BIND_KEY_FLAG,isCurried=bitmask&(WRAP_CURRY_FLAG|WRAP_CURRY_RIGHT_FLAG),isFlip=bitmask&WRAP_FLIP_FLAG,Ctor=isBindKey?undefined$1:createCtor(func);function wrapper(){var length=arguments.length,args=Array2(length),index2=length;while(index2--){args[index2]=arguments[index2]}if(isCurried){var placeholder=getHolder(wrapper),holdersCount=countHolders(args,placeholder)}if(partials){args=composeArgs(args,partials,holders,isCurried)}if(partialsRight){args=composeArgsRight(args,partialsRight,holdersRight,isCurried)}length-=holdersCount;if(isCurried&&length<arity){var newHolders=replaceHolders(args,placeholder);return createRecurry(func,bitmask,createHybrid,wrapper.placeholder,thisArg,args,newHolders,argPos,ary2,arity-length)}var thisBinding=isBind?thisArg:this,fn=isBindKey?thisBinding[func]:func;length=args.length;if(argPos){args=reorder(args,argPos)}else if(isFlip&&length>1){args.reverse()}if(isAry&&ary2<length){args.length=ary2}if(this&&this!==root&&this instanceof wrapper){fn=Ctor||createCtor(fn)}return fn.apply(thisBinding,args)}__name(wrapper,"wrapper");return wrapper}__name(createHybrid,"createHybrid");function createInverter(setter,toIteratee){return function(object,iteratee2){return baseInverter(object,setter,toIteratee(iteratee2),{})}}__name(createInverter,"createInverter");function createMathOperation(operator,defaultValue){return function(value,other){var result2;if(value===undefined$1&&other===undefined$1){return defaultValue}if(value!==undefined$1){result2=value}if(other!==undefined$1){if(result2===undefined$1){return other}if(typeof value=="string"||typeof other=="string"){value=baseToString(value);other=baseToString(other)}else{value=baseToNumber(value);other=baseToNumber(other)}result2=operator(value,other)}return result2}}__name(createMathOperation,"createMathOperation");function createOver(arrayFunc){return flatRest(function(iteratees){iteratees=arrayMap(iteratees,baseUnary(getIteratee()));return baseRest(function(args){var thisArg=this;return arrayFunc(iteratees,function(iteratee2){return apply(iteratee2,thisArg,args)})})})}__name(createOver,"createOver");function createPadding(length,chars){chars=chars===undefined$1?" ":baseToString(chars);var charsLength=chars.length;if(charsLength<2){return charsLength?baseRepeat(chars,length):chars}var result2=baseRepeat(chars,nativeCeil(length/stringSize(chars)));return hasUnicode(chars)?castSlice(stringToArray(result2),0,length).join(""):result2.slice(0,length)}__name(createPadding,"createPadding");function createPartial(func,bitmask,thisArg,partials){var isBind=bitmask&WRAP_BIND_FLAG,Ctor=createCtor(func);function wrapper(){var argsIndex=-1,argsLength=arguments.length,leftIndex=-1,leftLength=partials.length,args=Array2(leftLength+argsLength),fn=this&&this!==root&&this instanceof wrapper?Ctor:func;while(++leftIndex<leftLength){args[leftIndex]=partials[leftIndex]}while(argsLength--){args[leftIndex++]=arguments[++argsIndex]}return apply(fn,isBind?thisArg:this,args)}__name(wrapper,"wrapper");return wrapper}__name(createPartial,"createPartial");function createRange(fromRight){return function(start,end,step){if(step&&typeof step!="number"&&isIterateeCall(start,end,step)){end=step=undefined$1}start=toFinite(start);if(end===undefined$1){end=start;start=0}else{end=toFinite(end)}step=step===undefined$1?start<end?1:-1:toFinite(step);return baseRange(start,end,step,fromRight)}}__name(createRange,"createRange");function createRelationalOperation(operator){return function(value,other){if(!(typeof value=="string"&&typeof other=="string")){value=toNumber(value);other=toNumber(other)}return operator(value,other)}}__name(createRelationalOperation,"createRelationalOperation");function createRecurry(func,bitmask,wrapFunc,placeholder,thisArg,partials,holders,argPos,ary2,arity){var isCurry=bitmask&WRAP_CURRY_FLAG,newHolders=isCurry?holders:undefined$1,newHoldersRight=isCurry?undefined$1:holders,newPartials=isCurry?partials:undefined$1,newPartialsRight=isCurry?undefined$1:partials;bitmask|=isCurry?WRAP_PARTIAL_FLAG:WRAP_PARTIAL_RIGHT_FLAG;bitmask&=~(isCurry?WRAP_PARTIAL_RIGHT_FLAG:WRAP_PARTIAL_FLAG);if(!(bitmask&WRAP_CURRY_BOUND_FLAG)){bitmask&=~(WRAP_BIND_FLAG|WRAP_BIND_KEY_FLAG)}var newData=[func,bitmask,thisArg,newPartials,newHolders,newPartialsRight,newHoldersRight,argPos,ary2,arity];var result2=wrapFunc.apply(undefined$1,newData);if(isLaziable(func)){setData(result2,newData)}result2.placeholder=placeholder;return setWrapToString(result2,func,bitmask)}__name(createRecurry,"createRecurry");function createRound(methodName){var func=Math2[methodName];return function(number,precision){number=toNumber(number);precision=precision==null?0:nativeMin(toInteger(precision),292);if(precision&&nativeIsFinite(number)){var pair=(toString(number)+"e").split("e"),value=func(pair[0]+"e"+(+pair[1]+precision));pair=(toString(value)+"e").split("e");return+(pair[0]+"e"+(+pair[1]-precision))}return func(number)}}__name(createRound,"createRound");var createSet=!(Set&&1/setToArray(new Set([,-0]))[1]==INFINITY)?noop:function(values2){return new Set(values2)};function createToPairs(keysFunc){return function(object){var tag=getTag(object);if(tag==mapTag){return mapToArray(object)}if(tag==setTag){return setToPairs(object)}return baseToPairs(object,keysFunc(object))}}__name(createToPairs,"createToPairs");function createWrap(func,bitmask,thisArg,partials,holders,argPos,ary2,arity){var isBindKey=bitmask&WRAP_BIND_KEY_FLAG;if(!isBindKey&&typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT)}var length=partials?partials.length:0;if(!length){bitmask&=~(WRAP_PARTIAL_FLAG|WRAP_PARTIAL_RIGHT_FLAG);partials=holders=undefined$1}ary2=ary2===undefined$1?ary2:nativeMax(toInteger(ary2),0);arity=arity===undefined$1?arity:toInteger(arity);length-=holders?holders.length:0;if(bitmask&WRAP_PARTIAL_RIGHT_FLAG){var partialsRight=partials,holdersRight=holders;partials=holders=undefined$1}var data=isBindKey?undefined$1:getData(func);var newData=[func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary2,arity];if(data){mergeData(newData,data)}func=newData[0];bitmask=newData[1];thisArg=newData[2];partials=newData[3];holders=newData[4];arity=newData[9]=newData[9]===undefined$1?isBindKey?0:func.length:nativeMax(newData[9]-length,0);if(!arity&&bitmask&(WRAP_CURRY_FLAG|WRAP_CURRY_RIGHT_FLAG)){bitmask&=~(WRAP_CURRY_FLAG|WRAP_CURRY_RIGHT_FLAG)}if(!bitmask||bitmask==WRAP_BIND_FLAG){var result2=createBind(func,bitmask,thisArg)}else if(bitmask==WRAP_CURRY_FLAG||bitmask==WRAP_CURRY_RIGHT_FLAG){result2=createCurry(func,bitmask,arity)}else if((bitmask==WRAP_PARTIAL_FLAG||bitmask==(WRAP_BIND_FLAG|WRAP_PARTIAL_FLAG))&&!holders.length){result2=createPartial(func,bitmask,thisArg,partials)}else{result2=createHybrid.apply(undefined$1,newData)}var setter=data?baseSetData:setData;return setWrapToString(setter(result2,newData),func,bitmask)}__name(createWrap,"createWrap");function customDefaultsAssignIn(objValue,srcValue,key,object){if(objValue===undefined$1||eq(objValue,objectProto[key])&&!hasOwnProperty.call(object,key)){return srcValue}return objValue}__name(customDefaultsAssignIn,"customDefaultsAssignIn");function customDefaultsMerge(objValue,srcValue,key,object,source2,stack){if(isObject(objValue)&&isObject(srcValue)){stack.set(srcValue,objValue);baseMerge(objValue,srcValue,undefined$1,customDefaultsMerge,stack);stack["delete"](srcValue)}return objValue}__name(customDefaultsMerge,"customDefaultsMerge");function customOmitClone(value){return isPlainObject(value)?undefined$1:value}__name(customOmitClone,"customOmitClone");function equalArrays(array,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength)){return false}var arrStacked=stack.get(array);var othStacked=stack.get(other);if(arrStacked&&othStacked){return arrStacked==other&&othStacked==array}var index2=-1,result2=true,seen=bitmask&COMPARE_UNORDERED_FLAG?new SetCache:undefined$1;stack.set(array,other);stack.set(other,array);while(++index2<arrLength){var arrValue=array[index2],othValue=other[index2];if(customizer){var compared=isPartial?customizer(othValue,arrValue,index2,other,array,stack):customizer(arrValue,othValue,index2,array,other,stack)}if(compared!==undefined$1){if(compared){continue}result2=false;break}if(seen){if(!arraySome(other,function(othValue2,othIndex){if(!cacheHas(seen,othIndex)&&(arrValue===othValue2||equalFunc(arrValue,othValue2,bitmask,customizer,stack))){return seen.push(othIndex)}})){result2=false;break}}else if(!(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack))){result2=false;break}}stack["delete"](array);stack["delete"](other);return result2}__name(equalArrays,"equalArrays");function equalByTag(object,other,tag,bitmask,customizer,equalFunc,stack){switch(tag){case dataViewTag:if(object.byteLength!=other.byteLength||object.byteOffset!=other.byteOffset){return false}object=object.buffer;other=other.buffer;case arrayBufferTag:if(object.byteLength!=other.byteLength||!equalFunc(new Uint8Array2(object),new Uint8Array2(other))){return false}return true;case boolTag:case dateTag:case numberTag:return eq(+object,+other);case errorTag:return object.name==other.name&&object.message==other.message;case regexpTag:case stringTag:return object==other+"";case mapTag:var convert=mapToArray;case setTag:var isPartial=bitmask&COMPARE_PARTIAL_FLAG;convert||(convert=setToArray);if(object.size!=other.size&&!isPartial){return false}var stacked=stack.get(object);if(stacked){return stacked==other}bitmask|=COMPARE_UNORDERED_FLAG;stack.set(object,other);var result2=equalArrays(convert(object),convert(other),bitmask,customizer,equalFunc,stack);stack["delete"](object);return result2;case symbolTag:if(symbolValueOf){return symbolValueOf.call(object)==symbolValueOf.call(other)}}return false}__name(equalByTag,"equalByTag");function equalObjects(object,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG,objProps=getAllKeys(object),objLength=objProps.length,othProps=getAllKeys(other),othLength=othProps.length;if(objLength!=othLength&&!isPartial){return false}var index2=objLength;while(index2--){var key=objProps[index2];if(!(isPartial?key in other:hasOwnProperty.call(other,key))){return false}}var objStacked=stack.get(object);var othStacked=stack.get(other);if(objStacked&&othStacked){return objStacked==other&&othStacked==object}var result2=true;stack.set(object,other);stack.set(other,object);var skipCtor=isPartial;while(++index2<objLength){key=objProps[index2];var objValue=object[key],othValue=other[key];if(customizer){var compared=isPartial?customizer(othValue,objValue,key,other,object,stack):customizer(objValue,othValue,key,object,other,stack)}if(!(compared===undefined$1?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack):compared)){result2=false;break}skipCtor||(skipCtor=key=="constructor")}if(result2&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&("constructor"in object&&"constructor"in other)&&!(typeof objCtor=="function"&&objCtor instanceof objCtor&&typeof othCtor=="function"&&othCtor instanceof othCtor)){result2=false}}stack["delete"](object);stack["delete"](other);return result2}__name(equalObjects,"equalObjects");function flatRest(func){return setToString(overRest(func,undefined$1,flatten),func+"")}__name(flatRest,"flatRest");function getAllKeys(object){return baseGetAllKeys(object,keys,getSymbols)}__name(getAllKeys,"getAllKeys");function getAllKeysIn(object){return baseGetAllKeys(object,keysIn,getSymbolsIn)}__name(getAllKeysIn,"getAllKeysIn");var getData=!metaMap?noop:function(func){return metaMap.get(func)};function getFuncName(func){var result2=func.name+"",array=realNames[result2],length=hasOwnProperty.call(realNames,result2)?array.length:0;while(length--){var data=array[length],otherFunc=data.func;if(otherFunc==null||otherFunc==func){return data.name}}return result2}__name(getFuncName,"getFuncName");function getHolder(func){var object=hasOwnProperty.call(lodash2,"placeholder")?lodash2:func;return object.placeholder}__name(getHolder,"getHolder");function getIteratee(){var result2=lodash2.iteratee||iteratee;result2=result2===iteratee?baseIteratee:result2;return arguments.length?result2(arguments[0],arguments[1]):result2}__name(getIteratee,"getIteratee");function getMapData(map2,key){var data=map2.__data__;return isKeyable(key)?data[typeof key=="string"?"string":"hash"]:data.map}__name(getMapData,"getMapData");function getMatchData(object){var result2=keys(object),length=result2.length;while(length--){var key=result2[length],value=object[key];result2[length]=[key,value,isStrictComparable(value)]}return result2}__name(getMatchData,"getMatchData");function getNative(object,key){var value=getValue(object,key);return baseIsNative(value)?value:undefined$1}__name(getNative,"getNative");function getRawTag(value){var isOwn=hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=undefined$1;var unmasked=true}catch(e){}var result2=nativeObjectToString.call(value);if(unmasked){if(isOwn){value[symToStringTag]=tag}else{delete value[symToStringTag]}}return result2}__name(getRawTag,"getRawTag");var getSymbols=!nativeGetSymbols?stubArray:function(object){if(object==null){return[]}object=Object2(object);return arrayFilter(nativeGetSymbols(object),function(symbol){return propertyIsEnumerable.call(object,symbol)})};var getSymbolsIn=!nativeGetSymbols?stubArray:function(object){var result2=[];while(object){arrayPush(result2,getSymbols(object));object=getPrototype(object)}return result2};var getTag=baseGetTag;if(DataView&&getTag(new DataView(new ArrayBuffer(1)))!=dataViewTag||Map2&&getTag(new Map2)!=mapTag||Promise2&&getTag(Promise2.resolve())!=promiseTag||Set&&getTag(new Set)!=setTag||WeakMap&&getTag(new WeakMap)!=weakMapTag){getTag=__name(function(value){var result2=baseGetTag(value),Ctor=result2==objectTag?value.constructor:undefined$1,ctorString=Ctor?toSource(Ctor):"";if(ctorString){switch(ctorString){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return promiseTag;case setCtorString:return setTag;case weakMapCtorString:return weakMapTag}}return result2},"getTag")}function getView(start,end,transforms){var index2=-1,length=transforms.length;while(++index2<length){var data=transforms[index2],size2=data.size;switch(data.type){case"drop":start+=size2;break;case"dropRight":end-=size2;break;case"take":end=nativeMin(end,start+size2);break;case"takeRight":start=nativeMax(start,end-size2);break}}return{"start":start,"end":end}}__name(getView,"getView");function getWrapDetails(source2){var match=source2.match(reWrapDetails);return match?match[1].split(reSplitDetails):[]}__name(getWrapDetails,"getWrapDetails");function hasPath(object,path,hasFunc){path=castPath(path,object);var index2=-1,length=path.length,result2=false;while(++index2<length){var key=toKey(path[index2]);if(!(result2=object!=null&&hasFunc(object,key))){break}object=object[key]}if(result2||++index2!=length){return result2}length=object==null?0:object.length;return!!length&&isLength(length)&&isIndex(key,length)&&(isArray2(object)||isArguments(object))}__name(hasPath,"hasPath");function initCloneArray(array){var length=array.length,result2=new array.constructor(length);if(length&&typeof array[0]=="string"&&hasOwnProperty.call(array,"index")){result2.index=array.index;result2.input=array.input}return result2}__name(initCloneArray,"initCloneArray");function initCloneObject(object){return typeof object.constructor=="function"&&!isPrototype(object)?baseCreate(getPrototype(object)):{}}__name(initCloneObject,"initCloneObject");function initCloneByTag(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return cloneArrayBuffer(object);case boolTag:case dateTag:return new Ctor(+object);case dataViewTag:return cloneDataView(object,isDeep);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:return cloneTypedArray(object,isDeep);case mapTag:return new Ctor;case numberTag:case stringTag:return new Ctor(object);case regexpTag:return cloneRegExp2(object);case setTag:return new Ctor;case symbolTag:return cloneSymbol(object)}}__name(initCloneByTag,"initCloneByTag");function insertWrapDetails(source2,details){var length=details.length;if(!length){return source2}var lastIndex=length-1;details[lastIndex]=(length>1?"& ":"")+details[lastIndex];details=details.join(length>2?", ":" ");return source2.replace(reWrapComment,"{\n/* [wrapped with "+details+"] */\n")}__name(insertWrapDetails,"insertWrapDetails");function isFlattenable(value){return isArray2(value)||isArguments(value)||!!(spreadableSymbol&&value&&value[spreadableSymbol])}__name(isFlattenable,"isFlattenable");function isIndex(value,length){var type=typeof value;length=length==null?MAX_SAFE_INTEGER:length;return!!length&&(type=="number"||type!="symbol"&&reIsUint.test(value))&&(value>-1&&value%1==0&&value<length)}__name(isIndex,"isIndex");function isIterateeCall(value,index2,object){if(!isObject(object)){return false}var type=typeof index2;if(type=="number"?isArrayLike(object)&&isIndex(index2,object.length):type=="string"&&index2 in object){return eq(object[index2],value)}return false}__name(isIterateeCall,"isIterateeCall");function isKey(value,object){if(isArray2(value)){return false}var type=typeof value;if(type=="number"||type=="symbol"||type=="boolean"||value==null||isSymbol(value)){return true}return reIsPlainProp.test(value)||!reIsDeepProp.test(value)||object!=null&&value in Object2(object)}__name(isKey,"isKey");function isKeyable(value){var type=typeof value;return type=="string"||type=="number"||type=="symbol"||type=="boolean"?value!=="__proto__":value===null}__name(isKeyable,"isKeyable");function isLaziable(func){var funcName=getFuncName(func),other=lodash2[funcName];if(typeof other!="function"||!(funcName in LazyWrapper.prototype)){return false}if(func===other){return true}var data=getData(other);return!!data&&func===data[0]}__name(isLaziable,"isLaziable");function isMasked(func){return!!maskSrcKey&&maskSrcKey in func}__name(isMasked,"isMasked");var isMaskable=coreJsData?isFunction:stubFalse;function isPrototype(value){var Ctor=value&&value.constructor,proto2=typeof Ctor=="function"&&Ctor.prototype||objectProto;return value===proto2}__name(isPrototype,"isPrototype");function isStrictComparable(value){return value===value&&!isObject(value)}__name(isStrictComparable,"isStrictComparable");function matchesStrictComparable(key,srcValue){return function(object){if(object==null){return false}return object[key]===srcValue&&(srcValue!==undefined$1||key in Object2(object))}}__name(matchesStrictComparable,"matchesStrictComparable");function memoizeCapped(func){var result2=memoize(func,function(key){if(cache.size===MAX_MEMOIZE_SIZE){cache.clear()}return key});var cache=result2.cache;return result2}__name(memoizeCapped,"memoizeCapped");function mergeData(data,source2){var bitmask=data[1],srcBitmask=source2[1],newBitmask=bitmask|srcBitmask,isCommon=newBitmask<(WRAP_BIND_FLAG|WRAP_BIND_KEY_FLAG|WRAP_ARY_FLAG);var isCombo=srcBitmask==WRAP_ARY_FLAG&&bitmask==WRAP_CURRY_FLAG||srcBitmask==WRAP_ARY_FLAG&&bitmask==WRAP_REARG_FLAG&&data[7].length<=source2[8]||srcBitmask==(WRAP_ARY_FLAG|WRAP_REARG_FLAG)&&source2[7].length<=source2[8]&&bitmask==WRAP_CURRY_FLAG;if(!(isCommon||isCombo)){return data}if(srcBitmask&WRAP_BIND_FLAG){data[2]=source2[2];newBitmask|=bitmask&WRAP_BIND_FLAG?0:WRAP_CURRY_BOUND_FLAG}var value=source2[3];if(value){var partials=data[3];data[3]=partials?composeArgs(partials,value,source2[4]):value;data[4]=partials?replaceHolders(data[3],PLACEHOLDER):source2[4]}value=source2[5];if(value){partials=data[5];data[5]=partials?composeArgsRight(partials,value,source2[6]):value;data[6]=partials?replaceHolders(data[5],PLACEHOLDER):source2[6]}value=source2[7];if(value){data[7]=value}if(srcBitmask&WRAP_ARY_FLAG){data[8]=data[8]==null?source2[8]:nativeMin(data[8],source2[8])}if(data[9]==null){data[9]=source2[9]}data[0]=source2[0];data[1]=newBitmask;return data}__name(mergeData,"mergeData");function nativeKeysIn(object){var result2=[];if(object!=null){for(var key in Object2(object)){result2.push(key)}}return result2}__name(nativeKeysIn,"nativeKeysIn");function objectToString(value){return nativeObjectToString.call(value)}__name(objectToString,"objectToString");function overRest(func,start,transform2){start=nativeMax(start===undefined$1?func.length-1:start,0);return function(){var args=arguments,index2=-1,length=nativeMax(args.length-start,0),array=Array2(length);while(++index2<length){array[index2]=args[start+index2]}index2=-1;var otherArgs=Array2(start+1);while(++index2<start){otherArgs[index2]=args[index2]}otherArgs[start]=transform2(array);return apply(func,this,otherArgs)}}__name(overRest,"overRest");function parent(object,path){return path.length<2?object:baseGet(object,baseSlice(path,0,-1))}__name(parent,"parent");function reorder(array,indexes){var arrLength=array.length,length=nativeMin(indexes.length,arrLength),oldArray=copyArray(array);while(length--){var index2=indexes[length];array[length]=isIndex(index2,arrLength)?oldArray[index2]:undefined$1}return array}__name(reorder,"reorder");function safeGet(object,key){if(key==="constructor"&&typeof object[key]==="function"){return}if(key=="__proto__"){return}return object[key]}__name(safeGet,"safeGet");var setData=shortOut(baseSetData);var setTimeout=ctxSetTimeout||function(func,wait){return root.setTimeout(func,wait)};var setToString=shortOut(baseSetToString);function setWrapToString(wrapper,reference,bitmask){var source2=reference+"";return setToString(wrapper,insertWrapDetails(source2,updateWrapDetails(getWrapDetails(source2),bitmask)))}__name(setWrapToString,"setWrapToString");function shortOut(func){var count=0,lastCalled=0;return function(){var stamp=nativeNow(),remaining=HOT_SPAN-(stamp-lastCalled);lastCalled=stamp;if(remaining>0){if(++count>=HOT_COUNT){return arguments[0]}}else{count=0}return func.apply(undefined$1,arguments)}}__name(shortOut,"shortOut");function shuffleSelf(array,size2){var index2=-1,length=array.length,lastIndex=length-1;size2=size2===undefined$1?length:size2;while(++index2<size2){var rand=baseRandom(index2,lastIndex),value=array[rand];array[rand]=array[index2];array[index2]=value}array.length=size2;return array}__name(shuffleSelf,"shuffleSelf");var stringToPath=memoizeCapped(function(string){var result2=[];if(string.charCodeAt(0)===46){result2.push("")}string.replace(rePropName,function(match,number,quote,subString){result2.push(quote?subString.replace(reEscapeChar,"$1"):number||match)});return result2});function toKey(value){if(typeof value=="string"||isSymbol(value)){return value}var result2=value+"";return result2=="0"&&1/value==-INFINITY?"-0":result2}__name(toKey,"toKey");function toSource(func){if(func!=null){try{return funcToString.call(func)}catch(e){}try{return func+""}catch(e){}}return""}__name(toSource,"toSource");function updateWrapDetails(details,bitmask){arrayEach(wrapFlags,function(pair){var value="_."+pair[0];if(bitmask&pair[1]&&!arrayIncludes(details,value)){details.push(value)}});return details.sort()}__name(updateWrapDetails,"updateWrapDetails");function wrapperClone(wrapper){if(wrapper instanceof LazyWrapper){return wrapper.clone()}var result2=new LodashWrapper(wrapper.__wrapped__,wrapper.__chain__);result2.__actions__=copyArray(wrapper.__actions__);result2.__index__=wrapper.__index__;result2.__values__=wrapper.__values__;return result2}__name(wrapperClone,"wrapperClone");function chunk(array,size2,guard){if(guard?isIterateeCall(array,size2,guard):size2===undefined$1){size2=1}else{size2=nativeMax(toInteger(size2),0)}var length=array==null?0:array.length;if(!length||size2<1){return[]}var index2=0,resIndex=0,result2=Array2(nativeCeil(length/size2));while(index2<length){result2[resIndex++]=baseSlice(array,index2,index2+=size2)}return result2}__name(chunk,"chunk");function compact(array){var index2=-1,length=array==null?0:array.length,resIndex=0,result2=[];while(++index2<length){var value=array[index2];if(value){result2[resIndex++]=value}}return result2}__name(compact,"compact");function concat(){var length=arguments.length;if(!length){return[]}var args=Array2(length-1),array=arguments[0],index2=length;while(index2--){args[index2-1]=arguments[index2]}return arrayPush(isArray2(array)?copyArray(array):[array],baseFlatten(args,1))}__name(concat,"concat");var difference=baseRest(function(array,values2){return isArrayLikeObject(array)?baseDifference(array,baseFlatten(values2,1,isArrayLikeObject,true)):[]});var differenceBy=baseRest(function(array,values2){var iteratee2=last(values2);if(isArrayLikeObject(iteratee2)){iteratee2=undefined$1}return isArrayLikeObject(array)?baseDifference(array,baseFlatten(values2,1,isArrayLikeObject,true),getIteratee(iteratee2,2)):[]});var differenceWith=baseRest(function(array,values2){var comparator=last(values2);if(isArrayLikeObject(comparator)){comparator=undefined$1}return isArrayLikeObject(array)?baseDifference(array,baseFlatten(values2,1,isArrayLikeObject,true),undefined$1,comparator):[]});function drop(array,n,guard){var length=array==null?0:array.length;if(!length){return[]}n=guard||n===undefined$1?1:toInteger(n);return baseSlice(array,n<0?0:n,length)}__name(drop,"drop");function dropRight(array,n,guard){var length=array==null?0:array.length;if(!length){return[]}n=guard||n===undefined$1?1:toInteger(n);n=length-n;return baseSlice(array,0,n<0?0:n)}__name(dropRight,"dropRight");function dropRightWhile(array,predicate){return array&&array.length?baseWhile(array,getIteratee(predicate,3),true,true):[]}__name(dropRightWhile,"dropRightWhile");function dropWhile(array,predicate){return array&&array.length?baseWhile(array,getIteratee(predicate,3),true):[]}__name(dropWhile,"dropWhile");function fill(array,value,start,end){var length=array==null?0:array.length;if(!length){return[]}if(start&&typeof start!="number"&&isIterateeCall(array,value,start)){start=0;end=length}return baseFill(array,value,start,end)}__name(fill,"fill");function findIndex(array,predicate,fromIndex){var length=array==null?0:array.length;if(!length){return-1}var index2=fromIndex==null?0:toInteger(fromIndex);if(index2<0){index2=nativeMax(length+index2,0)}return baseFindIndex(array,getIteratee(predicate,3),index2)}__name(findIndex,"findIndex");function findLastIndex(array,predicate,fromIndex){var length=array==null?0:array.length;if(!length){return-1}var index2=length-1;if(fromIndex!==undefined$1){index2=toInteger(fromIndex);index2=fromIndex<0?nativeMax(length+index2,0):nativeMin(index2,length-1)}return baseFindIndex(array,getIteratee(predicate,3),index2,true)}__name(findLastIndex,"findLastIndex");function flatten(array){var length=array==null?0:array.length;return length?baseFlatten(array,1):[]}__name(flatten,"flatten");function flattenDeep(array){var length=array==null?0:array.length;return length?baseFlatten(array,INFINITY):[]}__name(flattenDeep,"flattenDeep");function flattenDepth(array,depth){var length=array==null?0:array.length;if(!length){return[]}depth=depth===undefined$1?1:toInteger(depth);return baseFlatten(array,depth)}__name(flattenDepth,"flattenDepth");function fromPairs(pairs){var index2=-1,length=pairs==null?0:pairs.length,result2={};while(++index2<length){var pair=pairs[index2];result2[pair[0]]=pair[1]}return result2}__name(fromPairs,"fromPairs");function head(array){return array&&array.length?array[0]:undefined$1}__name(head,"head");function indexOf(array,value,fromIndex){var length=array==null?0:array.length;if(!length){return-1}var index2=fromIndex==null?0:toInteger(fromIndex);if(index2<0){index2=nativeMax(length+index2,0)}return baseIndexOf(array,value,index2)}__name(indexOf,"indexOf");function initial(array){var length=array==null?0:array.length;return length?baseSlice(array,0,-1):[]}__name(initial,"initial");var intersection=baseRest(function(arrays){var mapped=arrayMap(arrays,castArrayLikeObject);return mapped.length&&mapped[0]===arrays[0]?baseIntersection(mapped):[]});var intersectionBy=baseRest(function(arrays){var iteratee2=last(arrays),mapped=arrayMap(arrays,castArrayLikeObject);if(iteratee2===last(mapped)){iteratee2=undefined$1}else{mapped.pop()}return mapped.length&&mapped[0]===arrays[0]?baseIntersection(mapped,getIteratee(iteratee2,2)):[]});var intersectionWith=baseRest(function(arrays){var comparator=last(arrays),mapped=arrayMap(arrays,castArrayLikeObject);comparator=typeof comparator=="function"?comparator:undefined$1;if(comparator){mapped.pop()}return mapped.length&&mapped[0]===arrays[0]?baseIntersection(mapped,undefined$1,comparator):[]});function join(array,separator){return array==null?"":nativeJoin.call(array,separator)}__name(join,"join");function last(array){var length=array==null?0:array.length;return length?array[length-1]:undefined$1}__name(last,"last");function lastIndexOf(array,value,fromIndex){var length=array==null?0:array.length;if(!length){return-1}var index2=length;if(fromIndex!==undefined$1){index2=toInteger(fromIndex);index2=index2<0?nativeMax(length+index2,0):nativeMin(index2,length-1)}return value===value?strictLastIndexOf(array,value,index2):baseFindIndex(array,baseIsNaN,index2,true)}__name(lastIndexOf,"lastIndexOf");function nth(array,n){return array&&array.length?baseNth(array,toInteger(n)):undefined$1}__name(nth,"nth");var pull=baseRest(pullAll);function pullAll(array,values2){return array&&array.length&&values2&&values2.length?basePullAll(array,values2):array}__name(pullAll,"pullAll");function pullAllBy(array,values2,iteratee2){return array&&array.length&&values2&&values2.length?basePullAll(array,values2,getIteratee(iteratee2,2)):array}__name(pullAllBy,"pullAllBy");function pullAllWith(array,values2,comparator){return array&&array.length&&values2&&values2.length?basePullAll(array,values2,undefined$1,comparator):array}__name(pullAllWith,"pullAllWith");var pullAt=flatRest(function(array,indexes){var length=array==null?0:array.length,result2=baseAt(array,indexes);basePullAt(array,arrayMap(indexes,function(index2){return isIndex(index2,length)?+index2:index2}).sort(compareAscending));return result2});function remove(array,predicate){var result2=[];if(!(array&&array.length)){return result2}var index2=-1,indexes=[],length=array.length;predicate=getIteratee(predicate,3);while(++index2<length){var value=array[index2];if(predicate(value,index2,array)){result2.push(value);indexes.push(index2)}}basePullAt(array,indexes);return result2}__name(remove,"remove");function reverse2(array){return array==null?array:nativeReverse.call(array)}__name(reverse2,"reverse");function slice(array,start,end){var length=array==null?0:array.length;if(!length){return[]}if(end&&typeof end!="number"&&isIterateeCall(array,start,end)){start=0;end=length}else{start=start==null?0:toInteger(start);end=end===undefined$1?length:toInteger(end)}return baseSlice(array,start,end)}__name(slice,"slice");function sortedIndex(array,value){return baseSortedIndex(array,value)}__name(sortedIndex,"sortedIndex");function sortedIndexBy(array,value,iteratee2){return baseSortedIndexBy(array,value,getIteratee(iteratee2,2))}__name(sortedIndexBy,"sortedIndexBy");function sortedIndexOf(array,value){var length=array==null?0:array.length;if(length){var index2=baseSortedIndex(array,value);if(index2<length&&eq(array[index2],value)){return index2}}return-1}__name(sortedIndexOf,"sortedIndexOf");function sortedLastIndex(array,value){return baseSortedIndex(array,value,true)}__name(sortedLastIndex,"sortedLastIndex");function sortedLastIndexBy(array,value,iteratee2){return baseSortedIndexBy(array,value,getIteratee(iteratee2,2),true)}__name(sortedLastIndexBy,"sortedLastIndexBy");function sortedLastIndexOf(array,value){var length=array==null?0:array.length;if(length){var index2=baseSortedIndex(array,value,true)-1;if(eq(array[index2],value)){return index2}}return-1}__name(sortedLastIndexOf,"sortedLastIndexOf");function sortedUniq(array){return array&&array.length?baseSortedUniq(array):[]}__name(sortedUniq,"sortedUniq");function sortedUniqBy(array,iteratee2){return array&&array.length?baseSortedUniq(array,getIteratee(iteratee2,2)):[]}__name(sortedUniqBy,"sortedUniqBy");function tail(array){var length=array==null?0:array.length;return length?baseSlice(array,1,length):[]}__name(tail,"tail");function take(array,n,guard){if(!(array&&array.length)){return[]}n=guard||n===undefined$1?1:toInteger(n);return baseSlice(array,0,n<0?0:n)}__name(take,"take");function takeRight(array,n,guard){var length=array==null?0:array.length;if(!length){return[]}n=guard||n===undefined$1?1:toInteger(n);n=length-n;return baseSlice(array,n<0?0:n,length)}__name(takeRight,"takeRight");function takeRightWhile(array,predicate){return array&&array.length?baseWhile(array,getIteratee(predicate,3),false,true):[]}__name(takeRightWhile,"takeRightWhile");function takeWhile(array,predicate){return array&&array.length?baseWhile(array,getIteratee(predicate,3)):[]}__name(takeWhile,"takeWhile");var union=baseRest(function(arrays){return baseUniq(baseFlatten(arrays,1,isArrayLikeObject,true))});var unionBy=baseRest(function(arrays){var iteratee2=last(arrays);if(isArrayLikeObject(iteratee2)){iteratee2=undefined$1}return baseUniq(baseFlatten(arrays,1,isArrayLikeObject,true),getIteratee(iteratee2,2))});var unionWith=baseRest(function(arrays){var comparator=last(arrays);comparator=typeof comparator=="function"?comparator:undefined$1;return baseUniq(baseFlatten(arrays,1,isArrayLikeObject,true),undefined$1,comparator)});function uniq(array){return array&&array.length?baseUniq(array):[]}__name(uniq,"uniq");function uniqBy(array,iteratee2){return array&&array.length?baseUniq(array,getIteratee(iteratee2,2)):[]}__name(uniqBy,"uniqBy");function uniqWith(array,comparator){comparator=typeof comparator=="function"?comparator:undefined$1;return array&&array.length?baseUniq(array,undefined$1,comparator):[]}__name(uniqWith,"uniqWith");function unzip(array){if(!(array&&array.length)){return[]}var length=0;array=arrayFilter(array,function(group){if(isArrayLikeObject(group)){length=nativeMax(group.length,length);return true}});return baseTimes(length,function(index2){return arrayMap(array,baseProperty(index2))})}__name(unzip,"unzip");function unzipWith(array,iteratee2){if(!(array&&array.length)){return[]}var result2=unzip(array);if(iteratee2==null){return result2}return arrayMap(result2,function(group){return apply(iteratee2,undefined$1,group)})}__name(unzipWith,"unzipWith");var without=baseRest(function(array,values2){return isArrayLikeObject(array)?baseDifference(array,values2):[]});var xor=baseRest(function(arrays){return baseXor(arrayFilter(arrays,isArrayLikeObject))});var xorBy=baseRest(function(arrays){var iteratee2=last(arrays);if(isArrayLikeObject(iteratee2)){iteratee2=undefined$1}return baseXor(arrayFilter(arrays,isArrayLikeObject),getIteratee(iteratee2,2))});var xorWith=baseRest(function(arrays){var comparator=last(arrays);comparator=typeof comparator=="function"?comparator:undefined$1;return baseXor(arrayFilter(arrays,isArrayLikeObject),undefined$1,comparator)});var zip=baseRest(unzip);function zipObject(props,values2){return baseZipObject(props||[],values2||[],assignValue)}__name(zipObject,"zipObject");function zipObjectDeep(props,values2){return baseZipObject(props||[],values2||[],baseSet)}__name(zipObjectDeep,"zipObjectDeep");var zipWith=baseRest(function(arrays){var length=arrays.length,iteratee2=length>1?arrays[length-1]:undefined$1;iteratee2=typeof iteratee2=="function"?(arrays.pop(),iteratee2):undefined$1;return unzipWith(arrays,iteratee2)});function chain(value){var result2=lodash2(value);result2.__chain__=true;return result2}__name(chain,"chain");function tap(value,interceptor){interceptor(value);return value}__name(tap,"tap");function thru(value,interceptor){return interceptor(value)}__name(thru,"thru");var wrapperAt=flatRest(function(paths){var length=paths.length,start=length?paths[0]:0,value=this.__wrapped__,interceptor=__name(function(object){return baseAt(object,paths)},"interceptor");if(length>1||this.__actions__.length||!(value instanceof LazyWrapper)||!isIndex(start)){return this.thru(interceptor)}value=value.slice(start,+start+(length?1:0));value.__actions__.push({"func":thru,"args":[interceptor],"thisArg":undefined$1});return new LodashWrapper(value,this.__chain__).thru(function(array){if(length&&!array.length){array.push(undefined$1)}return array})});function wrapperChain(){return chain(this)}__name(wrapperChain,"wrapperChain");function wrapperCommit(){return new LodashWrapper(this.value(),this.__chain__)}__name(wrapperCommit,"wrapperCommit");function wrapperNext(){if(this.__values__===undefined$1){this.__values__=toArray(this.value())}var done=this.__index__>=this.__values__.length,value=done?undefined$1:this.__values__[this.__index__++];return{"done":done,"value":value}}__name(wrapperNext,"wrapperNext");function wrapperToIterator(){return this}__name(wrapperToIterator,"wrapperToIterator");function wrapperPlant(value){var result2,parent2=this;while(parent2 instanceof baseLodash){var clone3=wrapperClone(parent2);clone3.__index__=0;clone3.__values__=undefined$1;if(result2){previous.__wrapped__=clone3}else{result2=clone3}var previous=clone3;parent2=parent2.__wrapped__}previous.__wrapped__=value;return result2}__name(wrapperPlant,"wrapperPlant");function wrapperReverse(){var value=this.__wrapped__;if(value instanceof LazyWrapper){var wrapped=value;if(this.__actions__.length){wrapped=new LazyWrapper(this)}wrapped=wrapped.reverse();wrapped.__actions__.push({"func":thru,"args":[reverse2],"thisArg":undefined$1});return new LodashWrapper(wrapped,this.__chain__)}return this.thru(reverse2)}__name(wrapperReverse,"wrapperReverse");function wrapperValue(){return baseWrapperValue(this.__wrapped__,this.__actions__)}__name(wrapperValue,"wrapperValue");var countBy=createAggregator(function(result2,value,key){if(hasOwnProperty.call(result2,key)){++result2[key]}else{baseAssignValue(result2,key,1)}});function every(collection,predicate,guard){var func=isArray2(collection)?arrayEvery:baseEvery;if(guard&&isIterateeCall(collection,predicate,guard)){predicate=undefined$1}return func(collection,getIteratee(predicate,3))}__name(every,"every");function filter(collection,predicate){var func=isArray2(collection)?arrayFilter:baseFilter;return func(collection,getIteratee(predicate,3))}__name(filter,"filter");var find=createFind(findIndex);var findLast=createFind(findLastIndex);function flatMap(collection,iteratee2){return baseFlatten(map(collection,iteratee2),1)}__name(flatMap,"flatMap");function flatMapDeep(collection,iteratee2){return baseFlatten(map(collection,iteratee2),INFINITY)}__name(flatMapDeep,"flatMapDeep");function flatMapDepth(collection,iteratee2,depth){depth=depth===undefined$1?1:toInteger(depth);return baseFlatten(map(collection,iteratee2),depth)}__name(flatMapDepth,"flatMapDepth");function forEach(collection,iteratee2){var func=isArray2(collection)?arrayEach:baseEach;return func(collection,getIteratee(iteratee2,3))}__name(forEach,"forEach");function forEachRight(collection,iteratee2){var func=isArray2(collection)?arrayEachRight:baseEachRight;return func(collection,getIteratee(iteratee2,3))}__name(forEachRight,"forEachRight");var groupBy=createAggregator(function(result2,value,key){if(hasOwnProperty.call(result2,key)){result2[key].push(value)}else{baseAssignValue(result2,key,[value])}});function includes(collection,value,fromIndex,guard){collection=isArrayLike(collection)?collection:values(collection);fromIndex=fromIndex&&!guard?toInteger(fromIndex):0;var length=collection.length;if(fromIndex<0){fromIndex=nativeMax(length+fromIndex,0)}return isString(collection)?fromIndex<=length&&collection.indexOf(value,fromIndex)>-1:!!length&&baseIndexOf(collection,value,fromIndex)>-1}__name(includes,"includes");var invokeMap=baseRest(function(collection,path,args){var index2=-1,isFunc=typeof path=="function",result2=isArrayLike(collection)?Array2(collection.length):[];baseEach(collection,function(value){result2[++index2]=isFunc?apply(path,value,args):baseInvoke(value,path,args)});return result2});var keyBy=createAggregator(function(result2,value,key){baseAssignValue(result2,key,value)});function map(collection,iteratee2){var func=isArray2(collection)?arrayMap:baseMap;return func(collection,getIteratee(iteratee2,3))}__name(map,"map");function orderBy(collection,iteratees,orders,guard){if(collection==null){return[]}if(!isArray2(iteratees)){iteratees=iteratees==null?[]:[iteratees]}orders=guard?undefined$1:orders;if(!isArray2(orders)){orders=orders==null?[]:[orders]}return baseOrderBy(collection,iteratees,orders)}__name(orderBy,"orderBy");var partition=createAggregator(function(result2,value,key){result2[key?0:1].push(value)},function(){return[[],[]]});function reduce(collection,iteratee2,accumulator){var func=isArray2(collection)?arrayReduce:baseReduce,initAccum=arguments.length<3;return func(collection,getIteratee(iteratee2,4),accumulator,initAccum,baseEach)}__name(reduce,"reduce");function reduceRight(collection,iteratee2,accumulator){var func=isArray2(collection)?arrayReduceRight:baseReduce,initAccum=arguments.length<3;return func(collection,getIteratee(iteratee2,4),accumulator,initAccum,baseEachRight)}__name(reduceRight,"reduceRight");function reject(collection,predicate){var func=isArray2(collection)?arrayFilter:baseFilter;return func(collection,negate(getIteratee(predicate,3)))}__name(reject,"reject");function sample(collection){var func=isArray2(collection)?arraySample:baseSample;return func(collection)}__name(sample,"sample");function sampleSize(collection,n,guard){if(guard?isIterateeCall(collection,n,guard):n===undefined$1){n=1}else{n=toInteger(n)}var func=isArray2(collection)?arraySampleSize:baseSampleSize;return func(collection,n)}__name(sampleSize,"sampleSize");function shuffle(collection){var func=isArray2(collection)?arrayShuffle:baseShuffle;return func(collection)}__name(shuffle,"shuffle");function size(collection){if(collection==null){return 0}if(isArrayLike(collection)){return isString(collection)?stringSize(collection):collection.length}var tag=getTag(collection);if(tag==mapTag||tag==setTag){return collection.size}return baseKeys(collection).length}__name(size,"size");function some(collection,predicate,guard){var func=isArray2(collection)?arraySome:baseSome;if(guard&&isIterateeCall(collection,predicate,guard)){predicate=undefined$1}return func(collection,getIteratee(predicate,3))}__name(some,"some");var sortBy=baseRest(function(collection,iteratees){if(collection==null){return[]}var length=iteratees.length;if(length>1&&isIterateeCall(collection,iteratees[0],iteratees[1])){iteratees=[]}else if(length>2&&isIterateeCall(iteratees[0],iteratees[1],iteratees[2])){iteratees=[iteratees[0]]}return baseOrderBy(collection,baseFlatten(iteratees,1),[])});var now=ctxNow||function(){return root.Date.now()};function after(n,func){if(typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT)}n=toInteger(n);return function(){if(--n<1){return func.apply(this,arguments)}}}__name(after,"after");function ary(func,n,guard){n=guard?undefined$1:n;n=func&&n==null?func.length:n;return createWrap(func,WRAP_ARY_FLAG,undefined$1,undefined$1,undefined$1,undefined$1,n)}__name(ary,"ary");function before(n,func){var result2;if(typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT)}n=toInteger(n);return function(){if(--n>0){result2=func.apply(this,arguments)}if(n<=1){func=undefined$1}return result2}}__name(before,"before");var bind=baseRest(function(func,thisArg,partials){var bitmask=WRAP_BIND_FLAG;if(partials.length){var holders=replaceHolders(partials,getHolder(bind));bitmask|=WRAP_PARTIAL_FLAG}return createWrap(func,bitmask,thisArg,partials,holders)});var bindKey=baseRest(function(object,key,partials){var bitmask=WRAP_BIND_FLAG|WRAP_BIND_KEY_FLAG;if(partials.length){var holders=replaceHolders(partials,getHolder(bindKey));bitmask|=WRAP_PARTIAL_FLAG}return createWrap(key,bitmask,object,partials,holders)});function curry(func,arity,guard){arity=guard?undefined$1:arity;var result2=createWrap(func,WRAP_CURRY_FLAG,undefined$1,undefined$1,undefined$1,undefined$1,undefined$1,arity);result2.placeholder=curry.placeholder;return result2}__name(curry,"curry");function curryRight(func,arity,guard){arity=guard?undefined$1:arity;var result2=createWrap(func,WRAP_CURRY_RIGHT_FLAG,undefined$1,undefined$1,undefined$1,undefined$1,undefined$1,arity);result2.placeholder=curryRight.placeholder;return result2}__name(curryRight,"curryRight");function debounce(func,wait,options){var lastArgs,lastThis,maxWait,result2,timerId,lastCallTime,lastInvokeTime=0,leading=false,maxing=false,trailing=true;if(typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT)}wait=toNumber(wait)||0;if(isObject(options)){leading=!!options.leading;maxing="maxWait"in options;maxWait=maxing?nativeMax(toNumber(options.maxWait)||0,wait):maxWait;trailing="trailing"in options?!!options.trailing:trailing}function invokeFunc(time){var args=lastArgs,thisArg=lastThis;lastArgs=lastThis=undefined$1;lastInvokeTime=time;result2=func.apply(thisArg,args);return result2}__name(invokeFunc,"invokeFunc");function leadingEdge(time){lastInvokeTime=time;timerId=setTimeout(timerExpired,wait);return leading?invokeFunc(time):result2}__name(leadingEdge,"leadingEdge");function remainingWait(time){var timeSinceLastCall=time-lastCallTime,timeSinceLastInvoke=time-lastInvokeTime,timeWaiting=wait-timeSinceLastCall;return maxing?nativeMin(timeWaiting,maxWait-timeSinceLastInvoke):timeWaiting}__name(remainingWait,"remainingWait");function shouldInvoke(time){var timeSinceLastCall=time-lastCallTime,timeSinceLastInvoke=time-lastInvokeTime;return lastCallTime===undefined$1||timeSinceLastCall>=wait||timeSinceLastCall<0||maxing&&timeSinceLastInvoke>=maxWait}__name(shouldInvoke,"shouldInvoke");function timerExpired(){var time=now();if(shouldInvoke(time)){return trailingEdge(time)}timerId=setTimeout(timerExpired,remainingWait(time))}__name(timerExpired,"timerExpired");function trailingEdge(time){timerId=undefined$1;if(trailing&&lastArgs){return invokeFunc(time)}lastArgs=lastThis=undefined$1;return result2}__name(trailingEdge,"trailingEdge");function cancel(){if(timerId!==undefined$1){clearTimeout(timerId)}lastInvokeTime=0;lastArgs=lastCallTime=lastThis=timerId=undefined$1}__name(cancel,"cancel");function flush(){return timerId===undefined$1?result2:trailingEdge(now())}__name(flush,"flush");function debounced(){var time=now(),isInvoking=shouldInvoke(time);lastArgs=arguments;lastThis=this;lastCallTime=time;if(isInvoking){if(timerId===undefined$1){return leadingEdge(lastCallTime)}if(maxing){clearTimeout(timerId);timerId=setTimeout(timerExpired,wait);return invokeFunc(lastCallTime)}}if(timerId===undefined$1){timerId=setTimeout(timerExpired,wait)}return result2}__name(debounced,"debounced");debounced.cancel=cancel;debounced.flush=flush;return debounced}__name(debounce,"debounce");var defer=baseRest(function(func,args){return baseDelay(func,1,args)});var delay=baseRest(function(func,wait,args){return baseDelay(func,toNumber(wait)||0,args)});function flip(func){return createWrap(func,WRAP_FLIP_FLAG)}__name(flip,"flip");function memoize(func,resolver){if(typeof func!="function"||resolver!=null&&typeof resolver!="function"){throw new TypeError2(FUNC_ERROR_TEXT)}var memoized=__name(function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key)){return cache.get(key)}var result2=func.apply(this,args);memoized.cache=cache.set(key,result2)||cache;return result2},"memoized");memoized.cache=new(memoize.Cache||MapCache);return memoized}__name(memoize,"memoize");memoize.Cache=MapCache;function negate(predicate){if(typeof predicate!="function"){throw new TypeError2(FUNC_ERROR_TEXT)}return function(){var args=arguments;switch(args.length){case 0:return!predicate.call(this);case 1:return!predicate.call(this,args[0]);case 2:return!predicate.call(this,args[0],args[1]);case 3:return!predicate.call(this,args[0],args[1],args[2])}return!predicate.apply(this,args)}}__name(negate,"negate");function once(func){return before(2,func)}__name(once,"once");var overArgs=castRest(function(func,transforms){transforms=transforms.length==1&&isArray2(transforms[0])?arrayMap(transforms[0],baseUnary(getIteratee())):arrayMap(baseFlatten(transforms,1),baseUnary(getIteratee()));var funcsLength=transforms.length;return baseRest(function(args){var index2=-1,length=nativeMin(args.length,funcsLength);while(++index2<length){args[index2]=transforms[index2].call(this,args[index2])}return apply(func,this,args)})});var partial=baseRest(function(func,partials){var holders=replaceHolders(partials,getHolder(partial));return createWrap(func,WRAP_PARTIAL_FLAG,undefined$1,partials,holders)});var partialRight=baseRest(function(func,partials){var holders=replaceHolders(partials,getHolder(partialRight));return createWrap(func,WRAP_PARTIAL_RIGHT_FLAG,undefined$1,partials,holders)});var rearg=flatRest(function(func,indexes){return createWrap(func,WRAP_REARG_FLAG,undefined$1,undefined$1,undefined$1,indexes)});function rest(func,start){if(typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT)}start=start===undefined$1?start:toInteger(start);return baseRest(func,start)}__name(rest,"rest");function spread(func,start){if(typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT)}start=start==null?0:nativeMax(toInteger(start),0);return baseRest(function(args){var array=args[start],otherArgs=castSlice(args,0,start);if(array){arrayPush(otherArgs,array)}return apply(func,this,otherArgs)})}__name(spread,"spread");function throttle(func,wait,options){var leading=true,trailing=true;if(typeof func!="function"){throw new TypeError2(FUNC_ERROR_TEXT)}if(isObject(options)){leading="leading"in options?!!options.leading:leading;trailing="trailing"in options?!!options.trailing:trailing}return debounce(func,wait,{"leading":leading,"maxWait":wait,"trailing":trailing})}__name(throttle,"throttle");function unary(func){return ary(func,1)}__name(unary,"unary");function wrap(value,wrapper){return partial(castFunction(wrapper),value)}__name(wrap,"wrap");function castArray(){if(!arguments.length){return[]}var value=arguments[0];return isArray2(value)?value:[value]}__name(castArray,"castArray");function clone2(value){return baseClone(value,CLONE_SYMBOLS_FLAG)}__name(clone2,"clone");function cloneWith(value,customizer){customizer=typeof customizer=="function"?customizer:undefined$1;return baseClone(value,CLONE_SYMBOLS_FLAG,customizer)}__name(cloneWith,"cloneWith");function cloneDeep(value){return baseClone(value,CLONE_DEEP_FLAG|CLONE_SYMBOLS_FLAG)}__name(cloneDeep,"cloneDeep");function cloneDeepWith(value,customizer){customizer=typeof customizer=="function"?customizer:undefined$1;return baseClone(value,CLONE_DEEP_FLAG|CLONE_SYMBOLS_FLAG,customizer)}__name(cloneDeepWith,"cloneDeepWith");function conformsTo(object,source2){return source2==null||baseConformsTo(object,source2,keys(source2))}__name(conformsTo,"conformsTo");function eq(value,other){return value===other||value!==value&&other!==other}__name(eq,"eq");var gt=createRelationalOperation(baseGt);var gte=createRelationalOperation(function(value,other){return value>=other});var isArguments=baseIsArguments(function(){return arguments}())?baseIsArguments:function(value){return isObjectLike(value)&&hasOwnProperty.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")};var isArray2=Array2.isArray;var isArrayBuffer=nodeIsArrayBuffer?baseUnary(nodeIsArrayBuffer):baseIsArrayBuffer;function isArrayLike(value){return value!=null&&isLength(value.length)&&!isFunction(value)}__name(isArrayLike,"isArrayLike");function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value)}__name(isArrayLikeObject,"isArrayLikeObject");function isBoolean(value){return value===true||value===false||isObjectLike(value)&&baseGetTag(value)==boolTag}__name(isBoolean,"isBoolean");var isBuffer2=nativeIsBuffer||stubFalse;var isDate=nodeIsDate?baseUnary(nodeIsDate):baseIsDate;function isElement(value){return isObjectLike(value)&&value.nodeType===1&&!isPlainObject(value)}__name(isElement,"isElement");function isEmpty(value){if(value==null){return true}if(isArrayLike(value)&&(isArray2(value)||typeof value=="string"||typeof value.splice=="function"||isBuffer2(value)||isTypedArray(value)||isArguments(value))){return!value.length}var tag=getTag(value);if(tag==mapTag||tag==setTag){return!value.size}if(isPrototype(value)){return!baseKeys(value).length}for(var key in value){if(hasOwnProperty.call(value,key)){return false}}return true}__name(isEmpty,"isEmpty");function isEqual(value,other){return baseIsEqual(value,other)}__name(isEqual,"isEqual");function isEqualWith(value,other,customizer){customizer=typeof customizer=="function"?customizer:undefined$1;var result2=customizer?customizer(value,other):undefined$1;return result2===undefined$1?baseIsEqual(value,other,undefined$1,customizer):!!result2}__name(isEqualWith,"isEqualWith");function isError(value){if(!isObjectLike(value)){return false}var tag=baseGetTag(value);return tag==errorTag||tag==domExcTag||typeof value.message=="string"&&typeof value.name=="string"&&!isPlainObject(value)}__name(isError,"isError");function isFinite(value){return typeof value=="number"&&nativeIsFinite(value)}__name(isFinite,"isFinite");function isFunction(value){if(!isObject(value)){return false}var tag=baseGetTag(value);return tag==funcTag||tag==genTag||tag==asyncTag||tag==proxyTag}__name(isFunction,"isFunction");function isInteger(value){return typeof value=="number"&&value==toInteger(value)}__name(isInteger,"isInteger");function isLength(value){return typeof value=="number"&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}__name(isLength,"isLength");function isObject(value){var type=typeof value;return value!=null&&(type=="object"||type=="function")}__name(isObject,"isObject");function isObjectLike(value){return value!=null&&typeof value=="object"}__name(isObjectLike,"isObjectLike");var isMap=nodeIsMap?baseUnary(nodeIsMap):baseIsMap;function isMatch(object,source2){return object===source2||baseIsMatch(object,source2,getMatchData(source2))}__name(isMatch,"isMatch");function isMatchWith(object,source2,customizer){customizer=typeof customizer=="function"?customizer:undefined$1;return baseIsMatch(object,source2,getMatchData(source2),customizer)}__name(isMatchWith,"isMatchWith");function isNaN2(value){return isNumber(value)&&value!=+value}__name(isNaN2,"isNaN");function isNative(value){if(isMaskable(value)){throw new Error2(CORE_ERROR_TEXT)}return baseIsNative(value)}__name(isNative,"isNative");function isNull(value){return value===null}__name(isNull,"isNull");function isNil(value){return value==null}__name(isNil,"isNil");function isNumber(value){return typeof value=="number"||isObjectLike(value)&&baseGetTag(value)==numberTag}__name(isNumber,"isNumber");function isPlainObject(value){if(!isObjectLike(value)||baseGetTag(value)!=objectTag){return false}var proto2=getPrototype(value);if(proto2===null){return true}var Ctor=hasOwnProperty.call(proto2,"constructor")&&proto2.constructor;return typeof Ctor=="function"&&Ctor instanceof Ctor&&funcToString.call(Ctor)==objectCtorString}__name(isPlainObject,"isPlainObject");var isRegExp=nodeIsRegExp?baseUnary(nodeIsRegExp):baseIsRegExp;function isSafeInteger(value){return isInteger(value)&&value>=-MAX_SAFE_INTEGER&&value<=MAX_SAFE_INTEGER}__name(isSafeInteger,"isSafeInteger");var isSet=nodeIsSet?baseUnary(nodeIsSet):baseIsSet;function isString(value){return typeof value=="string"||!isArray2(value)&&isObjectLike(value)&&baseGetTag(value)==stringTag}__name(isString,"isString");function isSymbol(value){return typeof value=="symbol"||isObjectLike(value)&&baseGetTag(value)==symbolTag}__name(isSymbol,"isSymbol");var isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray;function isUndefined(value){return value===undefined$1}__name(isUndefined,"isUndefined");function isWeakMap(value){return isObjectLike(value)&&getTag(value)==weakMapTag}__name(isWeakMap,"isWeakMap");function isWeakSet(value){return isObjectLike(value)&&baseGetTag(value)==weakSetTag}__name(isWeakSet,"isWeakSet");var lt=createRelationalOperation(baseLt);var lte=createRelationalOperation(function(value,other){return value<=other});function toArray(value){if(!value){return[]}if(isArrayLike(value)){return isString(value)?stringToArray(value):copyArray(value)}if(symIterator&&value[symIterator]){return iteratorToArray(value[symIterator]())}var tag=getTag(value),func=tag==mapTag?mapToArray:tag==setTag?setToArray:values;return func(value)}__name(toArray,"toArray");function toFinite(value){if(!value){return value===0?value:0}value=toNumber(value);if(value===INFINITY||value===-INFINITY){var sign=value<0?-1:1;return sign*MAX_INTEGER}return value===value?value:0}__name(toFinite,"toFinite");function toInteger(value){var result2=toFinite(value),remainder=result2%1;return result2===result2?remainder?result2-remainder:result2:0}__name(toInteger,"toInteger");function toLength(value){return value?baseClamp(toInteger(value),0,MAX_ARRAY_LENGTH):0}__name(toLength,"toLength");function toNumber(value){if(typeof value=="number"){return value}if(isSymbol(value)){return NAN}if(isObject(value)){var other=typeof value.valueOf=="function"?value.valueOf():value;value=isObject(other)?other+"":other}if(typeof value!="string"){return value===0?value:+value}value=baseTrim(value);var isBinary=reIsBinary.test(value);return isBinary||reIsOctal.test(value)?freeParseInt(value.slice(2),isBinary?2:8):reIsBadHex.test(value)?NAN:+value}__name(toNumber,"toNumber");function toPlainObject(value){return copyObject(value,keysIn(value))}__name(toPlainObject,"toPlainObject");function toSafeInteger(value){return value?baseClamp(toInteger(value),-MAX_SAFE_INTEGER,MAX_SAFE_INTEGER):value===0?value:0}__name(toSafeInteger,"toSafeInteger");function toString(value){return value==null?"":baseToString(value)}__name(toString,"toString");var assign=createAssigner(function(object,source2){if(isPrototype(source2)||isArrayLike(source2)){copyObject(source2,keys(source2),object);return}for(var key in source2){if(hasOwnProperty.call(source2,key)){assignValue(object,key,source2[key])}}});var assignIn=createAssigner(function(object,source2){copyObject(source2,keysIn(source2),object)});var assignInWith=createAssigner(function(object,source2,srcIndex,customizer){copyObject(source2,keysIn(source2),object,customizer)});var assignWith=createAssigner(function(object,source2,srcIndex,customizer){copyObject(source2,keys(source2),object,customizer)});var at=flatRest(baseAt);function create(prototype,properties){var result2=baseCreate(prototype);return properties==null?result2:baseAssign(result2,properties)}__name(create,"create");var defaults=baseRest(function(object,sources){object=Object2(object);var index2=-1;var length=sources.length;var guard=length>2?sources[2]:undefined$1;if(guard&&isIterateeCall(sources[0],sources[1],guard)){length=1}while(++index2<length){var source2=sources[index2];var props=keysIn(source2);var propsIndex=-1;var propsLength=props.length;while(++propsIndex<propsLength){var key=props[propsIndex];var value=object[key];if(value===undefined$1||eq(value,objectProto[key])&&!hasOwnProperty.call(object,key)){object[key]=source2[key]}}}return object});var defaultsDeep=baseRest(function(args){args.push(undefined$1,customDefaultsMerge);return apply(mergeWith,undefined$1,args)});function findKey(object,predicate){return baseFindKey(object,getIteratee(predicate,3),baseForOwn)}__name(findKey,"findKey");function findLastKey(object,predicate){return baseFindKey(object,getIteratee(predicate,3),baseForOwnRight)}__name(findLastKey,"findLastKey");function forIn(object,iteratee2){return object==null?object:baseFor(object,getIteratee(iteratee2,3),keysIn)}__name(forIn,"forIn");function forInRight(object,iteratee2){return object==null?object:baseForRight(object,getIteratee(iteratee2,3),keysIn)}__name(forInRight,"forInRight");function forOwn(object,iteratee2){return object&&baseForOwn(object,getIteratee(iteratee2,3))}__name(forOwn,"forOwn");function forOwnRight(object,iteratee2){return object&&baseForOwnRight(object,getIteratee(iteratee2,3))}__name(forOwnRight,"forOwnRight");function functions(object){return object==null?[]:baseFunctions(object,keys(object))}__name(functions,"functions");function functionsIn(object){return object==null?[]:baseFunctions(object,keysIn(object))}__name(functionsIn,"functionsIn");function get2(object,path,defaultValue){var result2=object==null?undefined$1:baseGet(object,path);return result2===undefined$1?defaultValue:result2}__name(get2,"get");function has(object,path){return object!=null&&hasPath(object,path,baseHas)}__name(has,"has");function hasIn(object,path){return object!=null&&hasPath(object,path,baseHasIn)}__name(hasIn,"hasIn");var invert=createInverter(function(result2,value,key){if(value!=null&&typeof value.toString!="function"){value=nativeObjectToString.call(value)}result2[value]=key},constant(identity));var invertBy=createInverter(function(result2,value,key){if(value!=null&&typeof value.toString!="function"){value=nativeObjectToString.call(value)}if(hasOwnProperty.call(result2,value)){result2[value].push(key)}else{result2[value]=[key]}},getIteratee);var invoke=baseRest(baseInvoke);function keys(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object)}__name(keys,"keys");function keysIn(object){return isArrayLike(object)?arrayLikeKeys(object,true):baseKeysIn(object)}__name(keysIn,"keysIn");function mapKeys(object,iteratee2){var result2={};iteratee2=getIteratee(iteratee2,3);baseForOwn(object,function(value,key,object2){baseAssignValue(result2,iteratee2(value,key,object2),value)});return result2}__name(mapKeys,"mapKeys");function mapValues(object,iteratee2){var result2={};iteratee2=getIteratee(iteratee2,3);baseForOwn(object,function(value,key,object2){baseAssignValue(result2,key,iteratee2(value,key,object2))});return result2}__name(mapValues,"mapValues");var merge=createAssigner(function(object,source2,srcIndex){baseMerge(object,source2,srcIndex)});var mergeWith=createAssigner(function(object,source2,srcIndex,customizer){baseMerge(object,source2,srcIndex,customizer)});var omit=flatRest(function(object,paths){var result2={};if(object==null){return result2}var isDeep=false;paths=arrayMap(paths,function(path){path=castPath(path,object);isDeep||(isDeep=path.length>1);return path});copyObject(object,getAllKeysIn(object),result2);if(isDeep){result2=baseClone(result2,CLONE_DEEP_FLAG|CLONE_FLAT_FLAG|CLONE_SYMBOLS_FLAG,customOmitClone)}var length=paths.length;while(length--){baseUnset(result2,paths[length])}return result2});function omitBy(object,predicate){return pickBy(object,negate(getIteratee(predicate)))}__name(omitBy,"omitBy");var pick=flatRest(function(object,paths){return object==null?{}:basePick(object,paths)});function pickBy(object,predicate){if(object==null){return{}}var props=arrayMap(getAllKeysIn(object),function(prop){return[prop]});predicate=getIteratee(predicate);return basePickBy(object,props,function(value,path){return predicate(value,path[0])})}__name(pickBy,"pickBy");function result(object,path,defaultValue){path=castPath(path,object);var index2=-1,length=path.length;if(!length){length=1;object=undefined$1}while(++index2<length){var value=object==null?undefined$1:object[toKey(path[index2])];if(value===undefined$1){index2=length;value=defaultValue}object=isFunction(value)?value.call(object):value}return object}__name(result,"result");function set(object,path,value){return object==null?object:baseSet(object,path,value)}__name(set,"set");function setWith(object,path,value,customizer){customizer=typeof customizer=="function"?customizer:undefined$1;return object==null?object:baseSet(object,path,value,customizer)}__name(setWith,"setWith");var toPairs=createToPairs(keys);var toPairsIn=createToPairs(keysIn);function transform(object,iteratee2,accumulator){var isArr=isArray2(object),isArrLike=isArr||isBuffer2(object)||isTypedArray(object);iteratee2=getIteratee(iteratee2,4);if(accumulator==null){var Ctor=object&&object.constructor;if(isArrLike){accumulator=isArr?new Ctor:[]}else if(isObject(object)){accumulator=isFunction(Ctor)?baseCreate(getPrototype(object)):{}}else{accumulator={}}}(isArrLike?arrayEach:baseForOwn)(object,function(value,index2,object2){return iteratee2(accumulator,value,index2,object2)});return accumulator}__name(transform,"transform");function unset(object,path){return object==null?true:baseUnset(object,path)}__name(unset,"unset");function update(object,path,updater){return object==null?object:baseUpdate(object,path,castFunction(updater))}__name(update,"update");function updateWith(object,path,updater,customizer){customizer=typeof customizer=="function"?customizer:undefined$1;return object==null?object:baseUpdate(object,path,castFunction(updater),customizer)}__name(updateWith,"updateWith");function values(object){return object==null?[]:baseValues(object,keys(object))}__name(values,"values");function valuesIn(object){return object==null?[]:baseValues(object,keysIn(object))}__name(valuesIn,"valuesIn");function clamp(number,lower,upper){if(upper===undefined$1){upper=lower;lower=undefined$1}if(upper!==undefined$1){upper=toNumber(upper);upper=upper===upper?upper:0}if(lower!==undefined$1){lower=toNumber(lower);lower=lower===lower?lower:0}return baseClamp(toNumber(number),lower,upper)}__name(clamp,"clamp");function inRange(number,start,end){start=toFinite(start);if(end===undefined$1){end=start;start=0}else{end=toFinite(end)}number=toNumber(number);return baseInRange(number,start,end)}__name(inRange,"inRange");function random(lower,upper,floating){if(floating&&typeof floating!="boolean"&&isIterateeCall(lower,upper,floating)){upper=floating=undefined$1}if(floating===undefined$1){if(typeof upper=="boolean"){floating=upper;upper=undefined$1}else if(typeof lower=="boolean"){floating=lower;lower=undefined$1}}if(lower===undefined$1&&upper===undefined$1){lower=0;upper=1}else{lower=toFinite(lower);if(upper===undefined$1){upper=lower;lower=0}else{upper=toFinite(upper)}}if(lower>upper){var temp=lower;lower=upper;upper=temp}if(floating||lower%1||upper%1){var rand=nativeRandom();return nativeMin(lower+rand*(upper-lower+freeParseFloat("1e-"+((rand+"").length-1))),upper)}return baseRandom(lower,upper)}__name(random,"random");var camelCase=createCompounder(function(result2,word,index2){word=word.toLowerCase();return result2+(index2?capitalize(word):word)});function capitalize(string){return upperFirst(toString(string).toLowerCase())}__name(capitalize,"capitalize");function deburr(string){string=toString(string);return string&&string.replace(reLatin,deburrLetter).replace(reComboMark,"")}__name(deburr,"deburr");function endsWith(string,target,position){string=toString(string);target=baseToString(target);var length=string.length;position=position===undefined$1?length:baseClamp(toInteger(position),0,length);var end=position;position-=target.length;return position>=0&&string.slice(position,end)==target}__name(endsWith,"endsWith");function escape(string){string=toString(string);return string&&reHasUnescapedHtml.test(string)?string.replace(reUnescapedHtml,escapeHtmlChar):string}__name(escape,"escape");function escapeRegExp(string){string=toString(string);return string&&reHasRegExpChar.test(string)?string.replace(reRegExpChar,"\\$&"):string}__name(escapeRegExp,"escapeRegExp");var kebabCase=createCompounder(function(result2,word,index2){return result2+(index2?"-":"")+word.toLowerCase()});var lowerCase=createCompounder(function(result2,word,index2){return result2+(index2?" ":"")+word.toLowerCase()});var lowerFirst=createCaseFirst("toLowerCase");function pad(string,length,chars){string=toString(string);length=toInteger(length);var strLength=length?stringSize(string):0;if(!length||strLength>=length){return string}var mid=(length-strLength)/2;return createPadding(nativeFloor(mid),chars)+string+createPadding(nativeCeil(mid),chars)}__name(pad,"pad");function padEnd(string,length,chars){string=toString(string);length=toInteger(length);var strLength=length?stringSize(string):0;return length&&strLength<length?string+createPadding(length-strLength,chars):string}__name(padEnd,"padEnd");function padStart(string,length,chars){string=toString(string);length=toInteger(length);var strLength=length?stringSize(string):0;return length&&strLength<length?createPadding(length-strLength,chars)+string:string}__name(padStart,"padStart");function parseInt2(string,radix,guard){if(guard||radix==null){radix=0}else if(radix){radix=+radix}return nativeParseInt(toString(string).replace(reTrimStart,""),radix||0)}__name(parseInt2,"parseInt");function repeat(string,n,guard){if(guard?isIterateeCall(string,n,guard):n===undefined$1){n=1}else{n=toInteger(n)}return baseRepeat(toString(string),n)}__name(repeat,"repeat");function replace(){var args=arguments,string=toString(args[0]);return args.length<3?string:string.replace(args[1],args[2])}__name(replace,"replace");var snakeCase=createCompounder(function(result2,word,index2){return result2+(index2?"_":"")+word.toLowerCase()});function split(string,separator,limit){if(limit&&typeof limit!="number"&&isIterateeCall(string,separator,limit)){separator=limit=undefined$1}limit=limit===undefined$1?MAX_ARRAY_LENGTH:limit>>>0;if(!limit){return[]}string=toString(string);if(string&&(typeof separator=="string"||separator!=null&&!isRegExp(separator))){separator=baseToString(separator);if(!separator&&hasUnicode(string)){return castSlice(stringToArray(string),0,limit)}}return string.split(separator,limit)}__name(split,"split");var startCase=createCompounder(function(result2,word,index2){return result2+(index2?" ":"")+upperFirst(word)});function startsWith(string,target,position){string=toString(string);position=position==null?0:baseClamp(toInteger(position),0,string.length);target=baseToString(target);return string.slice(position,position+target.length)==target}__name(startsWith,"startsWith");function template2(string,options,guard){var settings=lodash2.templateSettings;if(guard&&isIterateeCall(string,options,guard)){options=undefined$1}string=toString(string);options=assignInWith({},options,settings,customDefaultsAssignIn);var imports=assignInWith({},options.imports,settings.imports,customDefaultsAssignIn),importsKeys=keys(imports),importsValues=baseValues(imports,importsKeys);var isEscaping,isEvaluating,index2=0,interpolate=options.interpolate||reNoMatch,source2="__p += '";var reDelimiters=RegExp2((options.escape||reNoMatch).source+"|"+interpolate.source+"|"+(interpolate===reInterpolate?reEsTemplate:reNoMatch).source+"|"+(options.evaluate||reNoMatch).source+"|$","g");var sourceURL="//# sourceURL="+(hasOwnProperty.call(options,"sourceURL")?(options.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++templateCounter+"]")+"\n";string.replace(reDelimiters,function(match,escapeValue,interpolateValue,esTemplateValue,evaluateValue,offset){interpolateValue||(interpolateValue=esTemplateValue);source2+=string.slice(index2,offset).replace(reUnescapedString,escapeStringChar);if(escapeValue){isEscaping=true;source2+="' +\n__e("+escapeValue+") +\n'"}if(evaluateValue){isEvaluating=true;source2+="';\n"+evaluateValue+";\n__p += '"}if(interpolateValue){source2+="' +\n((__t = ("+interpolateValue+")) == null ? '' : __t) +\n'"}index2=offset+match.length;return match});source2+="';\n";var variable=hasOwnProperty.call(options,"variable")&&options.variable;if(!variable){source2="with (obj) {\n"+source2+"\n}\n"}else if(reForbiddenIdentifierChars.test(variable)){throw new Error2(INVALID_TEMPL_VAR_ERROR_TEXT)}source2=(isEvaluating?source2.replace(reEmptyStringLeading,""):source2).replace(reEmptyStringMiddle,"$1").replace(reEmptyStringTrailing,"$1;");source2="function("+(variable||"obj")+") {\n"+(variable?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(isEscaping?", __e = _.escape":"")+(isEvaluating?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+source2+"return __p\n}";var result2=attempt(function(){return Function2(importsKeys,sourceURL+"return "+source2).apply(undefined$1,importsValues)});result2.source=source2;if(isError(result2)){throw result2}return result2}__name(template2,"template");function toLower(value){return toString(value).toLowerCase()}__name(toLower,"toLower");function toUpper(value){return toString(value).toUpperCase()}__name(toUpper,"toUpper");function trim(string,chars,guard){string=toString(string);if(string&&(guard||chars===undefined$1)){return baseTrim(string)}if(!string||!(chars=baseToString(chars))){return string}var strSymbols=stringToArray(string),chrSymbols=stringToArray(chars),start=charsStartIndex(strSymbols,chrSymbols),end=charsEndIndex(strSymbols,chrSymbols)+1;return castSlice(strSymbols,start,end).join("")}__name(trim,"trim");function trimEnd(string,chars,guard){string=toString(string);if(string&&(guard||chars===undefined$1)){return string.slice(0,trimmedEndIndex(string)+1)}if(!string||!(chars=baseToString(chars))){return string}var strSymbols=stringToArray(string),end=charsEndIndex(strSymbols,stringToArray(chars))+1;return castSlice(strSymbols,0,end).join("")}__name(trimEnd,"trimEnd");function trimStart(string,chars,guard){string=toString(string);if(string&&(guard||chars===undefined$1)){return string.replace(reTrimStart,"")}if(!string||!(chars=baseToString(chars))){return string}var strSymbols=stringToArray(string),start=charsStartIndex(strSymbols,stringToArray(chars));return castSlice(strSymbols,start).join("")}__name(trimStart,"trimStart");function truncate(string,options){var length=DEFAULT_TRUNC_LENGTH,omission=DEFAULT_TRUNC_OMISSION;if(isObject(options)){var separator="separator"in options?options.separator:separator;length="length"in options?toInteger(options.length):length;omission="omission"in options?baseToString(options.omission):omission}string=toString(string);var strLength=string.length;if(hasUnicode(string)){var strSymbols=stringToArray(string);strLength=strSymbols.length}if(length>=strLength){return string}var end=length-stringSize(omission);if(end<1){return omission}var result2=strSymbols?castSlice(strSymbols,0,end).join(""):string.slice(0,end);if(separator===undefined$1){return result2+omission}if(strSymbols){end+=result2.length-end}if(isRegExp(separator)){if(string.slice(end).search(separator)){var match,substring=result2;if(!separator.global){separator=RegExp2(separator.source,toString(reFlags.exec(separator))+"g")}separator.lastIndex=0;while(match=separator.exec(substring)){var newEnd=match.index}result2=result2.slice(0,newEnd===undefined$1?end:newEnd)}}else if(string.indexOf(baseToString(separator),end)!=end){var index2=result2.lastIndexOf(separator);if(index2>-1){result2=result2.slice(0,index2)}}return result2+omission}__name(truncate,"truncate");function unescape(string){string=toString(string);return string&&reHasEscapedHtml.test(string)?string.replace(reEscapedHtml,unescapeHtmlChar):string}__name(unescape,"unescape");var upperCase=createCompounder(function(result2,word,index2){return result2+(index2?" ":"")+word.toUpperCase()});var upperFirst=createCaseFirst("toUpperCase");function words(string,pattern,guard){string=toString(string);pattern=guard?undefined$1:pattern;if(pattern===undefined$1){return hasUnicodeWord(string)?unicodeWords(string):asciiWords(string)}return string.match(pattern)||[]}__name(words,"words");var attempt=baseRest(function(func,args){try{return apply(func,undefined$1,args)}catch(e){return isError(e)?e:new Error2(e)}});var bindAll=flatRest(function(object,methodNames){arrayEach(methodNames,function(key){key=toKey(key);baseAssignValue(object,key,bind(object[key],object))});return object});function cond(pairs){var length=pairs==null?0:pairs.length,toIteratee=getIteratee();pairs=!length?[]:arrayMap(pairs,function(pair){if(typeof pair[1]!="function"){throw new TypeError2(FUNC_ERROR_TEXT)}return[toIteratee(pair[0]),pair[1]]});return baseRest(function(args){var index2=-1;while(++index2<length){var pair=pairs[index2];if(apply(pair[0],this,args)){return apply(pair[1],this,args)}}})}__name(cond,"cond");function conforms(source2){return baseConforms(baseClone(source2,CLONE_DEEP_FLAG))}__name(conforms,"conforms");function constant(value){return function(){return value}}__name(constant,"constant");function defaultTo(value,defaultValue){return value==null||value!==value?defaultValue:value}__name(defaultTo,"defaultTo");var flow=createFlow();var flowRight=createFlow(true);function identity(value){return value}__name(identity,"identity");function iteratee(func){return baseIteratee(typeof func=="function"?func:baseClone(func,CLONE_DEEP_FLAG))}__name(iteratee,"iteratee");function matches(source2){return baseMatches(baseClone(source2,CLONE_DEEP_FLAG))}__name(matches,"matches");function matchesProperty(path,srcValue){return baseMatchesProperty(path,baseClone(srcValue,CLONE_DEEP_FLAG))}__name(matchesProperty,"matchesProperty");var method=baseRest(function(path,args){return function(object){return baseInvoke(object,path,args)}});var methodOf=baseRest(function(object,args){return function(path){return baseInvoke(object,path,args)}});function mixin(object,source2,options){var props=keys(source2),methodNames=baseFunctions(source2,props);if(options==null&&!(isObject(source2)&&(methodNames.length||!props.length))){options=source2;source2=object;object=this;methodNames=baseFunctions(source2,keys(source2))}var chain2=!(isObject(options)&&"chain"in options)||!!options.chain,isFunc=isFunction(object);arrayEach(methodNames,function(methodName){var func=source2[methodName];object[methodName]=func;if(isFunc){object.prototype[methodName]=function(){var chainAll=this.__chain__;if(chain2||chainAll){var result2=object(this.__wrapped__),actions=result2.__actions__=copyArray(this.__actions__);actions.push({"func":func,"args":arguments,"thisArg":object});result2.__chain__=chainAll;return result2}return func.apply(object,arrayPush([this.value()],arguments))}}});return object}__name(mixin,"mixin");function noConflict(){if(root._===this){root._=oldDash}return this}__name(noConflict,"noConflict");function noop(){}__name(noop,"noop");function nthArg(n){n=toInteger(n);return baseRest(function(args){return baseNth(args,n)})}__name(nthArg,"nthArg");var over=createOver(arrayMap);var overEvery=createOver(arrayEvery);var overSome=createOver(arraySome);function property(path){return isKey(path)?baseProperty(toKey(path)):basePropertyDeep(path)}__name(property,"property");function propertyOf(object){return function(path){return object==null?undefined$1:baseGet(object,path)}}__name(propertyOf,"propertyOf");var range=createRange();var rangeRight=createRange(true);function stubArray(){return[]}__name(stubArray,"stubArray");function stubFalse(){return false}__name(stubFalse,"stubFalse");function stubObject(){return{}}__name(stubObject,"stubObject");function stubString(){return""}__name(stubString,"stubString");function stubTrue(){return true}__name(stubTrue,"stubTrue");function times(n,iteratee2){n=toInteger(n);if(n<1||n>MAX_SAFE_INTEGER){return[]}var index2=MAX_ARRAY_LENGTH,length=nativeMin(n,MAX_ARRAY_LENGTH);iteratee2=getIteratee(iteratee2);n-=MAX_ARRAY_LENGTH;var result2=baseTimes(length,iteratee2);while(++index2<n){iteratee2(index2)}return result2}__name(times,"times");function toPath(value){if(isArray2(value)){return arrayMap(value,toKey)}return isSymbol(value)?[value]:copyArray(stringToPath(toString(value)))}__name(toPath,"toPath");function uniqueId(prefix){var id=++idCounter;return toString(prefix)+id}__name(uniqueId,"uniqueId");var add=createMathOperation(function(augend,addend){return augend+addend},0);var ceil=createRound("ceil");var divide=createMathOperation(function(dividend,divisor){return dividend/divisor},1);var floor=createRound("floor");function max(array){return array&&array.length?baseExtremum(array,identity,baseGt):undefined$1}__name(max,"max");function maxBy(array,iteratee2){return array&&array.length?baseExtremum(array,getIteratee(iteratee2,2),baseGt):undefined$1}__name(maxBy,"maxBy");function mean(array){return baseMean(array,identity)}__name(mean,"mean");function meanBy(array,iteratee2){return baseMean(array,getIteratee(iteratee2,2))}__name(meanBy,"meanBy");function min(array){return array&&array.length?baseExtremum(array,identity,baseLt):undefined$1}__name(min,"min");function minBy(array,iteratee2){return array&&array.length?baseExtremum(array,getIteratee(iteratee2,2),baseLt):undefined$1}__name(minBy,"minBy");var multiply=createMathOperation(function(multiplier,multiplicand){return multiplier*multiplicand},1);var round=createRound("round");var subtract=createMathOperation(function(minuend,subtrahend){return minuend-subtrahend},0);function sum(array){return array&&array.length?baseSum(array,identity):0}__name(sum,"sum");function sumBy(array,iteratee2){return array&&array.length?baseSum(array,getIteratee(iteratee2,2)):0}__name(sumBy,"sumBy");lodash2.after=after;lodash2.ary=ary;lodash2.assign=assign;lodash2.assignIn=assignIn;lodash2.assignInWith=assignInWith;lodash2.assignWith=assignWith;lodash2.at=at;lodash2.before=before;lodash2.bind=bind;lodash2.bindAll=bindAll;lodash2.bindKey=bindKey;lodash2.castArray=castArray;lodash2.chain=chain;lodash2.chunk=chunk;lodash2.compact=compact;lodash2.concat=concat;lodash2.cond=cond;lodash2.conforms=conforms;lodash2.constant=constant;lodash2.countBy=countBy;lodash2.create=create;lodash2.curry=curry;lodash2.curryRight=curryRight;lodash2.debounce=debounce;lodash2.defaults=defaults;lodash2.defaultsDeep=defaultsDeep;lodash2.defer=defer;lodash2.delay=delay;lodash2.difference=difference;lodash2.differenceBy=differenceBy;lodash2.differenceWith=differenceWith;lodash2.drop=drop;lodash2.dropRight=dropRight;lodash2.dropRightWhile=dropRightWhile;lodash2.dropWhile=dropWhile;lodash2.fill=fill;lodash2.filter=filter;lodash2.flatMap=flatMap;lodash2.flatMapDeep=flatMapDeep;lodash2.flatMapDepth=flatMapDepth;lodash2.flatten=flatten;lodash2.flattenDeep=flattenDeep;lodash2.flattenDepth=flattenDepth;lodash2.flip=flip;lodash2.flow=flow;lodash2.flowRight=flowRight;lodash2.fromPairs=fromPairs;lodash2.functions=functions;lodash2.functionsIn=functionsIn;lodash2.groupBy=groupBy;lodash2.initial=initial;lodash2.intersection=intersection;lodash2.intersectionBy=intersectionBy;lodash2.intersectionWith=intersectionWith;lodash2.invert=invert;lodash2.invertBy=invertBy;lodash2.invokeMap=invokeMap;lodash2.iteratee=iteratee;lodash2.keyBy=keyBy;lodash2.keys=keys;lodash2.keysIn=keysIn;lodash2.map=map;lodash2.mapKeys=mapKeys;lodash2.mapValues=mapValues;lodash2.matches=matches;lodash2.matchesProperty=matchesProperty;lodash2.memoize=memoize;lodash2.merge=merge;lodash2.mergeWith=mergeWith;lodash2.method=method;lodash2.methodOf=methodOf;lodash2.mixin=mixin;lodash2.negate=negate;lodash2.nthArg=nthArg;lodash2.omit=omit;lodash2.omitBy=omitBy;lodash2.once=once;lodash2.orderBy=orderBy;lodash2.over=over;lodash2.overArgs=overArgs;lodash2.overEvery=overEvery;lodash2.overSome=overSome;lodash2.partial=partial;lodash2.partialRight=partialRight;lodash2.partition=partition;lodash2.pick=pick;lodash2.pickBy=pickBy;lodash2.property=property;lodash2.propertyOf=propertyOf;lodash2.pull=pull;lodash2.pullAll=pullAll;lodash2.pullAllBy=pullAllBy;lodash2.pullAllWith=pullAllWith;lodash2.pullAt=pullAt;lodash2.range=range;lodash2.rangeRight=rangeRight;lodash2.rearg=rearg;lodash2.reject=reject;lodash2.remove=remove;lodash2.rest=rest;lodash2.reverse=reverse2;lodash2.sampleSize=sampleSize;lodash2.set=set;lodash2.setWith=setWith;lodash2.shuffle=shuffle;lodash2.slice=slice;lodash2.sortBy=sortBy;lodash2.sortedUniq=sortedUniq;lodash2.sortedUniqBy=sortedUniqBy;lodash2.split=split;lodash2.spread=spread;lodash2.tail=tail;lodash2.take=take;lodash2.takeRight=takeRight;lodash2.takeRightWhile=takeRightWhile;lodash2.takeWhile=takeWhile;lodash2.tap=tap;lodash2.throttle=throttle;lodash2.thru=thru;lodash2.toArray=toArray;lodash2.toPairs=toPairs;lodash2.toPairsIn=toPairsIn;lodash2.toPath=toPath;lodash2.toPlainObject=toPlainObject;lodash2.transform=transform;lodash2.unary=unary;lodash2.union=union;lodash2.unionBy=unionBy;lodash2.unionWith=unionWith;lodash2.uniq=uniq;lodash2.uniqBy=uniqBy;lodash2.uniqWith=uniqWith;lodash2.unset=unset;lodash2.unzip=unzip;lodash2.unzipWith=unzipWith;lodash2.update=update;lodash2.updateWith=updateWith;lodash2.values=values;lodash2.valuesIn=valuesIn;lodash2.without=without;lodash2.words=words;lodash2.wrap=wrap;lodash2.xor=xor;lodash2.xorBy=xorBy;lodash2.xorWith=xorWith;lodash2.zip=zip;lodash2.zipObject=zipObject;lodash2.zipObjectDeep=zipObjectDeep;lodash2.zipWith=zipWith;lodash2.entries=toPairs;lodash2.entriesIn=toPairsIn;lodash2.extend=assignIn;lodash2.extendWith=assignInWith;mixin(lodash2,lodash2);lodash2.add=add;lodash2.attempt=attempt;lodash2.camelCase=camelCase;lodash2.capitalize=capitalize;lodash2.ceil=ceil;lodash2.clamp=clamp;lodash2.clone=clone2;lodash2.cloneDeep=cloneDeep;lodash2.cloneDeepWith=cloneDeepWith;lodash2.cloneWith=cloneWith;lodash2.conformsTo=conformsTo;lodash2.deburr=deburr;lodash2.defaultTo=defaultTo;lodash2.divide=divide;lodash2.endsWith=endsWith;lodash2.eq=eq;lodash2.escape=escape;lodash2.escapeRegExp=escapeRegExp;lodash2.every=every;lodash2.find=find;lodash2.findIndex=findIndex;lodash2.findKey=findKey;lodash2.findLast=findLast;lodash2.findLastIndex=findLastIndex;lodash2.findLastKey=findLastKey;lodash2.floor=floor;lodash2.forEach=forEach;lodash2.forEachRight=forEachRight;lodash2.forIn=forIn;lodash2.forInRight=forInRight;lodash2.forOwn=forOwn;lodash2.forOwnRight=forOwnRight;lodash2.get=get2;lodash2.gt=gt;lodash2.gte=gte;lodash2.has=has;lodash2.hasIn=hasIn;lodash2.head=head;lodash2.identity=identity;lodash2.includes=includes;lodash2.indexOf=indexOf;lodash2.inRange=inRange;lodash2.invoke=invoke;lodash2.isArguments=isArguments;lodash2.isArray=isArray2;lodash2.isArrayBuffer=isArrayBuffer;lodash2.isArrayLike=isArrayLike;lodash2.isArrayLikeObject=isArrayLikeObject;lodash2.isBoolean=isBoolean;lodash2.isBuffer=isBuffer2;lodash2.isDate=isDate;lodash2.isElement=isElement;lodash2.isEmpty=isEmpty;lodash2.isEqual=isEqual;lodash2.isEqualWith=isEqualWith;lodash2.isError=isError;lodash2.isFinite=isFinite;lodash2.isFunction=isFunction;lodash2.isInteger=isInteger;lodash2.isLength=isLength;lodash2.isMap=isMap;lodash2.isMatch=isMatch;lodash2.isMatchWith=isMatchWith;lodash2.isNaN=isNaN2;lodash2.isNative=isNative;lodash2.isNil=isNil;lodash2.isNull=isNull;lodash2.isNumber=isNumber;lodash2.isObject=isObject;lodash2.isObjectLike=isObjectLike;lodash2.isPlainObject=isPlainObject;lodash2.isRegExp=isRegExp;lodash2.isSafeInteger=isSafeInteger;lodash2.isSet=isSet;lodash2.isString=isString;lodash2.isSymbol=isSymbol;lodash2.isTypedArray=isTypedArray;lodash2.isUndefined=isUndefined;lodash2.isWeakMap=isWeakMap;lodash2.isWeakSet=isWeakSet;lodash2.join=join;lodash2.kebabCase=kebabCase;lodash2.last=last;lodash2.lastIndexOf=lastIndexOf;lodash2.lowerCase=lowerCase;lodash2.lowerFirst=lowerFirst;lodash2.lt=lt;lodash2.lte=lte;lodash2.max=max;lodash2.maxBy=maxBy;lodash2.mean=mean;lodash2.meanBy=meanBy;lodash2.min=min;lodash2.minBy=minBy;lodash2.stubArray=stubArray;lodash2.stubFalse=stubFalse;lodash2.stubObject=stubObject;lodash2.stubString=stubString;lodash2.stubTrue=stubTrue;lodash2.multiply=multiply;lodash2.nth=nth;lodash2.noConflict=noConflict;lodash2.noop=noop;lodash2.now=now;lodash2.pad=pad;lodash2.padEnd=padEnd;lodash2.padStart=padStart;lodash2.parseInt=parseInt2;lodash2.random=random;lodash2.reduce=reduce;lodash2.reduceRight=reduceRight;lodash2.repeat=repeat;lodash2.replace=replace;lodash2.result=result;lodash2.round=round;lodash2.runInContext=runInContext2;lodash2.sample=sample;lodash2.size=size;lodash2.snakeCase=snakeCase;lodash2.some=some;lodash2.sortedIndex=sortedIndex;lodash2.sortedIndexBy=sortedIndexBy;lodash2.sortedIndexOf=sortedIndexOf;lodash2.sortedLastIndex=sortedLastIndex;lodash2.sortedLastIndexBy=sortedLastIndexBy;lodash2.sortedLastIndexOf=sortedLastIndexOf;lodash2.startCase=startCase;lodash2.startsWith=startsWith;lodash2.subtract=subtract;lodash2.sum=sum;lodash2.sumBy=sumBy;lodash2.template=template2;lodash2.times=times;lodash2.toFinite=toFinite;lodash2.toInteger=toInteger;lodash2.toLength=toLength;lodash2.toLower=toLower;lodash2.toNumber=toNumber;lodash2.toSafeInteger=toSafeInteger;lodash2.toString=toString;lodash2.toUpper=toUpper;lodash2.trim=trim;lodash2.trimEnd=trimEnd;lodash2.trimStart=trimStart;lodash2.truncate=truncate;lodash2.unescape=unescape;lodash2.uniqueId=uniqueId;lodash2.upperCase=upperCase;lodash2.upperFirst=upperFirst;lodash2.each=forEach;lodash2.eachRight=forEachRight;lodash2.first=head;mixin(lodash2,function(){var source2={};baseForOwn(lodash2,function(func,methodName){if(!hasOwnProperty.call(lodash2.prototype,methodName)){source2[methodName]=func}});return source2}(),{"chain":false});lodash2.VERSION=VERSION;arrayEach(["bind","bindKey","curry","curryRight","partial","partialRight"],function(methodName){lodash2[methodName].placeholder=lodash2});arrayEach(["drop","take"],function(methodName,index2){LazyWrapper.prototype[methodName]=function(n){n=n===undefined$1?1:nativeMax(toInteger(n),0);var result2=this.__filtered__&&!index2?new LazyWrapper(this):this.clone();if(result2.__filtered__){result2.__takeCount__=nativeMin(n,result2.__takeCount__)}else{result2.__views__.push({"size":nativeMin(n,MAX_ARRAY_LENGTH),"type":methodName+(result2.__dir__<0?"Right":"")})}return result2};LazyWrapper.prototype[methodName+"Right"]=function(n){return this.reverse()[methodName](n).reverse()}});arrayEach(["filter","map","takeWhile"],function(methodName,index2){var type=index2+1,isFilter=type==LAZY_FILTER_FLAG||type==LAZY_WHILE_FLAG;LazyWrapper.prototype[methodName]=function(iteratee2){var result2=this.clone();result2.__iteratees__.push({"iteratee":getIteratee(iteratee2,3),"type":type});result2.__filtered__=result2.__filtered__||isFilter;return result2}});arrayEach(["head","last"],function(methodName,index2){var takeName="take"+(index2?"Right":"");LazyWrapper.prototype[methodName]=function(){return this[takeName](1).value()[0]}});arrayEach(["initial","tail"],function(methodName,index2){var dropName="drop"+(index2?"":"Right");LazyWrapper.prototype[methodName]=function(){return this.__filtered__?new LazyWrapper(this):this[dropName](1)}});LazyWrapper.prototype.compact=function(){return this.filter(identity)};LazyWrapper.prototype.find=function(predicate){return this.filter(predicate).head()};LazyWrapper.prototype.findLast=function(predicate){return this.reverse().find(predicate)};LazyWrapper.prototype.invokeMap=baseRest(function(path,args){if(typeof path=="function"){return new LazyWrapper(this)}return this.map(function(value){return baseInvoke(value,path,args)})});LazyWrapper.prototype.reject=function(predicate){return this.filter(negate(getIteratee(predicate)))};LazyWrapper.prototype.slice=function(start,end){start=toInteger(start);var result2=this;if(result2.__filtered__&&(start>0||end<0)){return new LazyWrapper(result2)}if(start<0){result2=result2.takeRight(-start)}else if(start){result2=result2.drop(start)}if(end!==undefined$1){end=toInteger(end);result2=end<0?result2.dropRight(-end):result2.take(end-start)}return result2};LazyWrapper.prototype.takeRightWhile=function(predicate){return this.reverse().takeWhile(predicate).reverse()};LazyWrapper.prototype.toArray=function(){return this.take(MAX_ARRAY_LENGTH)};baseForOwn(LazyWrapper.prototype,function(func,methodName){var checkIteratee=/^(?:filter|find|map|reject)|While$/.test(methodName),isTaker=/^(?:head|last)$/.test(methodName),lodashFunc=lodash2[isTaker?"take"+(methodName=="last"?"Right":""):methodName],retUnwrapped=isTaker||/^find/.test(methodName);if(!lodashFunc){return}lodash2.prototype[methodName]=function(){var value=this.__wrapped__,args=isTaker?[1]:arguments,isLazy=value instanceof LazyWrapper,iteratee2=args[0],useLazy=isLazy||isArray2(value);var interceptor=__name(function(value2){var result3=lodashFunc.apply(lodash2,arrayPush([value2],args));return isTaker&&chainAll?result3[0]:result3},"interceptor");if(useLazy&&checkIteratee&&typeof iteratee2=="function"&&iteratee2.length!=1){isLazy=useLazy=false}var chainAll=this.__chain__,isHybrid=!!this.__actions__.length,isUnwrapped=retUnwrapped&&!chainAll,onlyLazy=isLazy&&!isHybrid;if(!retUnwrapped&&useLazy){value=onlyLazy?value:new LazyWrapper(this);var result2=func.apply(value,args);result2.__actions__.push({"func":thru,"args":[interceptor],"thisArg":undefined$1});return new LodashWrapper(result2,chainAll)}if(isUnwrapped&&onlyLazy){return func.apply(this,args)}result2=this.thru(interceptor);return isUnwrapped?isTaker?result2.value()[0]:result2.value():result2}});arrayEach(["pop","push","shift","sort","splice","unshift"],function(methodName){var func=arrayProto[methodName],chainName=/^(?:push|sort|unshift)$/.test(methodName)?"tap":"thru",retUnwrapped=/^(?:pop|shift)$/.test(methodName);lodash2.prototype[methodName]=function(){var args=arguments;if(retUnwrapped&&!this.__chain__){var value=this.value();return func.apply(isArray2(value)?value:[],args)}return this[chainName](function(value2){return func.apply(isArray2(value2)?value2:[],args)})}});baseForOwn(LazyWrapper.prototype,function(func,methodName){var lodashFunc=lodash2[methodName];if(lodashFunc){var key=lodashFunc.name+"";if(!hasOwnProperty.call(realNames,key)){realNames[key]=[]}realNames[key].push({"name":methodName,"func":lodashFunc})}});realNames[createHybrid(undefined$1,WRAP_BIND_KEY_FLAG).name]=[{"name":"wrapper","func":undefined$1}];LazyWrapper.prototype.clone=lazyClone;LazyWrapper.prototype.reverse=lazyReverse;LazyWrapper.prototype.value=lazyValue;lodash2.prototype.at=wrapperAt;lodash2.prototype.chain=wrapperChain;lodash2.prototype.commit=wrapperCommit;lodash2.prototype.next=wrapperNext;lodash2.prototype.plant=wrapperPlant;lodash2.prototype.reverse=wrapperReverse;lodash2.prototype.toJSON=lodash2.prototype.valueOf=lodash2.prototype.value=wrapperValue;lodash2.prototype.first=lodash2.prototype.head;if(symIterator){lodash2.prototype[symIterator]=wrapperToIterator}return lodash2},"runInContext");var _=runInContext();if(freeModule){(freeModule.exports=_)._=_;freeExports._=_}else{root._=_}}).call(commonjsGlobal)})(lodash,lodash.exports);var lodashExports=lodash.exports;const protein_letters="ACDEFGHIKLMNPQRSTVWY";const extended_protein_letters="ACDEFGHIKLMNPQRSTVWYBXZJUO.*-";const protein_letters_1to3={A:"Ala",C:"Cys",D:"Asp",E:"Glu",F:"Phe",G:"Gly",H:"His",I:"Ile",K:"Lys",L:"Leu",M:"Met",N:"Asn",P:"Pro",Q:"Gln",R:"Arg",S:"Ser",T:"Thr",V:"Val",W:"Trp",Y:"Tyr",O:"Pyl",U:"Sec"};const ambiguous_dna_letters="GATCRYWSMKHBVDN";const unambiguous_dna_letters="GATC";const ambiguous_rna_letters="GAUCRYWSMKHBVDN";const unambiguous_rna_letters="GAUC";const extended_dna_letters="GATCBDSW";const ambiguous_dna_values={".":".",A:"A",C:"C",G:"G",T:"T",M:"AC",R:"AG",W:"AT",S:"CG",Y:"CT",K:"GT",V:"ACG",H:"ACT",D:"AGT",B:"CGT",X:"GATC",N:"GATC"};const ambiguous_rna_values={".":".",A:"A",C:"C",G:"G",U:"U",M:"AC",R:"AG",W:"AU",S:"CG",Y:"CU",K:"GU",V:"ACG",H:"ACU",D:"AGU",B:"CGU",X:"GAUC",N:"GAUC"};const ambiguous_dna_complement={".":".",A:"T",C:"G",G:"C",T:"A",M:"K",R:"Y",W:"W",S:"S",Y:"R",K:"M",V:"B",H:"D",D:"H",B:"V",X:"X",N:"N"};const ambiguous_rna_complement={".":".",A:"U",C:"G",G:"C",U:"A",M:"K",R:"Y",W:"W",S:"S",Y:"R",K:"M",V:"B",H:"D",D:"H",B:"V",X:"X",N:"N"};const unambiguous_dna_weights={A:331.2218,C:307.1971,G:347.2212,T:322.2085};const monoisotopic_unambiguous_dna_weights={A:331.06817,C:307.056936,G:347.063084,T:322.056602};const unambiguous_rna_weights={A:347.2212,C:323.1965,G:363.2206,U:324.1813};const monoisotopic_unambiguous_rna_weights={A:347.063084,C:323.051851,G:363.057999,U:324.035867};const protein_weights={A:89.0932,C:121.1582,D:133.1027,E:147.1293,F:165.1891,G:75.0666,H:155.1546,I:131.1729,K:146.1876,L:131.1729,M:149.2113,N:132.1179,O:255.3134,P:115.1305,Q:146.1445,R:174.201,S:105.0926,T:119.1192,U:168.0532,V:117.1463,W:204.2252,Y:181.1885};const monoisotopic_protein_weights={A:89.047678,C:121.019749,D:133.037508,E:147.053158,F:165.078979,G:75.032028,H:155.069477,I:131.094629,K:146.105528,L:131.094629,M:149.051049,N:132.053492,O:255.158292,P:115.063329,Q:146.069142,R:174.111676,S:105.042593,T:119.058243,U:168.964203,V:117.078979,W:204.089878,Y:181.073893};const extended_protein_values={A:"A",B:"ND",C:"C",D:"D",E:"E",F:"F",G:"G",H:"H",I:"I",J:"IL",K:"K",L:"L",M:"M",N:"N",O:"O",P:"P",Q:"Q",R:"R",S:"S",T:"T",U:"U",V:"V",W:"W",X:"ACDEFGHIKLMNPQRSTVWY",Y:"Y",Z:"QE","*":"\\*\\.",".":"\\.\\.","-":"\\-"};const atom_weights={H:1.00794,D:2.0141,He:4.002602,Li:6.941,Be:9.012182,B:10.811,C:12.0107,N:14.0067,O:15.9994,F:18.9984032,Ne:20.1797,Na:22.98977,Mg:24.305,Al:26.981538,Si:28.0855,P:30.973761,S:32.065,Cl:35.453,Ar:39.948,K:39.0983,Ca:40.078,Sc:44.95591,Ti:47.867,V:50.9415,Cr:51.9961,Mn:54.938049,Fe:55.845,Co:58.9332,Ni:58.6934,Cu:63.546,Zn:65.39,Ga:69.723,Ge:72.64,As:74.9216,Se:78.96,Br:79.904,Kr:83.8,Rb:85.4678,Sr:87.62,Y:88.90585,Zr:91.224,Nb:92.90638,Mo:95.94,Tc:98,Ru:101.07,Rh:102.9055,Pd:106.42,Ag:107.8682,Cd:112.411,In:114.818,Sn:118.71,Sb:121.76,Te:127.6,I:126.90447,Xe:131.293,Cs:132.90545,Ba:137.327,La:138.9055,Ce:140.116,Pr:140.90765,Nd:144.24,Pm:145,Sm:150.36,Eu:151.964,Gd:157.25,Tb:158.92534,Dy:162.5,Ho:164.93032,Er:167.259,Tm:168.93421,Yb:173.04,Lu:174.967,Hf:178.49,Ta:180.9479,W:183.84,Re:186.207,Os:190.23,Ir:192.217,Pt:195.078,Au:196.96655,Hg:200.59,Tl:204.3833,Pb:207.2,Bi:208.98038,Po:208.98,At:209.99,Rn:222.02,Fr:223.02,Ra:226.03,Ac:227.03,Th:232.0381,Pa:231.03588,U:238.02891,Np:237.05,Pu:244.06,Am:243.06,Cm:247.07,Bk:247.07,Cf:251.08,Es:252.08,Fm:257.1,Md:258.1,No:259.1,Lr:262.11,Rf:261.11,Db:262.11,Sg:266.12,Bh:264.12,Hs:269.13,Mt:268.14};const bioData=Object.freeze(Object.defineProperty({__proto__:null,ambiguous_dna_complement,ambiguous_dna_letters,ambiguous_dna_values,ambiguous_rna_complement,ambiguous_rna_letters,ambiguous_rna_values,atom_weights,extended_dna_letters,extended_protein_letters,extended_protein_values,monoisotopic_protein_weights,monoisotopic_unambiguous_dna_weights,monoisotopic_unambiguous_rna_weights,protein_letters,protein_letters_1to3,protein_weights,unambiguous_dna_letters,unambiguous_dna_weights,unambiguous_rna_letters,unambiguous_rna_weights},Symbol.toStringTag,{value:"Module"}));const aminoAcidToDegenerateDnaMap={"-":"---",".":"...","*":"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 splitRangeIntoTwoPartsIfItIsCircular(range,sequenceLength){if(sequenceLength!==0){sequenceLength=sequenceLength||Infinity}const ranges=[];if(range.start>range.end){ranges.push({start:0,end:range.end,type:"end"});ranges.push({start:range.start,end:sequenceLength-1,type:"beginning"})}else{ranges.push({start:range.start,end:range.end,type:"beginningAndEnd"})}return ranges}__name(splitRangeIntoTwoPartsIfItIsCircular,"splitRangeIntoTwoPartsIfItIsCircular");function getOverlapOfNonCircularRanges(rangeA,rangeB){if(rangeA.start<rangeB.start){if(rangeA.end<rangeB.start);else{if(rangeA.end<rangeB.end){return{start:rangeB.start,end:rangeA.end}}else{return{start:rangeB.start,end:rangeB.end}}}}else{if(rangeA.start>rangeB.end);else{if(rangeA.end<rangeB.end){return{start:rangeA.start,end:rangeA.end}}else{return{start:rangeA.start,end:rangeB.end}}}}}__name(getOverlapOfNonCircularRanges,"getOverlapOfNonCircularRanges");function getOverlapsOfPotentiallyCircularRanges(rangeA,rangeB,maxRangeLength,joinIfPossible){const normalizedRangeA=splitRangeIntoTwoPartsIfItIsCircular(rangeA,maxRangeLength);const normalizedRangeB=splitRangeIntoTwoPartsIfItIsCircular(rangeB,maxRangeLength);let overlaps=[];normalizedRangeA.forEach(function(nonCircularRangeA,iA){normalizedRangeB.forEach(function(nonCircularRangeB,iB){const overlap=getOverlapOfNonCircularRanges(nonCircularRangeA,nonCircularRangeB);if(overlap){overlaps.push(overlap)}})});if(joinIfPossible&&normalizedRangeA.length===2&&normalizedRangeB.length===2&&maxRangeLength){const joinedOverlap={};overlaps=lodashExports.flatMap(overlaps,(o,i)=>{if(o.start===0){joinedOverlap.end=o.end;return[]}else if(o.end===maxRangeLength-1){joinedOverlap.start=o.start;return[]}});overlaps.push(joinedOverlap)}return overlaps}__name(getOverlapsOfPotentiallyCircularRanges,"getOverlapsOfPotentiallyCircularRanges");function trimNonCicularRangeByAnotherNonCircularRange(rangeToBeTrimmed,trimmingRange){let outputTrimmedRange;if(!rangeToBeTrimmed){return outputTrimmedRange}if(rangeToBeTrimmed.start<trimmingRange.start){if(rangeToBeTrimmed.end<trimmingRange.start){outputTrimmedRange={start:rangeToBeTrimmed.start,end:rangeToBeTrimmed.end}}else{if(rangeToBeTrimmed.end>trimmingRange.end){outputTrimmedRange={start:rangeToBeTrimmed.start,end:rangeToBeTrimmed.end}}else{outputTrimmedRange={start:rangeToBeTrimmed.start,end:trimmingRange.start-1}}}}else{if(rangeToBeTrimmed.end<=trimmingRange.end);else{if(rangeToBeTrimmed.start>trimmingRange.end){outputTrimmedRange={end:rangeToBeTrimmed.end,start:rangeToBeTrimmed.start}}else{outputTrimmedRange={end:rangeToBeTrimmed.end,start:trimmingRange.end+1}}}}return outputTrimmedRange}__name(trimNonCicularRangeByAnotherNonCircularRange,"trimNonCicularRangeByAnotherNonCircularRange");function trimRangeByAnotherRange(rangeToBeTrimmed,trimmingRange,sequenceLength){if(!rangeToBeTrimmed||!trimmingRange){console.warn("invalid range input");return null}let position;for(position of[rangeToBeTrimmed.start,rangeToBeTrimmed.end,trimmingRange.start,trimmingRange.end]){if(position<0||!position&&position!==0){console.warn("invalid range input");return null}}const overlaps=getOverlapsOfPotentiallyCircularRanges(rangeToBeTrimmed,trimmingRange,sequenceLength);if(!overlaps.length){return rangeToBeTrimmed}const splitRangesToBeTrimmed=splitRangeIntoTwoPartsIfItIsCircular(rangeToBeTrimmed,sequenceLength);splitRangesToBeTrimmed.forEach(function(nonCircularRangeToBeTrimmed,index2){overlaps.forEach(function(overlap){if(nonCircularRangeToBeTrimmed){nonCircularRangeToBeTrimmed=trimNonCicularRangeByAnotherNonCircularRange(nonCircularRangeToBeTrimmed,overlap)}});splitRangesToBeTrimmed[index2]=nonCircularRangeToBeTrimmed});const outputSplitRanges=splitRangesToBeTrimmed.filter(function(trimmedRange){if(trimmedRange){return true}return false});let outputTrimmedRange;if(outputSplitRanges.length<0);else if(outputSplitRanges.length===1){outputTrimmedRange=outputSplitRanges[0]}else if(outputSplitRanges.length===2){if(outputSplitRanges[0].start<outputSplitRanges[1].start){outputTrimmedRange={start:outputSplitRanges[1].start,end:outputSplitRanges[0].end}}else{outputTrimmedRange={start:outputSplitRanges[0].start,end:outputSplitRanges[1].end}}}if(outputTrimmedRange){return lodashExports.extend({},rangeToBeTrimmed,{start:outputTrimmedRange.start,end:outputTrimmedRange.end})}}__name(trimRangeByAnotherRange,"trimRangeByAnotherRange");function adjustRangeToDeletionOfAnotherRange(rangeToBeAdjusted,anotherRange,maxLength){const trimmedRange=trimRangeByAnotherRange(rangeToBeAdjusted,anotherRange,maxLength);if(trimmedRange){const nonCircularDeletionRanges=splitRangeIntoTwoPartsIfItIsCircular(anotherRange,maxLength);nonCircularDeletionRanges.forEach(function(nonCircularDeletionRange){const deletionLength=nonCircularDeletionRange.end-nonCircularDeletionRange.start+1;if(trimmedRange.start>trimmedRange.end){if(nonCircularDeletionRange.start<trimmedRange.end){trimmedRange.start-=deletionLength;trimmedRange.end-=deletionLength}else if(nonCircularDeletionRange.start<trimmedRange.start){trimmedRange.start-=deletionLength}else;}else{if(nonCircularDeletionRange.start<trimmedRange.start){trimmedRange.start-=deletionLength;trimmedRange.end-=deletionLength}else if(nonCircularDeletionRange.start<trimmedRange.end){trimmedRange.end-=deletionLength}else;}})}return trimmedRange}__name(adjustRangeToDeletionOfAnotherRange,"adjustRangeToDeletionOfAnotherRange");function adjustRangeToInsert(rangeToBeAdjusted,insertStart,insertLength){const newRange=lodashExports.assign({},rangeToBeAdjusted);if(rangeToBeAdjusted.start>rangeToBeAdjusted.end){if(rangeToBeAdjusted.end>=insertStart){newRange.start+=insertLength;newRange.end+=insertLength}else if(rangeToBeAdjusted.start>=insertStart){newRange.start+=insertLength}}else{if(rangeToBeAdjusted.start>=insertStart){newRange.start+=insertLength;newRange.end+=insertLength}else if(rangeToBeAdjusted.end>=insertStart){newRange.end+=insertLength}}return newRange}__name(adjustRangeToInsert,"adjustRangeToInsert");function checkIfNonCircularRangesOverlap(range,comparisonRange){if(range.start<comparisonRange.start){if(range.end<comparisonRange.start){return false}else{return true}}else{if(range.start>comparisonRange.end){return false}else{return true}}}__name(checkIfNonCircularRangesOverlap,"checkIfNonCircularRangesOverlap");function checkIfPotentiallyCircularRangesOverlap(range,comparisonRange){return splitRangeIntoTwoPartsIfItIsCircular(range,Infinity).some(function(splitRange){return splitRangeIntoTwoPartsIfItIsCircular(comparisonRange,Infinity).some(function(splitComparisonRange){return checkIfNonCircularRangesOverlap(splitRange,splitComparisonRange)})})}__name(checkIfPotentiallyCircularRangesOverlap,"checkIfPotentiallyCircularRangesOverlap");function collapseOverlapsGeneratedFromRangeComparisonIfPossible(overlaps,sequenceLength,optionalOriginalRange){const originalRangeLinear=optionalOriginalRange&&optionalOriginalRange.start<=optionalOriginalRange.end;if(overlaps.length===1||overlaps.length===0){return overlaps}else if(overlaps.length===2){if(overlaps[0].start===0&&overlaps[1].end+1===sequenceLength&&!originalRangeLinear){return[{start:overlaps[1].start,end:overlaps[0].end}]}else if(overlaps[1].start===0&&overlaps[0].end+1===sequenceLength&&!originalRangeLinear){return[{start:overlaps[0].start,end:overlaps[1].end}]}else{return overlaps}}else if(overlaps.length===3){const firstOverlap=overlaps[0];const secondOverlap=overlaps[1];const thirdOverlap=overlaps[2];let collapsedOverlaps=collapseOverlapsGeneratedFromRangeComparisonIfPossible([firstOverlap,secondOverlap],sequenceLength,optionalOriginalRange);if(collapsedOverlaps.length===1){collapsedOverlaps.push(thirdOverlap);return collapsedOverlaps}else{collapsedOverlaps=collapseOverlapsGeneratedFromRangeComparisonIfPossible([firstOverlap,thirdOverlap],sequenceLength,optionalOriginalRange);if(collapsedOverlaps.length===1){collapsedOverlaps.push(secondOverlap);return collapsedOverlaps}else{collapsedOverlaps=collapseOverlapsGeneratedFromRangeComparisonIfPossible([secondOverlap,thirdOverlap],sequenceLength,optionalOriginalRange);if(collapsedOverlaps.length===1){collapsedOverlaps.push(firstOverlap);return collapsedOverlaps}else{return overlaps}}}}}__name(collapseOverlapsGeneratedFromRangeComparisonIfPossible,"collapseOverlapsGeneratedFromRangeComparisonIfPossible");function provideInclusiveOptions(funToWrap){return function(){const args=Array.prototype.slice.call(arguments);const options=args[args.length-1];if(options&&(options.inclusive1BasedEnd||options.inclusive1BasedStart)){args.forEach(function(arg,index2){if(arg&&arg.start>-1&&options.inclusive1BasedStart){args[index2]=lodashExports.assign(arg,{start:arg.start-1})}if(arg&&arg.end>-1&&options.inclusive1BasedEnd){args[index2]=lodashExports.assign(arg,{end:arg.end-1})}})}let returnVal=funToWrap.apply(this,args);if(returnVal&&returnVal.start>-1&&options&&options.inclusive1BasedStart){returnVal=lodashExports.assign(returnVal,{start:returnVal.start+1})}if(returnVal&&returnVal.end>-1&&options&&options.inclusive1BasedEnd){returnVal=lodashExports.assign(returnVal,{end:returnVal.end+1})}return returnVal}}__name(provideInclusiveOptions,"provideInclusiveOptions");const getRangeLength=provideInclusiveOptions(getRangeLength$1);function getRangeLength$1(range,rangeMax){let toRet;if(range.end<range.start){toRet=rangeMax-range.start+range.end+1}else{toRet=range.end-range.start+1}if(range.overlapsSelf&&rangeMax){toRet+=rangeMax}return toRet}__name(getRangeLength$1,"getRangeLength$1");function isRangeWithinRange(rangeToCheck,containingRange,maxLength){let ranges=trimRangeByAnotherRange(rangeToCheck,containingRange,maxLength);if(ranges===null)return false;return!ranges}__name(isRangeWithinRange,"isRangeWithinRange");function isPositionWithinRange(position,range,sequenceLength,includeStartEdge,includeEndEdge){const ranges=splitRangeIntoTwoPartsIfItIsCircular(range,sequenceLength);const positionFits=ranges.some(function(range2){if(includeStartEdge?position<range2.start:position<=range2.start){return false}else{if(includeEndEdge?position<=range2.end+1:position<=range2.end){return true}else{return false}}});return positionFits}__name(isPositionWithinRange,"isPositionWithinRange");function normalizePositionByRangeLength(pPosition,sequenceLength,isInBetweenPositions){let position=pPosition;if(position<0){position+=sequenceLength}else if(position+(isInBetweenPositions?0:1)>sequenceLength){position-=sequenceLength}return position<0?0:position>sequenceLength-(isInBetweenPositions?0:1)?sequenceLength-(isInBetweenPositions?0:1):position}__name(normalizePositionByRangeLength,"normalizePositionByRangeLength");function normalizeRange(range,sequenceLength){return lodashExports.assign({},range,{start:normalizePositionByRangeLength(range.start,sequenceLength),end:normalizePositionByRangeLength(range.end,sequenceLength)})}__name(normalizeRange,"normalizeRange");function expandOrContractRangeByLength(range,shiftBy,shiftStart,sequenceLength){const rangeToReturn=lodashExports.clone(range);if(shiftStart){rangeToReturn.start-=shiftBy}else{rangeToReturn.end+=shiftBy}return normalizeRange(rangeToReturn,sequenceLength)}__name(expandOrContractRangeByLength,"expandOrContractRangeByLength");function translateRange(rangeToBeAdjusted,translateBy,rangeLength){return lodashExports.assign({},rangeToBeAdjusted,{start:normalizePositionByRangeLength(rangeToBeAdjusted.start+translateBy,rangeLength),end:normalizePositionByRangeLength(rangeToBeAdjusted.end+translateBy,rangeLength)})}__name(translateRange,"translateRange");function flipRelativeRange(innerRange,outerRange,sequenceLength,options){const isFullyContained=isRangeWithinRange(innerRange,outerRange,sequenceLength);if(isFullyContained){return flipFullyContainedRange(innerRange,outerRange,sequenceLength)}else{return flipNonFullyContainedRange(innerRange,outerRange,sequenceLength)}}__name(flipRelativeRange,"flipRelativeRange");function flipNonFullyContainedRange(innerRange,outerRange,sequenceLength,options){const outerFullyContained=isRangeWithinRange(outerRange,innerRange,sequenceLength);let flippedInnerRange;if(outerFullyContained){const expandBy1=getRangeLength({start:innerRange.start,end:outerRange.start},sequenceLength)-1;flippedInnerRange=expandOrContractRangeByLength(outerRange,expandBy1,false,sequenceLength);const expandBy2=getRangeLength({end:innerRange.end,start:outerRange.end},sequenceLength)-1;flippedInnerRange=expandOrContractRangeByLength(flippedInnerRange,expandBy2,true,sequenceLength)}else{const overlaps=getOverlapsOfPotentiallyCircularRanges(innerRange,outerRange,sequenceLength);if(overlaps.length>=1){let overlapExtendsForward;const firstOverlap=overlaps[0];overlapExtendsForward=firstOverlap.start!==outerRange.start;const flippedTruncatedInner=flipFullyContainedRange(firstOverlap,outerRange,sequenceLength);const lengthToExtend=getRangeLength(innerRange,sequenceLength)-getRangeLength(flippedTruncatedInner,sequenceLength);flippedInnerRange=expandOrContractRangeByLength(flippedTruncatedInner,lengthToExtend,overlapExtendsForward,sequenceLength)}else{throw new Error("This case (relative ranges that do not overlap) is unsupported! ")}}return flippedInnerRange}__name(flipNonFullyContainedRange,"flipNonFullyContainedRange");function flipFullyContainedRange(innerRange,outerRange,sequenceLength,options){const translateBy=-outerRange.start;const translatedOuterRange=translateRange(outerRange,translateBy,sequenceLength);const translatedInnerRange=translateRange(innerRange,translateBy,sequenceLength);const translatedFlippedInnerRange=flipNonOriginSpanningContainedRange(translatedInnerRange,translatedOuterRange,sequenceLength);const flippedInnerRange=translateRange(translatedFlippedInnerRange,-translateBy,sequenceLength);return flippedInnerRange}__name(flipFullyContainedRange,"flipFullyContainedRange");function flipNonOriginSpanningContainedRange(innerRange,outerRange,sequenceLength){const offsetFromStart=innerRange.start-outerRange.start;const newInnerEnd=outerRange.end-offsetFromStart;const innerRangeLength=getRangeLength(innerRange,sequenceLength);return{end:newInnerEnd,start:newInnerEnd-(innerRangeLength-1)}}__name(flipNonOriginSpanningContainedRange,"flipNonOriginSpanningContainedRange");function generateRandomRange(minStart,maxEnd,maxLength){const start=getRandomInt$1(minStart,maxEnd);let end;if(maxLength){end=normalizePositionByRangeLength(getRandomInt$1(start,start+maxLength),maxEnd)}else{end=getRandomInt$1(minStart,maxEnd)}return{start,end}}__name(generateRandomRange,"generateRandomRange");function getRandomInt$1(min,max){return Math.floor(Math.random()*(max-min))+min}__name(getRandomInt$1,"getRandomInt$1");function getSequenceWithinRange(range,sequence){if(range.start<0||range.end<0)return"";if(range.start>range.end){let subSequence=sequence.slice(range.start,sequence.length);if(typeof subSequence==="string"){subSequence+=sequence.slice(0,range.end+1)}else{subSequence=subSequence.concat(sequence.slice(0,range.end+1))}return subSequence}else{return sequence.slice(range.start,range.end+1)}}__name(getSequenceWithinRange,"getSequenceWithinRange");function getShortestDistanceBetweenTwoPositions(position1,position2,sequenceLength){if(position1<position2){const position1Holder=position1;position1=position2;position2=position1Holder}const d1=position1-position2;const d2=sequenceLength-position1+position2;return Math.min(d1,d2)}__name(getShortestDistanceBetweenTwoPositions,"getShortestDistanceBetweenTwoPositions");function getYOffsetForPotentiallyCircularRange(range,YOffsetLevelsWithRanges,assignYOffsetToRange){let yOffset=[];const openYOffsetFound=YOffsetLevelsWithRanges.some(function(rangesAlreadyAddedToYOffset,index2){const rangeBlocked=rangesAlreadyAddedToYOffset.some(function(comparisonRange){return checkIfPotentiallyCircularRangesOverlap(range,comparisonRange)});if(!rangeBlocked){yOffset=index2;if(assignYOffsetToRange)range.yOffset=index2;rangesAlreadyAddedToYOffset.push(range);return true}});if(!openYOffsetFound){yOffset=YOffsetLevelsWithRanges.length;if(assignYOffsetToRange)range.yOffset=YOffsetLevelsWithRanges.length}return yOffset}__name(getYOffsetForPotentiallyCircularRange,"getYOffsetForPotentiallyCircularRange");function getYOffsetsForPotentiallyCircularRanges(ranges,assignYOffsetToRange){const yOffsets=[];let maxYOffset=0;const yOffsetLevels=[];ranges.forEach(function(range){const yOffset=getYOffsetForPotentiallyCircularRange(range,yOffsetLevels,assignYOffsetToRange);yOffsets.push(yOffset);if(yOffset>maxYOffset){maxYOffset=yOffset}range.yOffset=yOffset;if(!yOffsetLevels[yOffset])yOffsetLevels[yOffset]=[];yOffsetLevels[yOffset].push(range)});return{yOffsets,maxYOffset}}__name(getYOffsetsForPotentiallyCircularRanges,"getYOffsetsForPotentiallyCircularRanges");const invertRange=provideInclusiveOptions(invertRange$1);function invertRange$1(rangeOrCaret,rangeMax){if(rangeOrCaret.start>-1){const start=rangeOrCaret.end+1;const end=rangeOrCaret.start-1;return{start:normalizePositionByRangeLength(start,rangeMax,false),end:normalizePositionByRangeLength(end,rangeMax,false)}}else{if(rangeOrCaret>-1){return{start:normalizePositionByRangeLength(rangeOrCaret,rangeMax,false),end:normalizePositionByRangeLength(rangeOrCaret-1,rangeMax,false)}}}}__name(invertRange$1,"invertRange$1");function isPositionCloserToRangeStartThanRangeEnd(position,range,maxLength){const distanceFromStart=getShortestDistanceBetweenTwoPositions(range.start,position,maxLength);const distanceFromEnd=getShortestDistanceBetweenTwoPositions(range.end,position,maxLength);return distanceFromStart<=distanceFromEnd}__name(isPositionCloserToRangeStartThanRangeEnd,"isPositionCloserToRangeStartThanRangeEnd");function modulatePositionByRange(position,range){let returnVal=position;if(position<range.start){returnVal=range.end-(range.start-(position+1))}else if(position>range.end){returnVal=range.start+(position-range.end-1)}return returnVal}__name(modulatePositionByRange,"modulatePositionByRange");const modulateRangeBySequenceLength=provideInclusiveOptions(modulateRangeBySequenceLength$1);function modulateRangeBySequenceLength$1(range,seqLen){return lodashExports.assign(range,{start:normalizePositionByRangeLength(range.start,seqLen),end:normalizePositionByRangeLength(range.end,seqLen)})}__name(modulateRangeBySequenceLength$1,"modulateRangeBySequenceLength$1");function normalizePositionByRangeLength1Based(position,sequenceLength){return modulatePositionByRange(position,{start:1,end:sequenceLength})}__name(normalizePositionByRangeLength1Based,"normalizePositionByRangeLength1Based");function reversePositionInRange(position,rangeLength,isInBetweenPositions){return rangeLength-position-(isInBetweenPositions?0:1)}__name(reversePositionInRange,"reversePositionInRange");function zeroSubrangeByContainerRange(subRange,containerRange,sequenceLength){const trimmedSubRange=trimRangeByAnotherRange(subRange,containerRange,sequenceLength);if(trimmedSubRange){throw new Error("subRange must be fully contained by containerRange! Otherwise this function does not make sense")}const newSubrange={};newSubrange.start=subRange.start-containerRange.start;newSubrange.end=subRange.end-containerRange.start;if(newSubrange.start<0){newSubrange.start+=sequenceLength}if(newSubrange.end<0){newSubrange.end+=sequenceLength}return newSubrange}__name(zeroSubrangeByContainerRange,"zeroSubrangeByContainerRange");function adjustRangeToRotation(rangeToBeAdjusted,rotateTo=0,rangeLength){const mod=rangeLength?modulo:lodashExports.identity;const newRange=lodashExports.assign({},rangeToBeAdjusted,{start:mod(rangeToBeAdjusted.start-(rotateTo||0),rangeLength),end:mod(rangeToBeAdjusted.end-(rotateTo||0),rangeLength)});return newRange}__name(adjustRangeToRotation,"adjustRangeToRotation");function modulo(n,m){return(n%m+m)%m}__name(modulo,"modulo");function getZeroedRangeOverlaps(annotation,selection,sequenceLength){const overlaps=collapseOverlapsGeneratedFromRangeComparisonIfPossible(getOverlapsOfPotentiallyCircularRanges(annotation,selection,sequenceLength),sequenceLength,annotation);const zeroedOverlaps=overlaps.map(overlap=>{return zeroSubrangeByContainerRange(overlap,{start:selection.start,end:normalizePositionByRangeLength(selection.start-1,sequenceLength)},sequenceLength)});return zeroedOverlaps}__name(getZeroedRangeOverlaps,"getZeroedRangeOverlaps");const DNAComplementMap={".":".",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 getReverseComplementSequenceString(sequence){let reverseComplementSequenceString="";for(let i=sequence.length-1;i>=0;i--){let revChar=DNAComplementMap[sequence[i]];if(!revChar){revChar=sequence[i]}reverseComplementSequenceString+=revChar}return reverseComplementSequenceString}__name(getReverseComplementSequenceString,"getReverseComplementSequenceString");function autoAnnotate({seqsToAnnotateById,annotationsToCheckById,compareName,warnIfMoreThan}){const annotationsToAddBySeqId={};lodashExports.forEach(annotationsToCheckById,ann=>{const reg=new RegExp(ann.sequence,"gi");lodashExports.forEach(lodashExports.omitBy(seqsToAnnotateById,s=>!s.sequence.length),({circular,sequence},id)=>{function getMatches({seqToMatchAgainst,isReverse,seqLen:seqLen2}){let match;let lastMatch;try{while(match=reg.exec(seqToMatchAgainst)){const{index:matchStart,0:matchSeq}=match;if(matchStart>=seqLen2)return;const matchEnd=matchStart+matchSeq.length;if(lastMatch){if(matchStart>lastMatch.start&&matchEnd<=lastMatch.end){reg.lastIndex=match.index+1;continue}}lastMatch={start:matchStart,end:matchEnd};const range={start:matchStart,end:normalizePositionByRangeLength(matchEnd-1,seqLen2)};if(!annotationsToAddBySeqId[id])annotationsToAddBySeqId[id]=[];annotationsToAddBySeqId[id].push(__spreadProps(__spreadValues({},isReverse?{start:reversePositionInRange(range.end,seqLen2),end:reversePositionInRange(range.start,seqLen2)}:range),{strand:isReverse?-1:1,id:ann.id}));reg.lastIndex=match.index+1}}catch(error){console.error(`error:`,error)}}__name(getMatches,"getMatches");const seqLen=sequence.length;const revSeq=getReverseComplementSequenceString(sequence);getMatches({seqLen,seqToMatchAgainst:circular?sequence+sequence:sequence});getMatches({seqLen,isReverse:true,seqToMatchAgainst:circular?revSeq+revSeq:revSeq})})});const toReturn={};lodashExports.forEach(annotationsToAddBySeqId,(anns,id)=>{const origSeq=seqsToAnnotateById[id];const alreadyExistingAnnsByStartEnd={};lodashExports.forEach(origSeq.annotations,ann=>{alreadyExistingAnnsByStartEnd[getStartEndStr(ann,{compareName})]=ann});const warningCounter={};const toAdd=anns.filter(ann=>{const alreadyExistingAnn=alreadyExistingAnnsByStartEnd[getStartEndStr(ann,{compareName})];if(alreadyExistingAnn)return false;if(warnIfMoreThan){warningCounter[ann.id]=(warningCounter[ann.id]||0)+1}return true}).sort((a,b)=>a.start-b.start);if(toAdd.length){toReturn[id]=toAdd}warnIfMoreThan&&lodashExports.forEach(warningCounter,(num,annId)=>{if(num>warnIfMoreThan){toReturn.__more_than_warnings=toReturn.__more_than_warnings||{};toReturn.__more_than_warnings[id]=toReturn.__more_than_warnings[id]||[];toReturn.__more_than_warnings[id].push(annId)}})});return toReturn}__name(autoAnnotate,"autoAnnotate");function getStartEndStr({start,end,name,strand,forward},{compareName}){const isReverse=strand===-1||forward===false;return`${start}-${end}-${isReverse?"rev":"for"}-${compareName?name:""}`}__name(getStartEndStr,"getStartEndStr");function convertApELikeRegexToRegex(regString=""){let newstr="";let rightOfCaretHolder="";let afterRightCaretHolder="";let beforeRightCaret="";let prevBp;let hitLeftCaret;let hitRightCaret;for(const bp of regString.replace("(","").replace(")","")){let maybeHandleRightCaret=function(justAdded){if(hitRightCaret){rightOfCaretHolder+=justAdded;afterRightCaretHolder=`${rightOfCaretHolder}${afterRightCaretHolder.length?"|":""}${afterRightCaretHolder}`}};__name(maybeHandleRightCaret,"maybeHandleRightCaret");const ambigVal=ambiguous_dna_values[bp.toUpperCase()];if(ambigVal&&ambigVal.length>1){let valToUse;if(ambigVal.length===4){valToUse="."}else{valToUse=`[${ambigVal}]`}newstr+=valToUse;maybeHandleRightCaret(valToUse);continue}if(bp==="#"){if(hitRightCaret)throw new Error("Error converting regex");const valToUse=prevBp?`[^${prevBp}]*?`:`.*?`;newstr+=valToUse;maybeHandleRightCaret(valToUse);continue}if(bp==="<"){if(hitRightCaret)throw new Error("Error converting to regex");if(hitLeftCaret)throw new Error("Error converting to regex");let holder="";let stringToAdd="";let isGroupClosed=true;let closingBraceHit;const groups=[];for(let index2=0;index2<newstr.length;index2++){const char=newstr[index2];const nextChar=newstr[index2+1];if(char==="["){isGroupClosed=false}else if(char==="]"||closingBraceHit){closingBraceHit=true;if(ambiguous_dna_values[nextChar]||nextChar==="["){isGroupClosed=true;closingBraceHit=false}}holder+=char;if(isGroupClosed){groups.push(holder);holder=""}}let concattedEls="";groups.reverse();groups.forEach(g=>{concattedEls=g+concattedEls;stringToAdd=`${concattedEls}${stringToAdd.length?"|":""}${stringToAdd}`});newstr=`(${stringToAdd})?`;hitLeftCaret=true;continue}if(bp===">"){if(hitRightCaret)throw new Error("Error converting regex");hitRightCaret=true;beforeRightCaret=newstr;continue}newstr+=bp;maybeHandleRightCaret(bp);prevBp=bp}if(hitRightCaret){newstr=`${beforeRightCaret}(${afterRightCaretHolder})?`}return newstr}__name(convertApELikeRegexToRegex,"convertApELikeRegexToRegex");function convertProteinSeqToDNAIupac(sequence){let toRet="";let l;for(l of sequence){const degenDna=aminoAcidToDegenerateDnaMap[l.toLowerCase()];if(degenDna){toRet+=degenDna}else{toRet+=l}}return toRet}__name(convertProteinSeqToDNAIupac,"convertProteinSeqToDNAIupac");const genbankFeatureTypes=[{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"}];const getMergedFeatureMap=__name(()=>{const keyedGBFeats=lodashExports.keyBy(genbankFeatureTypes.map(f=>__spreadProps(__spreadValues({},f),{isGenbankStandardType:true})),"name");let featureOverrides=typeof window!=="undefined"&&lodashExports.get(window,"tg_featureTypeOverrides")||typeof global!=="undefined"&&lodashExports.get(global,"tg_featureTypeOverrides");featureOverrides=featureOverrides||[];featureOverrides=featureOverrides.map(fo=>{const originalGenbankFeat=keyedGBFeats[fo.name];return __spreadValues(__spreadValues(__spreadValues({},originalGenbankFeat),fo),originalGenbankFeat?{isOverridden:true}:{isCustomType:true})});featureOverrides=lodashExports.keyBy(featureOverrides,"name");return __spreadValues(__spreadValues({},keyedGBFeats),featureOverrides)},"getMergedFeatureMap");const getFeatureToColorMap=__name(({includeHidden}={})=>{const toRet={};lodashExports.filter(getMergedFeatureMap(),f=>includeHidden?true:!f.isHidden).forEach(f=>{toRet[f.name]=f.color});return toRet},"getFeatureToColorMap");const getFeatureTypes=__name(({includeHidden}={})=>lodashExports.filter(getMergedFeatureMap(),f=>includeHidden?true:!f.isHidden).map(f=>f.name),"getFeatureTypes");var MACHINE_ID=Math.floor(Math.random()*16777215);var index=ObjectID.index=parseInt(Math.random()*16777215,10);var pid=(typeof process==="undefined"||typeof process.pid!=="number"?Math.floor(Math.random()*1e5):process.pid)%65535;var isBuffer=__name(function(obj){return!!(obj!=null&&obj.constructor&&typeof obj.constructor.isBuffer==="function"&&obj.constructor.isBuffer(obj))},"isBuffer");function ObjectID(arg){if(!(this instanceof ObjectID))return new ObjectID(arg);if(arg&&(arg instanceof ObjectID||arg._bsontype==="ObjectID"))return arg;var buf;if(isBuffer(arg)||Array.isArray(arg)&&arg.length===12){buf=Array.prototype.slice.call(arg)}else if(typeof arg==="string"){if(arg.length!==12&&!ObjectID.isValid(arg))throw new Error("Argument passed in must be a single String of 12 bytes or a string of 24 hex characters");buf=buffer(arg)}else if(/number|undefined/.test(typeof arg)){buf=buffer(generate(arg))}Object.defineProperty(this,"id",{enumerable:true,get:function(){return String.fromCharCode.apply(this,buf)}});Object.defineProperty(this,"str",{get:function(){return buf.map(hex.bind(this,2)).join("")}})}__name(ObjectID,"ObjectID");var objectid=ObjectID;ObjectID.generate=generate;ObjectID.default=ObjectID;ObjectID.createFromTime=function(time){time=parseInt(time,10)%4294967295;return new ObjectID(hex(8,time)+"0000000000000000")};ObjectID.createFromHexString=function(hexString){if(!ObjectID.isValid(hexString))throw new Error("Invalid ObjectID hex string");return new ObjectID(hexString)};ObjectID.isValid=function(objectid2){if(!objectid2||typeof objectid2!=="string"&&(typeof objectid2!=="object"||Array.isArray(objectid2)||typeof objectid2.toString!=="function"))return false;return/^[0-9A-F]{24}$/i.test(objectid2.toString())};ObjectID.setMachineID=function(arg){var machineID;if(typeof arg==="string"){machineID=parseInt(arg,16);if(isNaN(machineID)){arg=("000000"+arg).substr(-7,6);machineID="";for(var i=0;i<6;i++){machineID+=arg.charCodeAt(i)}}}else if(/number|undefined/.test(typeof arg)){machineID=arg|0}MACHINE_ID=machineID&16777215};ObjectID.getMachineID=function(){return MACHINE_ID};ObjectID.prototype={_bsontype:"ObjectID",constructor:ObjectID,toHexString:function(){return this.str},equals:function(other){return!!other&&this.str===other.toString()},getTimestamp:function(){return new Date(parseInt(this.str.substr(0,8),16)*1e3)}};function next(){return index=(index+1)%16777215}__name(next,"next");function generate(time){if(typeof time!=="number")time=Date.now()/1e3;time=parseInt(time,10)%4294967295;return hex(8,time)+hex(6,MACHINE_ID)+hex(4,pid)+hex(6,next())}__name(generate,"generate");function hex(length,n){n=n.toString(16);return n.length===length?n:"00000000".substring(n.length,length)+n}__name(hex,"hex");function buffer(str){var i=0,out=[];if(str.length===24)for(;i<24;out.push(parseInt(str[i]+str[i+1],16)),i+=2);else if(str.length===12)for(;i<12;out.push(str.charCodeAt(i)),i++);return out}__name(buffer,"buffer");var inspect=Symbol&&Symbol.for("nodejs.util.inspect.custom")||"inspect";ObjectID.prototype[inspect]=function(){return"ObjectID("+this+")"};ObjectID.prototype.toJSON=ObjectID.prototype.toHexString;ObjectID.prototype.toString=ObjectID.prototype.toHexString;const bsonObjectId=getDefaultExportFromCjs(objectid);function cutSequenceByRestrictionEnzyme(pSequence,circular,restrictionEnzyme){if(restrictionEnzyme.forwardRegex.length===0||restrictionEnzyme.reverseRegex.length===0){let returnArray=[];returnArray.error="Cannot cut sequence. Enzyme restriction site must be at least 1 bp long.";return returnArray}let forwardRegExpPattern=new RegExp(restrictionEnzyme.forwardRegex,"ig");let sequence=pSequence;let cutsitesForward=cutSequence(forwardRegExpPattern,restrictionEnzyme,sequence,circular);let cutsitesReverse=[];if(restrictionEnzyme.forwardRegex!==restrictionEnzyme.reverseRegex){let revSequence=getReverseComplementSequenceString(sequence);cutsitesReverse=cutSequence(forwardRegExpPattern,restrictionEnzyme,revSequence,circular);cutsitesReverse=cutsitesReverse.map(cutsite=>{return reverseAllPositionsOfCutsite(cutsite,sequence.length)})}return cutsitesForward.concat(cutsitesReverse);function reverseAllPositionsOfCutsite(cutsite,rangeLength){cutsite.start=reversePositionInRange(cutsite.start,rangeLength,false);cutsite.end=reversePositionInRange(cutsite.end,rangeLength,false);cutsite.topSnipPosition=reversePositionInRange(cutsite.topSnipPosition,rangeLength,true);cutsite.bottomSnipPosition=reversePositionInRange(cutsite.bottomSnipPosition,rangeLength,true);if(cutsite.cutsTwice){cutsite.upstreamTopSnip=reversePositionInRange(cutsite.upstreamTopSnip,rangeLength,true);cutsite.upstreamBottomSnip=reversePositionInRange(cutsite.upstreamBottomSnip,rangeLength,true)}cutsite.recognitionSiteRange.start=reversePositionInRange(cutsite.recognitionSiteRange.start,rangeLength,false);cutsite.recognitionSiteRange.end=reversePositionInRange(cutsite.recognitionSiteRange.end,rangeLength,false);return lodashExports.assign({},cutsite,{start:cutsite.end,end:cutsite.start,overhangBps:getReverseComplementSequenceString(cutsite.overhangBps),topSnipPosition:cutsite.bottomSnipPosition,bottomSnipPosition:cutsite.topSnipPosition,upstreamTopSnip:cutsite.upstreamBottomSnip,upstreamBottomSnip:cutsite.upstreamTopSnip,upstreamTopBeforeBottom:!!cutsite.upstreamTopBeforeBottom,topSnipBeforeBottom:!!cutsite.topSnipBeforeBottom,recognitionSiteRange:{start:cutsite.recognitionSiteRange.end,end:cutsite.recognitionSiteRange.start},forward:false})}__name(reverseAllPositionsOfCutsite,"reverseAllPositionsOfCutsite")}__name(cutSequenceByRestrictionEnzyme,"cutSequenceByRestrictionEnzyme");function cutSequence(forwardRegExpPattern,restrictionEnzyme,sequence,circular){let restrictionCutSites=[];let restrictionCutSite;let recognitionSiteLength=restrictionEnzyme.site.length;let originalSequence=sequence;let originalSequenceLength=sequence.length;if(circular){sequence+=sequence}let currentSequenceLength=sequence.length;let matchIndex=sequence.search(forwardRegExpPattern);let startIndex=0;let subSequence=sequence;while(matchIndex!==-1){let recognitionSiteRange={};let start;let end;let upstreamTopSnip=null;let upstreamBottomSnip=null;let upstreamTopBeforeBottom=false;let topSnipPosition=null;let bottomSnipPosition=null;let topSnipBeforeBottom=false;let fitsWithinSequence=false;recognitionSiteRange.start=matchIndex+startIndex;start=recognitionSiteRange.start;recognitionSiteRange.end=matchIndex+recognitionSiteLength-1+startIndex;end=recognitionSiteRange.end;if(restrictionEnzyme.cutType===1){upstreamTopSnip=recognitionSiteRange.end-restrictionEnzyme.usForward;upstreamBottomSnip=recognitionSiteRange.end-restrictionEnzyme.usReverse;if(upstreamTopSnip>=0&&upstreamBottomSnip>=0){fitsWithinSequence=true;if(upstreamTopSnip<upstreamBottomSnip){if(start>upstreamTopSnip){start=upstreamTopSnip+1}upstreamTopBeforeBottom=true}else{if(start>upstreamBottomSnip){start=upstreamBottomSnip+1}}upstreamTopSnip=normalizePositionByRangeLength(upstreamTopSnip,originalSequenceLength,true);upstreamBottomSnip=normalizePositionByRangeLength(upstreamBottomSnip,originalSequenceLength,true)}else{upstreamTopSnip=null;upstreamBottomSnip=null}}topSnipPosition=recognitionSiteRange.start+restrictionEnzyme.topSnipOffset;bottomSnipPosition=recognitionSiteRange.start+restrictionEnzyme.bottomSnipOffset;if(bottomSnipPosition<=currentSequenceLength&&topSnipPosition<=currentSequenceLength){fitsWithinSequence=true;if(topSnipPosition>bottomSnipPosition){if(topSnipPosition>recognitionSiteRange.end){end=topSnipPosition-1}}else{if(bottomSnipPosition>recognitionSiteRange.end){end=bottomSnipPosition-1}topSnipBeforeBottom=true}topSnipPosition=normalizePositionByRangeLength(topSnipPosition,originalSequenceLength,true);bottomSnipPosition=normalizePositionByRangeLength(bottomSnipPosition,originalSequenceLength,true)}else{topSnipPosition=null;bottomSnipPosition=null}if(fitsWithinSequence&&start>=0&&end>=0&&start<originalSequenceLength&&end<currentSequenceLength){start=normalizePositionByRangeLength(start,originalSequenceLength,false);end=normalizePositionByRangeLength(end,originalSequenceLength,false);recognitionSiteRange.start=normalizePositionByRangeLength(recognitionSiteRange.start,originalSequenceLength,false);recognitionSiteRange.end=normalizePositionByRangeLength(recognitionSiteRange.end,originalSequenceLength,false);let cutRange={start:-1,end:-1};if(topSnipPosition!==bottomSnipPosition){cutRange=topSnipBeforeBottom?{start:topSnipPosition,end:normalizePositionByRangeLength(bottomSnipPosition-1,originalSequenceLength)}:{start:bottomSnipPosition,end:normalizePositionByRangeLength(topSnipPosition-1,originalSequenceLength)}}let overhangBps=getSequenceWithinRange(cutRange,originalSequence);restrictionCutSite={id:bsonObjectId().str,start,end,topSnipPosition,bottomSnipPosition,topSnipBeforeBottom,overhangBps,overhangSize:overhangBps.length,upstreamTopBeforeBottom,upstreamTopSnip,annotationTypePlural:"cutsites",upstreamBottomSnip,recognitionSiteRange,forward:true,name:restrictionEnzyme.name,restrictionEnzyme};restrictionCutSites.push(restrictionCutSite)}startIndex=startIndex+matchIndex+1;subSequence=sequence.substring(startIndex,sequence.length);matchIndex=subSequence.search(forwardRegExpPattern)}return restrictionCutSites}__name(cutSequence,"cutSequence");function getCutsitesFromSequence(sequence,circular,restrictionEnzymes){const cutsitesByName={};for(let i=0;i<restrictionEnzymes.length;i++){const re=restrictionEnzymes[i];const cutsites=cutSequenceByRestrictionEnzyme(sequence,circular,re);if(cutsites.length){cutsitesByName[re.name]=cutsites}}return cutsitesByName}__name(getCutsitesFromSequence,"getCutsitesFromSequence");function computeDigestFragments({cutsites,sequenceLength,circular,includeOverAndUnderHangs,computePartialDigest,computeDigestDisabled,computePartialDigestDisabled,selectionLayerUpdate,updateSelectedFragment}){const fragments=[];const overlappingEnzymes=[];const pairs=[];const sortedCutsites=cutsites.sort((a,b)=>{return a.topSnipPosition-b.topSnipPosition});if(!circular&&cutsites.length){sortedCutsites.push({id:"seqTerm_"+bsonObjectId().str,start:0,end:0,overhangBps:"",topSnipPosition:0,bottomSnipPosition:0,upstreamTopSnip:0,upstreamBottomSnip:0,upstreamTopBeforeBottom:false,topSnipBeforeBottom:false,recognitionSiteRange:{start:0,end:0},forward:true,name:"Sequence_Terminus",restrictionEnzyme:{name:"Sequence_Terminus"}})}sortedCutsites.forEach((cutsite1,index2)=>{if(computePartialDigest&&!computePartialDigestDisabled){sortedCutsites.forEach((cs,index22)=>{if(index22===index2+1||index22===0){return}pairs.push([cutsite1,sortedCutsites[index22]])})}if(!computeDigestDisabled){pairs.push([cutsite1,sortedCutsites[index2+1]?sortedCutsites[index2+1]:sortedCutsites[0]])}});pairs.forEach(r=>{let[cut1,cut2]=r;let start;let end;let size;start=normalizePositionByRangeLength(cut1.topSnipPosition,sequenceLength);end=normalizePositionByRangeLength(cut2.topSnipPosition-1,sequenceLength);size=getRangeLength({start,end},sequenceLength);let overlapsSelf;if(includeOverAndUnderHangs){const oldSize=size;start=normalizePositionByRangeLength(cut1.topSnipBeforeBottom?cut1.topSnipPosition:cut1.bottomSnipPosition,sequenceLength);end=normalizePositionByRangeLength(cut2.topSnipBeforeBottom?cut2.bottomSnipPosition-1:cut2.topSnipPosition-1,sequenceLength);size=getRangeLength({start,end},sequenceLength);if(oldSize>size){overlapsSelf=true;size+=sequenceLength}}let isFormedFromLinearEnd;if(cut1.name==="Sequence_Terminus"){cut1=lodashExports.cloneDeep(cut1);isFormedFromLinearEnd=true;cut1.name="Linear_Sequence_Start";cut1.restrictionEnzyme.name="Linear_Sequence_Start"}else if(cut2.name==="Sequence_Terminus"){cut2=lodashExports.cloneDeep(cut2);isFormedFromLinearEnd=true;cut2.name="Linear_Sequence_End";cut2.restrictionEnzyme.name="Linear_Sequence_End"}const id=start+"-"+end+"-"+size+"-";const name=`${cut1.restrictionEnzyme.name} -- ${cut2.restrictionEnzyme.name} ${size} bps`;getRangeLength({start,end},sequenceLength);fragments.push({isFormedFromLinearEnd,madeFromOneCutsite:cut1===cut2,start,end,size,overlapsSelf,id,name,cut1,cut2,onFragmentSelect:selectionLayerUpdate&&updateSelectedFragment?()=>{selectionLayerUpdate({start,end,name});updateSelectedFragment(id)}:void 0})});fragments.filter(fragment=>{if(!fragment.size){overlappingEnzymes.push(fragment);return false}return true});return{computePartialDigestDisabled,computeDigestDisabled,fragments,overlappingEnzymes}}__name(computeDigestFragments,"computeDigestFragments");function getDigestFragsForSeqAndEnzymes({sequence,circular,enzymes,includeOverAndUnderHangs}){const cutsitesByName=getCutsitesFromSequence(sequence,circular,enzymes);return computeDigestFragments({includeOverAndUnderHangs,cutsites:lodashExports.flatMap(cutsitesByName),sequenceLength:sequence.length,circular})}__name(getDigestFragsForSeqAndEnzymes,"getDigestFragsForSeqAndEnzymes");var diffMatchPatch={exports:{}};(function(module2){var diff_match_patch2=__name(function(){this.Diff_Timeout=1;this.Diff_EditCost=4;this.Match_Threshold=.5;this.Match_Distance=1e3;this.Patch_DeleteThreshold=.5;this.Patch_Margin=4;this.Match_MaxBits=32},"diff_match_patch");var DIFF_DELETE=-1;var DIFF_INSERT=1;var DIFF_EQUAL=0;diff_match_patch2.Diff=function(op,text){return[op,text]};diff_match_patch2.prototype.diff_main=function(text1,text2,opt_checklines,opt_deadline){if(typeof opt_deadline=="undefined"){if(this.Diff_Timeout<=0){opt_deadline=Number.MAX_VALUE}else{opt_deadline=new Date().getTime()+this.Diff_Timeout*1e3}}var deadline=opt_deadline;if(text1==null||text2==null){throw new Error("Null input. (diff_main)")}if(text1==text2){if(text1){return[new diff_match_patch2.Diff(DIFF_EQUAL,text1)]}return[]}if(typeof opt_checklines=="undefined"){opt_checklines=true}var checklines=opt_checklines;var commonlength=this.diff_commonPrefix(text1,text2);var commonprefix=text1.substring(0,commonlength);text1=text1.substring(commonlength);text2=text2.substring(commonlength);commonlength=this.diff_commonSuffix(text1,text2);var commonsuffix=text1.substring(text1.length-commonlength);text1=text1.substring(0,text1.length-commonlength);text2=text2.substring(0,text2.length-commonlength);var diffs=this.diff_compute_(text1,text2,checklines,deadline);if(commonprefix){diffs.unshift(new diff_match_patch2.Diff(DIFF_EQUAL,commonprefix))}if(commonsuffix){diffs.push(new diff_match_patch2.Diff(DIFF_EQUAL,commonsuffix))}this.diff_cleanupMerge(diffs);return diffs};diff_match_patch2.prototype.diff_compute_=function(text1,text2,checklines,deadline){var diffs;if(!text1){return[new diff_match_patch2.Diff(DIFF_INSERT,text2)]}if(!text2){return[new diff_match_patch2.Diff(DIFF_DELETE,text1)]}var longtext=text1.length>text2.length?text1:text2;var shorttext=text1.length>text2.length?text2:text1;var i=longtext.indexOf(shorttext);if(i!=-1){diffs=[new diff_match_patch2.Diff(DIFF_INSERT,longtext.substring(0,i)),new diff_match_patch2.Diff(DIFF_EQUAL,shorttext),new diff_match_patch2.Diff(DIFF_INSERT,longtext.substring(i+shorttext.length))];if(text1.length>text2.length){diffs[0][0]=diffs[2][0]=DIFF_DELETE}return diffs}if(shorttext.length==1){return[new diff_match_patch2.Diff(DIFF_DELETE,text1),new diff_match_patch2.Diff(DIFF_INSERT,text2)]}var hm=this.diff_halfMatch_(text1,text2);if(hm){var text1_a=hm[0];var text1_b=hm[1];var text2_a=hm[2];var text2_b=hm[3];var mid_common=hm[4];var diffs_a=this.diff_main(text1_a,text2_a,checklines,deadline);var diffs_b=this.diff_main(text1_b,text2_b,checklines,deadline);return diffs_a.concat([new diff_match_patch2.Diff(DIFF_EQUAL,mid_common)],diffs_b)}if(checklines&&text1.length>100&&text2.length>100){return this.diff_lineMode_(text1,text2,deadline)}return this.diff_bisect_(text1,text2,deadline)};diff_match_patch2.prototype.diff_lineMode_=function(text1,text2,deadline){var a=this.diff_linesToChars_(text1,text2);text1=a.chars1;text2=a.chars2;var linearray=a.lineArray;var diffs=this.diff_main(text1,text2,false,deadline);this.diff_charsToLines_(diffs,linearray);this.diff_cleanupSemantic(diffs);diffs.push(new diff_match_patch2.Diff(DIFF_EQUAL,""));var pointer=0;var count_delete=0;var count_insert=0;var text_delete="";var text_insert="";while(pointer<diffs.length){switch(diffs[pointer][0]){case DIFF_INSERT:count_insert++;text_insert+=diffs[pointer][1];break;case DIFF_DELETE:count_delete++;text_delete+=diffs[pointer][1];break;case DIFF_EQUAL:if(count_delete>=1&&count_insert>=1){diffs.splice(pointer-count_delete-count_insert,count_delete+count_insert);pointer=pointer-count_delete-count_insert;var subDiff=this.diff_main(text_delete,text_insert,false,deadline);for(var j=subDiff.length-1;j>=0;j--){diffs.splice(pointer,0,subDiff[j])}pointer=pointer+subDiff.length}count_insert=0;count_delete=0;text_delete="";text_insert="";break}pointer++}diffs.pop();return diffs};diff_match_patch2.prototype.diff_bisect_=function(text1,text2,deadline){var text1_length=text1.length;var text2_length=text2.length;var max_d=Math.ceil((text1_length+text2_length)/2);var v_offset=max_d;var v_length=2*max_d;var v1=new Array(v_length);var v2=new Array(v_length);for(var x=0;x<v_length;x++){v1[x]=-1;v2[x]=-1}v1[v_offset+1]=0;v2[v_offset+1]=0;var delta=text1_length-text2_length;var front=delta%2!=0;var k1start=0;var k1end=0;var k2start=0;var k2end=0;for(var d=0;d<max_d;d++){if(new Date().getTime()>deadline){break}for(var k1=-d+k1start;k1<=d-k1end;k1+=2){var k1_offset=v_offset+k1;var x1;if(k1==-d||k1!=d&&v1[k1_offset-1]<v1[k1_offset+1]){x1=v1[k1_offset+1]}else{x1=v1[k1_offset-1]+1}var y1=x1-k1;while(x1<text1_length&&y1<text2_length&&text1.charAt(x1)==text2.charAt(y1)){x1++;y1++}v1[k1_offset]=x1;if(x1>text1_length){k1end+=2}else if(y1>text2_length){k1start+=2}else if(front){var k2_offset=v_offset+delta-k1;if(k2_offset>=0&&k2_offset<v_length&&v2[k2_offset]!=-1){var x2=text1_length-v2[k2_offset];if(x1>=x2){return this.diff_bisectSplit_(text1,text2,x1,y1,deadline)}}}}for(var k2=-d+k2start;k2<=d-k2end;k2+=2){var k2_offset=v_offset+k2;var x2;if(k2==-d||k2!=d&&v2[k2_offset-1]<v2[k2_offset+1]){x2=v2[k2_offset+1]}else{x2=v2[k2_offset-1]+1}var y2=x2-k2;while(x2<text1_length&&y2<text2_length&&text1.charAt(text1_length-x2-1)==text2.charAt(text2_length-y2-1)){x2++;y2++}v2[k2_offset]=x2;if(x2>text1_length){k2end+=2}else if(y2>text2_length){k2start+=2}else if(!front){var k1_offset=v_offset+delta-k2;if(k1_offset>=0&&k1_offset<v_length&&v1[k1_offset]!=-1){var x1=v1[k1_offset];var y1=v_offset+x1-k1_offset;x2=text1_length-x2;if(x1>=x2){return this.diff_bisectSplit_(text1,text2,x1,y1,deadline)}}}}}return[new diff_match_patch2.Diff(DIFF_DELETE,text1),new diff_match_patch2.Diff(DIFF_INSERT,text2)]};diff_match_patch2.prototype.diff_bisectSplit_=function(text1,text2,x,y,deadline){var text1a=text1.substring(0,x);var text2a=text2.substring(0,y);var text1b=text1.substring(x);var text2b=text2.substring(y);var diffs=this.diff_main(text1a,text2a,false,deadline);var diffsb=this.diff_main(text1b,text2b,false,deadline);return diffs.concat(diffsb)};diff_match_patch2.prototype.diff_linesToChars_=function(text1,text2){var lineArray=[];var lineHash={};lineArray[0]="";function diff_linesToCharsMunge_(text){var chars="";var lineStart=0;var lineEnd=-1;var lineArrayLength=lineArray.length;while(lineEnd<text.length-1){lineEnd=text.indexOf("\n",lineStart);if(lineEnd==-1){lineEnd=text.length-1}var line=text.substring(lineStart,lineEnd+1);if(lineHash.hasOwnProperty?lineHash.hasOwnProperty(line):lineHash[line]!==void 0){chars+=String.fromCharCode(lineHash[line])}else{if(lineArrayLength==maxLines){line=text.substring(lineStart);lineEnd=text.length}chars+=String.fromCharCode(lineArrayLength);lineHash[line]=lineArrayLength;lineArray[lineArrayLength++]=line}lineStart=lineEnd+1}return chars}__name(diff_linesToCharsMunge_,"diff_linesToCharsMunge_");var maxLines=4e4;var chars1=diff_linesToCharsMunge_(text1);maxLines=65535;var chars2=diff_linesToCharsMunge_(text2);return{chars1,chars2,lineArray}};diff_match_patch2.prototype.diff_charsToLines_=function(diffs,lineArray){for(var i=0;i<diffs.length;i++){var chars=diffs[i][1];var text=[];for(var j=0;j<chars.length;j++){text[j]=lineArray[chars.charCodeAt(j)]}diffs[i][1]=text.join("")}};diff_match_patch2.prototype.diff_commonPrefix=function(text1,text2){if(!text1||!text2||text1.charAt(0)!=text2.charAt(0)){return 0}var pointermin=0;var pointermax=Math.min(text1.length,text2.length);var pointermid=pointermax;var pointerstart=0;while(pointermin<pointermid){if(text1.substring(pointerstart,pointermid)==text2.substring(pointerstart,pointermid)){pointermin=pointermid;pointerstart=pointermin}else{pointermax=pointermid}pointermid=Math.floor((pointermax-pointermin)/2+pointermin)}return pointermid};diff_match_patch2.prototype.diff_commonSuffix=function(text1,text2){if(!text1||!text2||text1.charAt(text1.length-1)!=text2.charAt(text2.length-1)){return 0}var pointermin=0;var pointermax=Math.min(text1.length,text2.length);var pointermid=pointermax;var pointerend=0;while(pointermin<pointermid){if(text1.substring(text1.length-pointermid,text1.length-pointerend)==text2.substring(text2.length-pointermid,text2.length-pointerend)){pointermin=pointermid;pointerend=pointermin}else{pointermax=pointermid}pointermid=Math.floor((pointermax-pointermin)/2+pointermin)}return pointermid};diff_match_patch2.prototype.diff_commonOverlap_=function(text1,text2){var text1_length=text1.length;var text2_length=text2.length;if(text1_length==0||text2_length==0){return 0}if(text1_length>text2_length){text1=text1.substring(text1_length-text2_length)}else if(text1_length<text2_length){text2=text2.substring(0,text1_length)}var text_length=Math.min(text1_length,text2_length);if(text1==text2){return text_length}var best=0;var length=1;while(true){var pattern=text1.substring(text_length-length);var found=text2.indexOf(pattern);if(found==-1){return best}length+=found;if(found==0||text1.substring(text_length-length)==text2.substring(0,length)){best=length;length++}}};diff_match_patch2.prototype.diff_halfMatch_=function(text1,text2){if(this.Diff_Timeout<=0){return null}var longtext=text1.length>text2.length?text1:text2;var shorttext=text1.length>text2.length?text2:text1;if(longtext.length<4||shorttext.length*2<longtext.length){return null}var dmp2=this;function diff_halfMatchI_(longtext2,shorttext2,i){var seed=longtext2.substring(i,i+Math.floor(longtext2.length/4));var j=-1;var best_common="";var best_longtext_a,best_longtext_b,best_shorttext_a,best_shorttext_b;while((j=shorttext2.indexOf(seed,j+1))!=-1){var prefixLength=dmp2.diff_commonPrefix(longtext2.substring(i),shorttext2.substring(j));var suffixLength=dmp2.diff_commonSuffix(longtext2.substring(0,i),shorttext2.substring(0,j));if(best_common.length<suffixLength+prefixLength){best_common=shorttext2.substring(j-suffixLength,j)+shorttext2.substring(j,j+prefixLength);best_longtext_a=longtext2.substring(0,i-suffixLength);best_longtext_b=longtext2.substring(i+prefixLength);best_shorttext_a=shorttext2.substring(0,j-suffixLength);best_shorttext_b=shorttext2.substring(j+prefixLength)}}if(best_common.length*2>=longtext2.length){return[best_longtext_a,best_longtext_b,best_shorttext_a,best_shorttext_b,best_common]}else{return null}}__name(diff_halfMatchI_,"diff_halfMatchI_");var hm1=diff_halfMatchI_(longtext,shorttext,Math.ceil(longtext.length/4));var hm2=diff_halfMatchI_(longtext,shorttext,Math.ceil(longtext.length/2));var hm;if(!hm1&&!hm2){return null}else if(!hm2){hm=hm1}else if(!hm1){hm=hm2}else{hm=hm1[4].length>hm2[4].length?hm1:hm2}var text1_a,text1_b,text2_a,text2_b;if(text1.length>text2.length){text1_a=hm[0];text1_b=hm[1];text2_a=hm[2];text2_b=hm[3]}else{text2_a=hm[0];text2_b=hm[1];text1_a=hm[2];text1_b=hm[3]}var mid_common=hm[4];return[text1_a,text1_b,text2_a,text2_b,mid_common]};diff_match_patch2.prototype.diff_cleanupSemantic=function(diffs){var changes=false;var equalities=[];var equalitiesLength=0;var lastEquality=null;var pointer=0;var length_insertions1=0;var length_deletions1=0;var length_insertions2=0;var length_deletions2=0;while(pointer<diffs.length){if(diffs[pointer][0]==DIFF_EQUAL){equalities[equalitiesLength++]=pointer;length_insertions1=length_insertions2;length_deletions1=length_deletions2;length_insertions2=0;length_deletions2=0;lastEquality=diffs[pointer][1]}else{if(diffs[pointer][0]==DIFF_INSERT){length_insertions2+=diffs[pointer][1].length}else{length_deletions2+=diffs[pointer][1].length}if(lastEquality&&lastEquality.length<=Math.max(length_insertions1,length_deletions1)&&lastEquality.length<=Math.max(length_insertions2,length_deletions2)){diffs.splice(equalities[equalitiesLength-1],0,new diff_match_patch2.Diff(DIFF_DELETE,lastEquality));diffs[equalities[equalitiesLength-1]+1][0]=DIFF_INSERT;equalitiesLength--;equalitiesLength--;pointer=equalitiesLength>0?equalities[equalitiesLength-1]:-1;length_insertions1=0;length_deletions1=0;length_insertions2=0;length_deletions2=0;lastEquality=null;changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}this.diff_cleanupSemanticLossless(diffs);pointer=1;while(pointer<diffs.length){if(diffs[pointer-1][0]==DIFF_DELETE&&diffs[pointer][0]==DIFF_INSERT){var deletion=diffs[pointer-1][1];var insertion=diffs[pointer][1];var overlap_length1=this.diff_commonOverlap_(deletion,insertion);var overlap_length2=this.diff_commonOverlap_(insertion,deletion);if(overlap_length1>=overlap_length2){if(overlap_length1>=deletion.length/2||overlap_length1>=insertion.length/2){diffs.splice(pointer,0,new diff_match_patch2.Diff(DIFF_EQUAL,insertion.substring(0,overlap_length1)));diffs[pointer-1][1]=deletion.substring(0,deletion.length-overlap_length1);diffs[pointer+1][1]=insertion.substring(overlap_length1);pointer++}}else{if(overlap_length2>=deletion.length/2||overlap_length2>=insertion.length/2){diffs.splice(pointer,0,new diff_match_patch2.Diff(DIFF_EQUAL,deletion.substring(0,overlap_length2)));diffs[pointer-1][0]=DIFF_INSERT;diffs[pointer-1][1]=insertion.substring(0,insertion.length-overlap_length2);diffs[pointer+1][0]=DIFF_DELETE;diffs[pointer+1][1]=deletion.substring(overlap_length2);pointer++}}pointer++}pointer++}};diff_match_patch2.prototype.diff_cleanupSemanticLossless=function(diffs){function diff_cleanupSemanticScore_(one,two){if(!one||!two){return 6}var char1=one.charAt(one.length-1);var char2=two.charAt(0);var nonAlphaNumeric1=char1.match(diff_match_patch2.nonAlphaNumericRegex_);var nonAlphaNumeric2=char2.match(diff_match_patch2.nonAlphaNumericRegex_);var whitespace1=nonAlphaNumeric1&&char1.match(diff_match_patch2.whitespaceRegex_);var whitespace2=nonAlphaNumeric2&&char2.match(diff_match_patch2.whitespaceRegex_);var lineBreak1=whitespace1&&char1.match(diff_match_patch2.linebreakRegex_);var lineBreak2=whitespace2&&char2.match(diff_match_patch2.linebreakRegex_);var blankLine1=lineBreak1&&one.match(diff_match_patch2.blanklineEndRegex_);var blankLine2=lineBreak2&&two.match(diff_match_patch2.blanklineStartRegex_);if(blankLine1||blankLine2){return 5}else if(lineBreak1||lineBreak2){return 4}else if(nonAlphaNumeric1&&!whitespace1&&whitespace2){return 3}else if(whitespace1||whitespace2){return 2}else if(nonAlphaNumeric1||nonAlphaNumeric2){return 1}return 0}__name(diff_cleanupSemanticScore_,"diff_cleanupSemanticScore_");var pointer=1;while(pointer<diffs.length-1){if(diffs[pointer-1][0]==DIFF_EQUAL&&diffs[pointer+1][0]==DIFF_EQUAL){var equality1=diffs[pointer-1][1];var edit=diffs[pointer][1];var equality2=diffs[pointer+1][1];var commonOffset=this.diff_commonSuffix(equality1,edit);if(commonOffset){var commonString=edit.substring(edit.length-commonOffset);equality1=equality1.substring(0,equality1.length-commonOffset);edit=commonString+edit.substring(0,edit.length-commonOffset);equality2=commonString+equality2}var bestEquality1=equality1;var bestEdit=edit;var bestEquality2=equality2;var bestScore=diff_cleanupSemanticScore_(equality1,edit)+diff_cleanupSemanticScore_(edit,equality2);while(edit.charAt(0)===equality2.charAt(0)){equality1+=edit.charAt(0);edit=edit.substring(1)+equality2.charAt(0);equality2=equality2.substring(1);var score=diff_cleanupSemanticScore_(equality1,edit)+diff_cleanupSemanticScore_(edit,equality2);if(score>=bestScore){bestScore=score;bestEquality1=equality1;bestEdit=edit;bestEquality2=equality2}}if(diffs[pointer-1][1]!=bestEquality1){if(bestEquality1){diffs[pointer-1][1]=bestEquality1}else{diffs.splice(pointer-1,1);pointer--}diffs[pointer][1]=bestEdit;if(bestEquality2){diffs[pointer+1][1]=bestEquality2}else{diffs.splice(pointer+1,1);pointer--}}}pointer++}};diff_match_patch2.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;diff_match_patch2.whitespaceRegex_=/\s/;diff_match_patch2.linebreakRegex_=/[\r\n]/;diff_match_patch2.blanklineEndRegex_=/\n\r?\n$/;diff_match_patch2.blanklineStartRegex_=/^\r?\n\r?\n/;diff_match_patch2.prototype.diff_cleanupEfficiency=function(diffs){var changes=false;var equalities=[];var equalitiesLength=0;var lastEquality=null;var pointer=0;var pre_ins=false;var pre_del=false;var post_ins=false;var post_del=false;while(pointer<diffs.length){if(diffs[pointer][0]==DIFF_EQUAL){if(diffs[pointer][1].length<this.Diff_EditCost&&(post_ins||post_del)){equalities[equalitiesLength++]=pointer;pre_ins=post_ins;pre_del=post_del;lastEquality=diffs[pointer][1]}else{equalitiesLength=0;lastEquality=null}post_ins=post_del=false}else{if(diffs[pointer][0]==DIFF_DELETE){post_del=true}else{post_ins=true}if(lastEquality&&(pre_ins&&pre_del&&post_ins&&post_del||lastEquality.length<this.Diff_EditCost/2&&pre_ins+pre_del+post_ins+post_del==3)){diffs.splice(equalities[equalitiesLength-1],0,new diff_match_patch2.Diff(DIFF_DELETE,lastEquality));diffs[equalities[equalitiesLength-1]+1][0]=DIFF_INSERT;equalitiesLength--;lastEquality=null;if(pre_ins&&pre_del){post_ins=post_del=true;equalitiesLength=0}else{equalitiesLength--;pointer=equalitiesLength>0?equalities[equalitiesLength-1]:-1;post_ins=post_del=false}changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}};diff_match_patch2.prototype.diff_cleanupMerge=function(diffs){diffs.push(new diff_match_patch2.Diff(DIFF_EQUAL,""));var pointer=0;var count_delete=0;var count_insert=0;var text_delete="";var text_insert="";var commonlength;while(pointer<diffs.length){switch(diffs[pointer][0]){case DIFF_INSERT:count_insert++;text_insert+=diffs[pointer][1];pointer++;break;case DIFF_DELETE:count_delete++;text_delete+=diffs[pointer][1];pointer++;break;case DIFF_EQUAL:if(count_delete+count_insert>1){if(count_delete!==0&&count_insert!==0){commonlength=this.diff_commonPrefix(text_insert,text_delete);if(commonlength!==0){if(pointer-count_delete-count_insert>0&&diffs[pointer-count_delete-count_insert-1][0]==DIFF_EQUAL){diffs[pointer-count_delete-count_insert-1][1]+=text_insert.substring(0,commonlength)}else{diffs.splice(0,0,new diff_match_patch2.Diff(DIFF_EQUAL,text_insert.substring(0,commonlength)));pointer++}text_insert=text_insert.substring(commonlength);text_delete=text_delete.substring(commonlength)}commonlength=this.diff_commonSuffix(text_insert,text_delete);if(commonlength!==0){diffs[pointer][1]=text_insert.substring(text_insert.length-commonlength)+diffs[pointer][1];text_insert=text_insert.substring(0,text_insert.length-commonlength);text_delete=text_delete.substring(0,text_delete.length-commonlength)}}pointer-=count_delete+count_insert;diffs.splice(pointer,count_delete+count_insert);if(text_delete.length){diffs.splice(pointer,0,new diff_match_patch2.Diff(DIFF_DELETE,text_delete));pointer++}if(text_insert.length){diffs.splice(pointer,0,new diff_match_patch2.Diff(DIFF_INSERT,text_insert));pointer++}pointer++}else if(pointer!==0&&diffs[pointer-1][0]==DIFF_EQUAL){diffs[pointer-1][1]+=diffs[pointer][1];diffs.splice(pointer,1)}else{pointer++}count_insert=0;count_delete=0;text_delete="";text_insert="";break}}if(diffs[diffs.length-1][1]===""){diffs.pop()}var changes=false;pointer=1;while(pointer<diffs.length-1){if(diffs[pointer-1][0]==DIFF_EQUAL&&diffs[pointer+1][0]==DIFF_EQUAL){if(diffs[pointer][1].substring(diffs[pointer][1].length-diffs[pointer-1][1].length)==diffs[pointer-1][1]){diffs[pointer][1]=diffs[pointer-1][1]+diffs[pointer][1].substring(0,diffs[pointer][1].length-diffs[pointer-1][1].length);diffs[pointer+1][1]=diffs[pointer-1][1]+diffs[pointer+1][1];diffs.splice(pointer-1,1);changes=true}else if(diffs[pointer][1].substring(0,diffs[pointer+1][1].length)==diffs[pointer+1][1]){diffs[pointer-1][1]+=diffs[pointer+1][1];diffs[pointer][1]=diffs[pointer][1].substring(diffs[pointer+1][1].length)+diffs[pointer+1][1];diffs.splice(pointer+1,1);changes=true}}pointer++}if(changes){this.diff_cleanupMerge(diffs)}};diff_match_patch2.prototype.diff_xIndex=function(diffs,loc){var chars1=0;var chars2=0;var last_chars1=0;var last_chars2=0;var x;for(x=0;x<diffs.length;x++){if(diffs[x][0]!==DIFF_INSERT){chars1+=diffs[x][1].length}if(diffs[x][0]!==DIFF_DELETE){chars2+=diffs[x][1].length}if(chars1>loc){break}last_chars1=chars1;last_chars2=chars2}if(diffs.length!=x&&diffs[x][0]===DIFF_DELETE){return last_chars2}return last_chars2+(loc-last_chars1)};diff_match_patch2.prototype.diff_prettyHtml=function(diffs){var html=[];var pattern_amp=/&/g;var pattern_lt=/</g;var pattern_gt=/>/g;var pattern_para=/\n/g;for(var x=0;x<diffs.length;x++){var op=diffs[x][0];var data=diffs[x][1];var text=data.replace(pattern_amp,"&").replace(pattern_lt,"<").replace(pattern_gt,">").replace(pattern_para,"¶<br>");switch(op){case DIFF_INSERT:html[x]='<ins style="background:#e6ffe6;">'+text+"</ins>";break;case DIFF_DELETE:html[x]='<del style="background:#ffe6e6;">'+text+"</del>";break;case DIFF_EQUAL:html[x]="<span>"+text+"</span>";break}}return html.join("")};diff_match_patch2.prototype.diff_text1=function(diffs){var text=[];for(var x=0;x<diffs.length;x++){if(diffs[x][0]!==DIFF_INSERT){text[x]=diffs[x][1]}}return text.join("")};diff_match_patch2.prototype.diff_text2=function(diffs){var text=[];for(var x=0;x<diffs.length;x++){if(diffs[x][0]!==DIFF_DELETE){text[x]=diffs[x][1]}}return text.join("")};diff_match_patch2.prototype.diff_levenshtein=function(diffs){var levenshtein=0;var insertions=0;var deletions=0;for(var x=0;x<diffs.length;x++){var op=diffs[x][0];var data=diffs[x][1];switch(op){case DIFF_INSERT:insertions+=data.length;break;case DIFF_DELETE:deletions+=data.length;break;case DIFF_EQUAL:levenshtein+=Math.max(insertions,deletions);insertions=0;deletions=0;break}}levenshtein+=Math.max(insertions,deletions);return levenshtein};diff_match_patch2.prototype.diff_toDelta=function(diffs){var text=[];for(var x=0;x<diffs.length;x++){switch(diffs[x][0]){case DIFF_INSERT:text[x]="+"+encodeURI(diffs[x][1]);break;case DIFF_DELETE:text[x]="-"+diffs[x][1].length;break;case DIFF_EQUAL:text[x]="="+diffs[x][1].length;break}}return text.join(" ").replace(/%20/g," ")};diff_match_patch2.prototype.diff_fromDelta=function(text1,delta){var diffs=[];var diffsLength=0;var pointer=0;var tokens=delta.split(/\t/g);for(var x=0;x<tokens.length;x++){var param=tokens[x].substring(1);switch(tokens[x].charAt(0)){case"+":try{diffs[diffsLength++]=new diff_match_patch2.Diff(DIFF_INSERT,decodeURI(param))}catch(ex){throw new Error("Illegal escape in diff_fromDelta: "+param)}break;case"-":case"=":var n=parseInt(param,10);if(isNaN(n)||n<0){throw new Error("Invalid number in diff_fromDelta: "+param)}var text=text1.substring(pointer,pointer+=n);if(tokens[x].charAt(0)=="="){diffs[diffsLength++]=new diff_match_patch2.Diff(DIFF_EQUAL,text)}else{diffs[diffsLength++]=new diff_match_patch2.Diff(DIFF_DELETE,text)}break;default:if(tokens[x]){throw new Error("Invalid diff operation in diff_fromDelta: "+tokens[x])}}}if(pointer!=text1.length){throw new Error("Delta length ("+pointer+") does not equal source text length ("+text1.length+").")}return diffs};diff_match_patch2.prototype.match_main=function(text,pattern,loc){if(text==null||pattern==null||loc==null){throw new Error("Null input. (match_main)")}loc=Math.max(0,Math.min(loc,text.length));if(text==pattern){return 0}else if(!text.length){return-1}else if(text.substring(loc,loc+pattern.length)==pattern){return loc}else{return this.match_bitap_(text,pattern,loc)}};diff_match_patch2.prototype.match_bitap_=function(text,pattern,loc){if(pattern.length>this.Match_MaxBits){throw new Error("Pattern too long for this browser.")}var s=this.match_alphabet_(pattern);var dmp2=this;function match_bitapScore_(e,x){var accuracy=e/pattern.length;var proximity=Math.abs(loc-x);if(!dmp2.Match_Distance){return proximity?1:accuracy}return accuracy+proximity/dmp2.Match_Distance}__name(match_bitapScore_,"match_bitapScore_");var score_threshold=this.Match_Threshold;var best_loc=text.indexOf(pattern,loc);if(best_loc!=-1){score_threshold=Math.min(match_bitapScore_(0,best_loc),score_threshold);best_loc=text.lastIndexOf(pattern,loc+pattern.length);if(best_loc!=-1){score_threshold=Math.min(match_bitapScore_(0,best_loc),score_threshold)}}var matchmask=1<<pattern.length-1;best_loc=-1;var bin_min,bin_mid;var bin_max=pattern.length+text.length;var last_rd;for(var d=0;d<pattern.length;d++){bin_min=0;bin_mid=bin_max;while(bin_min<bin_mid){if(match_bitapScore_(d,loc+bin_mid)<=score_threshold){bin_min=bin_mid}else{bin_max=bin_mid}bin_mid=Math.floor((bin_max-bin_min)/2+bin_min)}bin_max=bin_mid;var start=Math.max(1,loc-bin_mid+1);var finish=Math.min(loc+bin_mid,text.length)+pattern.length;var rd=Array(finish+2);rd[finish+1]=(1<<d)-1;for(var j=finish;j>=start;j--){var charMatch=s[text.charAt(j-1)];if(d===0){rd[j]=(rd[j+1]<<1|1)&charMatch}else{rd[j]=(rd[j+1]<<1|1)&charMatch|((last_rd[j+1]|last_rd[j])<<1|1)|last_rd[j+1]}if(rd[j]&matchmask){var score=match_bitapScore_(d,j-1);if(score<=score_threshold){score_threshold=score;best_loc=j-1;if(best_loc>loc){start=Math.max(1,2*loc-best_loc)}else{break}}}}if(match_bitapScore_(d+1,loc)>score_threshold){break}last_rd=rd}return best_loc};diff_match_patch2.prototype.match_alphabet_=function(pattern){var s={};for(var i=0;i<pattern.length;i++){s[pattern.charAt(i)]=0}for(var i=0;i<pattern.length;i++){s[pattern.charAt(i)]|=1<<pattern.length-i-1}return s};diff_match_patch2.prototype.patch_addContext_=function(patch2,text){if(text.length==0){return}if(patch2.start2===null){throw Error("patch not initialized")}var pattern=text.substring(patch2.start2,patch2.start2+patch2.length1);var padding=0;while(text.indexOf(pattern)!=text.lastIndexOf(pattern)&&pattern.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin){padding+=this.Patch_Margin;pattern=text.substring(patch2.start2-padding,patch2.start2+patch2.length1+padding)}padding+=this.Patch_Margin;var prefix=text.substring(patch2.start2-padding,patch2.start2);if(prefix){patch2.diffs.unshift(new diff_match_patch2.Diff(DIFF_EQUAL,prefix))}var suffix=text.substring(patch2.start2+patch2.length1,patch2.start2+patch2.length1+padding);if(suffix){patch2.diffs.push(new diff_match_patch2.Diff(DIFF_EQUAL,suffix))}patch2.start1-=prefix.length;patch2.start2-=prefix.length;patch2.length1+=prefix.length+suffix.length;patch2.length2+=prefix.length+suffix.length};diff_match_patch2.prototype.patch_make=function(a,opt_b,opt_c){var text1,diffs;if(typeof a=="string"&&typeof opt_b=="string"&&typeof opt_c=="undefined"){text1=a;diffs=this.diff_main(text1,opt_b,true);if(diffs.length>2){this.diff_cleanupSemantic(diffs);this.diff_cleanupEfficiency(diffs)}}else if(a&&typeof a=="object"&&typeof opt_b=="undefined"&&typeof opt_c=="undefined"){diffs=a;text1=this.diff_text1(diffs)}else if(typeof a=="string"&&opt_b&&typeof opt_b=="object"&&typeof opt_c=="undefined"){text1=a;diffs=opt_b}else if(typeof a=="string"&&typeof opt_b=="string"&&opt_c&&typeof opt_c=="object"){text1=a;diffs=opt_c}else{throw new Error("Unknown call format to patch_make.")}if(diffs.length===0){return[]}var patches=[];var patch2=new diff_match_patch2.patch_obj;var patchDiffLength=0;var char_count1=0;var char_count2=0;var prepatch_text=text1;var postpatch_text=text1;for(var x=0;x<diffs.length;x++){var diff_type=diffs[x][0];var diff_text=diffs[x][1];if(!patchDiffLength&&diff_type!==DIFF_EQUAL){patch2.start1=char_count1;patch2.start2=char_count2}switch(diff_type){case DIFF_INSERT:patch2.diffs[patchDiffLength++]=diffs[x];patch2.length2+=diff_text.length;postpatch_text=postpatch_text.substring(0,char_count2)+diff_text+postpatch_text.substring(char_count2);break;case DIFF_DELETE:patch2.length1+=diff_text.length;patch2.diffs[patchDiffLength++]=diffs[x];postpatch_text=postpatch_text.substring(0,char_count2)+postpatch_text.substring(char_count2+diff_text.length);break;case DIFF_EQUAL:if(diff_text.length<=2*this.Patch_Margin&&patchDiffLength&&diffs.length!=x+1){patch2.diffs[patchDiffLength++]=diffs[x];patch2.length1+=diff_text.length;patch2.length2+=diff_text.length}else if(diff_text.length>=2*this.Patch_Margin){if(patchDiffLength){this.patch_addContext_(patch2,prepatch_text);patches.push(patch2);patch2=new diff_match_patch2.patch_obj;patchDiffLength=0;prepatch_text=postpatch_text;char_count1=char_count2}}break}if(diff_type!==DIFF_INSERT){char_count1+=diff_text.length}if(diff_type!==DIFF_DELETE){char_count2+=diff_text.length}}if(patchDiffLength){this.patch_addContext_(patch2,prepatch_text);patches.push(patch2)}return patches};diff_match_patch2.prototype.patch_deepCopy=function(patches){var patchesCopy=[];for(var x=0;x<patches.length;x++){var patch2=patches[x];var patchCopy=new diff_match_patch2.patch_obj;patchCopy.diffs=[];for(var y=0;y<patch2.diffs.length;y++){patchCopy.diffs[y]=new diff_match_patch2.Diff(patch2.diffs[y][0],patch2.diffs[y][1])}patchCopy.start1=patch2.start1;patchCopy.start2=patch2.start2;patchCopy.length1=patch2.length1;patchCopy.length2=patch2.length2;patchesCopy[x]=patchCopy}return patchesCopy};diff_match_patch2.prototype.patch_apply=function(patches,text){if(patches.length==0){return[text,[]]}patches=this.patch_deepCopy(patches);var nullPadding=this.patch_addPadding(patches);text=nullPadding+text+nullPadding;this.patch_splitMax(patches);var delta=0;var results=[];for(var x=0;x<patches.length;x++){var expected_loc=patches[x].start2+delta;var text1=this.diff_text1(patches[x].diffs);var start_loc;var end_loc=-1;if(text1.length>this.Match_MaxBits){start_loc=this.match_main(text,text1.substring(0,this.Match_MaxBits),expected_loc);if(start_loc!=-1){end_loc=this.match_main(text,text1.substring(text1.length-this.Match_MaxBits),expected_loc+text1.length-this.Match_MaxBits);if(end_loc==-1||start_loc>=end_loc){start_loc=-1}}}else{start_loc=this.match_main(text,text1,expected_loc)}if(start_loc==-1){results[x]=false;delta-=patches[x].length2-patches[x].length1}else{results[x]=true;delta=start_loc-expected_loc;var text2;if(end_loc==-1){text2=text.substring(start_loc,start_loc+text1.length)}else{text2=text.substring(start_loc,end_loc+this.Match_MaxBits)}if(text1==text2){text=text.substring(0,start_loc)+this.diff_text2(patches[x].diffs)+text.substring(start_loc+text1.length)}else{var diffs=this.diff_main(text1,text2,false);if(text1.length>this.Match_MaxBits&&this.diff_levenshtein(diffs)/text1.length>this.Patch_DeleteThreshold){results[x]=false}else{this.diff_cleanupSemanticLossless(diffs);var index1=0;var index2;for(var y=0;y<patches[x].diffs.length;y++){var mod=patches[x].diffs[y];if(mod[0]!==DIFF_EQUAL){index2=this.diff_xIndex(diffs,index1)}if(mod[0]===DIFF_INSERT){text=text.substring(0,start_loc+index2)+mod[1]+text.substring(start_loc+index2)}else if(mod[0]===DIFF_DELETE){text=text.substring(0,start_loc+index2)+text.substring(start_loc+this.diff_xIndex(diffs,index1+mod[1].length))}if(mod[0]!==DIFF_DELETE){index1+=mod[1].length}}}}}}text=text.substring(nullPadding.length,text.length-nullPadding.length);return[text,results]};diff_match_patch2.prototype.patch_addPadding=function(patches){var paddingLength=this.Patch_Margin;var nullPadding="";for(var x=1;x<=paddingLength;x++){nullPadding+=String.fromCharCode(x)}for(var x=0;x<patches.length;x++){patches[x].start1+=paddingLength;patches[x].start2+=paddingLength}var patch2=patches[0];var diffs=patch2.diffs;if(diffs.length==0||diffs[0][0]!=DIFF_EQUAL){diffs.unshift(new diff_match_patch2.Diff(DIFF_EQUAL,nullPadding));patch2.start1-=paddingLength;patch2.start2-=paddingLength;patch2.length1+=paddingLength;patch2.length2+=paddingLength}else if(paddingLength>diffs[0][1].length){var extraLength=paddingLength-diffs[0][1].length;diffs[0][1]=nullPadding.substring(diffs[0][1].length)+diffs[0][1];patch2.start1-=extraLength;patch2.start2-=extraLength;patch2.length1+=extraLength;patch2.length2+=extraLength}patch2=patches[patches.length-1];diffs=patch2.diffs;if(diffs.length==0||diffs[diffs.length-1][0]!=DIFF_EQUAL){diffs.push(new diff_match_patch2.Diff(DIFF_EQUAL,nullPadding));patch2.length1+=paddingLength;patch2.length2+=paddingLength}else if(paddingLength>diffs[diffs.length-1][1].length){var extraLength=paddingLength-diffs[diffs.length-1][1].length;diffs[diffs.length-1][1]+=nullPadding.substring(0,extraLength);patch2.length1+=extraLength;patch2.length2+=extraLength}return nullPadding};diff_match_patch2.prototype.patch_splitMax=function(patches){var patch_size=this.Match_MaxBits;for(var x=0;x<patches.length;x++){if(patches[x].length1<=patch_size){continue}var bigpatch=patches[x];patches.splice(x--,1);var start1=bigpatch.start1;var start2=bigpatch.start2;var precontext="";while(bigpatch.diffs.length!==0){var patch2=new diff_match_patch2.patch_obj;var empty=true;patch2.start1=start1-precontext.length;patch2.start2=start2-precontext.length;if(precontext!==""){patch2.length1=patch2.length2=precontext.length;patch2.diffs.push(new diff_match_patch2.Diff(DIFF_EQUAL,precontext))}while(bigpatch.diffs.length!==0&&patch2.length1<patch_size-this.Patch_Margin){var diff_type=bigpatch.diffs[0][0];var diff_text=bigpatch.diffs[0][1];if(diff_type===DIFF_INSERT){patch2.length2+=diff_text.length;start2+=diff_text.length;patch2.diffs.push(bigpatch.diffs.shift());empty=false}else if(diff_type===DIFF_DELETE&&patch2.diffs.length==1&&patch2.diffs[0][0]==DIFF_EQUAL&&diff_text.length>2*patch_size){patch2.length1+=diff_text.length;start1+=diff_text.length;empty=false;patch2.diffs.push(new diff_match_patch2.Diff(diff_type,diff_text));bigpatch.diffs.shift()}else{diff_text=diff_text.substring(0,patch_size-patch2.length1-this.Patch_Margin);patch2.length1+=diff_text.length;start1+=diff_text.length;if(diff_type===DIFF_EQUAL){patch2.length2+=diff_text.length;start2+=diff_text.length}else{empty=false}patch2.diffs.push(new diff_match_patch2.Diff(diff_type,diff_text));if(diff_text==bigpatch.diffs[0][1]){bigpatch.diffs.shift()}else{bigpatch.diffs[0][1]=bigpatch.diffs[0][1].substring(diff_text.length)}}}precontext=this.diff_text2(patch2.diffs);precontext=precontext.substring(precontext.length-this.Patch_Margin);var postcontext=this.diff_text1(bigpatch.diffs).substring(0,this.Patch_Margin);if(postcontext!==""){patch2.length1+=postcontext.length;patch2.length2+=postcontext.length;if(patch2.diffs.length!==0&&patch2.diffs[patch2.diffs.length-1][0]===DIFF_EQUAL){patch2.diffs[patch2.diffs.length-1][1]+=postcontext}else{patch2.diffs.push(new diff_match_patch2.Diff(DIFF_EQUAL,postcontext))}}if(!empty){patches.splice(++x,0,patch2)}}}};diff_match_patch2.prototype.patch_toText=function(patches){var text=[];for(var x=0;x<patches.length;x++){text[x]=patches[x]}return text.join("")};diff_match_patch2.prototype.patch_fromText=function(textline){var patches=[];if(!textline){return patches}var text=textline.split("\n");var textPointer=0;var patchHeader=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;while(textPointer<text.length){var m=text[textPointer].match(patchHeader);if(!m){throw new Error("Invalid patch string: "+text[textPointer])}var patch2=new diff_match_patch2.patch_obj;patches.push(patch2);patch2.start1=parseInt(m[1],10);if(m[2]===""){patch2.start1--;patch2.length1=1}else if(m[2]=="0"){patch2.length1=0}else{patch2.start1--;patch2.length1=parseInt(m[2],10)}patch2.start2=parseInt(m[3],10);if(m[4]===""){patch2.start2--;patch2.length2=1}else if(m[4]=="0"){patch2.length2=0}else{patch2.start2--;patch2.length2=parseInt(m[4],10)}textPointer++;while(textPointer<text.length){var sign=text[textPointer].charAt(0);try{var line=decodeURI(text[textPointer].substring(1))}catch(ex){throw new Error("Illegal escape in patch_fromText: "+line)}if(sign=="-"){patch2.diffs.push(new diff_match_patch2.Diff(DIFF_DELETE,line))}else if(sign=="+"){patch2.diffs.push(new diff_match_patch2.Diff(DIFF_INSERT,line))}else if(sign==" "){patch2.diffs.push(new diff_match_patch2.Diff(DIFF_EQUAL,line))}else if(sign=="@"){break}else if(sign==="");else{throw new Error('Invalid patch mode "'+sign+'" in: '+line)}textPointer++}}return patches};diff_match_patch2.patch_obj=function(){this.diffs=[];this.start1=null;this.start2=null;this.length1=0;this.length2=0};diff_match_patch2.patch_obj.prototype.toString=function(){var coords1,coords2;if(this.length1===0){coords1=this.start1+",0"}else if(this.length1==1){coords1=this.start1+1}else{coords1=this.start1+1+","+this.length1}if(this.length2===0){coords2=this.start2+",0"}else if(this.length2==1){coords2=this.start2+1}else{coords2=this.start2+1+","+this.length2}var text=["@@ -"+coords1+" +"+coords2+" @@\n"];var op;for(var x=0;x<this.diffs.length;x++){switch(this.diffs[x][0]){case DIFF_INSERT:op="+";break;case DIFF_DELETE:op="-";break;case DIFF_EQUAL:op=" ";break}text[x+1]=op+encodeURI(this.diffs[x][1])+"\n"}return text.join("").replace(/%20/g," ")};module2.exports=diff_match_patch2;module2.exports["diff_match_patch"]=diff_match_patch2;module2.exports["DIFF_DELETE"]=DIFF_DELETE;module2.exports["DIFF_INSERT"]=DIFF_INSERT;module2.exports["DIFF_EQUAL"]=DIFF_EQUAL})(diffMatchPatch);var diffMatchPatchExports=diffMatchPatch.exports;const dmp=getDefaultExportFromCjs(diffMatchPatchExports);var ansiStyles$1={exports:{}};var colorName;var hasRequiredColorName;function requireColorName(){if(hasRequiredColorName)return colorName;hasRequiredColorName=1;colorName={"aliceblue":[240,248,255],"antiquewhite":[250,235,215],"aqua":[0,255,255],"aquamarine":[127,255,212],"azure":[240,255,255],"beige":[245,245,220],"bisque":[255,228,196],"black":[0,0,0],"blanchedalmond":[255,235,205],"blue":[0,0,255],"blueviolet":[138,43,226],"brown":[165,42,42],"burlywood":[222,184,135],"cadetblue":[95,158,160],"chartreuse":[127,255,0],"chocolate":[210,105,30],"coral":[255,127,80],"cornflowerblue":[100,149,237],"cornsilk":[255,248,220],"crimson":[220,20,60],"cyan":[0,255,255],"darkblue":[0,0,139],"darkcyan":[0,139,139],"darkgoldenrod":[184,134,11],"darkgray":[169,169,169],"darkgreen":[0,100,0],"darkgrey":[169,169,169],"darkkhaki":[189,183,107],"darkmagenta":[139,0,139],"darkolivegreen":[85,107,47],"darkorange":[255,140,0],"darkorchid":[153,50,204],"darkred":[139,0,0],"darksalmon":[233,150,122],"darkseagreen":[143,188,143],"darkslateblue":[72,61,139],"darkslategray":[47,79,79],"darkslategrey":[47,79,79],"darkturquoise":[0,206,209],"darkviolet":[148,0,211],"deeppink":[255,20,147],"deepskyblue":[0,191,255],"dimgray":[105,105,105],"dimgrey":[105,105,105],"dodgerblue":[30,144,255],"firebrick":[178,34,34],"floralwhite":[255,250,240],"forestgreen":[34,139,34],"fuchsia":[255,0,255],"gainsboro":[220,220,220],"ghostwhite":[248,248,255],"gold":[255,215,0],"goldenrod":[218,165,32],"gray":[128,128,128],"green":[0,128,0],"greenyellow":[173,255,47],"grey":[128,128,128],"honeydew":[240,255,240],"hotpink":[255,105,180],"indianred":[205,92,92],"indigo":[75,0,130],"ivory":[255,255,240],"khaki":[240,230,140],"lavender":[230,230,250],"lavenderblush":[255,240,245],"lawngreen":[124,252,0],"lemonchiffon":[255,250,205],"lightblue":[173,216,230],"lightcoral":[240,128,128],"lightcyan":[224,255,255],"lightgoldenrodyellow":[250,250,210],"lightgray":[211,211,211],"lightgreen":[144,238,144],"lightgrey":[211,211,211],"lightpink":[255,182,193],"lightsalmon":[255,160,122],"lightseagreen":[32,178,170],"lightskyblue":[135,206,250],"lightslategray":[119,136,153],"lightslategrey":[119,136,153],"lightsteelblue":[176,196,222],"lightyellow":[255,255,224],"lime":[0,255,0],"limegreen":[50,205,50],"linen":[250,240,230],"magenta":[255,0,255],"maroon":[128,0,0],"mediumaquamarine":[102,205,170],"mediumblue":[0,0,205],"mediumorchid":[186,85,211],"mediumpurple":[147,112,219],"mediumseagreen":[60,179,113],"mediumslateblue":[123,104,238],"mediumspringgreen":[0,250,154],"mediumturquoise":[72,209,204],"mediumvioletred":[199,21,133],"midnightblue":[25,25,112],"mintcream":[245,255,250],"mistyrose":[255,228,225],"moccasin":[255,228,181],"navajowhite":[255,222,173],"navy":[0,0,128],"oldlace":[253,245,230],"olive":[128,128,0],"olivedrab":[107,142,35],"orange":[255,165,0],"orangered":[255,69,0],"orchid":[218,112,214],"palegoldenrod":[238,232,170],"palegreen":[152,251,152],"paleturquoise":[175,238,238],"palevioletred":[219,112,147],"papayawhip":[255,239,213],"peachpuff":[255,218,185],"peru":[205,133,63],"pink":[255,192,203],"plum":[221,160,221],"powderblue":[176,224,230],"purple":[128,0,128],"rebeccapurple":[102,51,153],"red":[255,0,0],"rosybrown":[188,143,143],"royalblue":[65,105,225],"saddlebrown":[139,69,19],"salmon":[250,128,114],"sandybrown":[244,164,96],"seagreen":[46,139,87],"seashell":[255,245,238],"sienna":[160,82,45],"silver":[192,192,192],"skyblue":[135,206,235],"slateblue":[106,90,205],"slategray":[112,128,144],"slategrey":[112,128,144],"snow":[255,250,250],"springgreen":[0,255,127],"steelblue":[70,130,180],"tan":[210,180,140],"teal":[0,128,128],"thistle":[216,191,216],"tomato":[255,99,71],"turquoise":[64,224,208],"violet":[238,130,238],"wheat":[245,222,179],"white":[255,255,255],"whitesmoke":[245,245,245],"yellow":[255,255,0],"yellowgreen":[154,205,50]};return colorName}__name(requireColorName,"requireColorName");var conversions;var hasRequiredConversions;function requireConversions(){if(hasRequiredConversions)return conversions;hasRequiredConversions=1;const cssKeywords=requireColorName();const reverseKeywords={};for(const key of Object.keys(cssKeywords)){reverseKeywords[cssKeywords[key]]=key}const convert={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};conversions=convert;for(const model of Object.keys(convert)){if(!("channels"in convert[model])){throw new Error("missing channels property: "+model)}if(!("labels"in convert[model])){throw new Error("missing channel labels property: "+model)}if(convert[model].labels.length!==convert[model].channels){throw new Error("channel and label counts mismatch: "+model)}const{channels,labels}=convert[model];delete convert[model].channels;delete convert[model].labels;Object.defineProperty(convert[model],"channels",{value:channels});Object.defineProperty(convert[model],"labels",{value:labels})}convert.rgb.hsl=function(rgb){const r=rgb[0]/255;const g=rgb[1]/255;const b=rgb[2]/255;const min=Math.min(r,g,b);const max=Math.max(r,g,b);const delta=max-min;let h;let s;if(max===min){h=0}else if(r===max){h=(g-b)/delta}else if(g===max){h=2+(b-r)/delta}else if(b===max){h=4+(r-g)/delta}h=Math.min(h*60,360);if(h<0){h+=360}const l=(min+max)/2;if(max===min){s=0}else if(l<=.5){s=delta/(max+min)}else{s=delta/(2-max-min)}return[h,s*100,l*100]};convert.rgb.hsv=function(rgb){let rdif;let gdif;let bdif;let h;let s;const r=rgb[0]/255;const g=rgb[1]/255;const b=rgb[2]/255;const v=Math.max(r,g,b);const diff2=v-Math.min(r,g,b);const diffc=__name(function(c){return(v-c)/6/diff2+1/2},"diffc");if(diff2===0){h=0;s=0}else{s=diff2/v;rdif=diffc(r);gdif=diffc(g);bdif=diffc(b);if(r===v){h=bdif-gdif}else if(g===v){h=1/3+rdif-bdif}else if(b===v){h=2/3+gdif-rdif}if(h<0){h+=1}else if(h>1){h-=1}}return[h*360,s*100,v*100]};convert.rgb.hwb=function(rgb){const r=rgb[0];const g=rgb[1];let b=rgb[2];const h=convert.rgb.hsl(rgb)[0];const w=1/255*Math.min(r,Math.min(g,b));b=1-1/255*Math.max(r,Math.max(g,b));return[h,w*100,b*100]};convert.rgb.cmyk=function(rgb){const r=rgb[0]/255;const g=rgb[1]/255;const b=rgb[2]/255;const k=Math.min(1-r,1-g,1-b);const c=(1-r-k)/(1-k)||0;const m=(1-g-k)/(1-k)||0;const y=(1-b-k)/(1-k)||0;return[c*100,m*100,y*100,k*100]};function comparativeDistance(x,y){return __pow(x[0]-y[0],2)+__pow(x[1]-y[1],2)+__pow(x[2]-y[2],2)}__name(comparativeDistance,"comparativeDistance");convert.rgb.keyword=function(rgb){const reversed=reverseKeywords[rgb];if(reversed){return reversed}let currentClosestDistance=Infinity;let currentClosestKeyword;for(const keyword of Object.keys(cssKeywords)){const value=cssKeywords[keyword];const distance=comparativeDistance(rgb,value);if(distance<currentClosestDistance){currentClosestDistance=distance;currentClosestKeyword=keyword}}return currentClosestKeyword};convert.keyword.rgb=function(keyword){return cssKeywords[keyword]};convert.rgb.xyz=function(rgb){let r=rgb[0]/255;let g=rgb[1]/255;let b=rgb[2]/255;r=r>.04045?__pow((r+.055)/1.055,2.4):r/12.92;g=g>.04045?__pow((g+.055)/1.055,2.4):g/12.92;b=b>.04045?__pow((b+.055)/1.055,2.4):b/12.92;const x=r*.4124+g*.3576+b*.1805;const y=r*.2126+g*.7152+b*.0722;const z=r*.0193+g*.1192+b*.9505;return[x*100,y*100,z*100]};convert.rgb.lab=function(rgb){const xyz=convert.rgb.xyz(rgb);let x=xyz[0];let y=xyz[1];let z=xyz[2];x/=95.047;y/=100;z/=108.883;x=x>.008856?__pow(x,1/3):7.787*x+16/116;y=y>.008856?__pow(y,1/3):7.787*y+16/116;z=z>.008856?__pow(z,1/3):7.787*z+16/116;const l=116*y-16;const a=500*(x-y);const b=200*(y-z);return[l,a,b]};convert.hsl.rgb=function(hsl){const h=hsl[0]/360;const s=hsl[1]/100;const l=hsl[2]/100;let t2;let t3;let val;if(s===0){val=l*255;return[val,val,val]}if(l<.5){t2=l*(1+s)}else{t2=l+s-l*s}const t1=2*l-t2;const rgb=[0,0,0];for(let i=0;i<3;i++){t3=h+1/3*-(i-1);if(t3<0){t3++}if(t3>1){t3--}if(6*t3<1){val=t1+(t2-t1)*6*t3}else if(2*t3<1){val=t2}else if(3*t3<2){val=t1+(t2-t1)*(2/3-t3)*6}else{val=t1}rgb[i]=val*255}return rgb};convert.hsl.hsv=function(hsl){const h=hsl[0];let s=hsl[1]/100;let l=hsl[2]/100;let smin=s;const lmin=Math.max(l,.01);l*=2;s*=l<=1?l:2-l;smin*=lmin<=1?lmin:2-lmin;const v=(l+s)/2;const sv=l===0?2*smin/(lmin+smin):2*s/(l+s);return[h,sv*100,v*100]};convert.hsv.rgb=function(hsv){const h=hsv[0]/60;const s=hsv[1]/100;let v=hsv[2]/100;const hi=Math.floor(h)%6;const f=h-Math.floor(h);const p=255*v*(1-s);const q=255*v*(1-s*f);const t=255*v*(1-s*(1-f));v*=255;switch(hi){case 0:return[v,t,p];case 1:return[q,v,p];case 2:return[p,v,t];case 3:return[p,q,v];case 4:return[t,p,v];case 5:return[v,p,q]}};convert.hsv.hsl=function(hsv){const h=hsv[0];const s=hsv[1]/100;const v=hsv[2]/100;const vmin=Math.max(v,.01);let sl;let l;l=(2-s)*v;const lmin=(2-s)*vmin;sl=s*vmin;sl/=lmin<=1?lmin:2-lmin;sl=sl||0;l/=2;return[h,sl*100,l*100]};convert.hwb.rgb=function(hwb){const h=hwb[0]/360;let wh=hwb[1]/100;let bl=hwb[2]/100;const ratio=wh+bl;let f;if(ratio>1){wh/=ratio;bl/=ratio}const i=Math.floor(6*h);const v=1-bl;f=6*h-i;if((i&1)!==0){f=1-f}const n=wh+f*(v-wh);let r;let g;let b;switch(i){default:case 6:case 0:r=v;g=n;b=wh;break;case 1:r=n;g=v;b=wh;break;case 2:r=wh;g=v;b=n;break;case 3:r=wh;g=n;b=v;break;case 4:r=n;g=wh;b=v;break;case 5:r=v;g=wh;b=n;break}return[r*255,g*255,b*255]};convert.cmyk.rgb=function(cmyk){const c=cmyk[0]/100;const m=cmyk[1]/100;const y=cmyk[2]/100;const k=cmyk[3]/100;const r=1-Math.min(1,c*(1-k)+k);const g=1-Math.min(1,m*(1-k)+k);const b=1-Math.min(1,y*(1-k)+k);return[r*255,g*255,b*255]};convert.xyz.rgb=function(xyz){const x=xyz[0]/100;const y=xyz[1]/100;const z=xyz[2]/100;let r;let g;let b;r=x*3.2406+y*-1.5372+z*-.4986;g=x*-.9689+y*1.8758+z*.0415;b=x*.0557+y*-.204+z*1.057;r=r>.0031308?1.055*__pow(r,1/2.4)-.055:r*12.92;g=g>.0031308?1.055*__pow(g,1/2.4)-.055:g*12.92;b=b>.0031308?1.055*__pow(b,1/2.4)-.055:b*12.92;r=Math.min(Math.max(0,r),1);g=Math.min(Math.max(0,g),1);b=Math.min(Math.max(0,b),1);return[r*255,g*255,b*255]};convert.xyz.lab=function(xyz){let x=xyz[0];let y=xyz[1];let z=xyz[2];x/=95.047;y/=100;z/=108.883;x=x>.008856?__pow(x,1/3):7.787*x+16/116;y=y>.008856?__pow(y,1/3):7.787*y+16/116;z=z>.008856?__pow(z,1/3):7.787*z+16/116;const l=116*y-16;const a=500*(x-y);const b=200*(y-z);return[l,a,b]};convert.lab.xyz=function(lab){const l=lab[0];const a=lab[1];const b=lab[2];let x;let y;let z;y=(l+16)/116;x=a/500+y;z=y-b/200;const y2=__pow(y,3);const x2=__pow(x,3);const z2=__pow(z,3);y=y2>.008856?y2:(y-16/116)/7.787;x=x2>.008856?x2:(x-16/116)/7.787;z=z2>.008856?z2:(z-16/116)/7.787;x*=95.047;y*=100;z*=108.883;return[x,y,z]};convert.lab.lch=function(lab){const l=lab[0];const a=lab[1];const b=lab[2];let h;const hr=Math.atan2(b,a);h=hr*360/2/Math.PI;if(h<0){h+=360}const c=Math.sqrt(a*a+b*b);return[l,c,h]};convert.lch.lab=function(lch){const l=lch[0];const c=lch[1];const h=lch[2];const hr=h/360*2*Math.PI;const a=c*Math.cos(hr);const b=c*Math.sin(hr);return[l,a,b]};convert.rgb.ansi16=function(args,saturation=null){const[r,g,b]=args;let value=saturation===null?convert.rgb.hsv(args)[2]:saturation;value=Math.round(value/50);if(value===0){return 30}let ansi=30+(Math.round(b/255)<<2|Math.round(g/255)<<1|Math.round(r/255));if(value===2){ansi+=60}return ansi};convert.hsv.ansi16=function(args){return convert.rgb.ansi16(convert.hsv.rgb(args),args[2])};convert.rgb.ansi256=function(args){const r=args[0];const g=args[1];const b=args[2];if(r===g&&g===b){if(r<8){return 16}if(r>248){return 231}return Math.round((r-8)/247*24)+232}const ansi=16+36*Math.round(r/255*5)+6*Math.round(g/255*5)+Math.round(b/255*5);return ansi};convert.ansi16.rgb=function(args){let color=args%10;if(color===0||color===7){if(args>50){color+=3.5}color=color/10.5*255;return[color,color,color]}const mult=(~~(args>50)+1)*.5;const r=(color&1)*mult*255;const g=(color>>1&1)*mult*255;const b=(color>>2&1)*mult*255;return[r,g,b]};convert.ansi256.rgb=function(args){if(args>=232){const c=(args-232)*10+8;return[c,c,c]}args-=16;let rem;const r=Math.floor(args/36)/5*255;const g=Math.floor((rem=args%36)/6)/5*255;const b=rem%6/5*255;return[r,g,b]};convert.rgb.hex=function(args){const integer=((Math.round(args[0])&255)<<16)+((Math.round(args[1])&255)<<8)+(Math.round(args[2])&255);const string=integer.toString(16).toUpperCase();return"000000".substring(string.length)+string};convert.hex.rgb=function(args){const match=args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!match){return[0,0,0]}let colorString=match[0];if(match[0].length===3){colorString=colorString.split("").map(char=>{return char+char}).join("")}const integer=parseInt(colorString,16);const r=integer>>16&255;const g=integer>>8&255;const b=integer&255;return[r,g,b]};convert.rgb.hcg=function(rgb){const r=rgb[0]/255;const g=rgb[1]/255;const b=rgb[2]/255;const max=Math.max(Math.max(r,g),b);const min=Math.min(Math.min(r,g),b);const chroma=max-min;let grayscale;let hue;if(chroma<1){grayscale=min/(1-chroma)}else{grayscale=0}if(chroma<=0){hue=0}else if(max===r){hue=(g-b)/chroma%6}else if(max===g){hue=2+(b-r)/chroma}else{hue=4+(r-g)/chroma}hue/=6;hue%=1;return[hue*360,chroma*100,grayscale*100]};convert.hsl.hcg=function(hsl){const s=hsl[1]/100;const l=hsl[2]/100;const c=l<.5?2*s*l:2*s*(1-l);let f=0;if(c<1){f=(l-.5*c)/(1-c)}return[hsl[0],c*100,f*100]};convert.hsv.hcg=function(hsv){const s=hsv[1]/100;const v=hsv[2]/100;const c=s*v;let f=0;if(c<1){f=(v-c)/(1-c)}return[hsv[0],c*100,f*100]};convert.hcg.rgb=function(hcg){const h=hcg[0]/360;const c=hcg[1]/100;const g=hcg[2]/100;if(c===0){return[g*255,g*255,g*255]}const pure=[0,0,0];const hi=h%1*6;const v=hi%1;const w=1-v;let mg=0;switch(Math.floor(hi)){case 0:pure[0]=1;pure[1]=v;pure[2]=0;break;case 1:pure[0]=w;pure[1]=1;pure[2]=0;break;case 2:pure[0]=0;pure[1]=1;pure[2]=v;break;case 3:pure[0]=0;pure[1]=w;pure[2]=1;break;case 4:pure[0]=v;pure[1]=0;pure[2]=1;break;default:pure[0]=1;pure[1]=0;pure[2]=w}mg=(1-c)*g;return[(c*pure[0]+mg)*255,(c*pure[1]+mg)*255,(c*pure[2]+mg)*255]};convert.hcg.hsv=function(hcg){const c=hcg[1]/100;const g=hcg[2]/100;const v=c+g*(1-c);let f=0;if(v>0){f=c/v}return[hcg[0],f*100,v*100]};convert.hcg.hsl=function(hcg){const c=hcg[1]/100;const g=hcg[2]/100;const l=g*(1-c)+.5*c;let s=0;if(l>0&&l<.5){s=c/(2*l)}else if(l>=.5&&l<1){s=c/(2*(1-l))}return[hcg[0],s*100,l*100]};convert.hcg.hwb=function(hcg){const c=hcg[1]/100;const g=hcg[2]/100;const v=c+g*(1-c);return[hcg[0],(v-c)*100,(1-v)*100]};convert.hwb.hcg=function(hwb){const w=hwb[1]/100;const b=hwb[2]/100;const v=1-b;const c=v-w;let g=0;if(c<1){g=(v-c)/(1-c)}return[hwb[0],c*100,g*100]};convert.apple.rgb=function(apple){return[apple[0]/65535*255,apple[1]/65535*255,apple[2]/65535*255]};convert.rgb.apple=function(rgb){return[rgb[0]/255*65535,rgb[1]/255*65535,rgb[2]/255*65535]};convert.gray.rgb=function(args){return[args[0]/100*255,args[0]/100*255,args[0]/100*255]};convert.gray.hsl=function(args){return[0,0,args[0]]};convert.gray.hsv=convert.gray.hsl;convert.gray.hwb=function(gray){return[0,100,gray[0]]};convert.gray.cmyk=function(gray){return[0,0,0,gray[0]]};convert.gray.lab=function(gray){return[gray[0],0,0]};convert.gray.hex=function(gray){const val=Math.round(gray[0]/100*255)&255;const integer=(val<<16)+(val<<8)+val;const string=integer.toString(16).toUpperCase();return"000000".substring(string.length)+string};convert.rgb.gray=function(rgb){const val=(rgb[0]+rgb[1]+rgb[2])/3;return[val/255*100]};return conversions}__name(requireConversions,"requireConversions");var route;var hasRequiredRoute;function requireRoute(){if(hasRequiredRoute)return route;hasRequiredRoute=1;const conversions2=requireConversions();function buildGraph(){const graph={};const models=Object.keys(conversions2);for(let len=models.length,i=0;i<len;i++){graph[models[i]]={distance:-1,parent:null}}return graph}__name(buildGraph,"buildGraph");function deriveBFS(fromModel){const graph=buildGraph();const queue=[fromModel];graph[fromModel].distance=0;while(queue.length){const current=queue.pop();const adjacents=Object.keys(conversions2[current]);for(let len=adjacents.length,i=0;i<len;i++){const adjacent=adjacents[i];const node=graph[adjacent];if(node.distance===-1){node.distance=graph[current].distance+1;node.parent=current;queue.unshift(adjacent)}}}return graph}__name(deriveBFS,"deriveBFS");function link(from,to){return function(args){return to(from(args))}}__name(link,"link");function wrapConversion(toModel,graph){const path=[graph[toModel].parent,toModel];let fn=conversions2[graph[toModel].parent][toModel];let cur=graph[toModel].parent;while(graph[cur].parent){path.unshift(graph[cur].parent);fn=link(conversions2[graph[cur].parent][cur],fn);cur=graph[cur].parent}fn.conversion=path;return fn}__name(wrapConversion,"wrapConversion");route=__name(function(fromModel){const graph=deriveBFS(fromModel);const conversion={};const models=Object.keys(graph);for(let len=models.length,i=0;i<len;i++){const toModel=models[i];const node=graph[toModel];if(node.parent===null){continue}conversion[toModel]=wrapConversion(toModel,graph)}return conversion},"route");return route}__name(requireRoute,"requireRoute");var colorConvert;var hasRequiredColorConvert;function requireColorConvert(){if(hasRequiredColorConvert)return colorConvert;hasRequiredColorConvert=1;const conversions2=requireConversions();const route2=requireRoute();const convert={};const models=Object.keys(conversions2);function wrapRaw(fn){const wrappedFn=__name(function(...args){const arg0=args[0];if(arg0===void 0||arg0===null){return arg0}if(arg0.length>1){args=arg0}return fn(args)},"wrappedFn");if("conversion"in fn){wrappedFn.conversion=fn.conversion}return wrappedFn}__name(wrapRaw,"wrapRaw");function wrapRounded(fn){const wrappedFn=__name(function(...args){const arg0=args[0];if(arg0===void 0||arg0===null){return arg0}if(arg0.length>1){args=arg0}const result=fn(args);if(typeof result==="object"){for(let len=result.length,i=0;i<len;i++){result[i]=Math.round(result[i])}}return result},"wrappedFn");if("conversion"in fn){wrappedFn.conversion=fn.conversion}return wrappedFn}__name(wrapRounded,"wrapRounded");models.forEach(fromModel=>{convert[fromModel]={};Object.defineProperty(convert[fromModel],"channels",{value:conversions2[fromModel].channels});Object.defineProperty(convert[fromModel],"labels",{value:conversions2[fromModel].labels});const routes=route2(fromModel);const routeModels=Object.keys(routes);routeModels.forEach(toModel=>{const fn=routes[toModel];convert[fromModel][toModel]=wrapRounded(fn);convert[fromModel][toModel].raw=wrapRaw(fn)})});colorConvert=convert;return colorConvert}__name(requireColorConvert,"requireColorConvert");ansiStyles$1.exports;(function(module2){const wrapAnsi16=__name((fn,offset)=>(...args)=>{const code=fn(...args);return`\x1B[${code+offset}m`},"wrapAnsi16");const wrapAnsi256=__name((fn,offset)=>(...args)=>{const code=fn(...args);return`\x1B[${38+offset};5;${code}m`},"wrapAnsi256");const wrapAnsi16m=__name((fn,offset)=>(...args)=>{const rgb=fn(...args);return`\x1B[${38+offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`},"wrapAnsi16m");const ansi2ansi=__name(n=>n,"ansi2ansi");const rgb2rgb=__name((r,g,b)=>[r,g,b],"rgb2rgb");const setLazyProperty=__name((object,property,get2)=>{Object.defineProperty(object,property,{get:()=>{const value=get2();Object.defineProperty(object,property,{value,enumerable:true,configurable:true});return value},enumerable:true,configurable:true})},"setLazyProperty");let colorConvert2;const makeDynamicStyles=__name((wrap,targetSpace,identity,isBackground)=>{if(colorConvert2===void 0){colorConvert2=requireColorConvert()}const offset=isBackground?10:0;const styles2={};for(const[sourceSpace,suite]of Object.entries(colorConvert2)){const name=sourceSpace==="ansi16"?"ansi":sourceSpace;if(sourceSpace===targetSpace){styles2[name]=wrap(identity,offset)}else if(typeof suite==="object"){styles2[name]=wrap(suite[targetSpace],offset)}}return styles2},"makeDynamicStyles");function assembleStyles(){const codes=new Map;const styles2={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};styles2.color.gray=styles2.color.blackBright;styles2.bgColor.bgGray=styles2.bgColor.bgBlackBright;styles2.color.grey=styles2.color.blackBright;styles2.bgColor.bgGrey=styles2.bgColor.bgBlackBright;for(const[groupName,group]of Object.entries(styles2)){for(const[styleName,style]of Object.entries(group)){styles2[styleName]={open:`\x1B[${style[0]}m`,close:`\x1B[${style[1]}m`};group[styleName]=styles2[styleName];codes.set(style[0],style[1])}Object.defineProperty(styles2,groupName,{value:group,enumerable:false})}Object.defineProperty(styles2,"codes",{value:codes,enumerable:false});styles2.color.close="\x1B[39m";styles2.bgColor.close="\x1B[49m";setLazyProperty(styles2.color,"ansi",()=>makeDynamicStyles(wrapAnsi16,"ansi16",ansi2ansi,false));setLazyProperty(styles2.color,"ansi256",()=>makeDynamicStyles(wrapAnsi256,"ansi256",ansi2ansi,false));setLazyProperty(styles2.color,"ansi16m",()=>makeDynamicStyles(wrapAnsi16m,"rgb",rgb2rgb,false));setLazyProperty(styles2.bgColor,"ansi",()=>makeDynamicStyles(wrapAnsi16,"ansi16",ansi2ansi,true));setLazyProperty(styles2.bgColor,"ansi256",()=>makeDynamicStyles(wrapAnsi256,"ansi256",ansi2ansi,true));setLazyProperty(styles2.bgColor,"ansi16m",()=>makeDynamicStyles(wrapAnsi16m,"rgb",rgb2rgb,true));return styles2}__name(assembleStyles,"assembleStyles");Object.defineProperty(module2,"exports",{enumerable:true,get:assembleStyles})})(ansiStyles$1);var ansiStylesExports=ansiStyles$1.exports;var browser={stdout:false,stderr:false};const stringReplaceAll$1=__name((string,substring,replacer)=>{let index2=string.indexOf(substring);if(index2===-1){return string}const substringLength=substring.length;let endIndex=0;let returnValue="";do{returnValue+=string.substr(endIndex,index2-endIndex)+substring+replacer;endIndex=index2+substringLength;index2=string.indexOf(substring,endIndex)}while(index2!==-1);returnValue+=string.substr(endIndex);return returnValue},"stringReplaceAll$1");const stringEncaseCRLFWithFirstIndex$1=__name((string,prefix,postfix,index2)=>{let endIndex=0;let returnValue="";do{const gotCR=string[index2-1]==="\r";returnValue+=string.substr(endIndex,(gotCR?index2-1:index2)-endIndex)+prefix+(gotCR?"\r\n":"\n")+postfix;endIndex=index2+1;index2=string.indexOf("\n",endIndex)}while(index2!==-1);returnValue+=string.substr(endIndex);return returnValue},"stringEncaseCRLFWithFirstIndex$1");var util={stringReplaceAll:stringReplaceAll$1,stringEncaseCRLFWithFirstIndex:stringEncaseCRLFWithFirstIndex$1};var templates;var hasRequiredTemplates;function requireTemplates(){if(hasRequiredTemplates)return templates;hasRequiredTemplates=1;const TEMPLATE_REGEX=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;const STYLE_REGEX=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;const STRING_REGEX=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;const ESCAPE_REGEX=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi;const ESCAPES=new Map([["n","\n"],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function unescape(c){const u=c[0]==="u";const bracket=c[1]==="{";if(u&&!bracket&&c.length===5||c[0]==="x"&&c.length===3){return String.fromCharCode(parseInt(c.slice(1),16))}if(u&&bracket){return String.fromCodePoint(parseInt(c.slice(2,-1),16))}return ESCAPES.get(c)||c}__name(unescape,"unescape");function parseArguments(name,arguments_){const results=[];const chunks=arguments_.trim().split(/\s*,\s*/g);let matches;for(const chunk of chunks){const number=Number(chunk);if(!Number.isNaN(number)){results.push(number)}else if(matches=chunk.match(STRING_REGEX)){results.push(matches[2].replace(ESCAPE_REGEX,(m,escape,character)=>escape?unescape(escape):character))}else{throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`)}}return results}__name(parseArguments,"parseArguments");function parseStyle(style){STYLE_REGEX.lastIndex=0;const results=[];let matches;while((matches=STYLE_REGEX.exec(style))!==null){const name=matches[1];if(matches[2]){const args=parseArguments(name,matches[2]);results.push([name].concat(args))}else{results.push([name])}}return results}__name(parseStyle,"parseStyle");function buildStyle(chalk2,styles2){const enabled={};for(const layer of styles2){for(const style of layer.styles){enabled[style[0]]=layer.inverse?null:style.slice(1)}}let current=chalk2;for(const[styleName,styles3]of Object.entries(enabled)){if(!Array.isArray(styles3)){continue}if(!(styleName in current)){throw new Error(`Unknown Chalk style: ${styleName}`)}current=styles3.length>0?current[styleName](...styles3):current[styleName]}return current}__name(buildStyle,"buildStyle");templates=__name((chalk2,temporary)=>{const styles2=[];const chunks=[];let chunk=[];temporary.replace(TEMPLATE_REGEX,(m,escapeCharacter,inverse,style,close,character)=>{if(escapeCharacter){chunk.push(unescape(escapeCharacter))}else if(style){const string=chunk.join("");chunk=[];chunks.push(styles2.length===0?string:buildStyle(chalk2,styles2)(string));styles2.push({inverse,styles:parseStyle(style)})}else if(close){if(styles2.length===0){throw new Error("Found extraneous } in Chalk template literal")}chunks.push(buildStyle(chalk2,styles2)(chunk.join("")));chunk=[];styles2.pop()}else{chunk.push(character)}});chunks.push(chunk.join(""));if(styles2.length>0){const errMessage=`Chalk template literal is missing ${styles2.length} closing bracket${styles2.length===1?"":"s"} (\`}\`)`;throw new Error(errMessage)}return chunks.join("")},"templates");return templates}__name(requireTemplates,"requireTemplates");const ansiStyles=ansiStylesExports;const{stdout:stdoutColor,stderr:stderrColor}=browser;const{stringReplaceAll,stringEncaseCRLFWithFirstIndex}=util;const{isArray:isArray$4}=Array;const levelMapping=["ansi","ansi","ansi256","ansi16m"];const styles=Object.create(null);const applyOptions=__name((object,options={})=>{if(options.level&&!(Number.isInteger(options.level)&&options.level>=0&&options.level<=3)){throw new Error("The `level` option should be an integer from 0 to 3")}const colorLevel=stdoutColor?stdoutColor.level:0;object.level=options.level===void 0?colorLevel:options.level},"applyOptions");class ChalkClass{constructor(options){return chalkFactory(options)}}__name(ChalkClass,"ChalkClass");const chalkFactory=__name(options=>{const chalk2={};applyOptions(chalk2,options);chalk2.template=(...arguments_)=>chalkTag(chalk2.template,...arguments_);Object.setPrototypeOf(chalk2,Chalk.prototype);Object.setPrototypeOf(chalk2.template,chalk2);chalk2.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")};chalk2.template.Instance=ChalkClass;return chalk2.template},"chalkFactory");function Chalk(options){return chalkFactory(options)}__name(Chalk,"Chalk");for(const[styleName,style]of Object.entries(ansiStyles)){styles[styleName]={get(){const builder=createBuilder(this,createStyler(style.open,style.close,this._styler),this._isEmpty);Object.defineProperty(this,styleName,{value:builder});return builder}}}styles.visible={get(){const builder=createBuilder(this,this._styler,true);Object.defineProperty(this,"visible",{value:builder});return builder}};const usedModels=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(const model of usedModels){styles[model]={get(){const{level}=this;return function(...arguments_){const styler=createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_),ansiStyles.color.close,this._styler);return createBuilder(this,styler,this._isEmpty)}}}}for(const model of usedModels){const bgModel="bg"+model[0].toUpperCase()+model.slice(1);styles[bgModel]={get(){const{level}=this;return function(...arguments_){const styler=createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_),ansiStyles.bgColor.close,this._styler);return createBuilder(this,styler,this._isEmpty)}}}}const proto=Object.defineProperties(()=>{},__spreadProps(__spreadValues({},styles),{level:{enumerable:true,get(){return this._generator.level},set(level){this._generator.level=level}}}));const createStyler=__name((open,close,parent)=>{let openAll;let closeAll;if(parent===void 0){openAll=open;closeAll=close}else{openAll=parent.openAll+open;closeAll=close+parent.closeAll}return{open,close,openAll,closeAll,parent}},"createStyler");const createBuilder=__name((self2,_styler,_isEmpty)=>{const builder=__name((...arguments_)=>{if(isArray$4(arguments_[0])&&isArray$4(arguments_[0].raw)){return applyStyle(builder,chalkTag(builder,...arguments_))}return applyStyle(builder,arguments_.length===1?""+arguments_[0]:arguments_.join(" "))},"builder");Object.setPrototypeOf(builder,proto);builder._generator=self2;builder._styler=_styler;builder._isEmpty=_isEmpty;return builder},"createBuilder");const applyStyle=__name((self2,string)=>{if(self2.level<=0||!string){return self2._isEmpty?"":string}let styler=self2._styler;if(styler===void 0){return string}const{openAll,closeAll}=styler;if(string.indexOf("\x1B")!==-1){while(styler!==void 0){string=stringReplaceAll(string,styler.close,styler.open);styler=styler.parent}}const lfIndex=string.indexOf("\n");if(lfIndex!==-1){string=stringEncaseCRLFWithFirstIndex(string,closeAll,openAll,lfIndex)}return openAll+string+closeAll},"applyStyle");let template;const chalkTag=__name((chalk2,...strings)=>{const[firstString]=strings;if(!isArray$4(firstString)||!isArray$4(firstString.raw)){return strings.join(" ")}const arguments_=strings.slice(1);const parts=[firstString.raw[0]];for(let i=1;i<firstString.length;i++){parts.push(String(arguments_[i-1]).replace(/[{}\\]/g,"\\$&"),String(firstString.raw[i]))}if(template===void 0){template=requireTemplates()}return template(chalk2,parts.join(""))},"chalkTag");Object.defineProperties(Chalk.prototype,styles);const chalk=Chalk();chalk.supportsColor=stdoutColor;chalk.stderr=Chalk({level:stderrColor?stderrColor.level:0});chalk.stderr.supportsColor=stderrColor;var source=chalk;const chalk$1=getDefaultExportFromCjs(source);var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj};var classCallCheck=__name(function(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}},"classCallCheck");var createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}__name(defineProperties,"defineProperties");return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();var get=__name(function get2(object,property,receiver){if(object===null)object=Function.prototype;var desc=Object.getOwnPropertyDescriptor(object,property);if(desc===void 0){var parent=Object.getPrototypeOf(object);if(parent===null){return void 0}else{return get2(parent,property,receiver)}}else if("value"in desc){return desc.value}else{var getter=desc.get;if(getter===void 0){return void 0}return getter.call(receiver)}},"get");var inherits=__name(function(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass)}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass},"inherits");var possibleConstructorReturn=__name(function(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return call&&(typeof call==="object"||typeof call==="function")?call:self2},"possibleConstructorReturn");var Processor=function(){function Processor2(options){classCallCheck(this,Processor2);this.selfOptions=options||{};this.pipes={}}__name(Processor2,"Processor");createClass(Processor2,[{key:"options",value:__name(function options(_options){if(_options){this.selfOptions=_options}return this.selfOptions},"options")},{key:"pipe",value:__name(function pipe(name,pipeArg){var pipe2=pipeArg;if(typeof name==="string"){if(typeof pipe2==="undefined"){return this.pipes[name]}else{this.pipes[name]=pipe2}}if(name&&name.name){pipe2=name;if(pipe2.processor===this){return pipe2}this.pipes[pipe2.name]=pipe2}pipe2.processor=this;return pipe2},"pipe")},{key:"process",value:__name(function process2(input,pipe){var context=input;context.options=this.options();var nextPipe=pipe||input.pipe||"default";var lastPipe=void 0;var lastContext=void 0;while(nextPipe){if(typeof context.nextAfterChildren!=="undefined"){context.next=context.nextAfterChildren;context.nextAfterChildren=null}if(typeof nextPipe==="string"){nextPipe=this.pipe(nextPipe)}nextPipe.process(context);lastContext=context;lastPipe=nextPipe;nextPipe=null;if(context){if(context.next){context=context.next;nextPipe=lastContext.nextPipe||context.pipe||lastPipe}}}return context.hasResult?context.result:void 0},"process")}]);return Processor2}();var Pipe=function(){function Pipe2(name){classCallCheck(this,Pipe2);this.name=name;this.filters=[]}__name(Pipe2,"Pipe");createClass(Pipe2,[{key:"process",value:__name(function process2(input){if(!this.processor){throw new Error("add this pipe to a processor before using it")}var debug=this.debug;var length=this.filters.length;var context=input;for(var index2=0;index2<length;index2++){var filter=this.filters[index2];if(debug){this.log("filter: "+filter.filterName)}filter(context);if((typeof context==="undefined"?"undefined":_typeof(context))==="object"&&context.exiting){context.exiting=false;break}}if(!context.next&&this.resultCheck){this.resultCheck(context)}},"process")},{key:"log",value:__name(function log(msg){console.log("[jsondiffpatch] "+this.name+" pipe, "+msg)},"log")},{key:"append",value:__name(function append(){var _filters;(_filters=this.filters).push.apply(_filters,arguments);return this},"append")},{key:"prepend",value:__name(function prepend(){var _filters2;(_filters2=this.filters).unshift.apply(_filters2,arguments);return this},"prepend")},{key:"indexOf",value:__name(function indexOf(filterName){if(!filterName){throw new Error("a filter name is required")}for(var index2=0;index2<this.filters.length;index2++){var filter=this.filters[index2];if(filter.filterName===filterName){return index2}}throw new Error("filter not found: "+filterName)},"indexOf")},{key:"list",value:__name(function list(){return this.filters.map(function(f){return f.filterName})},"list")},{key:"after",value:__name(function after(filterName){var index2=this.indexOf(filterName);var params=Array.prototype.slice.call(arguments,1);if(!params.length){throw new Error("a filter is required")}params.unshift(index2+1,0);Array.prototype.splice.apply(this.filters,params);return this},"after")},{key:"before",value:__name(function before(filterName){var index2=this.indexOf(filterName);var params=Array.prototype.slice.call(arguments,1);if(!params.length){throw new Error("a filter is required")}params.unshift(index2,0);Array.prototype.splice.apply(this.filters,params);return this},"before")},{key:"replace",value:__name(function replace(filterName){var index2=this.indexOf(filterName);var params=Array.prototype.slice.call(arguments,1);if(!params.length){throw new Error("a filter is required")}params.unshift(index2,1);Array.prototype.splice.apply(this.filters,params);return this},"replace")},{key:"remove",value:__name(function remove(filterName){var index2=this.indexOf(filterName);this.filters.splice(index2,1);return this},"remove")},{key:"clear",value:__name(function clear(){this.filters.length=0;return this},"clear")},{key:"shouldHaveResult",value:__name(function shouldHaveResult(should){if(should===false){this.resultCheck=null;return}if(this.resultCheck){return}var pipe=this;this.resultCheck=function(context){if(!context.hasResult){console.log(context);var error=new Error(pipe.name+" failed");error.noResult=true;throw error}};return this},"shouldHaveResult")}]);return Pipe2}();var Context=function(){function Context2(){classCallCheck(this,Context2)}__name(Context2,"Context");createClass(Context2,[{key:"setResult",value:__name(function setResult(result){this.result=result;this.hasResult=true;return this},"setResult")},{key:"exit",value:__name(function exit(){this.exiting=true;return this},"exit")},{key:"switchTo",value:__name(function switchTo(next2,pipe){if(typeof next2==="string"||next2 instanceof Pipe){this.nextPipe=next2}else{this.next=next2;if(pipe){this.nextPipe=pipe}}return this},"switchTo")},{key:"push",value:__name(function push(child,name){child.parent=this;if(typeof name!=="undefined"){child.childName=name}child.root=this.root||this;child.options=child.options||this.options;if(!this.children){this.children=[child];this.nextAfterChildren=this.next||null;this.next=child}else{this.children[this.children.length-1].next=child;this.children.push(child)}child.next=this;return this},"push")}]);return Context2}();var isArray=typeof Array.isArray==="function"?Array.isArray:function(a){return a instanceof Array};function cloneRegExp(re){var regexMatch=/^\/(.*)\/([gimyu]*)$/.exec(re.toString());return new RegExp(regexMatch[1],regexMatch[2])}__name(cloneRegExp,"cloneRegExp");function clone(arg){if((typeof arg==="undefined"?"undefined":_typeof(arg))!=="object"){return arg}if(arg===null){return null}if(isArray(arg)){return arg.map(clone)}if(arg instanceof Date){return new Date(arg.getTime())}if(arg instanceof RegExp){return cloneRegExp(arg)}var cloned={};for(var name in arg){if(Object.prototype.hasOwnProperty.call(arg,name)){cloned[name]=clone(arg[name])}}return cloned}__name(clone,"clone");var DiffContext=function(_Context){inherits(DiffContext2,_Context);function DiffContext2(left,right){classCallCheck(this,DiffContext2);var _this=possibleConstructorReturn(this,(DiffContext2.__proto__||Object.getPrototypeOf(DiffContext2)).call(this));_this.left=left;_this.right=right;_this.pipe="diff";return _this}__name(DiffContext2,"DiffContext");createClass(DiffContext2,[{key:"setResult",value:__name(function setResult(result){if(this.options.cloneDiffValues&&(typeof result==="undefined"?"undefined":_typeof(result))==="object"){var clone$$1=typeof this.options.cloneDiffValues==="function"?this.options.cloneDiffValues:clone;if(_typeof(result[0])==="object"){result[0]=clone$$1(result[0])}if(_typeof(result[1])==="object"){result[1]=clone$$1(result[1])}}return Context.prototype.setResult.apply(this,arguments)},"setResult")}]);return DiffContext2}(Context);var PatchContext=function(_Context){inherits(PatchContext2,_Context);function PatchContext2(left,delta){classCallCheck(this,PatchContext2);var _this=possibleConstructorReturn(this,(PatchContext2.__proto__||Object.getPrototypeOf(PatchContext2)).call(this));_this.left=left;_this.delta=delta;_this.pipe="patch";return _this}__name(PatchContext2,"PatchContext");return PatchContext2}(Context);var ReverseContext=function(_Context){inherits(ReverseContext2,_Context);function ReverseContext2(delta){classCallCheck(this,ReverseContext2);var _this=possibleConstructorReturn(this,(ReverseContext2.__proto__||Object.getPrototypeOf(ReverseContext2)).call(this));_this.delta=delta;_this.pipe="reverse";return _this}__name(ReverseContext2,"ReverseContext");return ReverseContext2}(Context);var isArray$1=typeof Array.isArray==="function"?Array.isArray:function(a){return a instanceof Array};var diffFilter=__name(function trivialMatchesDiffFilter(context){if(context.left===context.right){context.setResult(void 0).exit();return}if(typeof context.left==="undefined"){if(typeof context.right==="function"){throw new Error("functions are not supported")}context.setResult([context.right]).exit();return}if(typeof context.right==="undefined"){context.setResult([context.left,0,0]).exit();return}if(typeof context.left==="function"||typeof context.right==="function"){throw new Error("functions are not supported")}context.leftType=context.left===null?"null":_typeof(context.left);context.rightType=context.right===null?"null":_typeof(context.right);if(context.leftType!==context.rightType){context.setResult([context.left,context.right]).exit();return}if(context.leftType==="boolean"||context.leftType==="number"){context.setResult([context.left,context.right]).exit();return}if(context.leftType==="object"){context.leftIsArray=isArray$1(context.left)}if(context.rightType==="object"){context.rightIsArray=isArray$1(context.right)}if(context.leftIsArray!==context.rightIsArray){context.setResult([context.left,context.right]).exit();return}if(context.left instanceof RegExp){if(context.right instanceof RegExp){context.setResult([context.left.toString(),context.right.toString()]).exit()}else{context.setResult([context.left,context.right]).exit()}}},"trivialMatchesDiffFilter");diffFilter.filterName="trivial";var patchFilter=__name(function trivialMatchesPatchFilter(context){if(typeof context.delta==="undefined"){context.setResult(context.left).exit();return}context.nested=!isArray$1(context.delta);if(context.nested){return}if(context.delta.length===1){context.setResult(context.delta[0]).exit();return}if(context.delta.length===2){if(context.left instanceof RegExp){var regexArgs=/^\/(.*)\/([gimyu]+)$/.exec(context.delta[1]);if(regexArgs){context.setResult(new RegExp(regexArgs[1],regexArgs[2])).exit();return}}context.setResult(context.delta[1]).exit();return}if(context.delta.length===3&&context.delta[2]===0){context.setResult(void 0).exit()}},"trivialMatchesPatchFilter");patchFilter.filterName="trivial";var reverseFilter=__name(function trivialReferseFilter(context){if(typeof context.delta==="undefined"){context.setResult(context.delta).exit();return}context.nested=!isArray$1(context.delta);if(context.nested){return}if(context.delta.length===1){context.setResult([context.delta[0],0,0]).exit();return}if(context.delta.length===2){context.setResult([context.delta[1],context.delta[0]]).exit();return}if(context.delta.length===3&&context.delta[2]===0){context.setResult([context.delta[0]]).exit()}},"trivialReferseFilter");reverseFilter.filterName="trivial";function collectChildrenDiffFilter(context){if(!context||!context.children){return}var length=context.children.length;var child=void 0;var result=context.result;for(var index2=0;index2<length;index2++){child=context.children[index2];if(typeof child.result==="undefined"){continue}result=result||{};result[child.childName]=child.result}if(result&&context.leftIsArray){result._t="a"}context.setResult(result).exit()}__name(collectChildrenDiffFilter,"collectChildrenDiffFilter");collectChildrenDiffFilter.filterName="collectChildren";function objectsDiffFilter(context){if(context.leftIsArray||context.leftType!=="object"){return}var name=void 0;var child=void 0;var propertyFilter=context.options.propertyFilter;for(name in context.left){if(!Object.prototype.hasOwnProperty.call(context.left,name)){continue}if(propertyFilter&&!propertyFilter(name,context)){continue}child=new DiffContext(context.left[name],context.right[name]);context.push(child,name)}for(name in context.right){if(!Object.prototype.hasOwnProperty.call(context.right,name)){continue}if(propertyFilter&&!propertyFilter(name,context)){continue}if(typeof context.left[name]==="undefined"){child=new DiffContext(void 0,context.right[name]);context.push(child,name)}}if(!context.children||context.children.length===0){context.setResult(void 0).exit();return}context.exit()}__name(objectsDiffFilter,"objectsDiffFilter");objectsDiffFilter.filterName="objects";var patchFilter$1=__name(function nestedPatchFilter(context){if(!context.nested){return}if(context.delta._t){return}var name=void 0;var child=void 0;for(name in context.delta){child=new PatchContext(context.left[name],context.delta[name]);context.push(child,name)}context.exit()},"nestedPatchFilter");patchFilter$1.filterName="objects";var collectChildrenPatchFilter=__name(function collectChildrenPatchFilter2(context){if(!context||!context.children){return}if(context.delta._t){return}var length=context.children.length;var child=void 0;for(var index2=0;index2<length;index2++){child=context.children[index2];if(Object.prototype.hasOwnProperty.call(context.left,child.childName)&&child.result===void 0){delete context.left[child.childName]}else if(context.left[child.childName]!==child.result){context.left[child.childName]=child.result}}context.setResult(context.left).exit()},"collectChildrenPatchFilter");collectChildrenPatchFilter.filterName="collectChildren";var reverseFilter$1=__name(function nestedReverseFilter(context){if(!context.nested){return}if(context.delta._t){return}var name=void 0;var child=void 0;for(name in context.delta){child=new ReverseContext(context.delta[name]);context.push(child,name)}context.exit()},"nestedReverseFilter");reverseFilter$1.filterName="objects";function collectChildrenReverseFilter(context){if(!context||!context.children){return}if(context.delta._t){return}var length=context.children.length;var child=void 0;var delta={};for(var index2=0;index2<length;index2++){child=context.children[index2];if(delta[child.childName]!==child.result){delta[child.childName]=child.result}}context.setResult(delta).exit()}__name(collectChildrenReverseFilter,"collectChildrenReverseFilter");collectChildrenReverseFilter.filterName="collectChildren";var defaultMatch=__name(function defaultMatch2(array1,array2,index1,index2){return array1[index1]===array2[index2]},"defaultMatch");var lengthMatrix=__name(function lengthMatrix2(array1,array2,match,context){var len1=array1.length;var len2=array2.length;var x=void 0,y=void 0;var matrix=[len1+1];for(x=0;x<len1+1;x++){matrix[x]=[len2+1];for(y=0;y<len2+1;y++){matrix[x][y]=0}}matrix.match=match;for(x=1;x<len1+1;x++){for(y=1;y<len2+1;y++){if(match(array1,array2,x-1,y-1,context)){matrix[x][y]=matrix[x-1][y-1]+1}else{matrix[x][y]=Math.max(matrix[x-1][y],matrix[x][y-1])}}}return matrix},"lengthMatrix");var backtrack=__name(function backtrack2(matrix,array1,array2,context){var index1=array1.length;var index2=array2.length;var subsequence={sequence:[],indices1:[],indices2:[]};while(index1!==0&&index2!==0){var sameLetter=matrix.match(array1,array2,index1-1,index2-1,context);if(sameLetter){subsequence.sequence.unshift(array1[index1-1]);subsequence.indices1.unshift(index1-1);subsequence.indices2.unshift(index2-1);--index1;--index2}else{var valueAtMatrixAbove=matrix[index1][index2-1];var valueAtMatrixLeft=matrix[index1-1][index2];if(valueAtMatrixAbove>valueAtMatrixLeft){--index2}else{--index1}}}return subsequence},"backtrack");var get$1=__name(function get2(array1,array2,match,context){var innerContext=context||{};var matrix=lengthMatrix(array1,array2,match||defaultMatch,innerContext);var result=backtrack(matrix,array1,array2,innerContext);if(typeof array1==="string"&&typeof array2==="string"){result.sequence=result.sequence.join("")}return result},"get");var lcs={get:get$1};var ARRAY_MOVE=3;var isArray$2=typeof Array.isArray==="function"?Array.isArray:function(a){return a instanceof Array};var arrayIndexOf=typeof Array.prototype.indexOf==="function"?function(array,item){return array.indexOf(item)}:function(array,item){var length=array.length;for(var i=0;i<length;i++){if(array[i]===item){return i}}return-1};function arraysHaveMatchByRef(array1,array2,len1,len2){for(var index1=0;index1<len1;index1++){var val1=array1[index1];for(var index2=0;index2<len2;index2++){var val2=array2[index2];if(index1!==index2&&val1===val2){return true}}}}__name(arraysHaveMatchByRef,"arraysHaveMatchByRef");function matchItems(array1,array2,index1,index2,context){var value1=array1[index1];var value2=array2[index2];if(value1===value2){return true}if((typeof value1==="undefined"?"undefined":_typeof(value1))!=="object"||(typeof value2==="undefined"?"undefined":_typeof(value2))!=="object"){return false}var objectHash=context.objectHash;if(!objectHash){return context.matchByPosition&&index1===index2}var hash1=void 0;var hash2=void 0;if(typeof index1==="number"){context.hashCache1=context.hashCache1||[];hash1=context.hashCache1[index1];if(typeof hash1==="undefined"){context.hashCache1[index1]=hash1=objectHash(value1,index1)}}else{hash1=objectHash(value1)}if(typeof hash1==="undefined"){return false}if(typeof index2==="number"){context.hashCache2=context.hashCache2||[];hash2=context.hashCache2[index2];if(typeof hash2==="undefined"){context.hashCache2[index2]=hash2=objectHash(value2,index2)}}else{hash2=objectHash(value2)}if(typeof hash2==="undefined"){return false}return hash1===hash2}__name(matchItems,"matchItems");var diffFilter$1=__name(function arraysDiffFilter(context){if(!context.leftIsArray){return}var matchContext={objectHash:context.options&&context.options.objectHash,matchByPosition:context.options&&context.options.matchByPosition};var commonHead=0;var commonTail=0;var index2=void 0;var index1=void 0;var index22=void 0;var array1=context.left;var array2=context.right;var len1=array1.length;var len2=array2.length;var child=void 0;if(len1>0&&len2>0&&!matchContext.objectHash&&typeof matchContext.matchByPosition!=="boolean"){matchContext.matchByPosition=!arraysHaveMatchByRef(array1,array2,len1,len2)}while(commonHead<len1&&commonHead<len2&&matchItems(array1,array2,commonHead,commonHead,matchContext)){index2=commonHead;child=new DiffContext(context.left[index2],context.right[index2]);context.push(child,index2);commonHead++}while(commonTail+commonHead<len1&&commonTail+commonHead<len2&&matchItems(array1,array2,len1-1-commonTail,len2-1-commonTail,matchContext)){index1=len1-1-commonTail;index22=len2-1-commonTail;child=new DiffContext(context.left[index1],context.right[index22]);context.push(child,index22);commonTail++}var result=void 0;if(commonHead+commonTail===len1){if(len1===len2){context.setResult(void 0).exit();return}result=result||{_t:"a"};for(index2=commonHead;index2<len2-commonTail;index2++){result[index2]=[array2[index2]]}context.setResult(result).exit();return}if(commonHead+commonTail===len2){result=result||{_t:"a"};for(index2=commonHead;index2<len1-commonTail;index2++){result["_"+index2]=[array1[index2],0,0]}context.setResult(result).exit();return}delete matchContext.hashCache1;delete matchContext.hashCache2;var trimmed1=array1.slice(commonHead,len1-commonTail);var trimmed2=array2.slice(commonHead,len2-commonTail);var seq=lcs.get(trimmed1,trimmed2,matchItems,matchContext);var removedItems=[];result=result||{_t:"a"};for(index2=commonHead;index2<len1-commonTail;index2++){if(arrayIndexOf(seq.indices1,index2-commonHead)<0){result["_"+index2]=[array1[index2],0,0];removedItems.push(index2)}}var detectMove=true;if(context.options&&context.options.arrays&&context.options.arrays.detectMove===false){detectMove=false}var includeValueOnMove=false;if(context.options&&context.options.arrays&&context.options.arrays.includeValueOnMove){includeValueOnMove=true}var removedItemsLength=removedItems.length;for(index2=commonHead;index2<len2-commonTail;index2++){var indexOnArray2=arrayIndexOf(seq.indices2,index2-commonHead);if(indexOnArray2<0){var isMove=false;if(detectMove&&removedItemsLength>0){for(var removeItemIndex1=0;removeItemIndex1<removedItemsLength;removeItemIndex1++){index1=removedItems[removeItemIndex1];if(matchItems(trimmed1,trimmed2,index1-commonHead,index2-commonHead,matchContext)){result["_"+index1].splice(1,2,index2,ARRAY_MOVE);if(!includeValueOnMove){result["_"+index1][0]=""}index22=index2;child=new DiffContext(context.left[index1],context.right[index22]);context.push(child,index22);removedItems.splice(removeItemIndex1,1);isMove=true;break}}}if(!isMove){result[index2]=[array2[index2]]}}else{index1=seq.indices1[indexOnArray2]+commonHead;index22=seq.indices2[indexOnArray2]+commonHead;child=new DiffContext(context.left[index1],context.right[index22]);context.push(child,index22)}}context.setResult(result).exit()},"arraysDiffFilter");diffFilter$1.filterName="arrays";var compare={numerically:__name(function numerically(a,b){return a-b},"numerically"),numericallyBy:__name(function numericallyBy(name){return function(a,b){return a[name]-b[name]}},"numericallyBy")};var patchFilter$2=__name(function nestedPatchFilter(context){if(!context.nested){return}if(context.delta._t!=="a"){return}var index2=void 0;var index1=void 0;var delta=context.delta;var array=context.left;var toRemove=[];var toInsert=[];var toModify=[];for(index2 in delta){if(index2!=="_t"){if(index2[0]==="_"){if(delta[index2][2]===0||delta[index2][2]===ARRAY_MOVE){toRemove.push(parseInt(index2.slice(1),10))}else{throw new Error("only removal or move can be applied at original array indices,"+(" invalid diff type: "+delta[index2][2]))}}else{if(delta[index2].length===1){toInsert.push({index:parseInt(index2,10),value:delta[index2][0]})}else{toModify.push({index:parseInt(index2,10),delta:delta[index2]})}}}}toRemove=toRemove.sort(compare.numerically);for(index2=toRemove.length-1;index2>=0;index2--){index1=toRemove[index2];var indexDiff=delta["_"+index1];var removedValue=array.splice(index1,1)[0];if(indexDiff[2]===ARRAY_MOVE){toInsert.push({index:indexDiff[1],value:removedValue})}}toInsert=toInsert.sort(compare.numericallyBy("index"));var toInsertLength=toInsert.length;for(index2=0;index2<toInsertLength;index2++){var insertion=toInsert[index2];array.splice(insertion.index,0,insertion.value)}var toModifyLength=toModify.length;var child=void 0;if(toModifyLength>0){for(index2=0;index2<toModifyLength;index2++){var modification=toModify[index2];child=new PatchContext(context.left[modification.index],modification.delta);context.push(child,modification.index)}}if(!context.children){context.setResult(context.left).exit();return}context.exit()},"nestedPatchFilter");patchFilter$2.filterName="arrays";var collectChildrenPatchFilter$1=__name(function collectChildrenPatchFilter2(context){if(!context||!context.children){return}if(context.delta._t!=="a"){return}var length=context.children.length;var child=void 0;for(var index2=0;index2<length;index2++){child=context.children[index2];context.left[child.childName]=child.result}context.setResult(context.left).exit()},"collectChildrenPatchFilter");collectChildrenPatchFilter$1.filterName="arraysCollectChildren";var reverseFilter$2=__name(function arraysReverseFilter(context){if(!context.nested){if(context.delta[2]===ARRAY_MOVE){context.newName="_"+context.delta[1];context.setResult([context.delta[0],parseInt(context.childName.substr(1),10),ARRAY_MOVE]).exit()}return}if(context.delta._t!=="a"){return}var name=void 0;var child=void 0;for(name in context.delta){if(name==="_t"){continue}child=new ReverseContext(context.delta[name]);context.push(child,name)}context.exit()},"arraysReverseFilter");reverseFilter$2.filterName="arrays";var reverseArrayDeltaIndex=__name(function reverseArrayDeltaIndex2(delta,index2,itemDelta){if(typeof index2==="string"&&index2[0]==="_"){return parseInt(index2.substr(1),10)}else if(isArray$2(itemDelta)&&itemDelta[2]===0){return"_"+index2}var reverseIndex=+index2;for(var deltaIndex in delta){var deltaItem=delta[deltaIndex];if(isArray$2(deltaItem)){if(deltaItem[2]===ARRAY_MOVE){var moveFromIndex=parseInt(deltaIndex.substr(1),10);var moveToIndex=deltaItem[1];if(moveToIndex===+index2){return moveFromIndex}if(moveFromIndex<=reverseIndex&&moveToIndex>reverseIndex){reverseIndex++}else if(moveFromIndex>=reverseIndex&&moveToIndex<reverseIndex){reverseIndex--}}else if(deltaItem[2]===0){var deleteIndex=parseInt(deltaIndex.substr(1),10);if(deleteIndex<=reverseIndex){reverseIndex++}}else if(deltaItem.length===1&&deltaIndex<=reverseIndex){reverseIndex--}}}return reverseIndex},"reverseArrayDeltaIndex");function collectChildrenReverseFilter$1(context){if(!context||!context.children){return}if(context.delta._t!=="a"){return}var length=context.children.length;var child=void 0;var delta={_t:"a"};for(var index2=0;index2<length;index2++){child=context.children[index2];var name=child.newName;if(typeof name==="undefined"){name=reverseArrayDeltaIndex(context.delta,child.childName,child.result)}if(delta[name]!==child.result){delta[name]=child.result}}context.setResult(delta).exit()}__name(collectChildrenReverseFilter$1,"collectChildrenReverseFilter$1");collectChildrenReverseFilter$1.filterName="arraysCollectChildren";var diffFilter$2=__name(function datesDiffFilter(context){if(context.left instanceof Date){if(context.right instanceof Date){if(context.left.getTime()!==context.right.getTime()){context.setResult([context.left,context.right])}else{context.setResult(void 0)}}else{context.setResult([context.left,context.right])}context.exit()}else if(context.right instanceof Date){context.setResult([context.left,context.right]).exit()}},"datesDiffFilter");diffFilter$2.filterName="dates";var TEXT_DIFF=2;var DEFAULT_MIN_LENGTH=60;var cachedDiffPatch=null;var getDiffMatchPatch=__name(function getDiffMatchPatch2(required){if(!cachedDiffPatch){var instance=void 0;if(typeof diff_match_patch!=="undefined"){instance=typeof diff_match_patch==="function"?new diff_match_patch:new diff_match_patch.diff_match_patch}else if(dmp){try{instance=dmp&&new dmp}catch(err){instance=null}}if(!instance){if(!required){return null}var error=new Error("text diff_match_patch library not found");error.diff_match_patch_not_found=true;throw error}cachedDiffPatch={diff:__name(function diff2(txt1,txt2){return instance.patch_toText(instance.patch_make(txt1,txt2))},"diff"),patch:__name(function patch2(txt1,_patch){var results=instance.patch_apply(instance.patch_fromText(_patch),txt1);for(var i=0;i<results[1].length;i++){if(!results[1][i]){var _error=new Error("text patch failed");_error.textPatchFailed=true}}return results[0]},"patch")}}return cachedDiffPatch},"getDiffMatchPatch");var diffFilter$3=__name(function textsDiffFilter(context){if(context.leftType!=="string"){return}var minLength=context.options&&context.options.textDiff&&context.options.textDiff.minLength||DEFAULT_MIN_LENGTH;if(context.left.length<minLength||context.right.length<minLength){context.setResult([context.left,context.right]).exit();return}var diffMatchPatch2=getDiffMatchPatch();if(!diffMatchPatch2){context.setResult([context.left,context.right]).exit();return}var diff2=diffMatchPatch2.diff;context.setResult([diff2(context.left,context.right),0,TEXT_DIFF]).exit()},"textsDiffFilter");diffFilter$3.filterName="texts";var patchFilter$3=__name(function textsPatchFilter(context){if(context.nested){return}if(context.delta[2]!==TEXT_DIFF){return}var patch2=getDiffMatchPatch(true).patch;context.setResult(patch2(context.left,context.delta[0])).exit()},"textsPatchFilter");patchFilter$3.filterName="texts";var textDeltaReverse=__name(function textDeltaReverse2(delta){var i=void 0;var l=void 0;var lines=void 0;var line=void 0;var lineTmp=void 0;var header=null;var headerRegex=/^@@ +-(\d+),(\d+) +\+(\d+),(\d+) +@@$/;var lineHeader=void 0;lines=delta.split("\n");for(i=0,l=lines.length;i<l;i++){line=lines[i];var lineStart=line.slice(0,1);if(lineStart==="@"){header=headerRegex.exec(line);lineHeader=i;lines[lineHeader]="@@ -"+header[3]+","+header[4]+" +"+header[1]+","+header[2]+" @@"}else if(lineStart==="+"){lines[i]="-"+lines[i].slice(1);if(lines[i-1].slice(0,1)==="+"){lineTmp=lines[i];lines[i]=lines[i-1];lines[i-1]=lineTmp}}else if(lineStart==="-"){lines[i]="+"+lines[i].slice(1)}}return lines.join("\n")},"textDeltaReverse");var reverseFilter$3=__name(function textsReverseFilter(context){if(context.nested){return}if(context.delta[2]!==TEXT_DIFF){return}context.setResult([textDeltaReverse(context.delta[0]),0,TEXT_DIFF]).exit()},"textsReverseFilter");reverseFilter$3.filterName="texts";var DiffPatcher=function(){function DiffPatcher2(options){classCallCheck(this,DiffPatcher2);this.processor=new Processor(options);this.processor.pipe(new Pipe("diff").append(collectChildrenDiffFilter,diffFilter,diffFilter$2,diffFilter$3,objectsDiffFilter,diffFilter$1).shouldHaveResult());this.processor.pipe(new Pipe("patch").append(collectChildrenPatchFilter,collectChildrenPatchFilter$1,patchFilter,patchFilter$3,patchFilter$1,patchFilter$2).shouldHaveResult());this.processor.pipe(new Pipe("reverse").append(collectChildrenReverseFilter,collectChildrenReverseFilter$1,reverseFilter,reverseFilter$3,reverseFilter$1,reverseFilter$2).shouldHaveResult())}__name(DiffPatcher2,"DiffPatcher");createClass(DiffPatcher2,[{key:"options",value:__name(function options(){var _processor;return(_processor=this.processor).options.apply(_processor,arguments)},"options")},{key:"diff",value:__name(function diff2(left,right){return this.processor.process(new DiffContext(left,right))},"diff")},{key:"patch",value:__name(function patch2(left,delta){return this.processor.process(new PatchContext(left,delta))},"patch")},{key:"reverse",value:__name(function reverse2(delta){return this.processor.process(new ReverseContext(delta))},"reverse")},{key:"unpatch",value:__name(function unpatch(right,delta){return this.patch(right,this.reverse(delta))},"unpatch")},{key:"clone",value:__name(function clone$$1(value){return clone(value)},"clone$$1")}]);return DiffPatcher2}();var isArray$3=typeof Array.isArray==="function"?Array.isArray:function(a){return a instanceof Array};var getObjectKeys=typeof Object.keys==="function"?function(obj){return Object.keys(obj)}:function(obj){var names=[];for(var property in obj){if(Object.prototype.hasOwnProperty.call(obj,property)){names.push(property)}}return names};var trimUnderscore=__name(function trimUnderscore2(str){if(str.substr(0,1)==="_"){return str.slice(1)}return str},"trimUnderscore");var arrayKeyToSortNumber=__name(function arrayKeyToSortNumber2(key){if(key==="_t"){return-1}else{if(key.substr(0,1)==="_"){return parseInt(key.slice(1),10)}else{return parseInt(key,10)+.1}}},"arrayKeyToSortNumber");var arrayKeyComparer=__name(function arrayKeyComparer2(key1,key2){return arrayKeyToSortNumber(key1)-arrayKeyToSortNumber(key2)},"arrayKeyComparer");var BaseFormatter=function(){function BaseFormatter2(){classCallCheck(this,BaseFormatter2)}__name(BaseFormatter2,"BaseFormatter");createClass(BaseFormatter2,[{key:"format",value:__name(function format(delta,left){var context={};this.prepareContext(context);this.recurse(context,delta,left);return this.finalize(context)},"format")},{key:"prepareContext",value:__name(function prepareContext(context){context.buffer=[];context.out=function(){var _buffer;(_buffer=this.buffer).push.apply(_buffer,arguments)}},"prepareContext")},{key:"typeFormattterNotFound",value:__name(function typeFormattterNotFound(context,deltaType){throw new Error("cannot format delta type: "+deltaType)},"typeFormattterNotFound")},{key:"typeFormattterErrorFormatter",value:__name(function typeFormattterErrorFormatter(context,err){return err.toString()},"typeFormattterErrorFormatter")},{key:"finalize",value:__name(function finalize(_ref){var buffer2=_ref.buffer;if(isArray$3(buffer2)){return buffer2.join("")}},"finalize")},{key:"recurse",value:__name(function recurse(context,delta,left,key,leftKey,movedFrom,isLast){var useMoveOriginHere=delta&&movedFrom;var leftValue=useMoveOriginHere?movedFrom.value:left;if(typeof delta==="undefined"&&typeof key==="undefined"){return void 0}var type=this.getDeltaType(delta,movedFrom);var nodeType=type==="node"?delta._t==="a"?"array":"object":"";if(typeof key!=="undefined"){this.nodeBegin(context,key,leftKey,type,nodeType,isLast)}else{this.rootBegin(context,type,nodeType)}var typeFormattter=void 0;try{typeFormattter=this["format_"+type]||this.typeFormattterNotFound(context,type);typeFormattter.call(this,context,delta,leftValue,key,leftKey,movedFrom)}catch(err){this.typeFormattterErrorFormatter(context,err,delta,leftValue,key,leftKey,movedFrom);if(typeof console!=="undefined"&&console.error){console.error(err.stack)}}if(typeof key!=="undefined"){this.nodeEnd(context,key,leftKey,type,nodeType,isLast)}else{this.rootEnd(context,type,nodeType)}},"recurse")},{key:"formatDeltaChildren",value:__name(function formatDeltaChildren(context,delta,left){var self2=this;this.forEachDeltaKey(delta,left,function(key,leftKey,movedFrom,isLast){self2.recurse(context,delta[key],left?left[leftKey]:void 0,key,leftKey,movedFrom,isLast)})},"formatDeltaChildren")},{key:"forEachDeltaKey",value:__name(function forEachDeltaKey(delta,left,fn){var keys=getObjectKeys(delta);var arrayKeys=delta._t==="a";var moveDestinations={};var name=void 0;if(typeof left!=="undefined"){for(name in left){if(Object.prototype.hasOwnProperty.call(left,name)){if(typeof delta[name]==="undefined"&&(!arrayKeys||typeof delta["_"+name]==="undefined")){keys.push(name)}}}}for(name in delta){if(Object.prototype.hasOwnProperty.call(delta,name)){var value=delta[name];if(isArray$3(value)&&value[2]===3){moveDestinations[value[1].toString()]={key:name,value:left&&left[parseInt(name.substr(1))]};if(this.includeMoveDestinations!==false){if(typeof left==="undefined"&&typeof delta[value[1]]==="undefined"){keys.push(value[1].toString())}}}}}if(arrayKeys){keys.sort(arrayKeyComparer)}else{keys.sort()}for(var index2=0,length=keys.length;index2<length;index2++){var key=keys[index2];if(arrayKeys&&key==="_t"){continue}var leftKey=arrayKeys?typeof key==="number"?key:parseInt(trimUnderscore(key),10):key;var isLast=index2===length-1;fn(key,leftKey,moveDestinations[leftKey],isLast)}},"forEachDeltaKey")},{key:"getDeltaType",value:__name(function getDeltaType(delta,movedFrom){if(typeof delta==="undefined"){if(typeof movedFrom!=="undefined"){return"movedestination"}return"unchanged"}if(isArray$3(delta)){if(delta.length===1){return"added"}if(delta.length===2){return"modified"}if(delta.length===3&&delta[2]===0){return"deleted"}if(delta.length===3&&delta[2]===2){return"textdiff"}if(delta.length===3&&delta[2]===3){return"moved"}}else if((typeof delta==="undefined"?"undefined":_typeof(delta))==="object"){return"node"}return"unknown"},"getDeltaType")},{key:"parseTextDiff",value:__name(function parseTextDiff(value){var output=[];var lines=value.split("\n@@ ");for(var i=0,l=lines.length;i<l;i++){var line=lines[i];var lineOutput={pieces:[]};var location=/^(?:@@ )?[-+]?(\d+),(\d+)/.exec(line).slice(1);lineOutput.location={line:location[0],chr:location[1]};var pieces=line.split("\n").slice(1);for(var pieceIndex=0,piecesLength=pieces.length;pieceIndex<piecesLength;pieceIndex++){var piece=pieces[pieceIndex];if(!piece.length){continue}var pieceOutput={type:"context"};if(piece.substr(0,1)==="+"){pieceOutput.type="added"}else if(piece.substr(0,1)==="-"){pieceOutput.type="deleted"}pieceOutput.text=piece.slice(1);lineOutput.pieces.push(pieceOutput)}output.push(lineOutput)}return output},"parseTextDiff")}]);return BaseFormatter2}();(function(_BaseFormatter){inherits(HtmlFormatter,_BaseFormatter);function HtmlFormatter(){classCallCheck(this,HtmlFormatter);return possibleConstructorReturn(this,(HtmlFormatter.__proto__||Object.getPrototypeOf(HtmlFormatter)).apply(this,arguments))}__name(HtmlFormatter,"HtmlFormatter");createClass(HtmlFormatter,[{key:"typeFormattterErrorFormatter",value:__name(function typeFormattterErrorFormatter(context,err){context.out('<pre class="jsondiffpatch-error">'+err+"</pre>")},"typeFormattterErrorFormatter")},{key:"formatValue",value:__name(function formatValue(context,value){context.out("<pre>"+htmlEscape(JSON.stringify(value,null,2))+"</pre>")},"formatValue")},{key:"formatTextDiffString",value:__name(function formatTextDiffString(context,value){var lines=this.parseTextDiff(value);context.out('<ul class="jsondiffpatch-textdiff">');for(var i=0,l=lines.length;i<l;i++){var line=lines[i];context.out('<li><div class="jsondiffpatch-textdiff-location">'+('<span class="jsondiffpatch-textdiff-line-number">'+line.location.line+'</span><span class="jsondiffpatch-textdiff-char">'+line.location.chr+'</span></div><div class="jsondiffpatch-textdiff-line">'));var pieces=line.pieces;for(var pieceIndex=0,piecesLength=pieces.length;pieceIndex<piecesLength;pieceIndex++){var piece=pieces[pieceIndex];context.out('<span class="jsondiffpatch-textdiff-'+piece.type+'">'+htmlEscape(decodeURI(piece.text))+"</span>")}context.out("</div></li>")}context.out("</ul>")},"formatTextDiffString")},{key:"rootBegin",value:__name(function rootBegin(context,type,nodeType){var nodeClass="jsondiffpatch-"+type+(nodeType?" jsondiffpatch-child-node-type-"+nodeType:"");context.out('<div class="jsondiffpatch-delta '+nodeClass+'">')},"rootBegin")},{key:"rootEnd",value:__name(function rootEnd(context){context.out("</div>"+(context.hasArrows?'<script type="text/javascript">setTimeout('+(adjustArrows.toString()+",10);<\/script>"):""))},"rootEnd")},{key:"nodeBegin",value:__name(function nodeBegin(context,key,leftKey,type,nodeType){var nodeClass="jsondiffpatch-"+type+(nodeType?" jsondiffpatch-child-node-type-"+nodeType:"");context.out('<li class="'+nodeClass+'" data-key="'+leftKey+'">'+('<div class="jsondiffpatch-property-name">'+leftKey+"</div>"))},"nodeBegin")},{key:"nodeEnd",value:__name(function nodeEnd(context){context.out("</li>")},"nodeEnd")},{key:"format_unchanged",value:__name(function format_unchanged(context,delta,left){if(typeof left==="undefined"){return}context.out('<div class="jsondiffpatch-value">');this.formatValue(context,left);context.out("</div>")},"format_unchanged")},{key:"format_movedestination",value:__name(function format_movedestination(context,delta,left){if(typeof left==="undefined"){return}context.out('<div class="jsondiffpatch-value">');this.formatValue(context,left);context.out("</div>")},"format_movedestination")},{key:"format_node",value:__name(function format_node(context,delta,left){var nodeType=delta._t==="a"?"array":"object";context.out('<ul class="jsondiffpatch-node jsondiffpatch-node-type-'+nodeType+'">');this.formatDeltaChildren(context,delta,left);context.out("</ul>")},"format_node")},{key:"format_added",value:__name(function format_added(context,delta){context.out('<div class="jsondiffpatch-value">');this.formatValue(context,delta[0]);context.out("</div>")},"format_added")},{key:"format_modified",value:__name(function format_modified(context,delta){context.out('<div class="jsondiffpatch-value jsondiffpatch-left-value">');this.formatValue(context,delta[0]);context.out('</div><div class="jsondiffpatch-value jsondiffpatch-right-value">');this.formatValue(context,delta[1]);context.out("</div>")},"format_modified")},{key:"format_deleted",value:__name(function format_deleted(context,delta){context.out('<div class="jsondiffpatch-value">');this.formatValue(context,delta[0]);context.out("</div>")},"format_deleted")},{key:"format_moved",value:__name(function format_moved(context,delta){context.out('<div class="jsondiffpatch-value">');this.formatValue(context,delta[0]);context.out('</div><div class="jsondiffpatch-moved-destination">'+delta[1]+"</div>");context.out('<div class="jsondiffpatch-arrow" style="position: relative; left: -34px;">\n <svg width="30" height="60" style="position: absolute; display: none;">\n <defs>\n <marker id="markerArrow" markerWidth="8" markerHeight="8"\n refx="2" refy="4"\n orient="auto" markerUnits="userSpaceOnUse">\n <path d="M1,1 L1,7 L7,4 L1,1" style="fill: #339;" />\n </marker>\n </defs>\n <path d="M30,0 Q-10,25 26,50"\n style="stroke: #88f; stroke-width: 2px; fill: none; stroke-opacity: 0.5; marker-end: url(#markerArrow);"\n ></path>\n </svg>\n </div>');context.hasArrows=true},"format_moved")},{key:"format_textdiff",value:__name(function format_textdiff(context,delta){context.out('<div class="jsondiffpatch-value">');this.formatTextDiffString(context,delta[0]);context.out("</div>")},"format_textdiff")}]);return HtmlFormatter})(BaseFormatter);function htmlEscape(text){var html=text;var replacements=[[/&/g,"&"],[/</g,"<"],[/>/g,">"],[/'/g,"'"],[/"/g,"""]];for(var i=0;i<replacements.length;i++){html=html.replace(replacements[i][0],replacements[i][1])}return html}__name(htmlEscape,"htmlEscape");var adjustArrows=__name(function jsondiffpatchHtmlFormatterAdjustArrows(nodeArg){var node=nodeArg||document;var getElementText=__name(function getElementText2(_ref){var textContent=_ref.textContent,innerText=_ref.innerText;return textContent||innerText},"getElementText");var eachByQuery=__name(function eachByQuery2(el,query,fn){var elems=el.querySelectorAll(query);for(var i=0,l=elems.length;i<l;i++){fn(elems[i])}},"eachByQuery");var eachChildren=__name(function eachChildren2(_ref2,fn){var children=_ref2.children;for(var i=0,l=children.length;i<l;i++){fn(children[i],i)}},"eachChildren");eachByQuery(node,".jsondiffpatch-arrow",function(_ref3){var parentNode=_ref3.parentNode,children=_ref3.children,style=_ref3.style;var arrowParent=parentNode;var svg=children[0];var path=svg.children[1];svg.style.display="none";var destination=getElementText(arrowParent.querySelector(".jsondiffpatch-moved-destination"));var container=arrowParent.parentNode;var destinationElem=void 0;eachChildren(container,function(child){if(child.getAttribute("data-key")===destination){destinationElem=child}});if(!destinationElem){return}try{var distance=destinationElem.offsetTop-arrowParent.offsetTop;svg.setAttribute("height",Math.abs(distance)+6);style.top=-8+(distance>0?0:distance)+"px";var curve=distance>0?"M30,0 Q-10,"+Math.round(distance/2)+" 26,"+(distance-4):"M30,"+-distance+" Q-10,"+Math.round(-distance/2)+" 26,4";path.setAttribute("d",curve);svg.style.display=""}catch(err){}})},"jsondiffpatchHtmlFormatterAdjustArrows");var AnnotatedFormatter=function(_BaseFormatter){inherits(AnnotatedFormatter2,_BaseFormatter);function AnnotatedFormatter2(){classCallCheck(this,AnnotatedFormatter2);var _this=possibleConstructorReturn(this,(AnnotatedFormatter2.__proto__||Object.getPrototypeOf(AnnotatedFormatter2)).call(this));_this.includeMoveDestinations=false;return _this}__name(AnnotatedFormatter2,"AnnotatedFormatter");createClass(AnnotatedFormatter2,[{key:"prepareContext",value:__name(function prepareContext(context){get(AnnotatedFormatter2.prototype.__proto__||Object.getPrototypeOf(AnnotatedFormatter2.prototype),"prepareContext",this).call(this,context);context.indent=function(levels){this.indentLevel=(this.indentLevel||0)+(typeof levels==="undefined"?1:levels);this.indentPad=new Array(this.indentLevel+1).join(" ")};context.row=function(json,htmlNote){context.out('<tr><td style="white-space: nowrap;"><pre class="jsondiffpatch-annotated-indent" style="display: inline-block">');context.out(context.indentPad);context.out('</pre><pre style="display: inline-block">');context.out(json);context.out('</pre></td><td class="jsondiffpatch-delta-note"><div>');context.out(htmlNote);context.out("</div></td></tr>")}},"prepareContext")},{key:"typeFormattterErrorFormatter",value:__name(function typeFormattterErrorFormatter(context,err){context.row("",'<pre class="jsondiffpatch-error">'+err+"</pre>")},"typeFormattterErrorFormatter")},{key:"formatTextDiffString",value:__name(function formatTextDiffString(context,value){var lines=this.parseTextDiff(value);context.out('<ul class="jsondiffpatch-textdiff">');for(var i=0,l=lines.length;i<l;i++){var line=lines[i];context.out('<li><div class="jsondiffpatch-textdiff-location">'+('<span class="jsondiffpatch-textdiff-line-number">'+line.location.line+'</span><span class="jsondiffpatch-textdiff-char">'+line.location.chr+'</span></div><div class="jsondiffpatch-textdiff-line">'));var pieces=line.pieces;for(var pieceIndex=0,piecesLength=pieces.length;pieceIndex<piecesLength;pieceIndex++){var piece=pieces[pieceIndex];context.out('<span class="jsondiffpatch-textdiff-'+piece.type+'">'+piece.text+"</span>")}context.out("</div></li>")}context.out("</ul>")},"formatTextDiffString")},{key:"rootBegin",value:__name(function rootBegin(context,type,nodeType){context.out('<table class="jsondiffpatch-annotated-delta">');if(type==="node"){context.row("{");context.indent()}if(nodeType==="array"){context.row('"_t": "a",',"Array delta (member names indicate array indices)")}},"rootBegin")},{key:"rootEnd",value:__name(function rootEnd(context,type){if(type==="node"){context.indent(-1);context.row("}")}context.out("</table>")},"rootEnd")},{key:"nodeBegin",value:__name(function nodeBegin(context,key,leftKey,type,nodeType){context.row("""+key+"": {");if(type==="node"){context.indent()}if(nodeType==="array"){context.row('"_t": "a",',"Array delta (member names indicate array indices)")}},"nodeBegin")},{key:"nodeEnd",value:__name(function nodeEnd(context,key,leftKey,type,nodeType,isLast){if(type==="node"){context.indent(-1)}context.row("}"+(isLast?"":","))},"nodeEnd")},{key:"format_unchanged",value:__name(function format_unchanged(){},"format_unchanged")},{key:"format_movedestination",value:__name(function format_movedestination(){},"format_movedestination")},{key:"format_node",value:__name(function format_node(context,delta,left){this.formatDeltaChildren(context,delta,left)},"format_node")}]);return AnnotatedFormatter2}(BaseFormatter);var wrapPropertyName=__name(function wrapPropertyName2(name){return'<pre style="display:inline-block">"'+name+""</pre>"},"wrapPropertyName");var deltaAnnotations={added:__name(function added(delta,left,key,leftKey){var formatLegend=" <pre>([newValue])</pre>";if(typeof leftKey==="undefined"){return"new value"+formatLegend}if(typeof leftKey==="number"){return"insert at index "+leftKey+formatLegend}return"add property "+wrapPropertyName(leftKey)+formatLegend},"added"),modified:__name(function modified(delta,left,key,leftKey){var formatLegend=" <pre>([previousValue, newValue])</pre>";if(typeof leftKey==="undefined"){return"modify value"+formatLegend}if(typeof leftKey==="number"){return"modify at index "+leftKey+formatLegend}return"modify property "+wrapPropertyName(leftKey)+formatLegend},"modified"),deleted:__name(function deleted(delta,left,key,leftKey){var formatLegend=" <pre>([previousValue, 0, 0])</pre>";if(typeof leftKey==="undefined"){return"delete value"+formatLegend}if(typeof leftKey==="number"){return"remove index "+leftKey+formatLegend}return"delete property "+wrapPropertyName(leftKey)+formatLegend},"deleted"),moved:__name(function moved(delta,left,key,leftKey){return'move from <span title="(position to remove at original state)">'+("index "+leftKey+'</span> to <span title="(position to insert at final')+(' state)">index '+delta[1]+"</span>")},"moved"),textdiff:__name(function textdiff(delta,left,key,leftKey){var location=typeof leftKey==="undefined"?"":typeof leftKey==="number"?" at index "+leftKey:" at property "+wrapPropertyName(leftKey);return"text diff"+location+', format is <a href="https://code.google.com/p/google-diff-match-patch/wiki/Unidiff">a variation of Unidiff</a>'},"textdiff")};var formatAnyChange=__name(function formatAnyChange2(context,delta){var deltaType=this.getDeltaType(delta);var annotator=deltaAnnotations[deltaType];var htmlNote=annotator&&annotator.apply(annotator,Array.prototype.slice.call(arguments,1));var json=JSON.stringify(delta,null,2);if(deltaType==="textdiff"){json=json.split("\\n").join('\\n"+\n "')}context.indent();context.row(json,htmlNote);context.indent(-1)},"formatAnyChange");AnnotatedFormatter.prototype.format_added=formatAnyChange;AnnotatedFormatter.prototype.format_modified=formatAnyChange;AnnotatedFormatter.prototype.format_deleted=formatAnyChange;AnnotatedFormatter.prototype.format_moved=formatAnyChange;AnnotatedFormatter.prototype.format_textdiff=formatAnyChange;var OPERATIONS={add:"add",remove:"remove",replace:"replace",move:"move"};(function(_BaseFormatter){inherits(JSONFormatter,_BaseFormatter);function JSONFormatter(){classCallCheck(this,JSONFormatter);var _this=possibleConstructorReturn(this,(JSONFormatter.__proto__||Object.getPrototypeOf(JSONFormatter)).call(this));_this.includeMoveDestinations=true;return _this}__name(JSONFormatter,"JSONFormatter");createClass(JSONFormatter,[{key:"prepareContext",value:__name(function prepareContext(context){get(JSONFormatter.prototype.__proto__||Object.getPrototypeOf(JSONFormatter.prototype),"prepareContext",this).call(this,context);context.result=[];context.path=[];context.pushCurrentOp=function(obj){var op=obj.op,value=obj.value;var val={op,path:this.currentPath()};if(typeof value!=="undefined"){val.value=value}this.result.push(val)};context.pushMoveOp=function(to){var from=this.currentPath();this.result.push({op:OPERATIONS.move,from,path:this.toPath(to)})};context.currentPath=function(){return"/"+this.path.join("/")};context.toPath=function(toPath){var to=this.path.slice();to[to.length-1]=toPath;return"/"+to.join("/")}},"prepareContext")},{key:"typeFormattterErrorFormatter",value:__name(function typeFormattterErrorFormatter(context,err){context.out("[ERROR] "+err)},"typeFormattterErrorFormatter")},{key:"rootBegin",value:__name(function rootBegin(){},"rootBegin")},{key:"rootEnd",value:__name(function rootEnd(){},"rootEnd")},{key:"nodeBegin",value:__name(function nodeBegin(_ref,key,leftKey){var path=_ref.path;path.push(leftKey)},"nodeBegin")},{key:"nodeEnd",value:__name(function nodeEnd(_ref2){var path=_ref2.path;path.pop()},"nodeEnd")},{key:"format_unchanged",value:__name(function format_unchanged(){},"format_unchanged")},{key:"format_movedestination",value:__name(function format_movedestination(){},"format_movedestination")},{key:"format_node",value:__name(function format_node(context,delta,left){this.formatDeltaChildren(context,delta,left)},"format_node")},{key:"format_added",value:__name(function format_added(context,delta){context.pushCurrentOp({op:OPERATIONS.add,value:delta[0]})},"format_added")},{key:"format_modified",value:__name(function format_modified(context,delta){context.pushCurrentOp({op:OPERATIONS.replace,value:delta[1]})},"format_modified")},{key:"format_deleted",value:__name(function format_deleted(context){context.pushCurrentOp({op:OPERATIONS.remove})},"format_deleted")},{key:"format_moved",value:__name(function format_moved(context,delta){var to=delta[1];context.pushMoveOp(to)},"format_moved")},{key:"format_textdiff",value:__name(function format_textdiff(){throw new Error("Not implemented")},"format_textdiff")},{key:"format",value:__name(function format(delta,left){var context={};this.prepareContext(context);this.recurse(context,delta,left);return context.result},"format")}]);return JSONFormatter})(BaseFormatter);function chalkColor(name){return chalk$1&&chalk$1[name]||function(){for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]}return args}}__name(chalkColor,"chalkColor");var colors={added:chalkColor("green"),deleted:chalkColor("red"),movedestination:chalkColor("gray"),moved:chalkColor("yellow"),unchanged:chalkColor("gray"),error:chalkColor("white.bgRed"),textDiffLine:chalkColor("gray")};(function(_BaseFormatter){inherits(ConsoleFormatter,_BaseFormatter);function ConsoleFormatter(){classCallCheck(this,ConsoleFormatter);var _this=possibleConstructorReturn(this,(ConsoleFormatter.__proto__||Object.getPrototypeOf(ConsoleFormatter)).call(this));_this.includeMoveDestinations=false;return _this}__name(ConsoleFormatter,"ConsoleFormatter");createClass(ConsoleFormatter,[{key:"prepareContext",value:__name(function prepareContext(context){get(ConsoleFormatter.prototype.__proto__||Object.getPrototypeOf(ConsoleFormatter.prototype),"prepareContext",this).call(this,context);context.indent=function(levels){this.indentLevel=(this.indentLevel||0)+(typeof levels==="undefined"?1:levels);this.indentPad=new Array(this.indentLevel+1).join(" ");this.outLine()};context.outLine=function(){this.buffer.push("\n"+(this.indentPad||""))};context.out=function(){for(var _len2=arguments.length,args=Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2]}for(var i=0,l=args.length;i<l;i++){var lines=args[i].split("\n");var text=lines.join("\n"+(this.indentPad||""));if(this.color&&this.color[0]){text=this.color[0](text)}this.buffer.push(text)}};context.pushColor=function(color){this.color=this.color||[];this.color.unshift(color)};context.popColor=function(){this.color=this.color||[];this.color.shift()}},"prepareContext")},{key:"typeFormattterErrorFormatter",value:__name(function typeFormattterErrorFormatter(context,err){context.pushColor(colors.error);context.out("[ERROR]"+err);context.popColor()},"typeFormattterErrorFormatter")},{key:"formatValue",value:__name(function formatValue(context,value){context.out(JSON.stringify(value,null,2))},"formatValue")},{key:"formatTextDiffString",value:__name(function formatTextDiffString(context,value){var lines=this.parseTextDiff(value);context.indent();for(var i=0,l=lines.length;i<l;i++){var line=lines[i];context.pushColor(colors.textDiffLine);context.out(line.location.line+","+line.location.chr+" ");context.popColor();var pieces=line.pieces;for(var pieceIndex=0,piecesLength=pieces.length;pieceIndex<piecesLength;pieceIndex++){var piece=pieces[pieceIndex];context.pushColor(colors[piece.type]);context.out(piece.text);context.popColor()}if(i<l-1){context.outLine()}}context.indent(-1)},"formatTextDiffString")},{key:"rootBegin",value:__name(function rootBegin(context,type,nodeType){context.pushColor(colors[type]);if(type==="node"){context.out(nodeType==="array"?"[":"{");context.indent()}},"rootBegin")},{key:"rootEnd",value:__name(function rootEnd(context,type,nodeType){if(type==="node"){context.indent(-1);context.out(nodeType==="array"?"]":"}")}context.popColor()},"rootEnd")},{key:"nodeBegin",value:__name(function nodeBegin(context,key,leftKey,type,nodeType){context.pushColor(colors[type]);context.out(leftKey+": ");if(type==="node"){context.out(nodeType==="array"?"[":"{");context.indent()}},"nodeBegin")},{key:"nodeEnd",value:__name(function nodeEnd(context,key,leftKey,type,nodeType,isLast){if(type==="node"){context.indent(-1);context.out(nodeType==="array"?"]":"}"+(isLast?"":","))}if(!isLast){context.outLine()}context.popColor()},"nodeEnd")},{key:"format_unchanged",value:__name(function format_unchanged(context,delta,left){if(typeof left==="undefined"){return}this.formatValue(context,left)},"format_unchanged")},{key:"format_movedestination",value:__name(function format_movedestination(context,delta,left){if(typeof left==="undefined"){return}this.formatValue(context,left)},"format_movedestination")},{key:"format_node",value:__name(function format_node(context,delta,left){this.formatDeltaChildren(context,delta,left)},"format_node")},{key:"format_added",value:__name(function format_added(context,delta){this.formatValue(context,delta[0])},"format_added")},{key:"format_modified",value:__name(function format_modified(context,delta){context.pushColor(colors.deleted);this.formatValue(context,delta[0]);context.popColor();context.out(" => ");context.pushColor(colors.added);this.formatValue(context,delta[1]);context.popColor()},"format_modified")},{key:"format_deleted",value:__name(function format_deleted(context,delta){this.formatValue(context,delta[0])},"format_deleted")},{key:"format_moved",value:__name(function format_moved(context,delta){context.out("==> "+delta[1])},"format_moved")},{key:"format_textdiff",value:__name(function format_textdiff(context,delta){this.formatTextDiffString(context,delta[0])},"format_textdiff")}]);return ConsoleFormatter})(BaseFormatter);var defaultInstance$4=void 0;function diff(){if(!defaultInstance$4){defaultInstance$4=new DiffPatcher}return defaultInstance$4.diff.apply(defaultInstance$4,arguments)}__name(diff,"diff");function patch(){if(!defaultInstance$4){defaultInstance$4=new DiffPatcher}return defaultInstance$4.patch.apply(defaultInstance$4,arguments)}__name(patch,"patch");function reverse(){if(!defaultInstance$4){defaultInstance$4=new DiffPatcher}return defaultInstance$4.reverse.apply(defaultInstance$4,arguments)}__name(reverse,"reverse");const proteinAlphabet={A:{value:"A",name:"Alanine",threeLettersName:"Ala",hydrophobicity:1.8,colorByFamily:"#00FFFF",color:"hsl(327.3, 100%, 69%)",mass:89.1},R:{value:"R",name:"Arginine",threeLettersName:"Arg",hydrophobicity:-4.5,colorByFamily:"#FFC0CB",color:"hsl(258.1, 100%, 69%)",mass:174.2},N:{value:"N",name:"Asparagine",threeLettersName:"Asn",hydrophobicity:-3.5,colorByFamily:"#D3D3D3",color:"hsl(268.9, 100%, 69%)",mass:132.1},D:{value:"D",name:"Aspartic acid",threeLettersName:"Asp",hydrophobicity:-3.5,colorByFamily:"#EE82EE",color:"hsl(268.9, 100%, 69%)",mass:133.1},C:{value:"C",name:"Cysteine",threeLettersName:"Cys",hydrophobicity:2.5,colorByFamily:"#FFFF00",color:"hsl(335.1, 100%, 69%)",mass:121.2},E:{value:"E",name:"Glutamic acid",threeLettersName:"Glu",hydrophobicity:-3.5,colorByFamily:"#EE82EE",color:"hsl(268.9, 100%, 69%)",mass:147.1},Q:{value:"Q",name:"Glutamine",threeLettersName:"Gln",hydrophobicity:-3.5,colorByFamily:"#D3D3D3",color:"hsl(268.9, 100%, 69%)",mass:146.2},G:{value:"G",name:"Glycine",threeLettersName:"Gly",hydrophobicity:-.4,colorByFamily:"#00FFFF",color:"hsl(303.1, 100%, 69%)",mass:75.1},H:{value:"H",name:"Histidine",threeLettersName:"His",hydrophobicity:-3.2,colorByFamily:"#FFC0CB",color:"hsl(272.2, 100%, 69%)",mass:155.2},I:{value:"I",name:"Isoleucine ",threeLettersName:"Ile",hydrophobicity:4.5,colorByFamily:"#00FFFF",color:"hsl(356.9, 100%, 69%)",mass:131.2},L:{value:"L",name:"Leucine",threeLettersName:"Leu",hydrophobicity:3.8,colorByFamily:"#00FFFF",color:"hsl(349.4, 100%, 69%)",mass:131.2},K:{value:"K",name:"Lysine",threeLettersName:"Lys",hydrophobicity:-3.9,colorByFamily:"#FFC0CB",color:"hsl(264.7, 100%, 69%)",mass:146.2},M:{value:"M",name:"Methionine",threeLettersName:"Met",hydrophobicity:1.9,colorByFamily:"#FFFF00",color:"hsl(328.5, 100%, 69%)",mass:149.2},F:{value:"F",name:"Phenylalanine",threeLettersName:"Phe",hydrophobicity:2.8,colorByFamily:"#FFA500",color:"hsl(338.4, 100%, 69%)",mass:165.2},P:{value:"P",name:"Proline",threeLettersName:"Pro",hydrophobicity:-1.6,colorByFamily:"#00FFFF",color:"hsl(289.9, 100%, 69%)",mass:115.1},S:{value:"S",name:"Serine",threeLettersName:"Ser",hydrophobicity:-.8,colorByFamily:"#90EE90",color:"hsl(298.6, 100%, 69%)",mass:105.1},T:{value:"T",name:"Threonine",threeLettersName:"Thr",hydrophobicity:-.7,colorByFamily:"#90EE90",color:"hsl(299.8, 100%, 69%)",mass:119.1},U:{value:"U",name:"Selenocysteine",threeLettersName:"Sec",colorByFamily:"#FF0000",color:"hsl(0, 100%, 69%)",mass:168.1},W:{value:"W",name:"Tryptophan",threeLettersName:"Trp",hydrophobicity:-.9,colorByFamily:"#FFA500",color:"hsl(297.6, 100%, 69%)",mass:204.2},Y:{value:"Y",name:"Tyrosine",threeLettersName:"Tyr",hydrophobicity:-1.3,colorByFamily:"#FFA500",color:"hsl(293.2, 100%, 69%)",mass:181.2},V:{value:"V",name:"Valine",threeLettersName:"Val",hydrophobicity:4.2,colorByFamily:"#00FFFF",color:"hsl(353.6, 100%, 69%)",mass:117.1},"*":{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:true,name:"B",aliases:"ND",mass:0},J:{value:"J",threeLettersName:"IL",colorByFamily:"#00FFFF",color:"hsl(352, 100%, 69%)",isAmbiguous:true,name:"J",aliases:"IL",mass:0},X:{value:"X",threeLettersName:"ACDEFGHIKLMNPQRSTVWY",colorByFamily:"#FFFFFF",color:"hsl(60, 100%, 69%)",isAmbiguous:true,name:"X",aliases:"ACDEFGHIKLMNPQRSTVWY",mass:0},Z:{value:"Z",threeLettersName:"QE",colorByFamily:"#D3D3D3",color:"hsl(268.9, 100%, 69%)",isAmbiguous:true,name:"Z",aliases:"QE",mass:0}};const threeLetterSequenceStringToAminoAcidMap={gct:proteinAlphabet.A,gcc:proteinAlphabet.A,gca:proteinAlphabet.A,gcg:proteinAlphabet.A,gcu:proteinAlphabet.A,cgt:proteinAlphabet.R,cgc:proteinAlphabet.R,cga:proteinAlphabet.R,cgg:proteinAlphabet.R,aga:proteinAlphabet.R,agg:proteinAlphabet.R,cgu:proteinAlphabet.R,aat:proteinAlphabet.N,aac:proteinAlphabet.N,aau:proteinAlphabet.N,gat:proteinAlphabet.D,gac:proteinAlphabet.D,gau:proteinAlphabet.D,tgt:proteinAlphabet.C,tgc:proteinAlphabet.C,ugu:proteinAlphabet.C,ugc:proteinAlphabet.C,gaa:proteinAlphabet.E,gag:proteinAlphabet.E,caa:proteinAlphabet.Q,cag:proteinAlphabet.Q,ggt:proteinAlphabet.G,ggc:proteinAlphabet.G,gga:proteinAlphabet.G,ggg:proteinAlphabet.G,ggu:proteinAlphabet.G,cat:proteinAlphabet.H,cac:proteinAlphabet.H,cau:proteinAlphabet.H,att:proteinAlphabet.I,atc:proteinAlphabet.I,ata:proteinAlphabet.I,auu:proteinAlphabet.I,auc:proteinAlphabet.I,aua:proteinAlphabet.I,ctt:proteinAlphabet.L,ctc:proteinAlphabet.L,cta:proteinAlphabet.L,ctg:proteinAlphabet.L,tta:proteinAlphabet.L,ttg:proteinAlphabet.L,cuu:proteinAlphabet.L,cuc:proteinAlphabet.L,cua:proteinAlphabet.L,cug:proteinAlphabet.L,uua:proteinAlphabet.L,uug:proteinAlphabet.L,aaa:proteinAlphabet.K,aag:proteinAlphabet.K,atg:proteinAlphabet.M,aug:proteinAlphabet.M,ttt:proteinAlphabet.F,ttc:proteinAlphabet.F,uuu:proteinAlphabet.F,uuc:proteinAlphabet.F,cct:proteinAlphabet.P,ccc:proteinAlphabet.P,cca:proteinAlphabet.P,ccg:proteinAlphabet.P,ccu:proteinAlphabet.P,tct:proteinAlphabet.S,tcc:proteinAlphabet.S,tca:proteinAlphabet.S,tcg:proteinAlphabet.S,agt:proteinAlphabet.S,agc:proteinAlphabet.S,ucu:proteinAlphabet.S,ucc:proteinAlphabet.S,uca:proteinAlphabet.S,ucg:proteinAlphabet.S,agu:proteinAlphabet.S,act:proteinAlphabet.T,acc:proteinAlphabet.T,aca:proteinAlphabet.T,acg:proteinAlphabet.T,acu:proteinAlphabet.T,tgg:proteinAlphabet.W,ugg:proteinAlphabet.W,tat:proteinAlphabet.Y,tac:proteinAlphabet.Y,uau:proteinAlphabet.Y,uac:proteinAlphabet.Y,gtt:proteinAlphabet.V,gtc:proteinAlphabet.V,gta:proteinAlphabet.V,gtg:proteinAlphabet.V,guu:proteinAlphabet.V,guc:proteinAlphabet.V,gua:proteinAlphabet.V,gug:proteinAlphabet.V,taa:proteinAlphabet["*"],tag:proteinAlphabet["*"],tga:proteinAlphabet["*"],"...":proteinAlphabet["."],"---":proteinAlphabet["-"]};const degenerateDnaToAminoAcidMap=lodashExports.invert(aminoAcidToDegenerateDnaMap);function getAminoAcidFromSequenceTriplet(sequenceString){sequenceString=sequenceString.toLowerCase();if(sequenceString.length!==3){throw new Error("must pass a string of length 3")}let aa=threeLetterSequenceStringToAminoAcidMap[sequenceString];if(aa){return aa}const letter=degenerateDnaToAminoAcidMap[sequenceString.replace("x","n")]||"x";return proteinAlphabet[letter.toUpperCase()]}__name(getAminoAcidFromSequenceTriplet,"getAminoAcidFromSequenceTriplet");function getAminoAcidDataForEachBaseOfDna(originalSequenceString,forward,optionalSubrangeRange,isProteinSequence){let originalSequenceStringLength=isProteinSequence?originalSequenceString.length*3:originalSequenceString.length;let sequenceString=originalSequenceString;let startOffset=0;if(optionalSubrangeRange){sequenceString=getSequenceWithinRange(optionalSubrangeRange,originalSequenceString);startOffset=optionalSubrangeRange.start}let sequenceStringLength=isProteinSequence?sequenceString.length*3:sequenceString.length;let aminoAcidDataForEachBaseOfDNA=[];let codonRange;let revCompGapLength=0;let aminoAcidIndex=0;if(!forward){aminoAcidIndex=Math.floor((sequenceStringLength-1)/3);revCompGapLength=sequenceStringLength%3;codonRange=translateRange({start:0,end:revCompGapLength-1},startOffset,originalSequenceStringLength);if(revCompGapLength>0){for(let i=0;i<revCompGapLength;i++){aminoAcidDataForEachBaseOfDNA.push({aminoAcid:getAminoAcidFromSequenceTriplet("xxx"),positionInCodon:revCompGapLength-i-1,aminoAcidIndex,sequenceIndex:codonRange.start+i,codonRange,fullCodon:false})}aminoAcidIndex--}}for(let index2=2+revCompGapLength;index2<sequenceStringLength;index2+=3){let aminoAcid;if(isProteinSequence){aminoAcid=proteinAlphabet[sequenceString[(index2-2)/3].toUpperCase()]}else{let triplet=sequenceString.slice(index2-2,index2+1);if(!forward){triplet=getReverseComplementSequenceString(triplet)}aminoAcid=getAminoAcidFromSequenceTriplet(triplet)}codonRange=translateRange({start:index2-2,end:index2},startOffset,originalSequenceStringLength);aminoAcidDataForEachBaseOfDNA.push({aminoAcid,positionInCodon:forward?0:2,aminoAcidIndex,sequenceIndex:codonRange.start,codonRange,fullCodon:true});aminoAcidDataForEachBaseOfDNA.push({aminoAcid,positionInCodon:1,aminoAcidIndex,sequenceIndex:codonRange.start+1,codonRange,fullCodon:true});aminoAcidDataForEachBaseOfDNA.push({aminoAcid,positionInCodon:forward?2:0,aminoAcidIndex,sequenceIndex:codonRange.start+2,codonRange,fullCodon:true});if(forward){aminoAcidIndex++}else{aminoAcidIndex--}}let lengthOfEndBpsNotCoveredByAminoAcids=sequenceStringLength-aminoAcidDataForEachBaseOfDNA.length;codonRange=translateRange({start:sequenceStringLength-lengthOfEndBpsNotCoveredByAminoAcids,end:sequenceStringLength-1},startOffset,originalSequenceStringLength);for(let j=0;j<lengthOfEndBpsNotCoveredByAminoAcids;j++){aminoAcidDataForEachBaseOfDNA.push({aminoAcid:getAminoAcidFromSequenceTriplet("xxx"),positionInCodon:j,aminoAcidIndex,sequenceIndex:codonRange.start+j,fullCodon:false,codonRange})}if(sequenceStringLength!==aminoAcidDataForEachBaseOfDNA.length){throw new Error("something went wrong!")}return aminoAcidDataForEachBaseOfDNA}__name(getAminoAcidDataForEachBaseOfDna,"getAminoAcidDataForEachBaseOfDna");const annotationTypes=["features","warnings","assemblyPieces","lineageAnnotations","parts","cutsites","orfs","translations","primers","guides"];const modifiableTypes=["features","assemblyPieces","lineageAnnotations","warnings","parts","translations","primers","guides"];function filterSequenceString(sequenceString,additionalValidChars="",charOverrides){if(sequenceString){return sequenceString.replace(new RegExp(`[^${charOverrides||`atgcyrswkmbvdhnu${additionalValidChars.split("").join("\\")}`}]`,"gi"),"")}else{return sequenceString}}__name(filterSequenceString,"filterSequenceString");function tidyUpAnnotation(_annotation,{sequenceData={},convertAnnotationsFromAAIndices,annotationType,provideNewIdsForAnnotations,doNotProvideIdsForAnnotations,messages=[],mutative,allowNonStandardGenbankTypes,featureTypes}){const{size,circular,isProtein}=sequenceData;if(!_annotation||typeof _annotation!=="object"){messages.push("Invalid annotation detected and removed");return false}let annotation=_annotation;if(!mutative){annotation=lodashExports.cloneDeep(_annotation)}annotation.annotationTypePlural=annotationType;if(!annotation.name||typeof annotation.name!=="string"){messages.push('Unable to detect valid name for annotation, setting name to "Untitled annotation"');annotation.name="Untitled annotation"}if(provideNewIdsForAnnotations){annotation.id=bsonObjectId().str}if(!annotation.id&&annotation.id!==0&&!doNotProvideIdsForAnnotations){annotation.id=bsonObjectId().str;messages.push("Unable to detect valid ID for annotation, setting ID to "+annotation.id)}coerceLocation({isProtein,location:annotation,convertAnnotationsFromAAIndices,size,messages,circular,name:annotation.name});annotation.locations&&annotation.locations.forEach(location=>{coerceLocation({isProtein,location,convertAnnotationsFromAAIndices,size,messages,circular,name:annotation.name})});if(isProtein||annotation.forward===true||annotation.forward==="true"||annotation.strand===1||annotation.strand==="1"||annotation.strand==="+"){annotation.forward=true;annotation.strand=1}else{annotation.forward=false;annotation.strand=-1}if(!annotation.type||typeof annotation.type!=="string"||!lodashExports.some(featureTypes||getFeatureTypes(),featureType=>{if(featureType.toLowerCase()===annotation.type.toLowerCase()){annotation.type=featureType;return true}if(allowNonStandardGenbankTypes||typeof window!=="undefined"&&lodashExports.get(window,"tg_allowNonStandardGenbankTypes")||typeof global!=="undefined"&&lodashExports.get(global,"tg_allowNonStandardGenbankTypes"))return true;return false})){messages.push("Invalid annotation type detected: "+annotation.type+" for "+annotation.name+". set type to misc_feature");annotation.type="misc_feature"}if(annotation.notes&&typeof annotation.notes==="string"){try{annotation.notes=JSON.parse(annotation.notes)}catch(error){console.info(`warning 33y00a0912 - couldn't parse notes for ${annotation.name||""} ${annotation.notes}:`,error)}}if(!annotation.color){annotation.color=getFeatureToColorMap()[annotation.type]}return annotation}__name(tidyUpAnnotation,"tidyUpAnnotation");function coerceLocation({location,convertAnnotationsFromAAIndices,size,isProtein,messages,circular,name}){location.start=parseInt(location.start,10);location.end=parseInt(location.end,10);if(convertAnnotationsFromAAIndices){location.start=location.start*3;location.end=location.end*3+2}if(location.start<0||!(location.start<=size-1)||location.start>size-1){messages.push("Invalid annotation start: "+location.start+" detected for "+location.name+" and set to size: "+size);location.start=size-(isProtein?3:1)}if(location.end<0||!(location.end<=size-1)||location.end>size-1){messages.push("Invalid annotation end: "+location.end+" detected for "+location.name+" and set to seq size: "+size);location.end=size-1}if(location.start>location.end&&circular===false){messages.push("Invalid circular annotation detected for "+name+". end set to 1");location.end=size}}__name(coerceLocation,"coerceLocation");function filterAminoAcidSequenceString(sequenceString,options){options=options||{};if(options.includeStopCodon){return sequenceString.replace(/[^xtgalmfwkqespvicyhrndu.*]/gi,"")}return sequenceString.replace(/[^xtgalmfwkqespvicyhrndu]/gi,"")}__name(filterAminoAcidSequenceString,"filterAminoAcidSequenceString");function getDegenerateDnaStringFromAAString(aaString){return aaString.split("").map(char=>aminoAcidToDegenerateDnaMap[char.toLowerCase()]||"nnn").join("")}__name(getDegenerateDnaStringFromAAString,"getDegenerateDnaStringFromAAString");function tidyUpSequenceData(pSeqData,options={}){const{annotationsAsObjects,logMessages,removeUnwantedChars,additionalValidChars,noTranslationData,charOverrides,doNotProvideIdsForAnnotations,proteinFilterOptions,noCdsTranslations,convertAnnotationsFromAAIndices}=options;let seqData=lodashExports.cloneDeep(pSeqData);const response={messages:[]};if(!seqData){seqData={}}if(!seqData.sequence){seqData.sequence=""}if(!seqData.proteinSequence){seqData.proteinSequence=""}let needsBackTranslation=false;if(seqData.isProtein){seqData.circular=false;if(!seqData.proteinSequence&&seqData.proteinSequence!==""){seqData.proteinSequence=seqData.sequence}if(!seqData.sequence||seqData.sequence.length!==seqData.proteinSequence.length*3){needsBackTranslation=true}}if(seqData.isRna){seqData.sequence=seqData.sequence.replace(/t/gi,"u")}if(removeUnwantedChars){if(seqData.isProtein){seqData.proteinSequence=filterAminoAcidSequenceString(seqData.proteinSequence,__spreadValues({includeStopCodon:true},proteinFilterOptions))}else{seqData.sequence=filterSequenceString(seqData.sequence,`${additionalValidChars||""}${seqData.isRna||seqData.isMixedRnaAndDna?"u":""}`,charOverrides)}}if(seqData.isProtein){if(needsBackTranslation){seqData.sequence=getDegenerateDnaStringFromAAString(seqData.proteinSequence)}seqData.aminoAcidDataForEachBaseOfDNA=getAminoAcidDataForEachBaseOfDna(seqData.proteinSequence,true,null,true)}seqData.size=seqData.noSequence?seqData.size:seqData.sequence.length;seqData.proteinSize=seqData.noSequence?seqData.proteinSize:seqData.proteinSequence.length;if(seqData.circular==="false"||seqData.circular==-1||seqData.circular===false||!seqData.circular&&seqData.sequenceTypeCode!=="CIRCULAR_DNA"){seqData.circular=false}else{seqData.circular=true}const featureTypes=getFeatureTypes();annotationTypes.forEach(annotationType=>{if(!Array.isArray(seqData[annotationType])){if(typeof seqData[annotationType]==="object"){seqData[annotationType]=Object.keys(seqData[annotationType]).map(key=>{return seqData[annotationType][key]})}else{seqData[annotationType]=[]}}seqData[annotationType]=seqData[annotationType].filter(annotation=>{return tidyUpAnnotation(annotation,__spreadProps(__spreadValues({},options),{featureTypes,sequenceData:seqData,convertAnnotationsFromAAIndices,mutative:true,annotationType}))})});if(!noTranslationData){seqData.translations=lodashExports.flatMap(seqData.translations,translation=>{if(noCdsTranslations&&translation.translationType==="CDS Feature"){return[]}if(!translation.aminoAcids&&!seqData.noSequence){translation.aminoAcids=getAminoAcidDataForEachBaseOfDna(seqData.sequence,translation.forward,translation)}return translation})}if(annotationsAsObjects){annotationTypes.forEach(name=>{seqData[name]=seqData[name].reduce((acc,item)=>{let itemId;if(item.id||item.id===0){itemId=item.id}else{itemId=bsonObjectId().str;if(!doNotProvideIdsForAnnotations){item.id=itemId}}acc[itemId]=item;return acc},{})})}if(logMessages&&response.messages.length>0){console.info("tidyUpSequenceData messages:",response.messages)}return seqData}__name(tidyUpSequenceData,"tidyUpSequenceData");const getDiffFromSeqs=__name((oldData,newData,{ignoreKeys=[]}={})=>{oldData=tidyUpSequenceData(oldData,{annotationsAsObjects:true,noTranslationData:true});newData=tidyUpSequenceData(newData,{annotationsAsObjects:true,noTranslationData:true});[oldData,newData].forEach(d=>{["cutsites","orfs","filteredFeatures","size","fromFileUpload","description","materiallyAvailable",...ignoreKeys].forEach(prop=>{delete d[prop]});if(d.translations){lodashExports.forEach(d.translations,(translation,key)=>{if(translation.translationType&&translation.translationType!=="User Created"){delete d.translations[key]}else{delete translation.aminoAcids}})}});return diff(oldData,newData)},"getDiffFromSeqs");const patchSeqWithDiff=__name((oldData,diff2,{ignoreKeys=[]}={})=>{ignoreKeys.forEach(k=>{delete diff2[k]});return patch(tidyUpSequenceData(lodashExports.cloneDeep(oldData),{annotationsAsObjects:true}),diff2)},"patchSeqWithDiff");const reverseSeqDiff=__name(diff2=>{return reverse(diff2)},"reverseSeqDiff");function getAllInsertionsInSeqReads(seqReads){let allInsertionsInSeqReads=[];seqReads.forEach(seqRead=>{const splitSeqRead=seqRead.cigar.match(/([0-9]*[MDI])/g);for(let componentI=0;componentI<splitSeqRead.length;componentI++){if(splitSeqRead[componentI].slice(-1)==="I"){let bpPosOfInsertion=seqRead.pos;const numberOfInsertions=Number(splitSeqRead[componentI].slice(0,-1));for(let i=0;i<componentI;i++){if(splitSeqRead[i].slice(-1)!=="I"){const previousComponentNumber=Number(splitSeqRead[i].slice(0,-1));bpPosOfInsertion+=previousComponentNumber}}let insertionInfo={bpPos:bpPosOfInsertion,number:numberOfInsertions};allInsertionsInSeqReads.push(insertionInfo)}}});let sortedInsertions=allInsertionsInSeqReads.sort((a,b)=>{return a.bpPos-b.bpPos});for(let i=0;i<sortedInsertions.length-1;i++){if(sortedInsertions[i].bpPos===sortedInsertions[i+1].bpPos){if(sortedInsertions[i].number>sortedInsertions[i+1].number){sortedInsertions.splice(i+1,1);i--}else if(sortedInsertions[i].number<sortedInsertions[i+1].number){sortedInsertions.splice(i,1);i--}else if(sortedInsertions[i].number===sortedInsertions[i+1].number){sortedInsertions.splice(i,1);i--}}}return sortedInsertions}__name(getAllInsertionsInSeqReads,"getAllInsertionsInSeqReads");function annotateSingleSeq({fullSeq,searchSeq}){const fullSeqId=fullSeq.id||"fullSeqId";const searchSeqId=searchSeq.id||"searchSeqId";const results=autoAnnotate({seqsToAnnotateById:{[fullSeqId]:__spreadProps(__spreadValues({},fullSeq),{id:fullSeqId})},annotationsToCheckById:{[searchSeqId]:__spreadProps(__spreadValues({},searchSeq),{id:searchSeqId})},compareName:false});if(results&&results[fullSeqId]){return{matches:results[fullSeqId]}}else{return{matches:[]}}}__name(annotateSingleSeq,"annotateSingleSeq");const aminoAcidToDegenerateRnaMap={"-":"---",".":"...","*":"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"};function getDegenerateRnaStringFromAAString(aaString){return aaString.split("").map(char=>aminoAcidToDegenerateRnaMap[char.toLowerCase()]||"nnn").join("")}__name(getDegenerateRnaStringFromAAString,"getDegenerateRnaStringFromAAString");function getVirtualDigest({cutsites,sequenceLength,isCircular,computePartialDigest,computePartialDigestDisabled,computeDigestDisabled}){let fragments=[];const overlappingEnzymes=[];const pairs=[];const sortedCutsites=cutsites.sort((a,b)=>{return a.topSnipPosition-b.topSnipPosition});sortedCutsites.forEach((cutsite1,index2)=>{if(computePartialDigest&&!computePartialDigestDisabled){sortedCutsites.forEach((cs,index22)=>{pairs.push([cutsite1,sortedCutsites[index22]])})}if(!computeDigestDisabled){pairs.push([cutsite1,sortedCutsites[index2+1]?sortedCutsites[index2+1]:sortedCutsites[0]])}});pairs.forEach(([cut1,cut2])=>{const start=normalizePositionByRangeLength(cut1.topSnipPosition,sequenceLength);const end=normalizePositionByRangeLength(cut2.topSnipPosition-1,sequenceLength);if(!isCircular&&start>end){const frag1={start,end:sequenceLength-1,cut1,cut2:{type:"endOfSeq",restrictionEnzyme:{name:"End Of Seq"}}};const frag2={start:0,end,cut1:{type:"startOfSeq",restrictionEnzyme:{name:"Start Of Seq"}},cut2};fragments.push(addSizeIdName(frag1,sequenceLength));fragments.push(addSizeIdName(frag2,sequenceLength))}else{const frag={cut1,cut2,start,end};fragments.push(addSizeIdName(frag,sequenceLength))}});fragments=fragments.filter(fragment=>{if(!fragment.size){overlappingEnzymes.push(fragment);return false}return true});return{computePartialDigestDisabled,computeDigestDisabled,fragments,overlappingEnzymes}}__name(getVirtualDigest,"getVirtualDigest");function addSizeIdName(frag,sequenceLength){const size=getRangeLength({start:frag.start,end:frag.end},sequenceLength);const name=`${lodashExports.get(frag,"cut1.restrictionEnzyme.name","Untitled Cutsite")} -- ${lodashExports.get(frag,"cut2.restrictionEnzyme.name","Untitled Cutsite")} ${size} bps`;return __spreadProps(__spreadValues({},frag),{size,name,id:frag.start+"-"+frag.end+"-"+size+"-"})}__name(addSizeIdName,"addSizeIdName");function isEnzymeType2S(e){return e.site.length<e.topSnipOffset||e.site.length<e.bottomSnipOffset}__name(isEnzymeType2S,"isEnzymeType2S");function insertGapsIntoRefSeq(refSeq,seqReads){let refSeqWithGaps=refSeq.split("");const allInsertionsInSeqReads=getAllInsertionsInSeqReads(seqReads);for(let i=0;i<allInsertionsInSeqReads.length;i++){const bpPosOfInsertion=allInsertionsInSeqReads[i].bpPos;const numberOfInsertions=allInsertionsInSeqReads[i].number;let insertionGaps="";for(let gapI=0;gapI<numberOfInsertions;gapI++){insertionGaps+="-"}refSeqWithGaps.splice(bpPosOfInsertion-1,0,insertionGaps);for(let posI=i+1;posI<allInsertionsInSeqReads.length;posI++){allInsertionsInSeqReads[posI].bpPos+=1}}return refSeqWithGaps.join("")}__name(insertGapsIntoRefSeq,"insertGapsIntoRefSeq");var spliceString=__name(function spliceSlice(str,index2,count,add){return str.slice(0,index2)+(add||"")+str.slice(index2+count)},"spliceSlice");const spliceString$1=getDefaultExportFromCjs(spliceString);function adjustBpsToReplaceOrInsert(bpString,insertString="",caretPositionOrRange){let stringToReturn=bpString;if(caretPositionOrRange&&caretPositionOrRange.start>-1){if(getRangeLength(caretPositionOrRange,bpString.length)===bpString.length){return insertString}const ranges=splitRangeIntoTwoPartsIfItIsCircular(invertRange(caretPositionOrRange,bpString.length));stringToReturn="";ranges.forEach((range,index2)=>{stringToReturn+=getSequenceWithinRange(range,bpString);if(ranges.length===1){if(isPositionWithinRange(0,range,bpString.length,true,true)){stringToReturn=stringToReturn+insertString}else{stringToReturn=insertString+stringToReturn}}else{if(index2===0)stringToReturn+=insertString}})}else{stringToReturn=spliceString$1(bpString,caretPositionOrRange,0,insertString)}return stringToReturn}__name(adjustBpsToReplaceOrInsert,"adjustBpsToReplaceOrInsert");function calculatePercentGC(bps){return(bps.match(/[cg]/gi)||[]).length/bps.length*100||0}__name(calculatePercentGC,"calculatePercentGC");const calcTmMethods={TABLE_BRESLAUER:"breslauer",TABLE_SUGIMOTO:"sugimoto",TABLE_UNIFIED:"unified",A:-10.8,R:1.987,C:5e-7,Na:.05,calculateTemperature:function(sequence,type,A,R,C,Na){if(typeof type==="undefined"){type=this.TABLE_BRESLAUER}else if(type!=this.TABLE_BRESLAUER&&(type!=this.TABLE_UNIFIED&&type!=this.TABLE_SUGIMOTO)){throw new Error("Invalid table type!")}if(!A){A=this.A}if(!R){R=this.R}if(!C){C=this.C}if(!Na){Na=this.Na}const sequenceLength=sequence.length;if(sequenceLength==0){return 0}const deltaHTable=this.getDeltaHTable(type);const deltaSTable=this.getDeltaSTable(type);const neighbors=[];neighbors.push(this.calculateReps(sequence,"aa"));neighbors.push(this.calculateNumberOfOccurrences(sequence,"at"));neighbors.push(this.calculateNumberOfOccurrences(sequence,"ac"));neighbors.push(this.calculateNumberOfOccurrences(sequence,"ag"));neighbors.push(this.calculateReps(sequence,"tt"));neighbors.push(this.calculateNumberOfOccurrences(sequence,"ta"));neighbors.push(this.calculateNumberOfOccurrences(sequence,"tc"));neighbors.push(this.calculateNumberOfOccurrences(sequence,"tg"));neighbors.push(this.calculateReps(sequence,"cc"));neighbors.push(this.calculateNumberOfOccurrences(sequence,"ca"));neighbors.push(this.calculateNumberOfOccurrences(sequence,"ct"));neighbors.push(this.calculateNumberOfOccurrences(sequence,"cg"));neighbors.push(this.calculateReps(sequence,"gg"));neighbors.push(this.calculateNumberOfOccurrences(sequence,"ga"));neighbors.push(this.calculateNumberOfOccurrences(sequence,"gt"));neighbors.push(this.calculateNumberOfOccurrences(sequence,"gc"));let sumDeltaH=0;let sumDeltaS=0;for(let i=0;i<16;i++){sumDeltaH=sumDeltaH+neighbors[i]*deltaHTable[i];sumDeltaS=sumDeltaS+neighbors[i]*deltaSTable[i]}const temperature=-1e3*sumDeltaH/(A+-sumDeltaS+R*Math.log(C/4))-273.15+16.6*Math.LOG10E*Math.log(Na);if(temperature<0){return 0}return temperature.toFixed(2)},getDeltaHTable:function(type){if(type==this.TABLE_BRESLAUER){return[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]}else if(type==this.TABLE_SUGIMOTO){return[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]}else if(type==this.TABLE_UNIFIED){return[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]}else{return null}},getDeltaSTable:function(type){if(type==this.TABLE_BRESLAUER){return[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]}else if(type==this.TABLE_SUGIMOTO){return[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]}else if(type==this.TABLE_UNIFIED){return[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]}else{return null}},calculateReps:function(sequence,target){const sequenceLength=sequence.length;if(sequenceLength==0){return 0}let numFound=0;let seqOffset=0;while(true){const foundSeq=sequence.indexOf(target,seqOffset);if(foundSeq==-1){break}seqOffset=foundSeq+1;numFound++;if(seqOffset>sequenceLength){break}}return numFound},calculateNumberOfOccurrences:function(sequence,target){const sequenceLength=sequence.length;if(sequenceLength==0){return 0}const numberFound=sequence.split(target).length-1;return numberFound}};const calculateTm=calcTmMethods.calculateTemperature.bind(calcTmMethods);function convertDnaCaretPositionOrRangeToAA(rangeOrCaret){if(typeof rangeOrCaret==="object"&&rangeOrCaret!==null){return convertDnaRangeToAARange(__spreadProps(__spreadValues({},rangeOrCaret),{locations:rangeOrCaret.locations?rangeOrCaret.locations.map(convertDnaRangeToAARange):void 0}))}else{return convertDnaCaretPositionToAACaretPosition(rangeOrCaret)}}__name(convertDnaCaretPositionOrRangeToAA,"convertDnaCaretPositionOrRangeToAA");function convertDnaCaretPositionToAACaretPosition(caret){return Math.floor(caret/3)}__name(convertDnaCaretPositionToAACaretPosition,"convertDnaCaretPositionToAACaretPosition");function convertDnaRangeToAARange(range){return __spreadProps(__spreadValues({},range),{start:range.start>-1?Math.floor(range.start/3):range.start,end:range.end>-1?Math.floor(range.end-2)/3:range.end})}__name(convertDnaRangeToAARange,"convertDnaRangeToAARange");function rotateBpsToPosition(bps,caretPosition){return arrayRotate(bps.split(""),caretPosition).join("")}__name(rotateBpsToPosition,"rotateBpsToPosition");function arrayRotate(arr,count){count-=arr.length*Math.floor(count/arr.length);arr.push.apply(arr,arr.splice(0,count));return arr}__name(arrayRotate,"arrayRotate");function rotateSequenceDataToPosition(sequenceData,caretPosition,options){const newSequenceData=tidyUpSequenceData(sequenceData,options);newSequenceData.sequence=rotateBpsToPosition(newSequenceData.sequence,caretPosition);modifiableTypes.forEach(annotationType=>{newSequenceData[annotationType]=adjustAnnotationsToRotation(newSequenceData[annotationType],caretPosition,newSequenceData.sequence.length)});return newSequenceData}__name(rotateSequenceDataToPosition,"rotateSequenceDataToPosition");function adjustAnnotationsToRotation(annotationsToBeAdjusted,positionToRotateTo,maxLength){return lodashExports.map(annotationsToBeAdjusted,annotation=>{return __spreadProps(__spreadValues({},adjustRangeToRotation(annotation,positionToRotateTo,maxLength)),{locations:annotation.locations?annotation.locations.map(location=>adjustRangeToRotation(location,positionToRotateTo,maxLength)):void 0})}).filter(range=>!!range)}__name(adjustAnnotationsToRotation,"adjustAnnotationsToRotation");function adjustAnnotationsToInsert(annotationsToBeAdjusted,insertStart,insertLength){return lodashExports.map(annotationsToBeAdjusted,annotation=>{return __spreadValues(__spreadValues({},adjustRangeToInsert(annotation,insertStart,insertLength)),annotation.locations&&{locations:annotation.locations.map(loc=>adjustRangeToInsert(loc,insertStart,insertLength))})})}__name(adjustAnnotationsToInsert,"adjustAnnotationsToInsert");function insertSequenceDataAtPositionOrRange(_sequenceDataToInsert,_existingSequenceData,caretPositionOrRange,options={}){const{maintainOriginSplit}=options;let existingSequenceData=tidyUpSequenceData(_existingSequenceData,options);const sequenceDataToInsert=tidyUpSequenceData(_sequenceDataToInsert,options);let newSequenceData=lodashExports.cloneDeep(existingSequenceData);const insertLength=sequenceDataToInsert.proteinSequence?sequenceDataToInsert.proteinSequence.length*3:sequenceDataToInsert.sequence.length;let caretPosition=caretPositionOrRange;const isInsertSameLengthAsSelection=sequenceDataToInsert.sequence.length===getRangeLength(caretPositionOrRange,existingSequenceData.sequence.length);if(caretPositionOrRange.start>-1&&getRangeLength(caretPositionOrRange,existingSequenceData.sequence.length)===existingSequenceData.sequence.length){existingSequenceData=tidyUpSequenceData(__spreadProps(__spreadValues(__spreadValues({},existingSequenceData),modifiableTypes.reduce((acc,type)=>{return acc[type]=[]},{})),{sequence:"",proteinSequence:"",chromatogramData:void 0}),options);newSequenceData.chromatogramData=void 0}else if(newSequenceData.chromatogramData&&newSequenceData.chromatogramData.baseTraces){if(caretPositionOrRange&&caretPositionOrRange.start>-1){if(caretPositionOrRange.start>caretPositionOrRange.end){newSequenceData.chromatogramData=trimChromatogram({chromatogramData:newSequenceData.chromatogramData,range:{start:caretPositionOrRange.start,end:newSequenceData.sequence.length},justBaseCalls:isInsertSameLengthAsSelection});newSequenceData.chromatogramData=trimChromatogram({chromatogramData:newSequenceData.chromatogramData,range:{start:0,end:caretPositionOrRange.end},justBaseCalls:isInsertSameLengthAsSelection})}else{newSequenceData.chromatogramData=trimChromatogram({chromatogramData:newSequenceData.chromatogramData,range:{start:caretPositionOrRange.start,end:caretPositionOrRange.end},justBaseCalls:isInsertSameLengthAsSelection})}}if(sequenceDataToInsert.sequence){insertIntoChromatogram({chromatogramData:newSequenceData.chromatogramData,caretPosition:caretPositionOrRange.start>-1?caretPositionOrRange.start:caretPositionOrRange,seqToInsert:sequenceDataToInsert.sequence,justBaseCalls:isInsertSameLengthAsSelection})}}newSequenceData.sequence=adjustBpsToReplaceOrInsert(existingSequenceData.sequence,sequenceDataToInsert.sequence,caretPositionOrRange);newSequenceData.size=newSequenceData.sequence.length;newSequenceData.proteinSequence=adjustBpsToReplaceOrInsert(existingSequenceData.proteinSequence,sequenceDataToInsert.proteinSequence,convertDnaCaretPositionOrRangeToAA(caretPositionOrRange));newSequenceData.proteinSize=newSequenceData.proteinSequence.length;modifiableTypes.forEach(annotationType=>{let existingAnnotations=existingSequenceData[annotationType];if(caretPositionOrRange&&caretPositionOrRange.start>-1){const range=caretPositionOrRange;caretPosition=range.start>range.end?0:range.start;existingAnnotations=adjustAnnotationsToDelete(existingAnnotations,range,existingSequenceData.sequence.length)}newSequenceData[annotationType]=[];newSequenceData[annotationType]=newSequenceData[annotationType].concat(adjustAnnotationsToInsert(existingAnnotations,caretPosition,insertLength));newSequenceData[annotationType]=newSequenceData[annotationType].concat(adjustAnnotationsToInsert(sequenceDataToInsert[annotationType],0,caretPosition))});if(maintainOriginSplit&&caretPositionOrRange&&caretPositionOrRange.start>caretPositionOrRange.end){const caretPosToRotateTo=existingSequenceData.sequence.length-caretPositionOrRange.start;return rotateSequenceDataToPosition(newSequenceData,Math.min(caretPosToRotateTo,insertLength))}return newSequenceData}__name(insertSequenceDataAtPositionOrRange,"insertSequenceDataAtPositionOrRange");function adjustAnnotationsToDelete(annotationsToBeAdjusted,range,maxLength){return lodashExports.map(annotationsToBeAdjusted,annotation=>{const newRange=adjustRangeToDeletionOfAnotherRange(annotation,range,maxLength);const newLocations=annotation.locations&&annotation.locations.map(loc=>adjustRangeToDeletionOfAnotherRange(loc,range,maxLength)).filter(range2=>!!range2);if(newLocations&&newLocations.length){return __spreadValues(__spreadProps(__spreadValues({},newRange),{start:newLocations[0].start,end:newLocations[newLocations.length-1].end}),newLocations.length>1&&{locations:newLocations})}else{return newRange}}).filter(range2=>!!range2)}__name(adjustAnnotationsToDelete,"adjustAnnotationsToDelete");function insertIntoChromatogram({chromatogramData,caretPosition,seqToInsert,justBaseCalls}){if(!seqToInsert.length)return;chromatogramData.baseCalls&&chromatogramData.baseCalls.splice(caretPosition,0,...seqToInsert.split(""));if(justBaseCalls){return chromatogramData}let baseTracesToInsert=[];let qualNumsToInsert=[];for(let index2=0;index2<seqToInsert.length;index2++){qualNumsToInsert.push(0);const toPush=[0,0,0,0,0,0,0,0,0,0,0];baseTracesToInsert.push({aTrace:toPush,cTrace:toPush,gTrace:toPush,tTrace:toPush})}chromatogramData.baseTraces&&chromatogramData.baseTraces.splice(caretPosition,0,...baseTracesToInsert);chromatogramData.qualNums&&chromatogramData.qualNums.splice(caretPosition,0,...qualNumsToInsert);return chromatogramData}__name(insertIntoChromatogram,"insertIntoChromatogram");function trimChromatogram({chromatogramData,range:{start,end},justBaseCalls}){["baseCalls",...justBaseCalls?[]:["qualNums","baseTraces","basePos"]].forEach(type=>{chromatogramData[type]&&chromatogramData[type].splice(start,end-start+1)});return chromatogramData}__name(trimChromatogram,"trimChromatogram");function deleteSequenceDataAtRange(sequenceData,range){return insertSequenceDataAtPositionOrRange({},sequenceData,range)}__name(deleteSequenceDataAtRange,"deleteSequenceDataAtRange");function doesEnzymeChopOutsideOfRecognitionSite(enzyme){if(enzyme.topSnipOffset>enzyme.site.length||enzyme.bottomSnipOffset>enzyme.site.length){return true}else{return false}}__name(doesEnzymeChopOutsideOfRecognitionSite,"doesEnzymeChopOutsideOfRecognitionSite");const aliasedEnzymes=[{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"],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"],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"],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"],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"],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"],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:true},{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"],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"],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:true,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"],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:true,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"],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"],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:true,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"],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"],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"],site:"ggtctc",forwardRegex:"g{2}tctc",reverseRegex:"gagac{2}",topSnipOffset:1,bottomSnipOffset:1},{aliases:["BmrI","BfiI","BmuI"],isType2S:true,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:true,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:true,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"],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:true},{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:true,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"],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"],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"],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"],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"],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"],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"],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"],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"],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:true},{aliases:["BcoDI","BsoMAI","BsmAI","Alw26I","BstMAI"],site:"gtctc",forwardRegex:"gtctc",reverseRegex:"gagac",topSnipOffset:6,bottomSnipOffset:10,isType2S:true},{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:true},{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:true},{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"],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"],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:true},{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:true},{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"],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:true},{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:true},{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:true},{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"],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"],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"],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:true},{aliases:["LweI","SfaNI","BspST5I","BmsI","PhaI"],site:"gcatc",forwardRegex:"gcatc",reverseRegex:"gatgc",topSnipOffset:10,bottomSnipOffset:14,isType2S:true},{aliases:["EcoA4I","BspTNI","EcoO44I","Bso31I","BsaI","Eco31I","Bli736I"],isType2S:true,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:true},{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:true},{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:true},{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:true},{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:true},{aliases:["CstMI"],site:"aaggag",forwardRegex:"a{2}g{2}ag",reverseRegex:"ctc{2}t{2}",topSnipOffset:26,bottomSnipOffset:24,isType2S:true},{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:true},{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:true},{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:true},{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:true,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:true},{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:true},{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:true},{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:true,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:true},{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:true},{aliases:["SspD5I"],site:"ggtga",forwardRegex:"g{2}tga",reverseRegex:"tcac{2}",topSnipOffset:13,bottomSnipOffset:13,isType2S:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true,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:true},{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:true},{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:true},{aliases:["BseNI","BsrI","Bse1I","Tsp1I","BsrSI","Bst11I"],site:"actgg",forwardRegex:"actg{2}",reverseRegex:"c{2}agt",topSnipOffset:6,bottomSnipOffset:4,isType2S:true},{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:true},{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:true},{aliases:["FokI"],site:"ggatg",forwardRegex:"g{2}atg",reverseRegex:"catc{2}",topSnipOffset:14,bottomSnipOffset:18,isType2S:true},{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:true},{aliases:["BfuI","BciVI"],site:"gtatcc",forwardRegex:"gtatc{2}",reverseRegex:"g{2}atac",topSnipOffset:12,bottomSnipOffset:11,isType2S:true},{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:true},{aliases:["BseMII"],site:"ctcag",forwardRegex:"ctcag",reverseRegex:"ctgag",topSnipOffset:15,bottomSnipOffset:13,isType2S:true},{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:true},{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:true},{aliases:["DrdIV"],site:"tacgac",forwardRegex:"tacgac",reverseRegex:"gtcgta",topSnipOffset:26,bottomSnipOffset:24,isType2S:true},{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:true},{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:true},{aliases:["EciI"],site:"ggcgga",forwardRegex:"g{2}cg{2}a",reverseRegex:"tc{2}gc{2}",topSnipOffset:17,bottomSnipOffset:15,isType2S:true},{aliases:["Eco57MI"],site:"ctgrag",forwardRegex:"ctg[agr]ag",reverseRegex:"ct[cty]cag",topSnipOffset:22,bottomSnipOffset:20,isType2S:true},{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:true},{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:true},{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:true},{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:true},{aliases:["CdpI"],site:"gcggag",forwardRegex:"gcg{2}ag",reverseRegex:"ctc{2}gc",topSnipOffset:26,bottomSnipOffset:24,isType2S:true},{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:true},{aliases:["AquIV"],site:"grggaag",forwardRegex:"g[agr]g{2}a{2}g",reverseRegex:"ct{2}c{2}[cty]c",topSnipOffset:26,bottomSnipOffset:24,isType2S:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true,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:true,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:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true},{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:true}];const aliasedEnzymesByName={};aliasedEnzymes.forEach(enz=>{enz.aliases.forEach(name=>{aliasedEnzymesByName[name.toLowerCase()]=__spreadProps(__spreadValues({},enz),{name})})});const defaultEnzymes=["aari","aatii","aaui","accebi","acci","accii","acciii","acsi","afai","aflii","alui","aor13hi","aor51hi","apai","apali","asci","asisi","asp35hi","asp713i","aspmi","atsi","atu1i","atu1ii","avrbi","avrii","bali","bamhi","banii","bari","baui","bbvbi","bcni","bcoki","bdii","bgli","bglii","blni","bme216i","bmet110i","bmgt120i","bmui","bnai","bpu1102i","bpuai","bpub5i","bsai","bsavi","bseri","bsgi","bshhi","bsiwi","bsmbi","bsmfi","bsofi","bsp105i","bsp1286i","bsp139i","bsp1407i","bsp4009i","bsp70i","bsp71i","bspa2i","bspci","bspfni","bspt104i","bspt107i","bsrfi","bsshii","bst1107i","bstb7si","bsthi","bstiz316i","bstli","bstpi","bstri","bstxi","bsu1532i","bsu8565i","bsu90i","btgai","btsci","btsi","bvei","ccini","ccop95i","ceqi","cfr10i","cfr45i","cfr47i","cfr6i","cjuii","clai","cpaai","cpoi","cspai","cspci","ddei","dpni","drai","dsai","dsavi","eaei","eagi","eam1105i","ecidi","ecl37i","eco211i","eco240i","eco241i","eco246i","eco247i","eco52i","eco68i","eco81i","eco93i","ecoicri","ecoo109i","ecoo65i","ecopi","ecoprri","ecori","ecorv","ecot14i","ecot22i","ecoviii","ehei","esphk22i","fbai","fdiii","foki","fsei","haeii","haeiii","hapii","hgiai","hgibi","hhai","hin1i","hincii","hindiii","hinfi","hpai","hpyf13iii","hpyf19ii","hpyf21i","hpyf28i","hpyf29i","hpyf36i","hpyf62i","hpyf65i","hpyii","koyi","kpni","m.bbu297i","m.pmudam","maek81i","mboi","mboii","mfli","mizi","mlui","mph1103ii","msei","msii","mspi","mthai","muni","naei","ncoi","ndai","ndei","nflaii","ngbi","ngobviii","ngodviii","ngoeii","ngotii","nhei","nlaiv","noci","noti","novii","nrui","nsbi","nsici","nsp29132i","paci","pae17ki","pca17ai","pfaaiii","pfl16i","ple214i","pmaci","pmei","pru2i","psb9879i","pshai","pshbi","psp1406i","psp31i","psp33i","psp5i","psti","psuni","pvui","pvuii","ral8i","rsplki","saci","sacii","sali","sapi","sau3ai","sauni","sbai","sbfi","scai","sfii","sflhk115731i","slu1777i","smai","smii","snabi","spei","sphi","srfi","srl61di","sse8387i","ssp2i","sspi","stui","suii","swai","taqi","tauii","tsci","tth111i","tthhb8i","uba1093i","uba1095i","uba1122i","uba1160i","uba1229i","uba1371i","uba1380i","uba1403i","uba1415i","uba1437i","uba1439i","uba1440i","uba36i","uba41i","uba42i","uba89i","uban13i","van91i","vcho66i","vpak11bi","vpakutji","xbai","xcyi","xhoi","xmai","xmli","xphi","xspi"];const defaultEnzymesByName={};defaultEnzymes.forEach(name=>{defaultEnzymesByName[name]=aliasedEnzymesByName[name]});function generateAnnotations(numberOfAnnotationsToGenerate,start,end,maxLength){const result={};for(let i=0;i<numberOfAnnotationsToGenerate;i++){const annotation=generateAnnotation(start,end,maxLength);result[annotation.id]=annotation}return result}__name(generateAnnotations,"generateAnnotations");function generateAnnotation(start,end,maxLength){const range=generateRandomRange(start,end,maxLength);return __spreadProps(__spreadValues({},range),{name:getRandomInt(0,1e5).toString(),type:"misc_feature",id:bsonObjectId().str,forward:Math.random()>.5,notes:{}})}__name(generateAnnotation,"generateAnnotation");function getRandomInt(min,max){return Math.floor(Math.random()*(max-min))+min}__name(getRandomInt,"getRandomInt");function generateSequenceData({isProtein,sequenceLength=1e3,numFeatures,numParts,numPrimers,numTranslations}={}){const proteinSequence=isProtein&&generateSequence(sequenceLength,true);const sequence=!isProtein&&generateSequence(sequenceLength);return{circular:isProtein?false:Math.random()>.5,name:"p-"+Math.floor(Math.random*100),description:"",isProtein,sequence,proteinSequence,translations:isProtein?void 0:generateAnnotations(numTranslations||5,0,sequenceLength-1,sequenceLength/3),features:generateAnnotations(numFeatures||10,0,sequenceLength-1,sequenceLength/3),primers:isProtein?void 0:generateAnnotations(numPrimers||10,0,sequenceLength-1,50),parts:generateAnnotations(numParts||10,0,sequenceLength-1,sequenceLength/3)}}__name(generateSequenceData,"generateSequenceData");function generateSequence(m=9,isProtein){let s="";const r=isProtein?"":"gatc";for(let i=0;i<m;i++){s+=r.charAt(Math.floor(Math.random()*r.length))}return s}__name(generateSequence,"generateSequence");function findNearestRangeOfSequenceOverlapToPosition(sequenceToSearch,overlapSequence,positionStart,isLinear){if(!positionStart)positionStart=0;if(sequenceToSearch.length<overlapSequence.length){return null}const regex=new RegExp(overlapSequence,"ig");let result;let index2;let distance=Infinity;while(result=regex.exec(sequenceToSearch+(isLinear?"":sequenceToSearch))){if(result.index>sequenceToSearch.length)break;let newDistance=Math.abs(result.index-positionStart);newDistance=isLinear?newDistance:Math.min(newDistance,Math.abs(newDistance-sequenceToSearch.length));if(newDistance>distance){break}index2=result.index;distance=newDistance}return normalizeRange({start:index2,end:index2+overlapSequence.length-1},sequenceToSearch.length)}__name(findNearestRangeOfSequenceOverlapToPosition,"findNearestRangeOfSequenceOverlapToPosition");function getOrfsFromSequence(options){let sequence=options.sequence;const minimumOrfSize=options.minimumOrfSize;const forward=options.forward;const circular=options.circular;const useAdditionalOrfStartCodons=options.useAdditionalOrfStartCodons;const originalSequenceLength=sequence.length;if(!forward){sequence=getReverseComplementSequenceString(sequence)}if(circular){sequence+=sequence}const re=useAdditionalOrfStartCodons?/(?=((?:A[TU]G|G[TU]G|C[TU]G)(?:.{3})*?(?:[TU]AG|[TU]AA|[TU]GA)))/gi:/(?=((?:A[TU]G)(?:.{3})*?(?:[TU]AG|[TU]AA|[TU]GA)))/gi;let m;const orfRanges=[];while((m=re.exec(sequence))!==null){if(m.index===re.lastIndex){re.lastIndex++}const orfLength=m[1].length;if(orfLength>=minimumOrfSize){const start=m.index;let end=orfLength+start-1;if(end>=originalSequenceLength){end-=originalSequenceLength}if(start<originalSequenceLength){orfRanges.push({start,end,length:m[1].length,internalStartCodonIndices:[],frame:start%3,forward,annotationTypePlural:"orfs",isOrf:true,id:bsonObjectId().str})}}}const orfEnds={};orfRanges.forEach((orf,index2)=>{const indexOfAlreadyExistingOrf=orfEnds[orf.end];if(typeof indexOfAlreadyExistingOrf!=="undefined"){let internalOrf=orf;let containingOrf=orfRanges[indexOfAlreadyExistingOrf];if(containingOrf.length<internalOrf.length){internalOrf=orfRanges[indexOfAlreadyExistingOrf];containingOrf=orf;orfEnds[orf.end]=index2}const internalStartCodonIndex=forward?internalOrf.start:originalSequenceLength-internalOrf.start-1;containingOrf.internalStartCodonIndices=[...containingOrf.internalStartCodonIndices,...internalOrf.internalStartCodonIndices,internalStartCodonIndex];internalOrf.remove=true}else{orfEnds[orf.end]=index2;if(!forward){const endHolder=orf.end;orf.end=originalSequenceLength-orf.start-1;orf.start=originalSequenceLength-endHolder-1}}});const nonDuplicatedOrfRanges=orfRanges.filter(orf=>{if(!orf.remove){return true}return false});return nonDuplicatedOrfRanges}__name(getOrfsFromSequence,"getOrfsFromSequence");function findOrfsInPlasmid(sequence,circular,minimumOrfSize,useAdditionalOrfStartCodons){const forwardOrfs=getOrfsFromSequence({sequence,minimumOrfSize,forward:true,circular,useAdditionalOrfStartCodons});const reverseOrfs=getOrfsFromSequence({sequence,minimumOrfSize,forward:false,circular,useAdditionalOrfStartCodons});return forwardOrfs.concat(reverseOrfs)}__name(findOrfsInPlasmid,"findOrfsInPlasmid");var matchOperatorsRe=/[|\\{}()[\]^$+*?.]/g;var escapeStringRegexp=__name(function(str){if(typeof str!=="string"){throw new TypeError("Expected a string")}return str.replace(matchOperatorsRe,"\\$&")},"escapeStringRegexp");const escapeStringRegexp$1=getDefaultExportFromCjs(escapeStringRegexp);function getAminoAcidStringFromSequenceString(sequenceString){const aminoAcidsPerBase=getAminoAcidDataForEachBaseOfDna(sequenceString,true);const aaArray=[];let aaString="";aminoAcidsPerBase.forEach(aa=>{if(!aa.fullCodon){return}aaArray[aa.aminoAcidIndex]=aa.aminoAcid.value});aaString=aaArray.join("");return aaString}__name(getAminoAcidStringFromSequenceString,"getAminoAcidStringFromSequenceString");function findSequenceMatches(sequence,searchString,options={}){let matches=findSequenceMatchesTopStrand(sequence,searchString,options);const{searchReverseStrand}=options;if(searchReverseStrand){const sequenceLength=sequence.length;let reverseSeq;reverseSeq=getReverseComplementSequenceString(sequence);const reverseMatches=findSequenceMatchesTopStrand(reverseSeq,searchString,options);const flippedReverseMatches=reverseMatches.map(range=>{return __spreadProps(__spreadValues({},flipRelativeRange(range,{start:0,end:sequenceLength-1},sequenceLength)),{bottomStrand:true})});matches=[...matches,...flippedReverseMatches]}return matches}__name(findSequenceMatches,"findSequenceMatches");function findSequenceMatchesTopStrand(sequence,searchString,options={}){const{isCircular,isAmbiguous,isProteinSequence,isProteinSearch}=options;let searchStringToUse=escapeStringRegexp$1(searchString);if(isAmbiguous){if(isProteinSearch||isProteinSequence){searchStringToUse=convertAmbiguousStringToRegex(searchStringToUse,true)}else{searchStringToUse=convertAmbiguousStringToRegex(searchStringToUse)}}if(!searchStringToUse)return[];let sequenceToUse=sequence;if(isCircular){sequenceToUse=sequenceToUse+sequenceToUse}let sequencesToCheck=[{seqToCheck:sequenceToUse,offset:0}];if(isProteinSearch){sequencesToCheck=[{seqToCheck:getAminoAcidStringFromSequenceString(sequenceToUse),offset:0},{seqToCheck:getAminoAcidStringFromSequenceString(sequenceToUse.substr(1)),offset:1},{seqToCheck:getAminoAcidStringFromSequenceString(sequenceToUse.substr(2)),offset:2}]}let ranges=[];sequencesToCheck.forEach(({seqToCheck,offset})=>{const reg=new RegExp(searchStringToUse,"ig");let match;let range;while((match=reg.exec(seqToCheck))!==null){range={start:match.index,end:match.index+searchString.length-1};if(isProteinSearch){range.start=range.start*3+offset;range.end=range.end*3+2+offset}ranges.push(modulateRangeBySequenceLength(range,sequence.length));reg.lastIndex=match.index+1}});return lodashExports.uniqBy(ranges,e=>{return e.start+"-"+e.end})}__name(findSequenceMatchesTopStrand,"findSequenceMatchesTopStrand");function convertAmbiguousStringToRegex(string,isProtein){return lodashExports.reduce(string,(acc,char)=>{const value=isProtein?extended_protein_values[char.toUpperCase()]:ambiguous_dna_values[char.toUpperCase()];if(!value)return acc;if(value.length===1){acc+=value}else{acc+=`[${value}]`}return acc},"")}__name(convertAmbiguousStringToRegex,"convertAmbiguousStringToRegex");function getCodonRangeForAASliver(aminoAcidPositionInSequence,aminoAcidSliver,AARepresentationOfTranslation,relativeAAPositionInTranslation){const AASliverOneBefore=AARepresentationOfTranslation[relativeAAPositionInTranslation-1];if(AASliverOneBefore&&AASliverOneBefore.aminoAcidIndex===aminoAcidSliver.aminoAcidIndex){const AASliverTwoBefore=AARepresentationOfTranslation[relativeAAPositionInTranslation-2];if(AASliverTwoBefore&&AASliverTwoBefore.aminoAcidIndex===aminoAcidSliver.aminoAcidIndex){return{start:aminoAcidPositionInSequence-2,end:aminoAcidPositionInSequence}}else{if(aminoAcidSliver.fullCodon===true){return{start:aminoAcidPositionInSequence-1,end:aminoAcidPositionInSequence+1}}else{return{start:aminoAcidPositionInSequence-1,end:aminoAcidPositionInSequence}}}}else{if(aminoAcidSliver.fullCodon===true){return{start:aminoAcidPositionInSequence,end:aminoAcidPositionInSequence+2}}else{const AASliverOneAhead=AARepresentationOfTranslation[relativeAAPositionInTranslation-2];if(AASliverOneAhead&&AASliverOneAhead.aminoAcidIndex===aminoAcidSliver.aminoAcidIndex){return{start:aminoAcidPositionInSequence,end:aminoAcidPositionInSequence+1}}else{return{start:aminoAcidPositionInSequence,end:aminoAcidPositionInSequence+1}}}}}__name(getCodonRangeForAASliver,"getCodonRangeForAASliver");function getComplementAminoAcidStringFromSequenceString(sequenceString){const aaString=getAminoAcidStringFromSequenceString(sequenceString);return aaString.split("").reverse().join("")}__name(getComplementAminoAcidStringFromSequenceString,"getComplementAminoAcidStringFromSequenceString");function getComplementSequenceString(sequence){let complementSeqString="";for(let i=0;i<sequence.length;i++){let complementChar=DNAComplementMap[sequence[i]];if(!complementChar){complementChar=sequence[i]}complementSeqString+=complementChar}return complementSeqString}__name(getComplementSequenceString,"getComplementSequenceString");function getSequenceDataBetweenRange(seqData,range,options={}){if(!range)return seqData;const{exclude={},excludePartial={}}=options;const seqDataToUse=tidyUpSequenceData(seqData,options);annotationTypes.forEach(type=>{delete seqDataToUse[`filtered${lodashExports.startCase(type)}`]});const seqDataToReturn=lodashExports.extend({},seqDataToUse,{circular:seqDataToUse.sequence.length===getRangeLength(range,seqData.sequence.length)?seqDataToUse.circular:false,sequence:getSequenceWithinRange(range,seqDataToUse.sequence),proteinSequence:getSequenceWithinRange(convertDnaCaretPositionOrRangeToAA(range),seqDataToUse.proteinSequence)},annotationTypes.reduce((acc,type)=>{if(exclude[type]){acc[type]=[];return acc}acc[type]=getAnnotationsBetweenRange(seqDataToUse[type],range,seqDataToUse.sequence.length,excludePartial[type]);return acc},{}));if(range.overlapsSelf){const extendedSeqData=insertSequenceDataAtPositionOrRange({sequence:seqDataToReturn.sequence},seqDataToUse,range.start);const toRet=getSequenceDataBetweenRange(extendedSeqData,{start:range.end+1,end:range.end},options);annotationTypes.forEach(type=>{lodashExports.forEach(toRet[type],ann=>{if(ann.overlapsSelf&&ann.start===0&&getRangeLength(ann,seqDataToUse.sequence.length)===getRangeLength(range,seqDataToUse.sequence.length)){ann.overlapsSelf=false;ann.end=toRet.sequence.length-1}})});return tidyUpSequenceData(toRet,options)}return tidyUpSequenceData(seqDataToReturn,options)}__name(getSequenceDataBetweenRange,"getSequenceDataBetweenRange");function getAnnotationsBetweenRange(annotationsToBeAdjusted,range,maxLength,shouldExcludePartial){return lodashExports.flatMap(annotationsToBeAdjusted,annotation=>{if(annotation.locations&&annotation.locations.length){annotation.locations=getAnnotationsBetweenRange(annotation.locations,range,maxLength,shouldExcludePartial)}const overlaps=getZeroedRangeOverlaps(annotation,range,maxLength).map(overlap=>{return lodashExports.extend({},annotation,overlap)});if(shouldExcludePartial){if(overlaps.length>1)return[];if(overlaps[0]){if(getRangeLength(overlaps[0],maxLength)!==getRangeLength(annotation,maxLength)){return[]}}}return overlaps}).map(annotation=>{if(annotation.locations&&annotation.locations.length){annotation.start=annotation.locations[0].start;annotation.end=annotation.locations[annotation.locations.length-1].end;if(annotation.locations.length===1)delete annotation.locations}return annotation})}__name(getAnnotationsBetweenRange,"getAnnotationsBetweenRange");function getComplementSequenceAndAnnotations(pSeqObj,options={}){const seqObj=tidyUpSequenceData(getSequenceDataBetweenRange(pSeqObj,options.range),options);const newSeqObj=Object.assign({},seqObj,{sequence:getComplementSequenceString(seqObj.sequence)});return tidyUpSequenceData(newSeqObj,options)}__name(getComplementSequenceAndAnnotations,"getComplementSequenceAndAnnotations");function getCutsiteType(restrictionEnzyme){const{topSnipOffset,bottomSnipOffset}=restrictionEnzyme;if(topSnipOffset===bottomSnipOffset){return"blunt"}else if(topSnipOffset<bottomSnipOffset){return"5' overhang"}else{return"3' overhang"}}__name(getCutsiteType,"getCutsiteType");function getInsertBetweenVals(caretPosition,selectionLayer,sequenceLength){if(selectionLayer.start>-1){return[normalizePositionByRangeLength1Based(selectionLayer.start,sequenceLength),normalizePositionByRangeLength1Based(selectionLayer.end+2,sequenceLength)]}else if(caretPosition>-1){return[normalizePositionByRangeLength1Based(caretPosition,sequenceLength),normalizePositionByRangeLength1Based(caretPosition+1,sequenceLength)]}else{return[sequenceLength,1]}}__name(getInsertBetweenVals,"getInsertBetweenVals");function getLeftAndRightOfSequenceInRangeGivenPosition(range,position,sequence){let result={leftHandSide:"",rightHandSide:""};if(isPositionWithinRange(position,range)){result.leftHandSide=getSequenceWithinRange({start:range.start,end:normalizePositionByRangeLength(position-1,sequence.length)},sequence);result.rightHandSide=getSequenceWithinRange({start:position,end:range.end},sequence)}else{if(isPositionCloserToRangeStartThanRangeEnd(position,range,sequence.length)){result.rightHandSide=getSequenceWithinRange(range,sequence)}else{result.leftHandSide=getSequenceWithinRange(range,sequence)}}return result}__name(getLeftAndRightOfSequenceInRangeGivenPosition,"getLeftAndRightOfSequenceInRangeGivenPosition");function getOverlapBetweenTwoSequences(sequenceToFind,sequenceToSearchIn,options){sequenceToSearchIn=sequenceToSearchIn.toLowerCase();sequenceToFind=sequenceToFind.toLowerCase();const lengthenedSeqToSearch=sequenceToSearchIn+sequenceToSearchIn;const index2=lengthenedSeqToSearch.indexOf(sequenceToFind);if(index2>-1){return{start:index2,end:modulatePositionByRange(index2+sequenceToFind.length-1,{start:0,end:sequenceToSearchIn.length-1})}}else{return null}}__name(getOverlapBetweenTwoSequences,"getOverlapBetweenTwoSequences");function getPossiblePartsFromSequenceAndEnzyme(seqData,restrictionEnzymes){restrictionEnzymes=restrictionEnzymes.length?restrictionEnzymes:[restrictionEnzymes];let bps=seqData.sequence;let seqLen=bps.length;let circular=seqData.circular;let cutsites=[];restrictionEnzymes.forEach(enzyme=>{let newCutsites=cutSequenceByRestrictionEnzyme(bps,circular,enzyme);cutsites=cutsites.concat(newCutsites)});let parts=[];if(cutsites.length<1){return parts}else if(cutsites.length===1){parts.push(getPartBetweenEnzymesWithInclusiveOverhangs(cutsites[0],cutsites[0],seqLen));return parts}else{let pairs=pairwise(cutsites);pairs.forEach(pair=>{let cut1=pair[0];let cut2=pair[1];let part1=getPartBetweenEnzymesWithInclusiveOverhangs(cut1,cut2,seqLen);let part2=getPartBetweenEnzymesWithInclusiveOverhangs(cut2,cut1,seqLen);if(circular||!(part1.start>part1.end)){parts.push(part1)}if(circular||!(part2.start>part2.end)){parts.push(part2)}});return parts}}__name(getPossiblePartsFromSequenceAndEnzyme,"getPossiblePartsFromSequenceAndEnzyme");function getPartBetweenEnzymesWithInclusiveOverhangs(cut1,cut2,seqLen){let firstCutOffset=getEnzymeRelativeOffset(cut1.restrictionEnzyme);let secondCutOffset=getEnzymeRelativeOffset(cut2.restrictionEnzyme);let start=cut1.topSnipBeforeBottom?cut1.topSnipPosition:cut1.bottomSnipPosition;let end=normalizePositionByRangeLength((cut2.topSnipBeforeBottom?cut2.bottomSnipPosition:cut2.topSnipPosition)-1,seqLen);return{start,start1Based:start+1,end,end1Based:end+1,firstCut:cut1,firstCutOffset,firstCutOverhang:cut1.overhangBps,firstCutOverhangTop:firstCutOffset>0?cut1.overhangBps:"",firstCutOverhangBottom:firstCutOffset<0?getComplementSequenceString(cut1.overhangBps):"",secondCut:cut2,secondCutOffset,secondCutOverhang:cut2.overhangBps,secondCutOverhangTop:secondCutOffset<0?cut2.overhangBps:"",secondCutOverhangBottom:secondCutOffset>0?getComplementSequenceString(cut2.overhangBps):""}}__name(getPartBetweenEnzymesWithInclusiveOverhangs,"getPartBetweenEnzymesWithInclusiveOverhangs");function getEnzymeRelativeOffset(enzyme){return enzyme.bottomSnipOffset-enzyme.topSnipOffset}__name(getEnzymeRelativeOffset,"getEnzymeRelativeOffset");function pairwise(list){if(list.length<2){return[]}let first=list[0],rest=list.slice(1),pairs=rest.map(x=>{return[first,x]});return pairs.concat(pairwise(rest))}__name(pairwise,"pairwise");function getReverseAminoAcidStringFromSequenceString(sequenceString){const aminoAcidsPerBase=getAminoAcidDataForEachBaseOfDna(sequenceString,false);const aaArray=[];let aaString="";aminoAcidsPerBase.forEach(aa=>{if(!aa.fullCodon){return}aaArray[aa.aminoAcidIndex]=aa.aminoAcid.value});aaString=aaArray.join("");return aaString}__name(getReverseAminoAcidStringFromSequenceString,"getReverseAminoAcidStringFromSequenceString");function getReverseComplementAminoAcidStringFromSequenceString(sequenceString){return getAminoAcidStringFromSequenceString(getReverseComplementSequenceString(sequenceString))}__name(getReverseComplementAminoAcidStringFromSequenceString,"getReverseComplementAminoAcidStringFromSequenceString");function getReverseComplementAnnotation(annotation,sequenceLength){return Object.assign({},annotation,{start:sequenceLength-(annotation.end+1),end:sequenceLength-(annotation.start+1),forward:!annotation.forward,strand:annotation.strand===1?-1:1})}__name(getReverseComplementAnnotation,"getReverseComplementAnnotation");function getReverseComplementSequenceAndAnnoations(pSeqObj,options={}){const seqObj=tidyUpSequenceData(getSequenceDataBetweenRange(pSeqObj,options.range),options);const newSeqObj=Object.assign({},seqObj,{sequence:getReverseComplementSequenceString(seqObj.sequence)},annotationTypes.reduce((acc,type)=>{if(seqObj[type]){acc[type]=lodashExports.map(seqObj[type],annotation=>{return getReverseComplementAnnotation(annotation,seqObj.sequence.length)})}return acc},{}));return tidyUpSequenceData(newSeqObj,options)}__name(getReverseComplementSequenceAndAnnoations,"getReverseComplementSequenceAndAnnoations");function getReverseSequenceString(sequence){let reverseSequenceString="";for(let i=sequence.length-1;i>=0;i--){let revChar=sequence[i];if(!revChar){revChar=sequence[i]}reverseSequenceString+=revChar}return reverseSequenceString}__name(getReverseSequenceString,"getReverseSequenceString");function guessIfSequenceIsDnaAndNotProtein(seq,options={}){const{threshold=.9,loose}=options;const dnaLetters=options.dnaLetters||loose?[...ambiguous_dna_letters.split(""),"U"]:["G","A","T","C","U"];const dnaLetterMap=dnaLetters.reduce((acc,letter)=>{acc[letter.toUpperCase()]=true;return acc},{});let count=0;if(!seq||!seq.length)return true;for(let index2=0;index2<seq.length;index2++){const letter=seq[index2];if(dnaLetterMap[letter.toUpperCase()]){count=count+1}}if(count/seq.length>threshold){return true}return false}__name(guessIfSequenceIsDnaAndNotProtein,"guessIfSequenceIsDnaAndNotProtein");function mapAnnotationsToRows(annotations,sequenceLength,bpsPerRow,{splitForwardReverse}={}){const annotationsToRowsMap={};const yOffsetLevelMap={};const wrappedAnnotations={};lodashExports.each(annotations,annotation=>{const containsLocations=!!(annotation.locations&&annotation.locations.length);if(annotation.overlapsSelf){if(!wrappedAnnotations[annotation.id]){mapAnnotationToRows({wrappedAnnotations,annotation:{start:0,end:sequenceLength-1,id:`__tempAnnRemoveMe__${annotation.id}`},sequenceLength,bpsPerRow,annotationsToRowsMap,yOffsetLevelMap,containsLocations,splitForwardReverse});wrappedAnnotations[annotation.id]=true}}mapAnnotationToRows({wrappedAnnotations,annotation,sequenceLength,bpsPerRow,annotationsToRowsMap,yOffsetLevelMap,containsLocations,splitForwardReverse});if(containsLocations){annotation.locations.forEach(location=>{mapAnnotationToRows({wrappedAnnotations,annotation,sequenceLength,bpsPerRow,annotationsToRowsMap,yOffsetLevelMap,location,splitForwardReverse})})}});lodashExports.forEach(annotationsToRowsMap,(annotationsForRow,i)=>{annotationsToRowsMap[i]=lodashExports.filter(annotationsForRow,ann=>!lodashExports.startsWith(ann.id,"__tempAnnRemoveMe__"))});return annotationsToRowsMap}__name(mapAnnotationsToRows,"mapAnnotationsToRows");function mapAnnotationToRows({wrappedAnnotations,annotation,sequenceLength,bpsPerRow,annotationsToRowsMap,yOffsetLevelMap,location,containsLocations,splitForwardReverse}){const ranges=splitRangeIntoTwoPartsIfItIsCircular(location||annotation,sequenceLength);ranges.forEach((range,index2)=>{const startingRow=Math.floor(range.start/bpsPerRow);const endingRow=Math.floor(range.end/bpsPerRow);for(let rowNumber=startingRow;rowNumber<=endingRow;rowNumber++){if(!annotationsToRowsMap[rowNumber]){annotationsToRowsMap[rowNumber]=[]}const key=splitForwardReverse?annotation.forward?rowNumber+"_forward":rowNumber+"_reverse":rowNumber;const annotationsForRow=annotationsToRowsMap[rowNumber];if(!yOffsetLevelMap[key]){yOffsetLevelMap[key]=[]}let yOffset;const yOffsetsForRow=yOffsetLevelMap[key];const start=rowNumber===startingRow?range.start:rowNumber*bpsPerRow;const end=rowNumber===endingRow?range.end:rowNumber*bpsPerRow+bpsPerRow-1;if(annotation.overlapsSelf){annotationsForRow.forEach(ann=>{if(ann.id===`__tempAnnRemoveMe__${annotation.id}`){yOffset=ann.yOffset}})}else{if(location){annotationsForRow.forEach(ann=>{if(ann.id===annotation.id){yOffset=ann.yOffset}})}else{if(index2>0&&annotationsForRow.length&&annotationsForRow[annotationsForRow.length-1].annotation===annotation){yOffset=annotationsForRow[annotationsForRow.length-1].yOffset}else{yOffset=getYOffsetForPotentiallyCircularRange(annotation,yOffsetsForRow)}if(!yOffsetsForRow[yOffset])yOffsetsForRow[yOffset]=[];yOffsetsForRow[yOffset].push({start,end})}}annotationsForRow.push(__spreadProps(__spreadValues(__spreadValues({id:annotation.id,annotation,start,end},containsLocations&&{containsLocations}),location&&{isJoinedLocation:!!location}),{yOffset,enclosingRangeType:range.type}))}})}__name(mapAnnotationToRows,"mapAnnotationToRows");function prepareCircularViewData(sequenceData){const clonedSeqData=lodashExports.cloneDeep(sequenceData);annotationTypes.forEach(annotationType=>{if(annotationType!=="cutsites"){const maxYOffset=getYOffsetsForPotentiallyCircularRanges(clonedSeqData[annotationType]).maxYOffset;clonedSeqData[annotationType].maxYOffset=maxYOffset}});return clonedSeqData}__name(prepareCircularViewData,"prepareCircularViewData");function prepareRowData(sequenceData,bpsPerRow){const sequenceLength=sequenceData.sequence.length;const totalRows=Math.ceil(sequenceLength/bpsPerRow)||1;const rows=[];const rowMap={};annotationTypes.forEach(type=>{rowMap[type]=mapAnnotationsToRows(sequenceData[type],sequenceLength,bpsPerRow,{splitForwardReverse:type==="primers"})});for(let rowNumber=0;rowNumber<totalRows;rowNumber++){const row={};row.rowNumber=rowNumber;row.start=rowNumber*bpsPerRow;row.end=(rowNumber+1)*bpsPerRow-1<sequenceLength?(rowNumber+1)*bpsPerRow-1:sequenceLength-1;if(row.end<0){row.end=0}annotationTypes.forEach(type=>{row[type]=rowMap[type][rowNumber]||[]});row.sequence=sequenceData.sequence.slice(row.start,row.end+1);rows[rowNumber]=row}return rows}__name(prepareRowData,"prepareRowData");function condensePairwiseAlignmentDifferences(referenceSeq,alignedSeq){let overviewMinimapTrack=[];const referenceSeqSplit=referenceSeq.toLowerCase().split("");const alignedSeqSplit=alignedSeq.toLowerCase().split("");const seqLength=alignedSeq.length;const alignedSeqWithoutLeadingDashes=alignedSeq.replace(/^-+/g,"");const alignedSeqWithoutTrailingDashes=alignedSeq.replace(/-+$/g,"");const startIndex=seqLength-alignedSeqWithoutLeadingDashes.length;const endIndex=seqLength-(seqLength-alignedSeqWithoutTrailingDashes.length);for(let i=0;i<referenceSeqSplit.length;i++){if(i<startIndex||i>=endIndex){overviewMinimapTrack.push("W")}else if(referenceSeqSplit[i]===alignedSeqSplit[i]&&referenceSeqSplit[i]!=="-"&&alignedSeqSplit[i]!=="-"){overviewMinimapTrack.push("G")}else if(referenceSeqSplit[i]!==alignedSeqSplit[i]&&referenceSeqSplit[i]!=="-"&&alignedSeqSplit[i]!=="-"){overviewMinimapTrack.push("R")}else if(alignedSeqSplit[i]==="-"){overviewMinimapTrack.push("R")}else if(referenceSeqSplit[i]==="-"&&referenceSeqSplit[i-1]!=="-"&&i!==referenceSeqSplit.length-1&&referenceSeqSplit[i+1]==="-"){overviewMinimapTrack.push("R")}else if(referenceSeqSplit[i]==="-"&&referenceSeqSplit[i-1]!=="-"&&i!==referenceSeqSplit.length-1&&referenceSeqSplit[i+1]!=="-"){overviewMinimapTrack.push("R");i++}else if(i===referenceSeqSplit.length-1&&referenceSeqSplit[i]==="-"&&referenceSeqSplit[i-1]==="-"){overviewMinimapTrack.splice(-2,1)}else if(i===referenceSeqSplit.length-1&&referenceSeqSplit[i]==="-"&&referenceSeqSplit[i-1]!=="-"){overviewMinimapTrack.pop();overviewMinimapTrack.push("R")}else if(referenceSeqSplit[i]==="-"&&referenceSeqSplit[i-1]==="-"&&referenceSeqSplit[i+1]!=="-"){i++}else if(referenceSeqSplit[i]==="-"&&referenceSeqSplit[i-1]==="-");else{console.error("should not reach this step!")}}return overviewMinimapTrack.join("")}__name(condensePairwiseAlignmentDifferences,"condensePairwiseAlignmentDifferences");function addGapsToSeqReads(refSeq,seqReads){for(let i=0;i<seqReads.length;i++){if(seqReads[i].cigar===null){seqReads.splice(i,1)}}const refSeqWithGaps=insertGapsIntoRefSeq(refSeq.sequence,seqReads);const seqReadsWithGaps=[{name:refSeq.name,sequence:refSeqWithGaps.toUpperCase()}];seqReads.forEach(seqRead=>{const allInsertionsInSeqReads=[];seqReads.forEach(seqRead2=>{const splitSeqRead=seqRead2.cigar.match(/([0-9]*[SMDI])/g);let adjustedSeqReadPos2=lodashExports.cloneDeep(seqRead2.pos);if(splitSeqRead[0].slice(-1)==="S"){const numOfBeginningSoftClipped=splitSeqRead[0].slice(0,-1);adjustedSeqReadPos2=seqRead2.pos-numOfBeginningSoftClipped}for(let componentI=0;componentI<splitSeqRead.length;componentI++){if(splitSeqRead[componentI].slice(-1)==="I"){let bpPosOfInsertion=adjustedSeqReadPos2;const numberOfInsertions=Number(splitSeqRead[componentI].slice(0,-1));for(let i=0;i<componentI;i++){if(splitSeqRead[i].slice(-1)!=="I"){const previousComponentNumber=Number(splitSeqRead[i].slice(0,-1));bpPosOfInsertion+=previousComponentNumber}}const insertionInfo={bpPos:bpPosOfInsertion,number:numberOfInsertions};allInsertionsInSeqReads.push(insertionInfo)}}});const splitSeqReadChunk=seqRead.cigar.match(/([0-9]*[SMDI])/g);let adjustedSeqReadPos=lodashExports.cloneDeep(seqRead.pos);if(splitSeqReadChunk[0].slice(-1)==="S"){const numOfBeginningSoftClipped=splitSeqReadChunk[0].slice(0,-1);adjustedSeqReadPos=seqRead.pos-numOfBeginningSoftClipped}let eachSeqReadWithGaps=seqRead.seq.split("");if(adjustedSeqReadPos>0){eachSeqReadWithGaps.unshift("-".repeat(adjustedSeqReadPos-1))}eachSeqReadWithGaps=eachSeqReadWithGaps.join("").split("");const ownDeletions=[];for(let componentI=0;componentI<splitSeqReadChunk.length;componentI++){if(splitSeqReadChunk[componentI].slice(-1)==="D"){let bpPosOfDeletion=adjustedSeqReadPos;const numberOfDeletions=Number(splitSeqReadChunk[componentI].slice(0,-1));for(let i=0;i<componentI;i++){const previousComponentNumber=Number(splitSeqReadChunk[i].slice(0,-1));bpPosOfDeletion+=previousComponentNumber}const deletionInfo={bpPos:bpPosOfDeletion,number:numberOfDeletions};ownDeletions.push(deletionInfo)}}const sortedOwnDeletions=ownDeletions.sort((a,b)=>{return a.bpPos-b.bpPos});for(let ownD=0;ownD<sortedOwnDeletions.length;ownD++){const bpPosOfDeletion=sortedOwnDeletions[ownD].bpPos;const numberOfDeletions=sortedOwnDeletions[ownD].number;let deletionGaps="";for(let gapD=0;gapD<numberOfDeletions;gapD++){deletionGaps+="-"}eachSeqReadWithGaps.splice(bpPosOfDeletion-1,0,deletionGaps);eachSeqReadWithGaps=eachSeqReadWithGaps.join("").split("")}eachSeqReadWithGaps=eachSeqReadWithGaps.join("").split("");const ownInsertions=[];const ownInsertionsBp=[];for(let componentI=0;componentI<splitSeqReadChunk.length;componentI++){if(splitSeqReadChunk[componentI].slice(-1)==="I"){let bpPosOfInsertion=adjustedSeqReadPos;const numberOfInsertions=Number(splitSeqReadChunk[componentI].slice(0,-1));const nucleotides=[];for(let i=0;i<componentI;i++){const previousComponentNumber=Number(splitSeqReadChunk[i].slice(0,-1));bpPosOfInsertion+=previousComponentNumber}for(let nucI=0;nucI<numberOfInsertions;nucI++){nucleotides.push(eachSeqReadWithGaps[bpPosOfInsertion-1+nucI])}const insertionInfo={bpPos:bpPosOfInsertion,number:numberOfInsertions};const insertionInfoBp={bpPos:bpPosOfInsertion,number:numberOfInsertions,nucleotides};ownInsertions.push(insertionInfo);ownInsertionsBp.push(insertionInfoBp)}}const ownInsertionsCompare=JSON.parse(JSON.stringify(ownInsertions));const sortedOwnInsertions=ownInsertions.sort((a,b)=>{return a.bpPos-b.bpPos});const sortedOwnInsertionsBp=ownInsertionsBp.sort((a,b)=>{return a.bpPos-b.bpPos});for(let ownI=0;ownI<sortedOwnInsertions.length;ownI++){const bpPosOfInsertion=sortedOwnInsertions[ownI].bpPos;const numberOfInsertions=sortedOwnInsertions[ownI].number;for(let numI=0;numI<numberOfInsertions;numI++){eachSeqReadWithGaps.splice(bpPosOfInsertion-1,1)}for(let posI=ownI+1;posI<sortedOwnInsertions.length;posI++){sortedOwnInsertions[posI].bpPos-=numberOfInsertions}}let otherInsertions=allInsertionsInSeqReads.sort((a,b)=>{return a.bpPos-b.bpPos});otherInsertions=otherInsertions.filter((object,index2)=>index2===otherInsertions.findIndex(obj=>JSON.stringify(obj)===JSON.stringify(object)));for(let i=0;i<otherInsertions.length-1;i++){while(otherInsertions[i].bpPos===otherInsertions[i+1].bpPos){if(otherInsertions[i].number>otherInsertions[i+1].number){otherInsertions.splice(i+1,1)}else if(otherInsertions[i].number<otherInsertions[i+1].number){otherInsertions.splice(i,1)}else if(otherInsertions[i].number===otherInsertions[i+1].number){otherInsertions.splice(i,1)}}}for(let otherI=0;otherI<ownInsertionsCompare.length;otherI++){const insertionInfoIndex=otherInsertions.findIndex(e=>e.bpPos===ownInsertionsCompare[otherI].bpPos);if(insertionInfoIndex!==-1){if(otherInsertions[insertionInfoIndex].number>ownInsertionsCompare[otherI].number){otherInsertions[insertionInfoIndex].number=otherInsertions[insertionInfoIndex].number-ownInsertionsCompare[otherI].number}else if(otherInsertions[insertionInfoIndex].number<=ownInsertionsCompare[otherI].number){otherInsertions.splice(insertionInfoIndex,1);otherI--}}}for(let overlapI=0;overlapI<sortedOwnInsertions.length;overlapI++){const insertionInfoIndex=otherInsertions.findIndex(e=>e.bpPos===sortedOwnInsertions[overlapI].bpPos);if(insertionInfoIndex!==-1){if(otherInsertions[insertionInfoIndex].number>sortedOwnInsertions[overlapI].number){otherInsertions[insertionInfoIndex].number=otherInsertions[insertionInfoIndex].number-sortedOwnInsertions[overlapI].number}else if(otherInsertions[insertionInfoIndex].number<=sortedOwnInsertions[overlapI].number){otherInsertions.splice(insertionInfoIndex,1);overlapI--}}}const adjustedOwnInsertionsBp=JSON.parse(JSON.stringify(sortedOwnInsertionsBp));for(let ownI=0;ownI<adjustedOwnInsertionsBp.length;ownI++){let previousInserts=0;for(let i=0;i<ownI;i++){previousInserts+=adjustedOwnInsertionsBp[i].number-1}adjustedOwnInsertionsBp[ownI].bpPos=adjustedOwnInsertionsBp[ownI].bpPos-previousInserts;sortedOwnInsertionsBp[ownI].bpPos=sortedOwnInsertionsBp[ownI].bpPos-previousInserts}for(let otherI=0;otherI<otherInsertions.length;otherI++){for(let ownI=0;ownI<adjustedOwnInsertionsBp.length;ownI++){if(otherInsertions[otherI].bpPos<=sortedOwnInsertionsBp[ownI].bpPos){adjustedOwnInsertionsBp[ownI].bpPos+=1}}}for(let otherI=0;otherI<otherInsertions.length&&otherInsertions[otherI].bpPos<=eachSeqReadWithGaps.length;otherI++){const bpPosOfInsertion=otherInsertions[otherI].bpPos;const numberOfInsertions=otherInsertions[otherI].number;let insertionGaps="";for(let gapI=0;gapI<numberOfInsertions;gapI++){insertionGaps+="-"}eachSeqReadWithGaps.splice(bpPosOfInsertion-1,0,insertionGaps);for(let posI=otherI+1;posI<otherInsertions.length;posI++){otherInsertions[posI].bpPos+=1}}for(let ownI=0;ownI<adjustedOwnInsertionsBp.length;ownI++){const bpPosOfInsertion=adjustedOwnInsertionsBp[ownI].bpPos;const nucleotides=adjustedOwnInsertionsBp[ownI].nucleotides.join("");eachSeqReadWithGaps.splice(bpPosOfInsertion-1,0,nucleotides)}eachSeqReadWithGaps=eachSeqReadWithGaps.join("").split("");if(eachSeqReadWithGaps.length<refSeqWithGaps.length){eachSeqReadWithGaps.push("-".repeat(refSeqWithGaps.length-eachSeqReadWithGaps.length))}seqReadsWithGaps.push({name:seqRead.name,sequence:eachSeqReadWithGaps.join(""),reversed:seqRead.reversed,cigar:seqRead.cigar})});const seqReadLengthsBeforeRefSeqStart=[];seqReads.forEach(seq=>{const splitSeqReadChunk=seq.cigar.match(/([0-9]*[SMDI])/g);let adjustedSeqReadPos=lodashExports.cloneDeep(seq.pos);if(splitSeqReadChunk[0].slice(-1)==="S"){const numOfBeginningSoftClipped=splitSeqReadChunk[0].slice(0,-1);adjustedSeqReadPos=seq.pos-numOfBeginningSoftClipped;if(adjustedSeqReadPos<0){seqReadLengthsBeforeRefSeqStart.push(Math.abs(adjustedSeqReadPos))}}});let longestSeqReadLength=0;for(let i=1;i<seqReadsWithGaps.length;i++){const eachSeqReadWithGaps=seqReadsWithGaps[i].sequence.split("");const splitSeqReadChunk=seqReads[i-1].cigar.match(/([0-9]*[SMDI])/g);let adjustedSeqReadPos=lodashExports.cloneDeep(seqReads[i-1].pos);if(seqReadLengthsBeforeRefSeqStart.length>0){longestSeqReadLength=Math.max(...seqReadLengthsBeforeRefSeqStart)}if(splitSeqReadChunk[0].slice(-1)==="S"){const numOfBeginningSoftClipped=splitSeqReadChunk[0].slice(0,-1);adjustedSeqReadPos=seqReads[i-1].pos-numOfBeginningSoftClipped;if(adjustedSeqReadPos>0){if(longestSeqReadLength>0){eachSeqReadWithGaps.unshift("-".repeat(longestSeqReadLength+1))}seqReadsWithGaps[i].sequence=eachSeqReadWithGaps.join("")}else if(adjustedSeqReadPos<0){if(longestSeqReadLength>0){eachSeqReadWithGaps.unshift("-".repeat(longestSeqReadLength-Math.abs(adjustedSeqReadPos)))}seqReadsWithGaps[i].sequence=eachSeqReadWithGaps.join("")}}else{if(longestSeqReadLength>0){eachSeqReadWithGaps.unshift("-".repeat(longestSeqReadLength+1))}seqReadsWithGaps[i].sequence=eachSeqReadWithGaps.join("")}}if(longestSeqReadLength>0){const splitRefSeqWithGaps=seqReadsWithGaps[0].sequence.split("");splitRefSeqWithGaps.unshift("-".repeat(longestSeqReadLength+1));seqReadsWithGaps[0].sequence=splitRefSeqWithGaps.join("")}const lengthsOfLongerSeqReads=[];for(let i=1;i<seqReadsWithGaps.length;i++){const refSeq2=seqReadsWithGaps[0];if(seqReadsWithGaps[i].sequence.length>refSeq2.sequence.length){lengthsOfLongerSeqReads.push(seqReadsWithGaps[i].sequence.length)}}if(lengthsOfLongerSeqReads.length>0){const longestSeqReadLength2=Math.max(...lengthsOfLongerSeqReads);for(let i=0;i<seqReadsWithGaps.length;i++){if(seqReadsWithGaps[i].sequence.length<longestSeqReadLength2){seqReadsWithGaps[i].sequence+="-".repeat(longestSeqReadLength2-seqReadsWithGaps[i].sequence.length)}}}for(let i=1;i<seqReadsWithGaps.length;i++){const refSeq2=seqReadsWithGaps[0];if(seqReadsWithGaps[i].sequence.length<refSeq2.sequence.length){seqReadsWithGaps[i].sequence+="-".repeat(refSeq2.sequence.length-seqReadsWithGaps[i].sequence.length)}}return seqReadsWithGaps}__name(addGapsToSeqReads,"addGapsToSeqReads");function calculateNebTm(sequence,primerConc,{monovalentCationConc}={}){try{const checkForDegenerateBases=/[^atgc]/i.test(sequence);if(checkForDegenerateBases){throw new Error(`Degenerate bases prohibited in Tm calculation of sequence ${sequence}`)}const seq=sequence.toUpperCase().split("");let h=0;let s=0;let hi=0;let si=0;const r=1.987;const kelvinToCelsius=-273.15;const celsiusToKelvin=273.15;const kilocalToCal=1e3;const sequenceToEnthalpyMap={"AA/TT":-7.9,"AT/TA":-7.2,"TA/AT":-7.2,"CA/GT":-8.5,"GT/CA":-8.4,"CT/GA":-7.8,"GA/CT":-8.2,"CG/GC":-10.6,"GC/CG":-9.8,"GG/CC":-8,"TT/AA":-7.9,"TG/AC":-8.5,"AC/TG":-8.4,"AG/TC":-7.8,"TC/AG":-8.2,"CC/GG":-8,initiationWithTerminalGC:.1,initiationWithTerminalAT:2.3};const sequenceToEntropyMap={"AA/TT":-22.2,"AT/TA":-20.4,"TA/AT":-21.3,"CA/GT":-22.7,"GT/CA":-22.4,"CT/GA":-21,"GA/CT":-22.2,"CG/GC":-27.2,"GC/CG":-24.4,"GG/CC":-19.9,"TT/AA":-22.2,"TG/AC":-22.7,"AC/TG":-22.4,"AG/TC":-21,"TC/AG":-22.2,"CC/GG":-19.9,initiationWithTerminalGC:-2.8,initiationWithTerminalAT:4.1};for(let i=0;i<seq.length;i++){if(i===0||i===seq.length-1){if(seq[i]==="G"||seq[i]==="C"){hi+=sequenceToEnthalpyMap.initiationWithTerminalGC;si+=sequenceToEntropyMap.initiationWithTerminalGC}else if(seq[i]==="A"||seq[i]==="T"){hi+=sequenceToEnthalpyMap.initiationWithTerminalAT;si+=sequenceToEntropyMap.initiationWithTerminalAT}}if(i<seq.length-1){const dimer=seq[i]+seq[i+1];const complement=getComplementSequenceString(dimer).toUpperCase();const dimerDuplex=`${dimer}/${complement}`;if(!sequenceToEnthalpyMap[dimerDuplex]||!sequenceToEntropyMap[dimerDuplex]){throw new Error(`Could not find value for ${dimerDuplex} of sequence ${sequence}`)}h+=sequenceToEnthalpyMap[dimerDuplex];s+=sequenceToEntropyMap[dimerDuplex]}}const deltaH=h+hi;const deltaS=s+si;const numerator=deltaH*kilocalToCal;const denominator=deltaS+r*Math.log(primerConc);const meltingTemp=numerator/denominator+kelvinToCelsius;if(monovalentCationConc){const lnOfMonoConc=Math.log(monovalentCationConc);const gcContent=calculatePercentGC(sequence)/100;const part=4.29*gcContent-3.95;const saltCorrection=part*Math.pow(10,-5)*lnOfMonoConc+Math.pow(9.4,-6)*Math.pow(lnOfMonoConc,2);const adjustedMeltingTemp=1/(1/(meltingTemp+celsiusToKelvin)+saltCorrection)+kelvinToCelsius;return adjustedMeltingTemp}else{return meltingTemp}}catch(err){return`Error calculating Tm for sequence ${sequence}: ${err}`}}__name(calculateNebTm,"calculateNebTm");function calculateNebTa(sequences,primerConc,{monovalentCationConc,polymerase}={}){try{if(sequences.length!==2){throw new Error(`${sequences.length} sequences received when 2 primers were expected`)}const meltingTemperatures=sequences.map(seq=>calculateNebTm(seq,primerConc,{monovalentCationConc}));meltingTemperatures.sort((a,b)=>a-b);const lowerMeltingTemp=meltingTemperatures[0];let annealingTemp;if(polymerase==="Q5"){annealingTemp=lowerMeltingTemp+1;if(annealingTemp>72){annealingTemp=72}}else{annealingTemp=lowerMeltingTemp-3}return annealingTemp}catch(err){return`Error calculating annealing temperature: ${err}`}}__name(calculateNebTa,"calculateNebTa");function getDigestFragmentsForCutsites(sequenceLength,circular,cutsites,opts={}){const fragments=[];const pairs=[];if(!cutsites.length)return[];let sortedCutsites=cutsites.sort((a,b)=>{return a.topSnipPosition-b.topSnipPosition});if(!circular){sortedCutsites=[{topSnipPosition:0,bottomSnipPosition:0,overhangSize:0,type:"START_OR_END_OF_SEQ",name:"START_OF_SEQ"},...sortedCutsites,{topSnipPosition:sequenceLength,bottomSnipPosition:sequenceLength,overhangSize:0,type:"START_OR_END_OF_SEQ",name:"END_OF_SEQ"}]}sortedCutsites.forEach((cutsite1,index2)=>{if(!circular&&!sortedCutsites[index2+1]){return}if(opts.computePartialDigests){sortedCutsites.forEach((cs,index22)=>{if(index22===index2+1||index22===0){return}pairs.push([cutsite1,sortedCutsites[index22]])})}pairs.push([cutsite1,sortedCutsites[index2+1]?sortedCutsites[index2+1]:sortedCutsites[0]])});pairs.forEach(([cut1,cut2])=>{const start=normalizePositionByRangeLength(cut1.topSnipPosition,sequenceLength);const end=normalizePositionByRangeLength(cut2.topSnipPosition-1,sequenceLength);const fragmentRange={start,end};const size=getRangeLength(fragmentRange,sequenceLength);const id=start+"-"+end+"-"+size+"-";fragments.push(__spreadProps(__spreadValues({cut1:__spreadProps(__spreadValues({},cut1),{isOverhangIncludedInFragmentSize:cut1.type!=="START_OR_END_OF_SEQ"&&cut1.overhangSize>0&&cut1.topSnipBeforeBottom}),cut2:__spreadProps(__spreadValues({},cut2),{isOverhangIncludedInFragmentSize:cut2.type!=="START_OR_END_OF_SEQ"&&cut2.overhangSize>0&&!cut2.topSnipBeforeBottom})},fragmentRange),{size,id}))});fragments.filter(fragment=>{if(!fragment.size){return false}return true});return fragments}__name(getDigestFragmentsForCutsites,"getDigestFragmentsForCutsites");function getDigestFragmentsForRestrictionEnzymes(sequence,circular,restrictionEnzymeOrEnzymes,opts){const restrictionEnzymes=Array.isArray(restrictionEnzymeOrEnzymes)?restrictionEnzymeOrEnzymes:[restrictionEnzymeOrEnzymes];const cutsites=lodashExports.flatMap(restrictionEnzymes,restrictionEnzyme=>{return cutSequenceByRestrictionEnzyme(sequence,circular,restrictionEnzyme)});return getDigestFragmentsForCutsites(sequence.length,circular,cutsites,opts)}__name(getDigestFragmentsForRestrictionEnzymes,"getDigestFragmentsForRestrictionEnzymes");function convertAACaretPositionOrRangeToDna(rangeOrCaret){if(typeof rangeOrCaret==="object"&&rangeOrCaret!==null){return convertAARangeToDnaRange(__spreadProps(__spreadValues({},rangeOrCaret),{locations:rangeOrCaret.locations?rangeOrCaret.locations.map(convertAARangeToDnaRange):void 0}))}else{return convertAACaretPositionToDnaCaretPosition(rangeOrCaret)}}__name(convertAACaretPositionOrRangeToDna,"convertAACaretPositionOrRangeToDna");function convertAACaretPositionToDnaCaretPosition(caret){return caret*3}__name(convertAACaretPositionToDnaCaretPosition,"convertAACaretPositionToDnaCaretPosition");function convertAARangeToDnaRange(range){return __spreadProps(__spreadValues({},range),{start:range.start>-1?range.start*3:range.start,end:range.end>-1?range.end*3+2:range.end})}__name(convertAARangeToDnaRange,"convertAARangeToDnaRange");const degenerateRnaToAminoAcidMap=lodashExports.invert(aminoAcidToDegenerateRnaMap);function getMassOfAaString(aaString,numsAfterDecimal=2,divideByThree=false){let sumMass=0;for(let i=0;i<aaString.length;i++){sumMass+=proteinAlphabet[aaString[i]].mass}if(divideByThree){sumMass/=3}return Math.round(sumMass*__pow(10,numsAfterDecimal))/__pow(10,numsAfterDecimal)}__name(getMassOfAaString,"getMassOfAaString");function shiftAnnotationsByLen({seqData,caretPosition,insertLength}){modifiableTypes.forEach(annotationType=>{const existingAnnotations=seqData[annotationType];seqData[annotationType]=adjustAnnotationsToInsert(existingAnnotations,caretPosition,insertLength)})}__name(shiftAnnotationsByLen,"shiftAnnotationsByLen");const FeatureTypes=getFeatureTypes();const featureColors=getFeatureToColorMap();exports2.DNAComplementMap=DNAComplementMap;exports2.FeatureTypes=FeatureTypes;exports2.addGapsToSeqReads=addGapsToSeqReads;exports2.adjustAnnotationsToInsert=adjustAnnotationsToInsert;exports2.adjustBpsToReplaceOrInsert=adjustBpsToReplaceOrInsert;exports2.aliasedEnzymesByName=aliasedEnzymesByName;exports2.aminoAcidToDegenerateDnaMap=aminoAcidToDegenerateDnaMap;exports2.aminoAcidToDegenerateRnaMap=aminoAcidToDegenerateRnaMap;exports2.annotateSingleSeq=annotateSingleSeq;exports2.annotationTypes=annotationTypes;exports2.autoAnnotate=autoAnnotate;exports2.bioData=bioData;exports2.calculateNebTa=calculateNebTa;exports2.calculateNebTm=calculateNebTm;exports2.calculatePercentGC=calculatePercentGC;exports2.calculateTm=calculateTm;exports2.computeDigestFragments=computeDigestFragments;exports2.condensePairwiseAlignmentDifferences=condensePairwiseAlignmentDifferences;exports2.convertAACaretPositionOrRangeToDna=convertAACaretPositionOrRangeToDna;exports2.convertApELikeRegexToRegex=convertApELikeRegexToRegex;exports2.convertDnaCaretPositionOrRangeToAA=convertDnaCaretPositionOrRangeToAA;exports2.convertProteinSeqToDNAIupac=convertProteinSeqToDNAIupac;exports2.cutSequenceByRestrictionEnzyme=cutSequenceByRestrictionEnzyme;exports2.defaultEnzymesByName=defaultEnzymesByName;exports2.degenerateDnaToAminoAcidMap=degenerateDnaToAminoAcidMap;exports2.degenerateRnaToAminoAcidMap=degenerateRnaToAminoAcidMap;exports2.deleteSequenceDataAtRange=deleteSequenceDataAtRange;exports2.doesEnzymeChopOutsideOfRecognitionSite=doesEnzymeChopOutsideOfRecognitionSite;exports2.featureColors=featureColors;exports2.filterAminoAcidSequenceString=filterAminoAcidSequenceString;exports2.filterSequenceString=filterSequenceString;exports2.findNearestRangeOfSequenceOverlapToPosition=findNearestRangeOfSequenceOverlapToPosition;exports2.findOrfsInPlasmid=findOrfsInPlasmid;exports2.findSequenceMatches=findSequenceMatches;exports2.genbankFeatureTypes=genbankFeatureTypes;exports2.generateAnnotations=generateAnnotations;exports2.generateSequenceData=generateSequenceData;exports2.getAllInsertionsInSeqReads=getAllInsertionsInSeqReads;exports2.getAminoAcidDataForEachBaseOfDna=getAminoAcidDataForEachBaseOfDna;exports2.getAminoAcidFromSequenceTriplet=getAminoAcidFromSequenceTriplet;exports2.getAminoAcidStringFromSequenceString=getAminoAcidStringFromSequenceString;exports2.getCodonRangeForAASliver=getCodonRangeForAASliver;exports2.getComplementAminoAcidStringFromSequenceString=getComplementAminoAcidStringFromSequenceString;exports2.getComplementSequenceAndAnnotations=getComplementSequenceAndAnnotations;exports2.getComplementSequenceString=getComplementSequenceString;exports2.getCutsiteType=getCutsiteType;exports2.getCutsitesFromSequence=getCutsitesFromSequence;exports2.getDegenerateDnaStringFromAAString=getDegenerateDnaStringFromAAString;exports2.getDegenerateRnaStringFromAAString=getDegenerateRnaStringFromAAString;exports2.getDiffFromSeqs=getDiffFromSeqs;exports2.getDigestFragmentsForCutsites=getDigestFragmentsForCutsites;exports2.getDigestFragmentsForRestrictionEnzymes=getDigestFragmentsForRestrictionEnzymes;exports2.getDigestFragsForSeqAndEnzymes=getDigestFragsForSeqAndEnzymes;exports2.getFeatureToColorMap=getFeatureToColorMap;exports2.getFeatureTypes=getFeatureTypes;exports2.getInsertBetweenVals=getInsertBetweenVals;exports2.getLeftAndRightOfSequenceInRangeGivenPosition=getLeftAndRightOfSequenceInRangeGivenPosition;exports2.getMassOfAaString=getMassOfAaString;exports2.getMergedFeatureMap=getMergedFeatureMap;exports2.getOrfsFromSequence=getOrfsFromSequence;exports2.getOverlapBetweenTwoSequences=getOverlapBetweenTwoSequences;exports2.getPossiblePartsFromSequenceAndEnzymes=getPossiblePartsFromSequenceAndEnzyme;exports2.getReverseAminoAcidStringFromSequenceString=getReverseAminoAcidStringFromSequenceString;exports2.getReverseComplementAminoAcidStringFromSequenceString=getReverseComplementAminoAcidStringFromSequenceString;exports2.getReverseComplementAnnotation=getReverseComplementAnnotation;exports2.getReverseComplementSequenceAndAnnotations=getReverseComplementSequenceAndAnnoations;exports2.getReverseComplementSequenceString=getReverseComplementSequenceString;exports2.getReverseSequenceString=getReverseSequenceString;exports2.getSequenceDataBetweenRange=getSequenceDataBetweenRange;exports2.getVirtualDigest=getVirtualDigest;exports2.guessIfSequenceIsDnaAndNotProtein=guessIfSequenceIsDnaAndNotProtein;exports2.insertGapsIntoRefSeq=insertGapsIntoRefSeq;exports2.insertSequenceDataAtPosition=insertSequenceDataAtPositionOrRange;exports2.insertSequenceDataAtPositionOrRange=insertSequenceDataAtPositionOrRange;exports2.isEnzymeType2S=isEnzymeType2S;exports2.mapAnnotationsToRows=mapAnnotationsToRows;exports2.modifiableTypes=modifiableTypes;exports2.patchSeqWithDiff=patchSeqWithDiff;exports2.prepareCircularViewData=prepareCircularViewData;exports2.prepareRowData=prepareRowData;exports2.proteinAlphabet=proteinAlphabet;exports2.reverseSeqDiff=reverseSeqDiff;exports2.rotateBpsToPosition=rotateBpsToPosition;exports2.rotateSequenceDataToPosition=rotateSequenceDataToPosition;exports2.shiftAnnotationsByLen=shiftAnnotationsByLen;exports2.threeLetterSequenceStringToAminoAcidMap=threeLetterSequenceStringToAminoAcidMap;exports2.tidyUpAnnotation=tidyUpAnnotation;exports2.tidyUpSequenceData=tidyUpSequenceData;Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});
|