Packages
livebook
0.12.0
0.19.8
0.19.7
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.6
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.3
0.17.2
0.17.1
0.17.0
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.5
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.7
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.14.0-rc.1
0.14.0-rc.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0
Automate code & data workflows with interactive notebooks
Current section
Files
Jump to
Current section
Files
static/assets/chunk-4VIGWTJT.js
import{$ as Br,Aa as hr,Ba as Ur,Ca as jr,Da as B,Ea as Wr,O as ze,P as k,Q as Pr,R as D,S as Rr,T as Mr,U as Ke,V as Ve,W as H,X as He,Y as Fr,Z as Xe,_ as _e,aa as Ze,ba as $e,ca as Je,da as Qe,ea as F,fa as Dr,ga as _,ha as rt,ia as G,ja as et,ka as Tr,ma as mr,na as pr,oa as tt,pa as lr,qa as X,ra as Gr,sa as ot,ta as U,ua as j,va as nt,wa as P,xa as at,ya as cr,za as nr}from"./chunk-AZTSVESG.js";var Vn="[object Symbol]";function Hn(r){return typeof r=="symbol"||F(r)&&Pr(r)==Vn}var N=Hn;function Xn(r,e){for(var t=-1,o=r==null?0:r.length,n=Array(o);++t<o;)n[t]=e(r[t],t,r);return n}var W=Xn;var Zn=1/0,it=k?k.prototype:void 0,ft=it?it.toString:void 0;function st(r){if(typeof r=="string")return r;if(_(r))return W(r,st)+"";if(N(r))return ft?ft.call(r):"";var e=r+"";return e=="0"&&1/r==-Zn?"-0":e}var ut=st;var $n=/\s/;function Jn(r){for(var e=r.length;e--&&$n.test(r.charAt(e)););return e}var dt=Jn;var Qn=/^\s+/;function ra(r){return r&&r.slice(0,dt(r)+1).replace(Qn,"")}var mt=ra;var pt=0/0,ea=/^[-+]0x[0-9a-f]+$/i,ta=/^0b[01]+$/i,oa=/^0o[0-7]+$/i,na=parseInt;function aa(r){if(typeof r=="number")return r;if(N(r))return pt;if(D(r)){var e=typeof r.valueOf=="function"?r.valueOf():r;r=D(e)?e+"":e}if(typeof r!="string")return r===0?r:+r;r=mt(r);var t=ta.test(r);return t||oa.test(r)?na(r.slice(2),t?2:8):ea.test(r)?pt:+r}var lt=aa;var ct=1/0,ia=17976931348623157e292;function fa(r){if(!r)return r===0?r:0;if(r=lt(r),r===ct||r===-ct){var e=r<0?-1:1;return e*ia}return r===r?r:0}var xr=fa;function sa(r){var e=xr(r),t=e%1;return e===e?t?e-t:e:0}var ht=sa;function ua(){}var xt=ua;function da(r,e){for(var t=-1,o=r==null?0:r.length;++t<o&&e(r[t],t,r)!==!1;);return r}var qr=da;function ma(r,e,t,o){for(var n=r.length,a=t+(o?1:-1);o?a--:++a<n;)if(e(r[a],a,r))return a;return-1}var Yr=ma;function pa(r){return r!==r}var _t=pa;function la(r,e,t){for(var o=t-1,n=r.length;++o<n;)if(r[o]===e)return o;return-1}var vt=la;function ca(r,e,t){return e===e?vt(r,e,t):Yr(r,_t,t)}var gt=ca;function ha(r,e){var t=r==null?0:r.length;return!!t&>(r,e,0)>-1}var bt=ha;function xa(r){return G(r)?ot(r):Ur(r)}var E=xa;var _a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,va=/^\w*$/;function ga(r,e){if(_(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||N(r)?!0:va.test(r)||!_a.test(r)||e!=null&&r in Object(e)}var _r=ga;var ba=500;function ya(r){var e=Ve(r,function(o){return t.size===ba&&t.clear(),o}),t=e.cache;return e}var yt=ya;var wa=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ea=/\\(\\)?/g,Ia=yt(function(r){var e=[];return r.charCodeAt(0)===46&&e.push(""),r.replace(wa,function(t,o,n,a){e.push(n?a.replace(Ea,"$1"):o||t)}),e}),wt=Ia;function Aa(r){return r==null?"":ut(r)}var zr=Aa;function Ta(r,e){return _(r)?r:_r(r,e)?[r]:wt(zr(r))}var Z=Ta;var Oa=1/0;function Sa(r){if(typeof r=="string"||N(r))return r;var e=r+"";return e=="0"&&1/r==-Oa?"-0":e}var q=Sa;function La(r,e){e=Z(e,r);for(var t=0,o=e.length;r!=null&&t<o;)r=r[q(e[t++])];return t&&t==o?r:void 0}var $=La;function Na(r,e,t){var o=r==null?void 0:$(r,e);return o===void 0?t:o}var Et=Na;function Ca(r,e){for(var t=-1,o=e.length,n=r.length;++t<o;)r[n+t]=e[t];return r}var vr=Ca;var It=k?k.isConcatSpreadable:void 0;function ka(r){return _(r)||Dr(r)||!!(It&&r&&r[It])}var At=ka;function Tt(r,e,t,o,n){var a=-1,i=r.length;for(t||(t=At),n||(n=[]);++a<i;){var f=r[a];e>0&&t(f)?e>1?Tt(f,e-1,t,o,n):vr(n,f):o||(n[n.length]=f)}return n}var gr=Tt;function Pa(r){var e=r==null?0:r.length;return e?gr(r,1):[]}var R=Pa;function Ra(r){return at(nt(r,void 0,R),r+"")}var Ot=Ra;var Ma="\\ud800-\\udfff",Fa="\\u0300-\\u036f",Ba="\\ufe20-\\ufe2f",Da="\\u20d0-\\u20ff",Ga=Fa+Ba+Da,Ua="\\ufe0e\\ufe0f",ja="\\u200d",Wa=RegExp("["+ja+Ma+Ga+Ua+"]");function qa(r){return Wa.test(r)}var St=qa;function Ya(r,e,t,o){var n=-1,a=r==null?0:r.length;for(o&&a&&(t=r[++n]);++n<a;)t=e(t,r[n],n,r);return t}var Lt=Ya;function za(r,e){return r&&X(e,E(e),r)}var Nt=za;function Ka(r,e){return r&&X(e,U(e),r)}var Ct=Ka;function Va(r,e){for(var t=-1,o=r==null?0:r.length,n=0,a=[];++t<o;){var i=r[t];e(i,t,r)&&(a[n++]=i)}return a}var Kr=Va;function Ha(){return[]}var Vr=Ha;var Xa=Object.prototype,Za=Xa.propertyIsEnumerable,kt=Object.getOwnPropertySymbols,$a=kt?function(r){return r==null?[]:(r=Object(r),Kr(kt(r),function(e){return Za.call(r,e)}))}:Vr,br=$a;function Ja(r,e){return X(r,br(r),e)}var Pt=Ja;var Qa=Object.getOwnPropertySymbols,ri=Qa?function(r){for(var e=[];r;)vr(e,br(r)),r=Je(r);return e}:Vr,Hr=ri;function ei(r,e){return X(r,Hr(r),e)}var Rt=ei;function ti(r,e,t){var o=e(r);return _(r)?o:vr(o,t(r))}var Xr=ti;function oi(r){return Xr(r,E,br)}var Or=oi;function ni(r){return Xr(r,U,Hr)}var Mt=ni;var ai=Object.prototype,ii=ai.hasOwnProperty;function fi(r){var e=r.length,t=new r.constructor(e);return e&&typeof r[0]=="string"&&ii.call(r,"index")&&(t.index=r.index,t.input=r.input),t}var Ft=fi;function si(r,e){var t=e?Br(r.buffer):r.buffer;return new r.constructor(t,r.byteOffset,r.byteLength)}var Bt=si;var ui=/\w*$/;function di(r){var e=new r.constructor(r.source,ui.exec(r));return e.lastIndex=r.lastIndex,e}var Dt=di;var Gt=k?k.prototype:void 0,Ut=Gt?Gt.valueOf:void 0;function mi(r){return Ut?Object(Ut.call(r)):{}}var jt=mi;var pi="[object Boolean]",li="[object Date]",ci="[object Map]",hi="[object Number]",xi="[object RegExp]",_i="[object Set]",vi="[object String]",gi="[object Symbol]",bi="[object ArrayBuffer]",yi="[object DataView]",wi="[object Float32Array]",Ei="[object Float64Array]",Ii="[object Int8Array]",Ai="[object Int16Array]",Ti="[object Int32Array]",Oi="[object Uint8Array]",Si="[object Uint8ClampedArray]",Li="[object Uint16Array]",Ni="[object Uint32Array]";function Ci(r,e,t){var o=r.constructor;switch(e){case bi:return Br(r);case pi:case li:return new o(+r);case yi:return Bt(r,t);case wi:case Ei:case Ii:case Ai:case Ti:case Oi:case Si:case Li:case Ni:return Ze(r,t);case ci:return new o;case hi:case vi:return new o(r);case xi:return Dt(r);case _i:return new o;case gi:return jt(r)}}var Wt=Ci;var ki="[object Map]";function Pi(r){return F(r)&&B(r)==ki}var qt=Pi;var Yt=pr&&pr.isMap,Ri=Yt?mr(Yt):qt,zt=Ri;var Mi="[object Set]";function Fi(r){return F(r)&&B(r)==Mi}var Kt=Fi;var Vt=pr&&pr.isSet,Bi=Vt?mr(Vt):Kt,Ht=Bi;var Di=1,Gi=2,Ui=4,Xt="[object Arguments]",ji="[object Array]",Wi="[object Boolean]",qi="[object Date]",Yi="[object Error]",Zt="[object Function]",zi="[object GeneratorFunction]",Ki="[object Map]",Vi="[object Number]",$t="[object Object]",Hi="[object RegExp]",Xi="[object Set]",Zi="[object String]",$i="[object Symbol]",Ji="[object WeakMap]",Qi="[object ArrayBuffer]",rf="[object DataView]",ef="[object Float32Array]",tf="[object Float64Array]",of="[object Int8Array]",nf="[object Int16Array]",af="[object Int32Array]",ff="[object Uint8Array]",sf="[object Uint8ClampedArray]",uf="[object Uint16Array]",df="[object Uint32Array]",y={};y[Xt]=y[ji]=y[Qi]=y[rf]=y[Wi]=y[qi]=y[ef]=y[tf]=y[of]=y[nf]=y[af]=y[Ki]=y[Vi]=y[$t]=y[Hi]=y[Xi]=y[Zi]=y[$i]=y[ff]=y[sf]=y[uf]=y[df]=!0;y[Yi]=y[Zt]=y[Ji]=!1;function Zr(r,e,t,o,n,a){var i,f=e&Di,s=e&Gi,u=e&Ui;if(t&&(i=n?t(r,o,n,a):t(r)),i!==void 0)return i;if(!D(r))return r;var m=_(r);if(m){if(i=Ft(r),!f)return $e(r,i)}else{var p=B(r),l=p==Zt||p==zi;if(Tr(r))return Xe(r,f);if(p==$t||p==Xt||l&&!n){if(i=s||l?{}:Qe(r),!f)return s?Rt(r,Ct(i,r)):Pt(r,Nt(i,r))}else{if(!y[p])return n?r:{};i=Wt(r,p,f)}}a||(a=new H);var x=a.get(r);if(x)return x;a.set(r,i),Ht(r)?r.forEach(function(w){i.add(Zr(w,e,t,w,r,a))}):zt(r)&&r.forEach(function(w,T){i.set(T,Zr(w,e,t,T,r,a))});var h=u?s?Mt:Or:s?U:E,v=m?void 0:h(r);return qr(v||r,function(w,T){v&&(T=w,w=r[T]),lr(i,T,Zr(w,e,t,T,r,a))}),i}var $r=Zr;var mf=4;function pf(r){return $r(r,mf)}var lf=pf;var cf=1,hf=4;function xf(r){return $r(r,cf|hf)}var ve=xf;var _f="__lodash_hash_undefined__";function vf(r){return this.__data__.set(r,_f),this}var Jt=vf;function gf(r){return this.__data__.has(r)}var Qt=gf;function Jr(r){var e=-1,t=r==null?0:r.length;for(this.__data__=new Ke;++e<t;)this.add(r[e])}Jr.prototype.add=Jr.prototype.push=Jt;Jr.prototype.has=Qt;var Qr=Jr;function bf(r,e){for(var t=-1,o=r==null?0:r.length;++t<o;)if(e(r[t],t,r))return!0;return!1}var ro=bf;function yf(r,e){return r.has(e)}var re=yf;var wf=1,Ef=2;function If(r,e,t,o,n,a){var i=t&wf,f=r.length,s=e.length;if(f!=s&&!(i&&s>f))return!1;var u=a.get(r),m=a.get(e);if(u&&m)return u==e&&m==r;var p=-1,l=!0,x=t&Ef?new Qr:void 0;for(a.set(r,e),a.set(e,r);++p<f;){var h=r[p],v=e[p];if(o)var w=i?o(v,h,p,e,r,a):o(h,v,p,r,e,a);if(w!==void 0){if(w)continue;l=!1;break}if(x){if(!ro(e,function(T,or){if(!re(x,or)&&(h===T||n(h,T,t,o,a)))return x.push(or)})){l=!1;break}}else if(!(h===v||n(h,v,t,o,a))){l=!1;break}}return a.delete(r),a.delete(e),l}var ee=If;function Af(r){var e=-1,t=Array(r.size);return r.forEach(function(o,n){t[++e]=[n,o]}),t}var eo=Af;function Tf(r){var e=-1,t=Array(r.size);return r.forEach(function(o){t[++e]=o}),t}var yr=Tf;var Of=1,Sf=2,Lf="[object Boolean]",Nf="[object Date]",Cf="[object Error]",kf="[object Map]",Pf="[object Number]",Rf="[object RegExp]",Mf="[object Set]",Ff="[object String]",Bf="[object Symbol]",Df="[object ArrayBuffer]",Gf="[object DataView]",to=k?k.prototype:void 0,ge=to?to.valueOf:void 0;function Uf(r,e,t,o,n,a,i){switch(t){case Gf:if(r.byteLength!=e.byteLength||r.byteOffset!=e.byteOffset)return!1;r=r.buffer,e=e.buffer;case Df:return!(r.byteLength!=e.byteLength||!a(new _e(r),new _e(e)));case Lf:case Nf:case Pf:return Mr(+r,+e);case Cf:return r.name==e.name&&r.message==e.message;case Rf:case Ff:return r==e+"";case kf:var f=eo;case Mf:var s=o&Of;if(f||(f=yr),r.size!=e.size&&!s)return!1;var u=i.get(r);if(u)return u==e;o|=Sf,i.set(r,e);var m=ee(f(r),f(e),o,n,a,i);return i.delete(r),m;case Bf:if(ge)return ge.call(r)==ge.call(e)}return!1}var oo=Uf;var jf=1,Wf=Object.prototype,qf=Wf.hasOwnProperty;function Yf(r,e,t,o,n,a){var i=t&jf,f=Or(r),s=f.length,u=Or(e),m=u.length;if(s!=m&&!i)return!1;for(var p=s;p--;){var l=f[p];if(!(i?l in e:qf.call(e,l)))return!1}var x=a.get(r),h=a.get(e);if(x&&h)return x==e&&h==r;var v=!0;a.set(r,e),a.set(e,r);for(var w=i;++p<s;){l=f[p];var T=r[l],or=e[l];if(o)var Ye=i?o(or,T,l,e,r,a):o(T,or,l,r,e,a);if(!(Ye===void 0?T===or||n(T,or,t,o,a):Ye)){v=!1;break}w||(w=l=="constructor")}if(v&&!w){var Cr=r.constructor,kr=e.constructor;Cr!=kr&&"constructor"in r&&"constructor"in e&&!(typeof Cr=="function"&&Cr instanceof Cr&&typeof kr=="function"&&kr instanceof kr)&&(v=!1)}return a.delete(r),a.delete(e),v}var no=Yf;var zf=1,ao="[object Arguments]",io="[object Array]",te="[object Object]",Kf=Object.prototype,fo=Kf.hasOwnProperty;function Vf(r,e,t,o,n,a){var i=_(r),f=_(e),s=i?io:B(r),u=f?io:B(e);s=s==ao?te:s,u=u==ao?te:u;var m=s==te,p=u==te,l=s==u;if(l&&Tr(r)){if(!Tr(e))return!1;i=!0,m=!1}if(l&&!m)return a||(a=new H),i||tt(r)?ee(r,e,t,o,n,a):oo(r,e,s,t,o,n,a);if(!(t&zf)){var x=m&&fo.call(r,"__wrapped__"),h=p&&fo.call(e,"__wrapped__");if(x||h){var v=x?r.value():r,w=h?e.value():e;return a||(a=new H),n(v,w,t,o,a)}}return l?(a||(a=new H),no(r,e,t,o,n,a)):!1}var so=Vf;function uo(r,e,t,o,n){return r===e?!0:r==null||e==null||!F(r)&&!F(e)?r!==r&&e!==e:so(r,e,t,o,uo,n)}var oe=uo;var Hf=1,Xf=2;function Zf(r,e,t,o){var n=t.length,a=n,i=!o;if(r==null)return!a;for(r=Object(r);n--;){var f=t[n];if(i&&f[2]?f[1]!==r[f[0]]:!(f[0]in r))return!1}for(;++n<a;){f=t[n];var s=f[0],u=r[s],m=f[1];if(i&&f[2]){if(u===void 0&&!(s in r))return!1}else{var p=new H;if(o)var l=o(u,m,s,r,e,p);if(!(l===void 0?oe(m,u,Hf|Xf,o,p):l))return!1}}return!0}var mo=Zf;function $f(r){return r===r&&!D(r)}var ne=$f;function Jf(r){for(var e=E(r),t=e.length;t--;){var o=e[t],n=r[o];e[t]=[o,n,ne(n)]}return e}var po=Jf;function Qf(r,e){return function(t){return t==null?!1:t[r]===e&&(e!==void 0||r in Object(t))}}var ae=Qf;function rs(r){var e=po(r);return e.length==1&&e[0][2]?ae(e[0][0],e[0][1]):function(t){return t===r||mo(t,r,e)}}var lo=rs;function es(r,e){return r!=null&&e in Object(r)}var co=es;function ts(r,e,t){e=Z(e,r);for(var o=-1,n=e.length,a=!1;++o<n;){var i=q(e[o]);if(!(a=r!=null&&t(r,i)))break;r=r[i]}return a||++o!=n?a:(n=r==null?0:r.length,!!n&&rt(n)&&Gr(i,n)&&(_(r)||Dr(r)))}var ie=ts;function os(r,e){return r!=null&&ie(r,e,co)}var fe=os;var ns=1,as=2;function is(r,e){return _r(r)&&ne(e)?ae(q(r),e):function(t){var o=Et(t,r);return o===void 0&&o===e?fe(t,r):oe(e,o,ns|as)}}var ho=is;function fs(r){return function(e){return e==null?void 0:e[r]}}var se=fs;function ss(r){return function(e){return $(e,r)}}var xo=ss;function us(r){return _r(r)?se(q(r)):xo(r)}var _o=us;function ds(r){return typeof r=="function"?r:r==null?j:typeof r=="object"?_(r)?ho(r[0],r[1]):lo(r):_o(r)}var O=ds;function ms(r,e){return r&&Fr(r,e,E)}var wr=ms;function ps(r,e){return function(t,o){if(t==null)return t;if(!G(t))return r(t,o);for(var n=t.length,a=e?n:-1,i=Object(t);(e?a--:++a<n)&&o(i[a],a,i)!==!1;);return t}}var vo=ps;var ls=vo(wr),J=ls;var cs=function(){return ze.Date.now()},ue=cs;var go=Object.prototype,hs=go.hasOwnProperty,xs=cr(function(r,e){r=Object(r);var t=-1,o=e.length,n=o>2?e[2]:void 0;for(n&&nr(e[0],e[1],n)&&(o=1);++t<o;)for(var a=e[t],i=U(a),f=-1,s=i.length;++f<s;){var u=i[f],m=r[u];(m===void 0||Mr(m,go[u])&&!hs.call(r,u))&&(r[u]=a[u])}return r}),be=xs;function _s(r,e,t){for(var o=-1,n=r==null?0:r.length;++o<n;)if(t(e,r[o]))return!0;return!1}var bo=_s;function vs(r){var e=r==null?0:r.length;return e?r[e-1]:void 0}var Q=vs;function gs(r){return typeof r=="function"?r:j}var Er=gs;function bs(r,e){var t=_(r)?qr:J;return t(r,Er(e))}var d=bs;function ys(r,e){var t=[];return J(r,function(o,n,a){e(o,n,a)&&t.push(o)}),t}var yo=ys;function ws(r,e){var t=_(r)?Kr:yo;return t(r,O(e,3))}var S=ws;function Es(r){return function(e,t,o){var n=Object(e);if(!G(e)){var a=O(t,3);e=E(e),t=function(f){return a(n[f],f,n)}}var i=r(e,t,o);return i>-1?n[a?e[i]:i]:void 0}}var wo=Es;var Is=Math.max;function As(r,e,t){var o=r==null?0:r.length;if(!o)return-1;var n=t==null?0:ht(t);return n<0&&(n=Is(o+n,0)),Yr(r,O(e,3),n)}var Eo=As;var Ts=wo(Eo),Ir=Ts;function Os(r,e){var t=-1,o=G(r)?Array(r.length):[];return J(r,function(n,a,i){o[++t]=e(n,a,i)}),o}var de=Os;function Ss(r,e){var t=_(r)?W:de;return t(r,O(e,3))}var g=Ss;function Ls(r,e){return r==null?r:Fr(r,Er(e),U)}var ye=Ls;function Ns(r,e){return r&&wr(r,Er(e))}var we=Ns;function Cs(r,e){return r>e}var Io=Cs;var ks=Object.prototype,Ps=ks.hasOwnProperty;function Rs(r,e){return r!=null&&Ps.call(r,e)}var Ao=Rs;function Ms(r,e){return r!=null&&ie(r,e,Ao)}var c=Ms;var Fs="[object String]";function Bs(r){return typeof r=="string"||!_(r)&&F(r)&&Pr(r)==Fs}var To=Bs;function Ds(r,e){return W(e,function(t){return r[t]})}var Oo=Ds;function Gs(r){return r==null?[]:Oo(r,E(r))}var C=Gs;function Us(r){return r===void 0}var I=Us;function js(r,e){return r<e}var me=js;function Ws(r,e){var t={};return e=O(e,3),wr(r,function(o,n,a){He(t,n,e(o,n,a))}),t}var ar=Ws;function qs(r,e,t){for(var o=-1,n=r.length;++o<n;){var a=r[o],i=e(a);if(i!=null&&(f===void 0?i===i&&!N(i):t(i,f)))var f=i,s=a}return s}var Ar=qs;function Ys(r){return r&&r.length?Ar(r,j,Io):void 0}var L=Ys;function zs(r){return r&&r.length?Ar(r,j,me):void 0}var V=zs;function Ks(r,e){return r&&r.length?Ar(r,O(e,2),me):void 0}var ir=Ks;function Vs(r,e,t,o){if(!D(r))return r;e=Z(e,r);for(var n=-1,a=e.length,i=a-1,f=r;f!=null&&++n<a;){var s=q(e[n]),u=t;if(s==="__proto__"||s==="constructor"||s==="prototype")return r;if(n!=i){var m=f[s];u=o?o(m,s,f):void 0,u===void 0&&(u=D(m)?m:Gr(e[n+1])?[]:{})}lr(f,s,u),f=f[s]}return r}var So=Vs;function Hs(r,e,t){for(var o=-1,n=e.length,a={};++o<n;){var i=e[o],f=$(r,i);t(f,i)&&So(a,Z(i,r),f)}return a}var Lo=Hs;function Xs(r,e){var t=r.length;for(r.sort(e);t--;)r[t]=r[t].value;return r}var No=Xs;function Zs(r,e){if(r!==e){var t=r!==void 0,o=r===null,n=r===r,a=N(r),i=e!==void 0,f=e===null,s=e===e,u=N(e);if(!f&&!u&&!a&&r>e||a&&i&&s&&!f&&!u||o&&i&&s||!t&&s||!n)return 1;if(!o&&!a&&!u&&r<e||u&&t&&n&&!o&&!a||f&&t&&n||!i&&n||!s)return-1}return 0}var Co=Zs;function $s(r,e,t){for(var o=-1,n=r.criteria,a=e.criteria,i=n.length,f=t.length;++o<i;){var s=Co(n[o],a[o]);if(s){if(o>=f)return s;var u=t[o];return s*(u=="desc"?-1:1)}}return r.index-e.index}var ko=$s;function Js(r,e,t){e.length?e=W(e,function(a){return _(a)?function(i){return $(i,a.length===1?a[0]:a)}:a}):e=[j];var o=-1;e=W(e,mr(O));var n=de(r,function(a,i,f){var s=W(e,function(u){return u(a)});return{criteria:s,index:++o,value:a}});return No(n,function(a,i){return ko(a,i,t)})}var Po=Js;var Qs=se("length"),Ro=Qs;var Fo="\\ud800-\\udfff",ru="\\u0300-\\u036f",eu="\\ufe20-\\ufe2f",tu="\\u20d0-\\u20ff",ou=ru+eu+tu,nu="\\ufe0e\\ufe0f",au="["+Fo+"]",Ee="["+ou+"]",Ie="\\ud83c[\\udffb-\\udfff]",iu="(?:"+Ee+"|"+Ie+")",Bo="[^"+Fo+"]",Do="(?:\\ud83c[\\udde6-\\uddff]){2}",Go="[\\ud800-\\udbff][\\udc00-\\udfff]",fu="\\u200d",Uo=iu+"?",jo="["+nu+"]?",su="(?:"+fu+"(?:"+[Bo,Do,Go].join("|")+")"+jo+Uo+")*",uu=jo+Uo+su,du="(?:"+[Bo+Ee+"?",Ee,Do,Go,au].join("|")+")",Mo=RegExp(Ie+"(?="+Ie+")|"+du+uu,"g");function mu(r){for(var e=Mo.lastIndex=0;Mo.test(r);)++e;return e}var Wo=mu;function pu(r){return St(r)?Wo(r):Ro(r)}var qo=pu;function lu(r,e){return Lo(r,e,function(t,o){return fe(r,o)})}var Yo=lu;var cu=Ot(function(r,e){return r==null?{}:Yo(r,e)}),fr=cu;var hu=Math.ceil,xu=Math.max;function _u(r,e,t,o){for(var n=-1,a=xu(hu((e-r)/(t||1)),0),i=Array(a);a--;)i[o?a:++n]=r,r+=t;return i}var zo=_u;function vu(r){return function(e,t,o){return o&&typeof o!="number"&&nr(e,t,o)&&(t=o=void 0),e=xr(e),t===void 0?(t=e,e=0):t=xr(t),o=o===void 0?e<t?1:-1:xr(o),zo(e,t,o,r)}}var Ko=vu;var gu=Ko(),M=gu;function bu(r,e,t,o,n){return n(r,function(a,i,f){t=o?(o=!1,a):e(t,a,i,f)}),t}var Vo=bu;function yu(r,e,t){var o=_(r)?Lt:Vo,n=arguments.length<3;return o(r,O(e,4),t,n,J)}var Y=yu;var wu="[object Map]",Eu="[object Set]";function Iu(r){if(r==null)return 0;if(G(r))return To(r)?qo(r):r.length;var e=B(r);return e==wu||e==Eu?r.size:Ur(r).length}var Ae=Iu;var Au=cr(function(r,e){if(r==null)return[];var t=e.length;return t>1&&nr(r,e[0],e[1])?e=[]:t>2&&nr(e[0],e[1],e[2])&&(e=[e[0]]),Po(r,gr(e,1),[])}),z=Au;var Tu=1/0,Ou=jr&&1/yr(new jr([,-0]))[1]==Tu?function(r){return new jr(r)}:xt,Ho=Ou;var Su=200;function Lu(r,e,t){var o=-1,n=bt,a=r.length,i=!0,f=[],s=f;if(t)i=!1,n=bo;else if(a>=Su){var u=e?null:Ho(r);if(u)return yr(u);i=!1,n=re,s=new Qr}else s=e?[]:f;r:for(;++o<a;){var m=r[o],p=e?e(m):m;if(m=t||m!==0?m:0,i&&p===p){for(var l=s.length;l--;)if(s[l]===p)continue r;e&&s.push(p),f.push(m)}else n(s,p,t)||(s!==f&&s.push(p),f.push(m))}return f}var Xo=Lu;var Nu=cr(function(r){return Xo(gr(r,1,et,!0))}),Te=Nu;var Cu=0;function ku(r){var e=++Cu;return zr(r)+e}var sr=ku;function Pu(r,e,t){for(var o=-1,n=r.length,a=e.length,i={};++o<n;){var f=o<a?e[o]:void 0;t(i,r[o],f)}return i}var Zo=Pu;function Ru(r,e){return Zo(r||[],e||[],lr)}var pe=Ru;var Mu="\0",ur="\0",$o="",A=class{constructor(e={}){this._isDirected=c(e,"directed")?e.directed:!0,this._isMultigraph=c(e,"multigraph")?e.multigraph:!1,this._isCompound=c(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=P(void 0),this._defaultEdgeLabelFn=P(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[ur]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return Rr(e)||(e=P(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return E(this._nodes)}sources(){var e=this;return S(this.nodes(),function(t){return Wr(e._in[t])})}sinks(){var e=this;return S(this.nodes(),function(t){return Wr(e._out[t])})}setNodes(e,t){var o=arguments,n=this;return d(e,function(a){o.length>1?n.setNode(a,t):n.setNode(a)}),this}setNode(e,t){return c(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=ur,this._children[e]={},this._children[ur][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return c(this._nodes,e)}removeNode(e){var t=this;if(c(this._nodes,e)){var o=function(n){t.removeEdge(t._edgeObjs[n])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],d(this.children(e),function(n){t.setParent(n)}),delete this._children[e]),d(E(this._in[e]),o),delete this._in[e],delete this._preds[e],d(E(this._out[e]),o),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(I(t))t=ur;else{t+="";for(var o=t;!I(o);o=this.parent(o))if(o===e)throw new Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var t=this._parent[e];if(t!==ur)return t}}children(e){if(I(e)&&(e=ur),this._isCompound){var t=this._children[e];if(t)return E(t)}else{if(e===ur)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var t=this._preds[e];if(t)return E(t)}successors(e){var t=this._sucs[e];if(t)return E(t)}neighbors(e){var t=this.predecessors(e);if(t)return Te(t,this.successors(e))}isLeaf(e){var t;return this.isDirected()?t=this.successors(e):t=this.neighbors(e),t.length===0}filterNodes(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var o=this;d(this._nodes,function(i,f){e(f)&&t.setNode(f,i)}),d(this._edgeObjs,function(i){t.hasNode(i.v)&&t.hasNode(i.w)&&t.setEdge(i,o.edge(i))});var n={};function a(i){var f=o.parent(i);return f===void 0||t.hasNode(f)?(n[i]=f,f):f in n?n[f]:a(f)}return this._isCompound&&d(t.nodes(),function(i){t.setParent(i,a(i))}),t}setDefaultEdgeLabel(e){return Rr(e)||(e=P(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return C(this._edgeObjs)}setPath(e,t){var o=this,n=arguments;return Y(e,function(a,i){return n.length>1?o.setEdge(a,i,t):o.setEdge(a,i),i}),this}setEdge(){var e,t,o,n,a=!1,i=arguments[0];typeof i=="object"&&i!==null&&"v"in i?(e=i.v,t=i.w,o=i.name,arguments.length===2&&(n=arguments[1],a=!0)):(e=i,t=arguments[1],o=arguments[3],arguments.length>2&&(n=arguments[2],a=!0)),e=""+e,t=""+t,I(o)||(o=""+o);var f=Sr(this._isDirected,e,t,o);if(c(this._edgeLabels,f))return a&&(this._edgeLabels[f]=n),this;if(!I(o)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[f]=a?n:this._defaultEdgeLabelFn(e,t,o);var s=Fu(this._isDirected,e,t,o);return e=s.v,t=s.w,Object.freeze(s),this._edgeObjs[f]=s,Jo(this._preds[t],e),Jo(this._sucs[e],t),this._in[t][f]=s,this._out[e][f]=s,this._edgeCount++,this}edge(e,t,o){var n=arguments.length===1?Oe(this._isDirected,arguments[0]):Sr(this._isDirected,e,t,o);return this._edgeLabels[n]}hasEdge(e,t,o){var n=arguments.length===1?Oe(this._isDirected,arguments[0]):Sr(this._isDirected,e,t,o);return c(this._edgeLabels,n)}removeEdge(e,t,o){var n=arguments.length===1?Oe(this._isDirected,arguments[0]):Sr(this._isDirected,e,t,o),a=this._edgeObjs[n];return a&&(e=a.v,t=a.w,delete this._edgeLabels[n],delete this._edgeObjs[n],Qo(this._preds[t],e),Qo(this._sucs[e],t),delete this._in[t][n],delete this._out[e][n],this._edgeCount--),this}inEdges(e,t){var o=this._in[e];if(o){var n=C(o);return t?S(n,function(a){return a.v===t}):n}}outEdges(e,t){var o=this._out[e];if(o){var n=C(o);return t?S(n,function(a){return a.w===t}):n}}nodeEdges(e,t){var o=this.inEdges(e,t);if(o)return o.concat(this.outEdges(e,t))}};A.prototype._nodeCount=0;A.prototype._edgeCount=0;function Jo(r,e){r[e]?r[e]++:r[e]=1}function Qo(r,e){--r[e]||delete r[e]}function Sr(r,e,t,o){var n=""+e,a=""+t;if(!r&&n>a){var i=n;n=a,a=i}return n+$o+a+$o+(I(o)?Mu:o)}function Fu(r,e,t,o){var n=""+e,a=""+t;if(!r&&n>a){var i=n;n=a,a=i}var f={v:n,w:a};return o&&(f.name=o),f}function Oe(r,e){return Sr(r,e.v,e.w,e.name)}function K(r,e,t,o){var n;do n=sr(o);while(r.hasNode(n));return t.dummy=e,r.setNode(n,t),n}function rn(r){var e=new A().setGraph(r.graph());return d(r.nodes(),function(t){e.setNode(t,r.node(t))}),d(r.edges(),function(t){var o=e.edge(t.v,t.w)||{weight:0,minlen:1},n=r.edge(t);e.setEdge(t.v,t.w,{weight:o.weight+n.weight,minlen:Math.max(o.minlen,n.minlen)})}),e}function le(r){var e=new A({multigraph:r.isMultigraph()}).setGraph(r.graph());return d(r.nodes(),function(t){r.children(t).length||e.setNode(t,r.node(t))}),d(r.edges(),function(t){e.setEdge(t,r.edge(t))}),e}function Se(r,e){var t=r.x,o=r.y,n=e.x-t,a=e.y-o,i=r.width/2,f=r.height/2;if(!n&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var s,u;return Math.abs(a)*i>Math.abs(n)*f?(a<0&&(f=-f),s=f*n/a,u=f):(n<0&&(i=-i),s=i,u=i*a/n),{x:t+s,y:o+u}}function rr(r){var e=g(M(Ne(r)+1),function(){return[]});return d(r.nodes(),function(t){var o=r.node(t),n=o.rank;I(n)||(e[n][o.order]=t)}),e}function en(r){var e=V(g(r.nodes(),function(t){return r.node(t).rank}));d(r.nodes(),function(t){var o=r.node(t);c(o,"rank")&&(o.rank-=e)})}function tn(r){var e=V(g(r.nodes(),function(a){return r.node(a).rank})),t=[];d(r.nodes(),function(a){var i=r.node(a).rank-e;t[i]||(t[i]=[]),t[i].push(a)});var o=0,n=r.graph().nodeRankFactor;d(t,function(a,i){I(a)&&i%n!==0?--o:o&&d(a,function(f){r.node(f).rank+=o})})}function Le(r,e,t,o){var n={width:0,height:0};return arguments.length>=4&&(n.rank=t,n.order=o),K(r,"border",n,e)}function Ne(r){return L(g(r.nodes(),function(e){var t=r.node(e).rank;if(!I(t))return t}))}function on(r,e){var t={lhs:[],rhs:[]};return d(r,function(o){e(o)?t.lhs.push(o):t.rhs.push(o)}),t}function nn(r,e){var t=ue();try{return e()}finally{console.log(r+" time: "+(ue()-t)+"ms")}}function an(r,e){return e()}function sn(r){function e(t){var o=r.children(t),n=r.node(t);if(o.length&&d(o,e),c(n,"minRank")){n.borderLeft=[],n.borderRight=[];for(var a=n.minRank,i=n.maxRank+1;a<i;++a)fn(r,"borderLeft","_bl",t,n,a),fn(r,"borderRight","_br",t,n,a)}}d(r.children(),e)}function fn(r,e,t,o,n,a){var i={width:0,height:0,rank:a,borderType:e},f=n[e][a-1],s=K(r,"border",i,t);n[e][a]=s,r.setParent(s,o),f&&r.setEdge(f,s,{weight:1})}function dn(r){var e=r.graph().rankdir.toLowerCase();(e==="lr"||e==="rl")&&pn(r)}function mn(r){var e=r.graph().rankdir.toLowerCase();(e==="bt"||e==="rl")&&Bu(r),(e==="lr"||e==="rl")&&(Du(r),pn(r))}function pn(r){d(r.nodes(),function(e){un(r.node(e))}),d(r.edges(),function(e){un(r.edge(e))})}function un(r){var e=r.width;r.width=r.height,r.height=e}function Bu(r){d(r.nodes(),function(e){Ce(r.node(e))}),d(r.edges(),function(e){var t=r.edge(e);d(t.points,Ce),c(t,"y")&&Ce(t)})}function Ce(r){r.y=-r.y}function Du(r){d(r.nodes(),function(e){ke(r.node(e))}),d(r.edges(),function(e){var t=r.edge(e);d(t.points,ke),c(t,"x")&&ke(t)})}function ke(r){var e=r.x;r.x=r.y,r.y=e}var ce=class{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,t=e._prev;if(t!==e)return ln(t),t}enqueue(e){var t=this._sentinel;e._prev&&e._next&&ln(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){for(var e=[],t=this._sentinel,o=t._prev;o!==t;)e.push(JSON.stringify(o,Uu)),o=o._prev;return"["+e.join(", ")+"]"}};function ln(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function Uu(r,e){if(r!=="_next"&&r!=="_prev")return e}var ju=P(1);function cn(r,e){if(r.nodeCount()<=1)return[];var t=qu(r,e||ju),o=Wu(t.graph,t.buckets,t.zeroIdx);return R(g(o,function(n){return r.outEdges(n.v,n.w)}))}function Wu(r,e,t){for(var o=[],n=e[e.length-1],a=e[0],i;r.nodeCount();){for(;i=a.dequeue();)Pe(r,e,t,i);for(;i=n.dequeue();)Pe(r,e,t,i);if(r.nodeCount()){for(var f=e.length-2;f>0;--f)if(i=e[f].dequeue(),i){o=o.concat(Pe(r,e,t,i,!0));break}}}return o}function Pe(r,e,t,o,n){var a=n?[]:void 0;return d(r.inEdges(o.v),function(i){var f=r.edge(i),s=r.node(i.v);n&&a.push({v:i.v,w:i.w}),s.out-=f,Re(e,t,s)}),d(r.outEdges(o.v),function(i){var f=r.edge(i),s=i.w,u=r.node(s);u.in-=f,Re(e,t,u)}),r.removeNode(o.v),a}function qu(r,e){var t=new A,o=0,n=0;d(r.nodes(),function(f){t.setNode(f,{v:f,in:0,out:0})}),d(r.edges(),function(f){var s=t.edge(f.v,f.w)||0,u=e(f),m=s+u;t.setEdge(f.v,f.w,m),n=Math.max(n,t.node(f.v).out+=u),o=Math.max(o,t.node(f.w).in+=u)});var a=M(n+o+3).map(function(){return new ce}),i=o+1;return d(t.nodes(),function(f){Re(a,i,t.node(f))}),{graph:t,buckets:a,zeroIdx:i}}function Re(r,e,t){t.out?t.in?r[t.out-t.in+e].enqueue(t):r[r.length-1].enqueue(t):r[0].enqueue(t)}function hn(r){var e=r.graph().acyclicer==="greedy"?cn(r,t(r)):Yu(r);d(e,function(o){var n=r.edge(o);r.removeEdge(o),n.forwardName=o.name,n.reversed=!0,r.setEdge(o.w,o.v,n,sr("rev"))});function t(o){return function(n){return o.edge(n).weight}}}function Yu(r){var e=[],t={},o={};function n(a){c(o,a)||(o[a]=!0,t[a]=!0,d(r.outEdges(a),function(i){c(t,i.w)?e.push(i):n(i.w)}),delete t[a])}return d(r.nodes(),n),e}function xn(r){d(r.edges(),function(e){var t=r.edge(e);if(t.reversed){r.removeEdge(e);var o=t.forwardName;delete t.reversed,delete t.forwardName,r.setEdge(e.w,e.v,t,o)}})}function vn(r){r.graph().dummyChains=[],d(r.edges(),function(e){zu(r,e)})}function zu(r,e){var t=e.v,o=r.node(t).rank,n=e.w,a=r.node(n).rank,i=e.name,f=r.edge(e),s=f.labelRank;if(a!==o+1){r.removeEdge(e);var u,m,p;for(p=0,++o;o<a;++p,++o)f.points=[],m={width:0,height:0,edgeLabel:f,edgeObj:e,rank:o},u=K(r,"edge",m,"_d"),o===s&&(m.width=f.width,m.height=f.height,m.dummy="edge-label",m.labelpos=f.labelpos),r.setEdge(t,u,{weight:f.weight},i),p===0&&r.graph().dummyChains.push(u),t=u;r.setEdge(t,n,{weight:f.weight},i)}}function gn(r){d(r.graph().dummyChains,function(e){var t=r.node(e),o=t.edgeLabel,n;for(r.setEdge(t.edgeObj,o);t.dummy;)n=r.successors(e)[0],r.removeNode(e),o.points.push({x:t.x,y:t.y}),t.dummy==="edge-label"&&(o.x=t.x,o.y=t.y,o.width=t.width,o.height=t.height),e=n,t=r.node(e)})}function Lr(r){var e={};function t(o){var n=r.node(o);if(c(e,o))return n.rank;e[o]=!0;var a=V(g(r.outEdges(o),function(i){return t(i.w)-r.edge(i).minlen}));return(a===Number.POSITIVE_INFINITY||a===void 0||a===null)&&(a=0),n.rank=a}d(r.sources(),t)}function dr(r,e){return r.node(e.w).rank-r.node(e.v).rank-r.edge(e).minlen}function he(r){var e=new A({directed:!1}),t=r.nodes()[0],o=r.nodeCount();e.setNode(t,{});for(var n,a;Ku(e,r)<o;)n=Vu(e,r),a=e.hasNode(n.v)?dr(r,n):-dr(r,n),Hu(e,r,a);return e}function Ku(r,e){function t(o){d(e.nodeEdges(o),function(n){var a=n.v,i=o===a?n.w:a;!r.hasNode(i)&&!dr(e,n)&&(r.setNode(i,{}),r.setEdge(o,i,{}),t(i))})}return d(r.nodes(),t),r.nodeCount()}function Vu(r,e){return ir(e.edges(),function(t){if(r.hasNode(t.v)!==r.hasNode(t.w))return dr(e,t)})}function Hu(r,e,t){d(r.nodes(),function(o){e.node(o).rank+=t})}var Dg=P(1);var zg=P(1);Me.CycleException=Nr;function Me(r){var e={},t={},o=[];function n(a){if(c(t,a))throw new Nr;c(e,a)||(t[a]=!0,e[a]=!0,d(r.predecessors(a),n),delete t[a],o.push(a))}if(d(r.sinks(),n),Ae(e)!==r.nodeCount())throw new Nr;return o}function Nr(){}Nr.prototype=new Error;function xe(r,e,t){_(e)||(e=[e]);var o=(r.isDirected()?r.successors:r.neighbors).bind(r),n=[],a={};return d(e,function(i){if(!r.hasNode(i))throw new Error("Graph does not have node: "+i);yn(r,i,t==="post",a,o,n)}),n}function yn(r,e,t,o,n,a){c(o,e)||(o[e]=!0,t||a.push(e),d(n(e),function(i){yn(r,i,t,o,n,a)}),t&&a.push(e))}function Fe(r,e){return xe(r,e,"post")}function Be(r,e){return xe(r,e,"pre")}tr.initLowLimValues=Ge;tr.initCutValues=De;tr.calcCutValue=En;tr.leaveEdge=An;tr.enterEdge=Tn;tr.exchangeEdges=On;function tr(r){r=rn(r),Lr(r);var e=he(r);Ge(e),De(e,r);for(var t,o;t=An(e);)o=Tn(e,r,t),On(e,r,t,o)}function De(r,e){var t=Fe(r,r.nodes());t=t.slice(0,t.length-1),d(t,function(o){Qu(r,e,o)})}function Qu(r,e,t){var o=r.node(t),n=o.parent;r.edge(t,n).cutvalue=En(r,e,t)}function En(r,e,t){var o=r.node(t),n=o.parent,a=!0,i=e.edge(t,n),f=0;return i||(a=!1,i=e.edge(n,t)),f=i.weight,d(e.nodeEdges(t),function(s){var u=s.v===t,m=u?s.w:s.v;if(m!==n){var p=u===a,l=e.edge(s).weight;if(f+=p?l:-l,ed(r,t,m)){var x=r.edge(t,m).cutvalue;f+=p?-x:x}}}),f}function Ge(r,e){arguments.length<2&&(e=r.nodes()[0]),In(r,{},1,e)}function In(r,e,t,o,n){var a=t,i=r.node(o);return e[o]=!0,d(r.neighbors(o),function(f){c(e,f)||(t=In(r,e,t,f,o))}),i.low=a,i.lim=t++,n?i.parent=n:delete i.parent,t}function An(r){return Ir(r.edges(),function(e){return r.edge(e).cutvalue<0})}function Tn(r,e,t){var o=t.v,n=t.w;e.hasEdge(o,n)||(o=t.w,n=t.v);var a=r.node(o),i=r.node(n),f=a,s=!1;a.lim>i.lim&&(f=i,s=!0);var u=S(e.edges(),function(m){return s===wn(r,r.node(m.v),f)&&s!==wn(r,r.node(m.w),f)});return ir(u,function(m){return dr(e,m)})}function On(r,e,t,o){var n=t.v,a=t.w;r.removeEdge(n,a),r.setEdge(o.v,o.w,{}),Ge(r),De(r,e),rd(r,e)}function rd(r,e){var t=Ir(r.nodes(),function(n){return!e.node(n).parent}),o=Be(r,t);o=o.slice(1),d(o,function(n){var a=r.node(n).parent,i=e.edge(n,a),f=!1;i||(i=e.edge(a,n),f=!0),e.node(n).rank=e.node(a).rank+(f?i.minlen:-i.minlen)})}function ed(r,e,t){return r.hasEdge(e,t)}function wn(r,e,t){return t.low<=e.lim&&e.lim<=t.lim}function Ue(r){switch(r.graph().ranker){case"network-simplex":Sn(r);break;case"tight-tree":od(r);break;case"longest-path":td(r);break;default:Sn(r)}}var td=Lr;function od(r){Lr(r),he(r)}function Sn(r){tr(r)}function Ln(r){var e=K(r,"root",{},"_root"),t=nd(r),o=L(C(t))-1,n=2*o+1;r.graph().nestingRoot=e,d(r.edges(),function(i){r.edge(i).minlen*=n});var a=ad(r)+1;d(r.children(),function(i){Nn(r,e,n,a,o,t,i)}),r.graph().nodeRankFactor=n}function Nn(r,e,t,o,n,a,i){var f=r.children(i);if(!f.length){i!==e&&r.setEdge(e,i,{weight:0,minlen:t});return}var s=Le(r,"_bt"),u=Le(r,"_bb"),m=r.node(i);r.setParent(s,i),m.borderTop=s,r.setParent(u,i),m.borderBottom=u,d(f,function(p){Nn(r,e,t,o,n,a,p);var l=r.node(p),x=l.borderTop?l.borderTop:p,h=l.borderBottom?l.borderBottom:p,v=l.borderTop?o:2*o,w=x!==h?1:n-a[i]+1;r.setEdge(s,x,{weight:v,minlen:w,nestingEdge:!0}),r.setEdge(h,u,{weight:v,minlen:w,nestingEdge:!0})}),r.parent(i)||r.setEdge(e,s,{weight:0,minlen:n+a[i]})}function nd(r){var e={};function t(o,n){var a=r.children(o);a&&a.length&&d(a,function(i){t(i,n+1)}),e[o]=n}return d(r.children(),function(o){t(o,1)}),e}function ad(r){return Y(r.edges(),function(e,t){return e+r.edge(t).weight},0)}function Cn(r){var e=r.graph();r.removeNode(e.nestingRoot),delete e.nestingRoot,d(r.edges(),function(t){var o=r.edge(t);o.nestingEdge&&r.removeEdge(t)})}function kn(r,e,t){var o={},n;d(t,function(a){for(var i=r.parent(a),f,s;i;){if(f=r.parent(i),f?(s=o[f],o[f]=i):(s=n,n=i),s&&s!==i){e.setEdge(s,i);return}i=f}})}function Pn(r,e,t){var o=fd(r),n=new A({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(a){return r.node(a)});return d(r.nodes(),function(a){var i=r.node(a),f=r.parent(a);(i.rank===e||i.minRank<=e&&e<=i.maxRank)&&(n.setNode(a),n.setParent(a,f||o),d(r[t](a),function(s){var u=s.v===a?s.w:s.v,m=n.edge(u,a),p=I(m)?0:m.weight;n.setEdge(u,a,{weight:r.edge(s).weight+p})}),c(i,"minRank")&&n.setNode(a,{borderLeft:i.borderLeft[e],borderRight:i.borderRight[e]}))}),n}function fd(r){for(var e;r.hasNode(e=sr("_root")););return e}function Rn(r,e){for(var t=0,o=1;o<e.length;++o)t+=sd(r,e[o-1],e[o]);return t}function sd(r,e,t){for(var o=pe(t,g(t,function(u,m){return m})),n=R(g(e,function(u){return z(g(r.outEdges(u),function(m){return{pos:o[m.w],weight:r.edge(m).weight}}),"pos")})),a=1;a<t.length;)a<<=1;var i=2*a-1;a-=1;var f=g(new Array(i),function(){return 0}),s=0;return d(n.forEach(function(u){var m=u.pos+a;f[m]+=u.weight;for(var p=0;m>0;)m%2&&(p+=f[m+1]),m=m-1>>1,f[m]+=u.weight;s+=u.weight*p})),s}function Mn(r){var e={},t=S(r.nodes(),function(f){return!r.children(f).length}),o=L(g(t,function(f){return r.node(f).rank})),n=g(M(o+1),function(){return[]});function a(f){if(!c(e,f)){e[f]=!0;var s=r.node(f);n[s.rank].push(f),d(r.successors(f),a)}}var i=z(t,function(f){return r.node(f).rank});return d(i,a),n}function Fn(r,e){return g(e,function(t){var o=r.inEdges(t);if(o.length){var n=Y(o,function(a,i){var f=r.edge(i),s=r.node(i.v);return{sum:a.sum+f.weight*s.order,weight:a.weight+f.weight}},{sum:0,weight:0});return{v:t,barycenter:n.sum/n.weight,weight:n.weight}}else return{v:t}})}function Bn(r,e){var t={};d(r,function(n,a){var i=t[n.v]={indegree:0,in:[],out:[],vs:[n.v],i:a};I(n.barycenter)||(i.barycenter=n.barycenter,i.weight=n.weight)}),d(e.edges(),function(n){var a=t[n.v],i=t[n.w];!I(a)&&!I(i)&&(i.indegree++,a.out.push(t[n.w]))});var o=S(t,function(n){return!n.indegree});return ud(o)}function ud(r){var e=[];function t(a){return function(i){i.merged||(I(i.barycenter)||I(a.barycenter)||i.barycenter>=a.barycenter)&&dd(a,i)}}function o(a){return function(i){i.in.push(a),--i.indegree===0&&r.push(i)}}for(;r.length;){var n=r.pop();e.push(n),d(n.in.reverse(),t(n)),d(n.out,o(n))}return g(S(e,function(a){return!a.merged}),function(a){return fr(a,["vs","i","barycenter","weight"])})}function dd(r,e){var t=0,o=0;r.weight&&(t+=r.barycenter*r.weight,o+=r.weight),e.weight&&(t+=e.barycenter*e.weight,o+=e.weight),r.vs=e.vs.concat(r.vs),r.barycenter=t/o,r.weight=o,r.i=Math.min(e.i,r.i),e.merged=!0}function Gn(r,e){var t=on(r,function(m){return c(m,"barycenter")}),o=t.lhs,n=z(t.rhs,function(m){return-m.i}),a=[],i=0,f=0,s=0;o.sort(md(!!e)),s=Dn(a,n,s),d(o,function(m){s+=m.vs.length,a.push(m.vs),i+=m.barycenter*m.weight,f+=m.weight,s=Dn(a,n,s)});var u={vs:R(a)};return f&&(u.barycenter=i/f,u.weight=f),u}function Dn(r,e,t){for(var o;e.length&&(o=Q(e)).i<=t;)e.pop(),r.push(o.vs),t++;return t}function md(r){return function(e,t){return e.barycenter<t.barycenter?-1:e.barycenter>t.barycenter?1:r?t.i-e.i:e.i-t.i}}function je(r,e,t,o){var n=r.children(e),a=r.node(e),i=a?a.borderLeft:void 0,f=a?a.borderRight:void 0,s={};i&&(n=S(n,function(h){return h!==i&&h!==f}));var u=Fn(r,n);d(u,function(h){if(r.children(h.v).length){var v=je(r,h.v,t,o);s[h.v]=v,c(v,"barycenter")&&ld(h,v)}});var m=Bn(u,t);pd(m,s);var p=Gn(m,o);if(i&&(p.vs=R([i,p.vs,f]),r.predecessors(i).length)){var l=r.node(r.predecessors(i)[0]),x=r.node(r.predecessors(f)[0]);c(p,"barycenter")||(p.barycenter=0,p.weight=0),p.barycenter=(p.barycenter*p.weight+l.order+x.order)/(p.weight+2),p.weight+=2}return p}function pd(r,e){d(r,function(t){t.vs=R(t.vs.map(function(o){return e[o]?e[o].vs:o}))})}function ld(r,e){I(r.barycenter)?(r.barycenter=e.barycenter,r.weight=e.weight):(r.barycenter=(r.barycenter*r.weight+e.barycenter*e.weight)/(r.weight+e.weight),r.weight+=e.weight)}function Wn(r){var e=Ne(r),t=Un(r,M(1,e+1),"inEdges"),o=Un(r,M(e-1,-1,-1),"outEdges"),n=Mn(r);jn(r,n);for(var a=Number.POSITIVE_INFINITY,i,f=0,s=0;s<4;++f,++s){cd(f%2?t:o,f%4>=2),n=rr(r);var u=Rn(r,n);u<a&&(s=0,i=ve(n),a=u)}jn(r,i)}function Un(r,e,t){return g(e,function(o){return Pn(r,o,t)})}function cd(r,e){var t=new A;d(r,function(o){var n=o.graph().root,a=je(o,n,t,e);d(a.vs,function(i,f){o.node(i).order=f}),kn(o,t,a.vs)})}function jn(r,e){d(e,function(t){d(t,function(o,n){r.node(o).order=n})})}function qn(r){var e=xd(r);d(r.graph().dummyChains,function(t){for(var o=r.node(t),n=o.edgeObj,a=hd(r,e,n.v,n.w),i=a.path,f=a.lca,s=0,u=i[s],m=!0;t!==n.w;){if(o=r.node(t),m){for(;(u=i[s])!==f&&r.node(u).maxRank<o.rank;)s++;u===f&&(m=!1)}if(!m){for(;s<i.length-1&&r.node(u=i[s+1]).minRank<=o.rank;)s++;u=i[s]}r.setParent(t,u),t=r.successors(t)[0]}})}function hd(r,e,t,o){var n=[],a=[],i=Math.min(e[t].low,e[o].low),f=Math.max(e[t].lim,e[o].lim),s,u;s=t;do s=r.parent(s),n.push(s);while(s&&(e[s].low>i||f>e[s].lim));for(u=s,s=o;(s=r.parent(s))!==u;)a.push(s);return{path:n.concat(a.reverse()),lca:u}}function xd(r){var e={},t=0;function o(n){var a=t;d(r.children(n),o),e[n]={low:a,lim:t++}}return d(r.children(),o),e}function _d(r,e){var t={};function o(n,a){var i=0,f=0,s=n.length,u=Q(a);return d(a,function(m,p){var l=gd(r,m),x=l?r.node(l).order:s;(l||m===u)&&(d(a.slice(f,p+1),function(h){d(r.predecessors(h),function(v){var w=r.node(v),T=w.order;(T<i||x<T)&&!(w.dummy&&r.node(h).dummy)&&Yn(t,v,h)})}),f=p+1,i=x)}),a}return Y(e,o),t}function vd(r,e){var t={};function o(a,i,f,s,u){var m;d(M(i,f),function(p){m=a[p],r.node(m).dummy&&d(r.predecessors(m),function(l){var x=r.node(l);x.dummy&&(x.order<s||x.order>u)&&Yn(t,l,m)})})}function n(a,i){var f=-1,s,u=0;return d(i,function(m,p){if(r.node(m).dummy==="border"){var l=r.predecessors(m);l.length&&(s=r.node(l[0]).order,o(i,u,p,f,s),u=p,f=s)}o(i,u,i.length,s,a.length)}),i}return Y(e,n),t}function gd(r,e){if(r.node(e).dummy)return Ir(r.predecessors(e),function(t){return r.node(t).dummy})}function Yn(r,e,t){if(e>t){var o=e;e=t,t=o}var n=r[e];n||(r[e]=n={}),n[t]=!0}function bd(r,e,t){if(e>t){var o=e;e=t,t=o}return c(r[e],t)}function yd(r,e,t,o){var n={},a={},i={};return d(e,function(f){d(f,function(s,u){n[s]=s,a[s]=s,i[s]=u})}),d(e,function(f){var s=-1;d(f,function(u){var m=o(u);if(m.length){m=z(m,function(v){return i[v]});for(var p=(m.length-1)/2,l=Math.floor(p),x=Math.ceil(p);l<=x;++l){var h=m[l];a[u]===u&&s<i[h]&&!bd(t,u,h)&&(a[h]=u,a[u]=n[u]=n[h],s=i[h])}}})}),{root:n,align:a}}function wd(r,e,t,o,n){var a={},i=Ed(r,e,t,n),f=n?"borderLeft":"borderRight";function s(p,l){for(var x=i.nodes(),h=x.pop(),v={};h;)v[h]?p(h):(v[h]=!0,x.push(h),x=x.concat(l(h))),h=x.pop()}function u(p){a[p]=i.inEdges(p).reduce(function(l,x){return Math.max(l,a[x.v]+i.edge(x))},0)}function m(p){var l=i.outEdges(p).reduce(function(h,v){return Math.min(h,a[v.w]-i.edge(v))},Number.POSITIVE_INFINITY),x=r.node(p);l!==Number.POSITIVE_INFINITY&&x.borderType!==f&&(a[p]=Math.max(a[p],l))}return s(u,i.predecessors.bind(i)),s(m,i.successors.bind(i)),d(o,function(p){a[p]=a[t[p]]}),a}function Ed(r,e,t,o){var n=new A,a=r.graph(),i=Od(a.nodesep,a.edgesep,o);return d(e,function(f){var s;d(f,function(u){var m=t[u];if(n.setNode(m),s){var p=t[s],l=n.edge(p,m);n.setEdge(p,m,Math.max(i(r,u,s),l||0))}s=u})}),n}function Id(r,e){return ir(C(e),function(t){var o=Number.NEGATIVE_INFINITY,n=Number.POSITIVE_INFINITY;return ye(t,function(a,i){var f=Sd(r,i)/2;o=Math.max(a+f,o),n=Math.min(a-f,n)}),o-n})}function Ad(r,e){var t=C(e),o=V(t),n=L(t);d(["u","d"],function(a){d(["l","r"],function(i){var f=a+i,s=r[f],u;if(s!==e){var m=C(s);u=i==="l"?o-V(m):n-L(m),u&&(r[f]=ar(s,function(p){return p+u}))}})})}function Td(r,e){return ar(r.ul,function(t,o){if(e)return r[e.toLowerCase()][o];var n=z(g(r,o));return(n[1]+n[2])/2})}function zn(r){var e=rr(r),t=hr(_d(r,e),vd(r,e)),o={},n;d(["u","d"],function(i){n=i==="u"?e:C(e).reverse(),d(["l","r"],function(f){f==="r"&&(n=g(n,function(p){return C(p).reverse()}));var s=(i==="u"?r.predecessors:r.successors).bind(r),u=yd(r,n,t,s),m=wd(r,n,u.root,u.align,f==="r");f==="r"&&(m=ar(m,function(p){return-p})),o[i+f]=m})});var a=Id(r,o);return Ad(o,a),Td(o,r.graph().align)}function Od(r,e,t){return function(o,n,a){var i=o.node(n),f=o.node(a),s=0,u;if(s+=i.width/2,c(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":u=-i.width/2;break;case"r":u=i.width/2;break}if(u&&(s+=t?u:-u),u=0,s+=(i.dummy?e:r)/2,s+=(f.dummy?e:r)/2,s+=f.width/2,c(f,"labelpos"))switch(f.labelpos.toLowerCase()){case"l":u=f.width/2;break;case"r":u=-f.width/2;break}return u&&(s+=t?u:-u),u=0,s}}function Sd(r,e){return r.node(e).width}function Kn(r){r=le(r),Ld(r),we(zn(r),function(e,t){r.node(t).x=e})}function Ld(r){var e=rr(r),t=r.graph().ranksep,o=0;d(e,function(n){var a=L(g(n,function(i){return r.node(i).height}));d(n,function(i){r.node(i).y=o+a/2}),o+=a+t})}function Nd(r,e){var t=e&&e.debugTiming?nn:an;t("layout",function(){var o=t(" buildLayoutGraph",function(){return jd(r)});t(" runLayout",function(){Cd(o,t)}),t(" updateInputGraph",function(){kd(r,o)})})}function Cd(r,e){e(" makeSpaceForEdgeLabels",function(){Wd(r)}),e(" removeSelfEdges",function(){$d(r)}),e(" acyclic",function(){hn(r)}),e(" nestingGraph.run",function(){Ln(r)}),e(" rank",function(){Ue(le(r))}),e(" injectEdgeLabelProxies",function(){qd(r)}),e(" removeEmptyRanks",function(){tn(r)}),e(" nestingGraph.cleanup",function(){Cn(r)}),e(" normalizeRanks",function(){en(r)}),e(" assignRankMinMax",function(){Yd(r)}),e(" removeEdgeLabelProxies",function(){zd(r)}),e(" normalize.run",function(){vn(r)}),e(" parentDummyChains",function(){qn(r)}),e(" addBorderSegments",function(){sn(r)}),e(" order",function(){Wn(r)}),e(" insertSelfEdges",function(){Jd(r)}),e(" adjustCoordinateSystem",function(){dn(r)}),e(" position",function(){Kn(r)}),e(" positionSelfEdges",function(){Qd(r)}),e(" removeBorderNodes",function(){Zd(r)}),e(" normalize.undo",function(){gn(r)}),e(" fixupEdgeLabelCoords",function(){Hd(r)}),e(" undoCoordinateSystem",function(){mn(r)}),e(" translateGraph",function(){Kd(r)}),e(" assignNodeIntersects",function(){Vd(r)}),e(" reversePoints",function(){Xd(r)}),e(" acyclic.undo",function(){xn(r)})}function kd(r,e){d(r.nodes(),function(t){var o=r.node(t),n=e.node(t);o&&(o.x=n.x,o.y=n.y,e.children(t).length&&(o.width=n.width,o.height=n.height))}),d(r.edges(),function(t){var o=r.edge(t),n=e.edge(t);o.points=n.points,c(n,"x")&&(o.x=n.x,o.y=n.y)}),r.graph().width=e.graph().width,r.graph().height=e.graph().height}var Pd=["nodesep","edgesep","ranksep","marginx","marginy"],Rd={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},Md=["acyclicer","ranker","rankdir","align"],Fd=["width","height"],Bd={width:0,height:0},Dd=["minlen","weight","width","height","labeloffset"],Gd={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Ud=["labelpos"];function jd(r){var e=new A({multigraph:!0,compound:!0}),t=qe(r.graph());return e.setGraph(hr({},Rd,We(t,Pd),fr(t,Md))),d(r.nodes(),function(o){var n=qe(r.node(o));e.setNode(o,be(We(n,Fd),Bd)),e.setParent(o,r.parent(o))}),d(r.edges(),function(o){var n=qe(r.edge(o));e.setEdge(o,hr({},Gd,We(n,Dd),fr(n,Ud)))}),e}function Wd(r){var e=r.graph();e.ranksep/=2,d(r.edges(),function(t){var o=r.edge(t);o.minlen*=2,o.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?o.width+=o.labeloffset:o.height+=o.labeloffset)})}function qd(r){d(r.edges(),function(e){var t=r.edge(e);if(t.width&&t.height){var o=r.node(e.v),n=r.node(e.w),a={rank:(n.rank-o.rank)/2+o.rank,e};K(r,"edge-proxy",a,"_ep")}})}function Yd(r){var e=0;d(r.nodes(),function(t){var o=r.node(t);o.borderTop&&(o.minRank=r.node(o.borderTop).rank,o.maxRank=r.node(o.borderBottom).rank,e=L(e,o.maxRank))}),r.graph().maxRank=e}function zd(r){d(r.nodes(),function(e){var t=r.node(e);t.dummy==="edge-proxy"&&(r.edge(t.e).labelRank=t.rank,r.removeNode(e))})}function Kd(r){var e=Number.POSITIVE_INFINITY,t=0,o=Number.POSITIVE_INFINITY,n=0,a=r.graph(),i=a.marginx||0,f=a.marginy||0;function s(u){var m=u.x,p=u.y,l=u.width,x=u.height;e=Math.min(e,m-l/2),t=Math.max(t,m+l/2),o=Math.min(o,p-x/2),n=Math.max(n,p+x/2)}d(r.nodes(),function(u){s(r.node(u))}),d(r.edges(),function(u){var m=r.edge(u);c(m,"x")&&s(m)}),e-=i,o-=f,d(r.nodes(),function(u){var m=r.node(u);m.x-=e,m.y-=o}),d(r.edges(),function(u){var m=r.edge(u);d(m.points,function(p){p.x-=e,p.y-=o}),c(m,"x")&&(m.x-=e),c(m,"y")&&(m.y-=o)}),a.width=t-e+i,a.height=n-o+f}function Vd(r){d(r.edges(),function(e){var t=r.edge(e),o=r.node(e.v),n=r.node(e.w),a,i;t.points?(a=t.points[0],i=t.points[t.points.length-1]):(t.points=[],a=n,i=o),t.points.unshift(Se(o,a)),t.points.push(Se(n,i))})}function Hd(r){d(r.edges(),function(e){var t=r.edge(e);if(c(t,"x"))switch((t.labelpos==="l"||t.labelpos==="r")&&(t.width-=t.labeloffset),t.labelpos){case"l":t.x-=t.width/2+t.labeloffset;break;case"r":t.x+=t.width/2+t.labeloffset;break}})}function Xd(r){d(r.edges(),function(e){var t=r.edge(e);t.reversed&&t.points.reverse()})}function Zd(r){d(r.nodes(),function(e){if(r.children(e).length){var t=r.node(e),o=r.node(t.borderTop),n=r.node(t.borderBottom),a=r.node(Q(t.borderLeft)),i=r.node(Q(t.borderRight));t.width=Math.abs(i.x-a.x),t.height=Math.abs(n.y-o.y),t.x=a.x+t.width/2,t.y=o.y+t.height/2}}),d(r.nodes(),function(e){r.node(e).dummy==="border"&&r.removeNode(e)})}function $d(r){d(r.edges(),function(e){if(e.v===e.w){var t=r.node(e.v);t.selfEdges||(t.selfEdges=[]),t.selfEdges.push({e,label:r.edge(e)}),r.removeEdge(e)}})}function Jd(r){var e=rr(r);d(e,function(t){var o=0;d(t,function(n,a){var i=r.node(n);i.order=a+o,d(i.selfEdges,function(f){K(r,"selfedge",{width:f.label.width,height:f.label.height,rank:i.rank,order:a+ ++o,e:f.e,label:f.label},"_se")}),delete i.selfEdges})})}function Qd(r){d(r.nodes(),function(e){var t=r.node(e);if(t.dummy==="selfedge"){var o=r.node(t.e.v),n=o.x+o.width/2,a=o.y,i=t.x-n,f=o.height/2;r.setEdge(t.e,t.label),r.removeNode(e),t.label.points=[{x:n+2*i/3,y:a-f},{x:n+5*i/6,y:a-f},{x:n+i,y:a},{x:n+5*i/6,y:a+f},{x:n+2*i/3,y:a+f}],t.label.x=t.x,t.label.y=t.y}})}function We(r,e){return ar(fr(r,e),Number)}function qe(r){var e={};return d(r,function(t,o){e[o.toLowerCase()]=t}),e}export{lf as a,be as b,d as c,g as d,c as e,I as f,fr as g,M as h,sr as i,A as j,Nd as k};
/*! Bundled license information:
lodash-es/lodash.js:
(**
* @license
* Lodash (Custom Build) <https://lodash.com/>
* Build: `lodash modularize exports="es" -o ./`
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
* Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
*)
*/