spyret 0.2.0 → 0.3.0
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/README.md +11 -4
- package/dist/spyret-browser.amd.js +28 -28
- package/dist/spyret-browser.global.js +28 -28
- package/dist/spyret-browser.js +28 -28
- package/dist/spyret-browser.mjs +26 -26
- package/dist/spyret.global.js +10 -10
- package/dist/spyret.js +10 -10
- package/dist/spyret.mjs +9 -9
- package/dist/spyret.pyret.js +29 -29
- package/docs/BROWSER_LIBRARY.md +9 -4
- package/docs/RELEASING.md +45 -6
- package/docs/SPYTIAL_HOOKS.md +8 -10
- package/docs/SPYTIAL_LANGUAGE.md +194 -0
- package/docs/SPYTIAL_RULES_REFERENCE.md +23 -21
- package/package.json +1 -1
- package/pyret/spytial.arr +82 -392
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
"use strict";var SpyretBrowser=(()=>{var rd=Object.create;var yr=Object.defineProperty;var td=Object.getOwnPropertyDescriptor;var nd=Object.getOwnPropertyNames;var id=Object.getPrototypeOf,od=Object.prototype.hasOwnProperty;var jn=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var f=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),ad=(e,r)=>{for(var t in r)yr(e,t,{get:r[t],enumerable:!0})},Mn=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of nd(r))!od.call(e,i)&&i!==t&&yr(e,i,{get:()=>r[i],enumerable:!(n=td(r,i))||n.enumerable});return e};var Fn=(e,r,t)=>(t=e!=null?rd(id(e)):{},Mn(r||!e||!e.__esModule?yr(t,"default",{value:e,enumerable:!0}):t,e)),sd=e=>Mn(yr({},"__esModule",{value:!0}),e);var qi=f((F_,ki)=>{"use strict";function Cm(){this.__data__=[],this.size=0}ki.exports=Cm});var xr=f((L_,_i)=>{"use strict";function Pm(e,r){return e===r||e!==e&&r!==r}_i.exports=Pm});var He=f((D_,Oi)=>{"use strict";var Tm=xr();function Nm(e,r){for(var t=e.length;t--;)if(Tm(e[t][0],r))return t;return-1}Oi.exports=Nm});var Pi=f(($_,Ci)=>{"use strict";var Rm=He(),jm=Array.prototype,Mm=jm.splice;function Fm(e){var r=this.__data__,t=Rm(r,e);if(t<0)return!1;var n=r.length-1;return t==n?r.pop():Mm.call(r,t,1),--this.size,!0}Ci.exports=Fm});var Ni=f((B_,Ti)=>{"use strict";var Lm=He();function Dm(e){var r=this.__data__,t=Lm(r,e);return t<0?void 0:r[t][1]}Ti.exports=Dm});var ji=f((V_,Ri)=>{"use strict";var $m=He();function Bm(e){return $m(this.__data__,e)>-1}Ri.exports=Bm});var Fi=f((U_,Mi)=>{"use strict";var Vm=He();function Um(e,r){var t=this.__data__,n=Vm(t,e);return n<0?(++this.size,t.push([e,r])):t[n][1]=r,this}Mi.exports=Um});var Ge=f((H_,Li)=>{"use strict";var Hm=qi(),Gm=Pi(),Km=Ni(),zm=ji(),Ym=Fi();function qe(e){var r=-1,t=e==null?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}qe.prototype.clear=Hm;qe.prototype.delete=Gm;qe.prototype.get=Km;qe.prototype.has=zm;qe.prototype.set=Ym;Li.exports=qe});var $i=f((G_,Di)=>{"use strict";var Jm=Ge();function Wm(){this.__data__=new Jm,this.size=0}Di.exports=Wm});var Vi=f((K_,Bi)=>{"use strict";function Qm(e){var r=this.__data__,t=r.delete(e);return this.size=r.size,t}Bi.exports=Qm});var Hi=f((z_,Ui)=>{"use strict";function Zm(e){return this.__data__.get(e)}Ui.exports=Zm});var Ki=f((Y_,Gi)=>{"use strict";function Xm(e){return this.__data__.has(e)}Gi.exports=Xm});var Et=f((J_,zi)=>{"use strict";var eh=typeof global=="object"&&global&&global.Object===Object&&global;zi.exports=eh});var K=f((W_,Yi)=>{"use strict";var rh=Et(),th=typeof self=="object"&&self&&self.Object===Object&&self,nh=rh||th||Function("return this")();Yi.exports=nh});var ge=f((Q_,Ji)=>{"use strict";var ih=K(),oh=ih.Symbol;Ji.exports=oh});var Xi=f((Z_,Zi)=>{"use strict";var Wi=ge(),Qi=Object.prototype,ah=Qi.hasOwnProperty,sh=Qi.toString,Ke=Wi?Wi.toStringTag:void 0;function uh(e){var r=ah.call(e,Ke),t=e[Ke];try{e[Ke]=void 0;var n=!0}catch{}var i=sh.call(e);return n&&(r?e[Ke]=t:delete e[Ke]),i}Zi.exports=uh});var ro=f((X_,eo)=>{"use strict";var lh=Object.prototype,ch=lh.toString;function fh(e){return ch.call(e)}eo.exports=fh});var be=f((eO,io)=>{"use strict";var to=ge(),ph=Xi(),dh=ro(),yh="[object Null]",mh="[object Undefined]",no=to?to.toStringTag:void 0;function hh(e){return e==null?e===void 0?mh:yh:no&&no in Object(e)?ph(e):dh(e)}io.exports=hh});var le=f((rO,oo)=>{"use strict";function gh(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}oo.exports=gh});var ze=f((tO,ao)=>{"use strict";var bh=be(),wh=le(),vh="[object AsyncFunction]",xh="[object Function]",Ah="[object GeneratorFunction]",Sh="[object Proxy]";function Eh(e){if(!wh(e))return!1;var r=bh(e);return r==xh||r==Ah||r==vh||r==Sh}ao.exports=Eh});var uo=f((nO,so)=>{"use strict";var Ih=K(),kh=Ih["__core-js_shared__"];so.exports=kh});var fo=f((iO,co)=>{"use strict";var It=uo(),lo=(function(){var e=/[^.]+$/.exec(It&&It.keys&&It.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function qh(e){return!!lo&&lo in e}co.exports=qh});var kt=f((oO,po)=>{"use strict";var _h=Function.prototype,Oh=_h.toString;function Ch(e){if(e!=null){try{return Oh.call(e)}catch{}try{return e+""}catch{}}return""}po.exports=Ch});var mo=f((aO,yo)=>{"use strict";var Ph=ze(),Th=fo(),Nh=le(),Rh=kt(),jh=/[\\^$.*+?()[\]{}|]/g,Mh=/^\[object .+?Constructor\]$/,Fh=Function.prototype,Lh=Object.prototype,Dh=Fh.toString,$h=Lh.hasOwnProperty,Bh=RegExp("^"+Dh.call($h).replace(jh,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Vh(e){if(!Nh(e)||Th(e))return!1;var r=Ph(e)?Bh:Mh;return r.test(Rh(e))}yo.exports=Vh});var go=f((sO,ho)=>{"use strict";function Uh(e,r){return e?.[r]}ho.exports=Uh});var ce=f((uO,bo)=>{"use strict";var Hh=mo(),Gh=go();function Kh(e,r){var t=Gh(e,r);return Hh(t)?t:void 0}bo.exports=Kh});var Ar=f((lO,wo)=>{"use strict";var zh=ce(),Yh=K(),Jh=zh(Yh,"Map");wo.exports=Jh});var Ye=f((cO,vo)=>{"use strict";var Wh=ce(),Qh=Wh(Object,"create");vo.exports=Qh});var So=f((fO,Ao)=>{"use strict";var xo=Ye();function Zh(){this.__data__=xo?xo(null):{},this.size=0}Ao.exports=Zh});var Io=f((pO,Eo)=>{"use strict";function Xh(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}Eo.exports=Xh});var qo=f((dO,ko)=>{"use strict";var eg=Ye(),rg="__lodash_hash_undefined__",tg=Object.prototype,ng=tg.hasOwnProperty;function ig(e){var r=this.__data__;if(eg){var t=r[e];return t===rg?void 0:t}return ng.call(r,e)?r[e]:void 0}ko.exports=ig});var Oo=f((yO,_o)=>{"use strict";var og=Ye(),ag=Object.prototype,sg=ag.hasOwnProperty;function ug(e){var r=this.__data__;return og?r[e]!==void 0:sg.call(r,e)}_o.exports=ug});var Po=f((mO,Co)=>{"use strict";var lg=Ye(),cg="__lodash_hash_undefined__";function fg(e,r){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=lg&&r===void 0?cg:r,this}Co.exports=fg});var No=f((hO,To)=>{"use strict";var pg=So(),dg=Io(),yg=qo(),mg=Oo(),hg=Po();function _e(e){var r=-1,t=e==null?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}_e.prototype.clear=pg;_e.prototype.delete=dg;_e.prototype.get=yg;_e.prototype.has=mg;_e.prototype.set=hg;To.exports=_e});var Mo=f((gO,jo)=>{"use strict";var Ro=No(),gg=Ge(),bg=Ar();function wg(){this.size=0,this.__data__={hash:new Ro,map:new(bg||gg),string:new Ro}}jo.exports=wg});var Lo=f((bO,Fo)=>{"use strict";function vg(e){var r=typeof e;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?e!=="__proto__":e===null}Fo.exports=vg});var Je=f((wO,Do)=>{"use strict";var xg=Lo();function Ag(e,r){var t=e.__data__;return xg(r)?t[typeof r=="string"?"string":"hash"]:t.map}Do.exports=Ag});var Bo=f((vO,$o)=>{"use strict";var Sg=Je();function Eg(e){var r=Sg(this,e).delete(e);return this.size-=r?1:0,r}$o.exports=Eg});var Uo=f((xO,Vo)=>{"use strict";var Ig=Je();function kg(e){return Ig(this,e).get(e)}Vo.exports=kg});var Go=f((AO,Ho)=>{"use strict";var qg=Je();function _g(e){return qg(this,e).has(e)}Ho.exports=_g});var zo=f((SO,Ko)=>{"use strict";var Og=Je();function Cg(e,r){var t=Og(this,e),n=t.size;return t.set(e,r),this.size+=t.size==n?0:1,this}Ko.exports=Cg});var Sr=f((EO,Yo)=>{"use strict";var Pg=Mo(),Tg=Bo(),Ng=Uo(),Rg=Go(),jg=zo();function Oe(e){var r=-1,t=e==null?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}Oe.prototype.clear=Pg;Oe.prototype.delete=Tg;Oe.prototype.get=Ng;Oe.prototype.has=Rg;Oe.prototype.set=jg;Yo.exports=Oe});var Wo=f((IO,Jo)=>{"use strict";var Mg=Ge(),Fg=Ar(),Lg=Sr(),Dg=200;function $g(e,r){var t=this.__data__;if(t instanceof Mg){var n=t.__data__;if(!Fg||n.length<Dg-1)return n.push([e,r]),this.size=++t.size,this;t=this.__data__=new Lg(n)}return t.set(e,r),this.size=t.size,this}Jo.exports=$g});var Er=f((kO,Qo)=>{"use strict";var Bg=Ge(),Vg=$i(),Ug=Vi(),Hg=Hi(),Gg=Ki(),Kg=Wo();function Ce(e){var r=this.__data__=new Bg(e);this.size=r.size}Ce.prototype.clear=Vg;Ce.prototype.delete=Ug;Ce.prototype.get=Hg;Ce.prototype.has=Gg;Ce.prototype.set=Kg;Qo.exports=Ce});var Ir=f((qO,Zo)=>{"use strict";function zg(e,r){for(var t=-1,n=e==null?0:e.length;++t<n&&r(e[t],t,e)!==!1;);return e}Zo.exports=zg});var qt=f((_O,Xo)=>{"use strict";var Yg=ce(),Jg=(function(){try{var e=Yg(Object,"defineProperty");return e({},"",{}),e}catch{}})();Xo.exports=Jg});var _t=f((OO,ra)=>{"use strict";var ea=qt();function Wg(e,r,t){r=="__proto__"&&ea?ea(e,r,{configurable:!0,enumerable:!0,value:t,writable:!0}):e[r]=t}ra.exports=Wg});var Ot=f((CO,ta)=>{"use strict";var Qg=_t(),Zg=xr(),Xg=Object.prototype,eb=Xg.hasOwnProperty;function rb(e,r,t){var n=e[r];(!(eb.call(e,r)&&Zg(n,t))||t===void 0&&!(r in e))&&Qg(e,r,t)}ta.exports=rb});var We=f((PO,na)=>{"use strict";var tb=Ot(),nb=_t();function ib(e,r,t,n){var i=!t;t||(t={});for(var o=-1,a=r.length;++o<a;){var s=r[o],u=n?n(t[s],e[s],s,t,e):void 0;u===void 0&&(u=e[s]),i?nb(t,s,u):tb(t,s,u)}return t}na.exports=ib});var oa=f((TO,ia)=>{"use strict";function ob(e,r){for(var t=-1,n=Array(e);++t<e;)n[t]=r(t);return n}ia.exports=ob});var Q=f((NO,aa)=>{"use strict";function ab(e){return e!=null&&typeof e=="object"}aa.exports=ab});var ua=f((RO,sa)=>{"use strict";var sb=be(),ub=Q(),lb="[object Arguments]";function cb(e){return ub(e)&&sb(e)==lb}sa.exports=cb});var Qe=f((jO,fa)=>{"use strict";var la=ua(),fb=Q(),ca=Object.prototype,pb=ca.hasOwnProperty,db=ca.propertyIsEnumerable,yb=la((function(){return arguments})())?la:function(e){return fb(e)&&pb.call(e,"callee")&&!db.call(e,"callee")};fa.exports=yb});var j=f((MO,pa)=>{"use strict";var mb=Array.isArray;pa.exports=mb});var ya=f((FO,da)=>{"use strict";function hb(){return!1}da.exports=hb});var Te=f((Ze,Pe)=>{"use strict";var gb=K(),bb=ya(),ga=typeof Ze=="object"&&Ze&&!Ze.nodeType&&Ze,ma=ga&&typeof Pe=="object"&&Pe&&!Pe.nodeType&&Pe,wb=ma&&ma.exports===ga,ha=wb?gb.Buffer:void 0,vb=ha?ha.isBuffer:void 0,xb=vb||bb;Pe.exports=xb});var Ct=f((LO,ba)=>{"use strict";var Ab=9007199254740991,Sb=/^(?:0|[1-9]\d*)$/;function Eb(e,r){var t=typeof e;return r=r??Ab,!!r&&(t=="number"||t!="symbol"&&Sb.test(e))&&e>-1&&e%1==0&&e<r}ba.exports=Eb});var kr=f((DO,wa)=>{"use strict";var Ib=9007199254740991;function kb(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Ib}wa.exports=kb});var xa=f(($O,va)=>{"use strict";var qb=be(),_b=kr(),Ob=Q(),Cb="[object Arguments]",Pb="[object Array]",Tb="[object Boolean]",Nb="[object Date]",Rb="[object Error]",jb="[object Function]",Mb="[object Map]",Fb="[object Number]",Lb="[object Object]",Db="[object RegExp]",$b="[object Set]",Bb="[object String]",Vb="[object WeakMap]",Ub="[object ArrayBuffer]",Hb="[object DataView]",Gb="[object Float32Array]",Kb="[object Float64Array]",zb="[object Int8Array]",Yb="[object Int16Array]",Jb="[object Int32Array]",Wb="[object Uint8Array]",Qb="[object Uint8ClampedArray]",Zb="[object Uint16Array]",Xb="[object Uint32Array]",C={};C[Gb]=C[Kb]=C[zb]=C[Yb]=C[Jb]=C[Wb]=C[Qb]=C[Zb]=C[Xb]=!0;C[Cb]=C[Pb]=C[Ub]=C[Tb]=C[Hb]=C[Nb]=C[Rb]=C[jb]=C[Mb]=C[Fb]=C[Lb]=C[Db]=C[$b]=C[Bb]=C[Vb]=!1;function ew(e){return Ob(e)&&_b(e.length)&&!!C[qb(e)]}va.exports=ew});var qr=f((BO,Aa)=>{"use strict";function rw(e){return function(r){return e(r)}}Aa.exports=rw});var _r=f((Xe,Ne)=>{"use strict";var tw=Et(),Sa=typeof Xe=="object"&&Xe&&!Xe.nodeType&&Xe,er=Sa&&typeof Ne=="object"&&Ne&&!Ne.nodeType&&Ne,nw=er&&er.exports===Sa,Pt=nw&&tw.process,iw=(function(){try{var e=er&&er.require&&er.require("util").types;return e||Pt&&Pt.binding&&Pt.binding("util")}catch{}})();Ne.exports=iw});var rr=f((VO,ka)=>{"use strict";var ow=xa(),aw=qr(),Ea=_r(),Ia=Ea&&Ea.isTypedArray,sw=Ia?aw(Ia):ow;ka.exports=sw});var Tt=f((UO,qa)=>{"use strict";var uw=oa(),lw=Qe(),cw=j(),fw=Te(),pw=Ct(),dw=rr(),yw=Object.prototype,mw=yw.hasOwnProperty;function hw(e,r){var t=cw(e),n=!t&&lw(e),i=!t&&!n&&fw(e),o=!t&&!n&&!i&&dw(e),a=t||n||i||o,s=a?uw(e.length,String):[],u=s.length;for(var l in e)(r||mw.call(e,l))&&!(a&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||pw(l,u)))&&s.push(l);return s}qa.exports=hw});var tr=f((HO,_a)=>{"use strict";var gw=Object.prototype;function bw(e){var r=e&&e.constructor,t=typeof r=="function"&&r.prototype||gw;return e===t}_a.exports=bw});var Nt=f((GO,Oa)=>{"use strict";function ww(e,r){return function(t){return e(r(t))}}Oa.exports=ww});var Pa=f((KO,Ca)=>{"use strict";var vw=Nt(),xw=vw(Object.keys,Object);Ca.exports=xw});var Or=f((zO,Ta)=>{"use strict";var Aw=tr(),Sw=Pa(),Ew=Object.prototype,Iw=Ew.hasOwnProperty;function kw(e){if(!Aw(e))return Sw(e);var r=[];for(var t in Object(e))Iw.call(e,t)&&t!="constructor"&&r.push(t);return r}Ta.exports=kw});var fe=f((YO,Na)=>{"use strict";var qw=ze(),_w=kr();function Ow(e){return e!=null&&_w(e.length)&&!qw(e)}Na.exports=Ow});var pe=f((JO,Ra)=>{"use strict";var Cw=Tt(),Pw=Or(),Tw=fe();function Nw(e){return Tw(e)?Cw(e):Pw(e)}Ra.exports=Nw});var Ma=f((WO,ja)=>{"use strict";var Rw=We(),jw=pe();function Mw(e,r){return e&&Rw(r,jw(r),e)}ja.exports=Mw});var La=f((QO,Fa)=>{"use strict";function Fw(e){var r=[];if(e!=null)for(var t in Object(e))r.push(t);return r}Fa.exports=Fw});var $a=f((ZO,Da)=>{"use strict";var Lw=le(),Dw=tr(),$w=La(),Bw=Object.prototype,Vw=Bw.hasOwnProperty;function Uw(e){if(!Lw(e))return $w(e);var r=Dw(e),t=[];for(var n in e)n=="constructor"&&(r||!Vw.call(e,n))||t.push(n);return t}Da.exports=Uw});var Cr=f((XO,Ba)=>{"use strict";var Hw=Tt(),Gw=$a(),Kw=fe();function zw(e){return Kw(e)?Hw(e,!0):Gw(e)}Ba.exports=zw});var Ua=f((eC,Va)=>{"use strict";var Yw=We(),Jw=Cr();function Ww(e,r){return e&&Yw(r,Jw(r),e)}Va.exports=Ww});var Ya=f((nr,Re)=>{"use strict";var Qw=K(),za=typeof nr=="object"&&nr&&!nr.nodeType&&nr,Ha=za&&typeof Re=="object"&&Re&&!Re.nodeType&&Re,Zw=Ha&&Ha.exports===za,Ga=Zw?Qw.Buffer:void 0,Ka=Ga?Ga.allocUnsafe:void 0;function Xw(e,r){if(r)return e.slice();var t=e.length,n=Ka?Ka(t):new e.constructor(t);return e.copy(n),n}Re.exports=Xw});var Wa=f((rC,Ja)=>{"use strict";function ev(e,r){var t=-1,n=e.length;for(r||(r=Array(n));++t<n;)r[t]=e[t];return r}Ja.exports=ev});var Rt=f((tC,Qa)=>{"use strict";function rv(e,r){for(var t=-1,n=e==null?0:e.length,i=0,o=[];++t<n;){var a=e[t];r(a,t,e)&&(o[i++]=a)}return o}Qa.exports=rv});var jt=f((nC,Za)=>{"use strict";function tv(){return[]}Za.exports=tv});var Pr=f((iC,es)=>{"use strict";var nv=Rt(),iv=jt(),ov=Object.prototype,av=ov.propertyIsEnumerable,Xa=Object.getOwnPropertySymbols,sv=Xa?function(e){return e==null?[]:(e=Object(e),nv(Xa(e),function(r){return av.call(e,r)}))}:iv;es.exports=sv});var ts=f((oC,rs)=>{"use strict";var uv=We(),lv=Pr();function cv(e,r){return uv(e,lv(e),r)}rs.exports=cv});var Tr=f((aC,ns)=>{"use strict";function fv(e,r){for(var t=-1,n=r.length,i=e.length;++t<n;)e[i+t]=r[t];return e}ns.exports=fv});var Nr=f((sC,is)=>{"use strict";var pv=Nt(),dv=pv(Object.getPrototypeOf,Object);is.exports=dv});var Mt=f((uC,os)=>{"use strict";var yv=Tr(),mv=Nr(),hv=Pr(),gv=jt(),bv=Object.getOwnPropertySymbols,wv=bv?function(e){for(var r=[];e;)yv(r,hv(e)),e=mv(e);return r}:gv;os.exports=wv});var ss=f((lC,as)=>{"use strict";var vv=We(),xv=Mt();function Av(e,r){return vv(e,xv(e),r)}as.exports=Av});var Ft=f((cC,us)=>{"use strict";var Sv=Tr(),Ev=j();function Iv(e,r,t){var n=r(e);return Ev(e)?n:Sv(n,t(e))}us.exports=Iv});var Lt=f((fC,ls)=>{"use strict";var kv=Ft(),qv=Pr(),_v=pe();function Ov(e){return kv(e,_v,qv)}ls.exports=Ov});var fs=f((pC,cs)=>{"use strict";var Cv=Ft(),Pv=Mt(),Tv=Cr();function Nv(e){return Cv(e,Tv,Pv)}cs.exports=Nv});var ds=f((dC,ps)=>{"use strict";var Rv=ce(),jv=K(),Mv=Rv(jv,"DataView");ps.exports=Mv});var ms=f((yC,ys)=>{"use strict";var Fv=ce(),Lv=K(),Dv=Fv(Lv,"Promise");ys.exports=Dv});var Dt=f((mC,hs)=>{"use strict";var $v=ce(),Bv=K(),Vv=$v(Bv,"Set");hs.exports=Vv});var bs=f((hC,gs)=>{"use strict";var Uv=ce(),Hv=K(),Gv=Uv(Hv,"WeakMap");gs.exports=Gv});var ve=f((gC,Is)=>{"use strict";var $t=ds(),Bt=Ar(),Vt=ms(),Ut=Dt(),Ht=bs(),Es=be(),je=kt(),ws="[object Map]",Kv="[object Object]",vs="[object Promise]",xs="[object Set]",As="[object WeakMap]",Ss="[object DataView]",zv=je($t),Yv=je(Bt),Jv=je(Vt),Wv=je(Ut),Qv=je(Ht),we=Es;($t&&we(new $t(new ArrayBuffer(1)))!=Ss||Bt&&we(new Bt)!=ws||Vt&&we(Vt.resolve())!=vs||Ut&&we(new Ut)!=xs||Ht&&we(new Ht)!=As)&&(we=function(e){var r=Es(e),t=r==Kv?e.constructor:void 0,n=t?je(t):"";if(n)switch(n){case zv:return Ss;case Yv:return ws;case Jv:return vs;case Wv:return xs;case Qv:return As}return r});Is.exports=we});var qs=f((bC,ks)=>{"use strict";var Zv=Object.prototype,Xv=Zv.hasOwnProperty;function ex(e){var r=e.length,t=new e.constructor(r);return r&&typeof e[0]=="string"&&Xv.call(e,"index")&&(t.index=e.index,t.input=e.input),t}ks.exports=ex});var Gt=f((wC,_s)=>{"use strict";var rx=K(),tx=rx.Uint8Array;_s.exports=tx});var Rr=f((vC,Cs)=>{"use strict";var Os=Gt();function nx(e){var r=new e.constructor(e.byteLength);return new Os(r).set(new Os(e)),r}Cs.exports=nx});var Ts=f((xC,Ps)=>{"use strict";var ix=Rr();function ox(e,r){var t=r?ix(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.byteLength)}Ps.exports=ox});var Rs=f((AC,Ns)=>{"use strict";var ax=/\w*$/;function sx(e){var r=new e.constructor(e.source,ax.exec(e));return r.lastIndex=e.lastIndex,r}Ns.exports=sx});var Ds=f((SC,Ls)=>{"use strict";var js=ge(),Ms=js?js.prototype:void 0,Fs=Ms?Ms.valueOf:void 0;function ux(e){return Fs?Object(Fs.call(e)):{}}Ls.exports=ux});var Bs=f((EC,$s)=>{"use strict";var lx=Rr();function cx(e,r){var t=r?lx(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.length)}$s.exports=cx});var Us=f((IC,Vs)=>{"use strict";var fx=Rr(),px=Ts(),dx=Rs(),yx=Ds(),mx=Bs(),hx="[object Boolean]",gx="[object Date]",bx="[object Map]",wx="[object Number]",vx="[object RegExp]",xx="[object Set]",Ax="[object String]",Sx="[object Symbol]",Ex="[object ArrayBuffer]",Ix="[object DataView]",kx="[object Float32Array]",qx="[object Float64Array]",_x="[object Int8Array]",Ox="[object Int16Array]",Cx="[object Int32Array]",Px="[object Uint8Array]",Tx="[object Uint8ClampedArray]",Nx="[object Uint16Array]",Rx="[object Uint32Array]";function jx(e,r,t){var n=e.constructor;switch(r){case Ex:return fx(e);case hx:case gx:return new n(+e);case Ix:return px(e,t);case kx:case qx:case _x:case Ox:case Cx:case Px:case Tx:case Nx:case Rx:return mx(e,t);case bx:return new n;case wx:case Ax:return new n(e);case vx:return dx(e);case xx:return new n;case Sx:return yx(e)}}Vs.exports=jx});var Kt=f((kC,Gs)=>{"use strict";var Mx=le(),Hs=Object.create,Fx=(function(){function e(){}return function(r){if(!Mx(r))return{};if(Hs)return Hs(r);e.prototype=r;var t=new e;return e.prototype=void 0,t}})();Gs.exports=Fx});var zs=f((qC,Ks)=>{"use strict";var Lx=Kt(),Dx=Nr(),$x=tr();function Bx(e){return typeof e.constructor=="function"&&!$x(e)?Lx(Dx(e)):{}}Ks.exports=Bx});var Js=f((_C,Ys)=>{"use strict";var Vx=ve(),Ux=Q(),Hx="[object Map]";function Gx(e){return Ux(e)&&Vx(e)==Hx}Ys.exports=Gx});var Xs=f((OC,Zs)=>{"use strict";var Kx=Js(),zx=qr(),Ws=_r(),Qs=Ws&&Ws.isMap,Yx=Qs?zx(Qs):Kx;Zs.exports=Yx});var ru=f((CC,eu)=>{"use strict";var Jx=ve(),Wx=Q(),Qx="[object Set]";function Zx(e){return Wx(e)&&Jx(e)==Qx}eu.exports=Zx});var ou=f((PC,iu)=>{"use strict";var Xx=ru(),e0=qr(),tu=_r(),nu=tu&&tu.isSet,r0=nu?e0(nu):Xx;iu.exports=r0});var cu=f((TC,lu)=>{"use strict";var t0=Er(),n0=Ir(),i0=Ot(),o0=Ma(),a0=Ua(),s0=Ya(),u0=Wa(),l0=ts(),c0=ss(),f0=Lt(),p0=fs(),d0=ve(),y0=qs(),m0=Us(),h0=zs(),g0=j(),b0=Te(),w0=Xs(),v0=le(),x0=ou(),A0=pe(),S0=Cr(),E0=1,I0=2,k0=4,au="[object Arguments]",q0="[object Array]",_0="[object Boolean]",O0="[object Date]",C0="[object Error]",su="[object Function]",P0="[object GeneratorFunction]",T0="[object Map]",N0="[object Number]",uu="[object Object]",R0="[object RegExp]",j0="[object Set]",M0="[object String]",F0="[object Symbol]",L0="[object WeakMap]",D0="[object ArrayBuffer]",$0="[object DataView]",B0="[object Float32Array]",V0="[object Float64Array]",U0="[object Int8Array]",H0="[object Int16Array]",G0="[object Int32Array]",K0="[object Uint8Array]",z0="[object Uint8ClampedArray]",Y0="[object Uint16Array]",J0="[object Uint32Array]",O={};O[au]=O[q0]=O[D0]=O[$0]=O[_0]=O[O0]=O[B0]=O[V0]=O[U0]=O[H0]=O[G0]=O[T0]=O[N0]=O[uu]=O[R0]=O[j0]=O[M0]=O[F0]=O[K0]=O[z0]=O[Y0]=O[J0]=!0;O[C0]=O[su]=O[L0]=!1;function jr(e,r,t,n,i,o){var a,s=r&E0,u=r&I0,l=r&k0;if(t&&(a=i?t(e,n,i,o):t(e)),a!==void 0)return a;if(!v0(e))return e;var p=g0(e);if(p){if(a=y0(e),!s)return u0(e,a)}else{var d=d0(e),c=d==su||d==P0;if(b0(e))return s0(e,s);if(d==uu||d==au||c&&!i){if(a=u||c?{}:h0(e),!s)return u?c0(e,a0(a,e)):l0(e,o0(a,e))}else{if(!O[d])return i?e:{};a=m0(e,d,s)}}o||(o=new t0);var m=o.get(e);if(m)return m;o.set(e,a),x0(e)?e.forEach(function(b){a.add(jr(b,r,t,b,e,o))}):w0(e)&&e.forEach(function(b,g){a.set(g,jr(b,r,t,g,e,o))});var y=l?u?p0:f0:u?S0:A0,h=p?void 0:y(e);return n0(h||e,function(b,g){h&&(g=b,b=e[g]),i0(a,g,jr(b,r,t,g,e,o))}),a}lu.exports=jr});var pu=f((NC,fu)=>{"use strict";var W0=cu(),Q0=4;function Z0(e){return W0(e,Q0)}fu.exports=Z0});var zt=f((RC,du)=>{"use strict";function X0(e){return function(){return e}}du.exports=X0});var mu=f((jC,yu)=>{"use strict";function eA(e){return function(r,t,n){for(var i=-1,o=Object(r),a=n(r),s=a.length;s--;){var u=a[e?s:++i];if(t(o[u],u,o)===!1)break}return r}}yu.exports=eA});var gu=f((MC,hu)=>{"use strict";var rA=mu(),tA=rA();hu.exports=tA});var Yt=f((FC,bu)=>{"use strict";var nA=gu(),iA=pe();function oA(e,r){return e&&nA(e,r,iA)}bu.exports=oA});var vu=f((LC,wu)=>{"use strict";var aA=fe();function sA(e,r){return function(t,n){if(t==null)return t;if(!aA(t))return e(t,n);for(var i=t.length,o=r?i:-1,a=Object(t);(r?o--:++o<i)&&n(a[o],o,a)!==!1;);return t}}wu.exports=sA});var ir=f((DC,xu)=>{"use strict";var uA=Yt(),lA=vu(),cA=lA(uA);xu.exports=cA});var or=f(($C,Au)=>{"use strict";function fA(e){return e}Au.exports=fA});var Eu=f((BC,Su)=>{"use strict";var pA=or();function dA(e){return typeof e=="function"?e:pA}Su.exports=dA});var ku=f((VC,Iu)=>{"use strict";var yA=Ir(),mA=ir(),hA=Eu(),gA=j();function bA(e,r){var t=gA(e)?yA:mA;return t(e,hA(r))}Iu.exports=bA});var _u=f((UC,qu)=>{"use strict";qu.exports=ku()});var Cu=f((HC,Ou)=>{"use strict";var wA=ir();function vA(e,r){var t=[];return wA(e,function(n,i,o){r(n,i,o)&&t.push(n)}),t}Ou.exports=vA});var Tu=f((GC,Pu)=>{"use strict";var xA="__lodash_hash_undefined__";function AA(e){return this.__data__.set(e,xA),this}Pu.exports=AA});var Ru=f((KC,Nu)=>{"use strict";function SA(e){return this.__data__.has(e)}Nu.exports=SA});var Jt=f((zC,ju)=>{"use strict";var EA=Sr(),IA=Tu(),kA=Ru();function Mr(e){var r=-1,t=e==null?0:e.length;for(this.__data__=new EA;++r<t;)this.add(e[r])}Mr.prototype.add=Mr.prototype.push=IA;Mr.prototype.has=kA;ju.exports=Mr});var Fu=f((YC,Mu)=>{"use strict";function qA(e,r){for(var t=-1,n=e==null?0:e.length;++t<n;)if(r(e[t],t,e))return!0;return!1}Mu.exports=qA});var Wt=f((JC,Lu)=>{"use strict";function _A(e,r){return e.has(r)}Lu.exports=_A});var Qt=f((WC,Du)=>{"use strict";var OA=Jt(),CA=Fu(),PA=Wt(),TA=1,NA=2;function RA(e,r,t,n,i,o){var a=t&TA,s=e.length,u=r.length;if(s!=u&&!(a&&u>s))return!1;var l=o.get(e),p=o.get(r);if(l&&p)return l==r&&p==e;var d=-1,c=!0,m=t&NA?new OA:void 0;for(o.set(e,r),o.set(r,e);++d<s;){var y=e[d],h=r[d];if(n)var b=a?n(h,y,d,r,e,o):n(y,h,d,e,r,o);if(b!==void 0){if(b)continue;c=!1;break}if(m){if(!CA(r,function(g,v){if(!PA(m,v)&&(y===g||i(y,g,t,n,o)))return m.push(v)})){c=!1;break}}else if(!(y===h||i(y,h,t,n,o))){c=!1;break}}return o.delete(e),o.delete(r),c}Du.exports=RA});var Bu=f((QC,$u)=>{"use strict";function jA(e){var r=-1,t=Array(e.size);return e.forEach(function(n,i){t[++r]=[i,n]}),t}$u.exports=jA});var Fr=f((ZC,Vu)=>{"use strict";function MA(e){var r=-1,t=Array(e.size);return e.forEach(function(n){t[++r]=n}),t}Vu.exports=MA});var zu=f((XC,Ku)=>{"use strict";var Uu=ge(),Hu=Gt(),FA=xr(),LA=Qt(),DA=Bu(),$A=Fr(),BA=1,VA=2,UA="[object Boolean]",HA="[object Date]",GA="[object Error]",KA="[object Map]",zA="[object Number]",YA="[object RegExp]",JA="[object Set]",WA="[object String]",QA="[object Symbol]",ZA="[object ArrayBuffer]",XA="[object DataView]",Gu=Uu?Uu.prototype:void 0,Zt=Gu?Gu.valueOf:void 0;function eS(e,r,t,n,i,o,a){switch(t){case XA:if(e.byteLength!=r.byteLength||e.byteOffset!=r.byteOffset)return!1;e=e.buffer,r=r.buffer;case ZA:return!(e.byteLength!=r.byteLength||!o(new Hu(e),new Hu(r)));case UA:case HA:case zA:return FA(+e,+r);case GA:return e.name==r.name&&e.message==r.message;case YA:case WA:return e==r+"";case KA:var s=DA;case JA:var u=n&BA;if(s||(s=$A),e.size!=r.size&&!u)return!1;var l=a.get(e);if(l)return l==r;n|=VA,a.set(e,r);var p=LA(s(e),s(r),n,i,o,a);return a.delete(e),p;case QA:if(Zt)return Zt.call(e)==Zt.call(r)}return!1}Ku.exports=eS});var Wu=f((eP,Ju)=>{"use strict";var Yu=Lt(),rS=1,tS=Object.prototype,nS=tS.hasOwnProperty;function iS(e,r,t,n,i,o){var a=t&rS,s=Yu(e),u=s.length,l=Yu(r),p=l.length;if(u!=p&&!a)return!1;for(var d=u;d--;){var c=s[d];if(!(a?c in r:nS.call(r,c)))return!1}var m=o.get(e),y=o.get(r);if(m&&y)return m==r&&y==e;var h=!0;o.set(e,r),o.set(r,e);for(var b=a;++d<u;){c=s[d];var g=e[c],v=r[c];if(n)var E=a?n(v,g,c,r,e,o):n(g,v,c,e,r,o);if(!(E===void 0?g===v||i(g,v,t,n,o):E)){h=!1;break}b||(b=c=="constructor")}if(h&&!b){var T=e.constructor,M=r.constructor;T!=M&&"constructor"in e&&"constructor"in r&&!(typeof T=="function"&&T instanceof T&&typeof M=="function"&&M instanceof M)&&(h=!1)}return o.delete(e),o.delete(r),h}Ju.exports=iS});var il=f((rP,nl)=>{"use strict";var Xt=Er(),oS=Qt(),aS=zu(),sS=Wu(),Qu=ve(),Zu=j(),Xu=Te(),uS=rr(),lS=1,el="[object Arguments]",rl="[object Array]",Lr="[object Object]",cS=Object.prototype,tl=cS.hasOwnProperty;function fS(e,r,t,n,i,o){var a=Zu(e),s=Zu(r),u=a?rl:Qu(e),l=s?rl:Qu(r);u=u==el?Lr:u,l=l==el?Lr:l;var p=u==Lr,d=l==Lr,c=u==l;if(c&&Xu(e)){if(!Xu(r))return!1;a=!0,p=!1}if(c&&!p)return o||(o=new Xt),a||uS(e)?oS(e,r,t,n,i,o):aS(e,r,u,t,n,i,o);if(!(t&lS)){var m=p&&tl.call(e,"__wrapped__"),y=d&&tl.call(r,"__wrapped__");if(m||y){var h=m?e.value():e,b=y?r.value():r;return o||(o=new Xt),i(h,b,t,n,o)}}return c?(o||(o=new Xt),sS(e,r,t,n,i,o)):!1}nl.exports=fS});var en=f((tP,sl)=>{"use strict";var pS=il(),ol=Q();function al(e,r,t,n,i){return e===r?!0:e==null||r==null||!ol(e)&&!ol(r)?e!==e&&r!==r:pS(e,r,t,n,al,i)}sl.exports=al});var ll=f((nP,ul)=>{"use strict";var dS=Er(),yS=en(),mS=1,hS=2;function gS(e,r,t,n){var i=t.length,o=i,a=!n;if(e==null)return!o;for(e=Object(e);i--;){var s=t[i];if(a&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<o;){s=t[i];var u=s[0],l=e[u],p=s[1];if(a&&s[2]){if(l===void 0&&!(u in e))return!1}else{var d=new dS;if(n)var c=n(l,p,u,e,r,d);if(!(c===void 0?yS(p,l,mS|hS,n,d):c))return!1}}return!0}ul.exports=gS});var rn=f((iP,cl)=>{"use strict";var bS=le();function wS(e){return e===e&&!bS(e)}cl.exports=wS});var pl=f((oP,fl)=>{"use strict";var vS=rn(),xS=pe();function AS(e){for(var r=xS(e),t=r.length;t--;){var n=r[t],i=e[n];r[t]=[n,i,vS(i)]}return r}fl.exports=AS});var tn=f((aP,dl)=>{"use strict";function SS(e,r){return function(t){return t==null?!1:t[e]===r&&(r!==void 0||e in Object(t))}}dl.exports=SS});var ml=f((sP,yl)=>{"use strict";var ES=ll(),IS=pl(),kS=tn();function qS(e){var r=IS(e);return r.length==1&&r[0][2]?kS(r[0][0],r[0][1]):function(t){return t===e||ES(t,e,r)}}yl.exports=qS});var Dr=f((uP,hl)=>{"use strict";var _S=be(),OS=Q(),CS="[object Symbol]";function PS(e){return typeof e=="symbol"||OS(e)&&_S(e)==CS}hl.exports=PS});var $r=f((lP,gl)=>{"use strict";var TS=j(),NS=Dr(),RS=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,jS=/^\w*$/;function MS(e,r){if(TS(e))return!1;var t=typeof e;return t=="number"||t=="symbol"||t=="boolean"||e==null||NS(e)?!0:jS.test(e)||!RS.test(e)||r!=null&&e in Object(r)}gl.exports=MS});var vl=f((cP,wl)=>{"use strict";var bl=Sr(),FS="Expected a function";function nn(e,r){if(typeof e!="function"||r!=null&&typeof r!="function")throw new TypeError(FS);var t=function(){var n=arguments,i=r?r.apply(this,n):n[0],o=t.cache;if(o.has(i))return o.get(i);var a=e.apply(this,n);return t.cache=o.set(i,a)||o,a};return t.cache=new(nn.Cache||bl),t}nn.Cache=bl;wl.exports=nn});var Al=f((fP,xl)=>{"use strict";var LS=vl(),DS=500;function $S(e){var r=LS(e,function(n){return t.size===DS&&t.clear(),n}),t=r.cache;return r}xl.exports=$S});var El=f((pP,Sl)=>{"use strict";var BS=Al(),VS=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,US=/\\(\\)?/g,HS=BS(function(e){var r=[];return e.charCodeAt(0)===46&&r.push(""),e.replace(VS,function(t,n,i,o){r.push(i?o.replace(US,"$1"):n||t)}),r});Sl.exports=HS});var Br=f((dP,Il)=>{"use strict";function GS(e,r){for(var t=-1,n=e==null?0:e.length,i=Array(n);++t<n;)i[t]=r(e[t],t,e);return i}Il.exports=GS});var Pl=f((yP,Cl)=>{"use strict";var kl=ge(),KS=Br(),zS=j(),YS=Dr(),JS=1/0,ql=kl?kl.prototype:void 0,_l=ql?ql.toString:void 0;function Ol(e){if(typeof e=="string")return e;if(zS(e))return KS(e,Ol)+"";if(YS(e))return _l?_l.call(e):"";var r=e+"";return r=="0"&&1/e==-JS?"-0":r}Cl.exports=Ol});var Nl=f((mP,Tl)=>{"use strict";var WS=Pl();function QS(e){return e==null?"":WS(e)}Tl.exports=QS});var on=f((hP,Rl)=>{"use strict";var ZS=j(),XS=$r(),eE=El(),rE=Nl();function tE(e,r){return ZS(e)?e:XS(e,r)?[e]:eE(rE(e))}Rl.exports=tE});var ar=f((gP,jl)=>{"use strict";var nE=Dr(),iE=1/0;function oE(e){if(typeof e=="string"||nE(e))return e;var r=e+"";return r=="0"&&1/e==-iE?"-0":r}jl.exports=oE});var an=f((bP,Ml)=>{"use strict";var aE=on(),sE=ar();function uE(e,r){r=aE(r,e);for(var t=0,n=r.length;e!=null&&t<n;)e=e[sE(r[t++])];return t&&t==n?e:void 0}Ml.exports=uE});var Ll=f((wP,Fl)=>{"use strict";var lE=an();function cE(e,r,t){var n=e==null?void 0:lE(e,r);return n===void 0?t:n}Fl.exports=cE});var $l=f((vP,Dl)=>{"use strict";function fE(e,r){return e!=null&&r in Object(e)}Dl.exports=fE});var sn=f((xP,Bl)=>{"use strict";var pE=on(),dE=Qe(),yE=j(),mE=Ct(),hE=kr(),gE=ar();function bE(e,r,t){r=pE(r,e);for(var n=-1,i=r.length,o=!1;++n<i;){var a=gE(r[n]);if(!(o=e!=null&&t(e,a)))break;e=e[a]}return o||++n!=i?o:(i=e==null?0:e.length,!!i&&hE(i)&&mE(a,i)&&(yE(e)||dE(e)))}Bl.exports=bE});var Ul=f((AP,Vl)=>{"use strict";var wE=$l(),vE=sn();function xE(e,r){return e!=null&&vE(e,r,wE)}Vl.exports=xE});var Gl=f((SP,Hl)=>{"use strict";var AE=en(),SE=Ll(),EE=Ul(),IE=$r(),kE=rn(),qE=tn(),_E=ar(),OE=1,CE=2;function PE(e,r){return IE(e)&&kE(r)?qE(_E(e),r):function(t){var n=SE(t,e);return n===void 0&&n===r?EE(t,e):AE(r,n,OE|CE)}}Hl.exports=PE});var un=f((EP,Kl)=>{"use strict";function TE(e){return function(r){return r?.[e]}}Kl.exports=TE});var Yl=f((IP,zl)=>{"use strict";var NE=an();function RE(e){return function(r){return NE(r,e)}}zl.exports=RE});var Wl=f((kP,Jl)=>{"use strict";var jE=un(),ME=Yl(),FE=$r(),LE=ar();function DE(e){return FE(e)?jE(LE(e)):ME(e)}Jl.exports=DE});var sr=f((qP,Ql)=>{"use strict";var $E=ml(),BE=Gl(),VE=or(),UE=j(),HE=Wl();function GE(e){return typeof e=="function"?e:e==null?VE:typeof e=="object"?UE(e)?BE(e[0],e[1]):$E(e):HE(e)}Ql.exports=GE});var Xl=f((_P,Zl)=>{"use strict";var KE=Rt(),zE=Cu(),YE=sr(),JE=j();function WE(e,r){var t=JE(e)?KE:zE;return t(e,YE(r,3))}Zl.exports=WE});var rc=f((OP,ec)=>{"use strict";var QE=Object.prototype,ZE=QE.hasOwnProperty;function XE(e,r){return e!=null&&ZE.call(e,r)}ec.exports=XE});var nc=f((CP,tc)=>{"use strict";var eI=rc(),rI=sn();function tI(e,r){return e!=null&&rI(e,r,eI)}tc.exports=tI});var oc=f((PP,ic)=>{"use strict";var nI=Or(),iI=ve(),oI=Qe(),aI=j(),sI=fe(),uI=Te(),lI=tr(),cI=rr(),fI="[object Map]",pI="[object Set]",dI=Object.prototype,yI=dI.hasOwnProperty;function mI(e){if(e==null)return!0;if(sI(e)&&(aI(e)||typeof e=="string"||typeof e.splice=="function"||uI(e)||cI(e)||oI(e)))return!e.length;var r=iI(e);if(r==fI||r==pI)return!e.size;if(lI(e))return!nI(e).length;for(var t in e)if(yI.call(e,t))return!1;return!0}ic.exports=mI});var sc=f((TP,ac)=>{"use strict";function hI(e){return e===void 0}ac.exports=hI});var lc=f((NP,uc)=>{"use strict";var gI=ir(),bI=fe();function wI(e,r){var t=-1,n=bI(e)?Array(e.length):[];return gI(e,function(i,o,a){n[++t]=r(i,o,a)}),n}uc.exports=wI});var fc=f((RP,cc)=>{"use strict";var vI=Br(),xI=sr(),AI=lc(),SI=j();function EI(e,r){var t=SI(e)?vI:AI;return t(e,xI(r,3))}cc.exports=EI});var dc=f((jP,pc)=>{"use strict";function II(e,r,t,n){var i=-1,o=e==null?0:e.length;for(n&&o&&(t=e[++i]);++i<o;)t=r(t,e[i],i,e);return t}pc.exports=II});var mc=f((MP,yc)=>{"use strict";function kI(e,r,t,n,i){return i(e,function(o,a,s){t=n?(n=!1,o):r(t,o,a,s)}),t}yc.exports=kI});var gc=f((FP,hc)=>{"use strict";var qI=dc(),_I=ir(),OI=sr(),CI=mc(),PI=j();function TI(e,r,t){var n=PI(e)?qI:CI,i=arguments.length<3;return n(e,OI(r,4),t,i,_I)}hc.exports=TI});var wc=f((LP,bc)=>{"use strict";var NI=be(),RI=j(),jI=Q(),MI="[object String]";function FI(e){return typeof e=="string"||!RI(e)&&jI(e)&&NI(e)==MI}bc.exports=FI});var xc=f((DP,vc)=>{"use strict";var LI=un(),DI=LI("length");vc.exports=DI});var Sc=f(($P,Ac)=>{"use strict";var $I="\\ud800-\\udfff",BI="\\u0300-\\u036f",VI="\\ufe20-\\ufe2f",UI="\\u20d0-\\u20ff",HI=BI+VI+UI,GI="\\ufe0e\\ufe0f",KI="\\u200d",zI=RegExp("["+KI+$I+HI+GI+"]");function YI(e){return zI.test(e)}Ac.exports=YI});var Tc=f((BP,Pc)=>{"use strict";var Ic="\\ud800-\\udfff",JI="\\u0300-\\u036f",WI="\\ufe20-\\ufe2f",QI="\\u20d0-\\u20ff",ZI=JI+WI+QI,XI="\\ufe0e\\ufe0f",ek="["+Ic+"]",ln="["+ZI+"]",cn="\\ud83c[\\udffb-\\udfff]",rk="(?:"+ln+"|"+cn+")",kc="[^"+Ic+"]",qc="(?:\\ud83c[\\udde6-\\uddff]){2}",_c="[\\ud800-\\udbff][\\udc00-\\udfff]",tk="\\u200d",Oc=rk+"?",Cc="["+XI+"]?",nk="(?:"+tk+"(?:"+[kc,qc,_c].join("|")+")"+Cc+Oc+")*",ik=Cc+Oc+nk,ok="(?:"+[kc+ln+"?",ln,qc,_c,ek].join("|")+")",Ec=RegExp(cn+"(?="+cn+")|"+ok+ik,"g");function ak(e){for(var r=Ec.lastIndex=0;Ec.test(e);)++r;return r}Pc.exports=ak});var Rc=f((VP,Nc)=>{"use strict";var sk=xc(),uk=Sc(),lk=Tc();function ck(e){return uk(e)?lk(e):sk(e)}Nc.exports=ck});var Mc=f((UP,jc)=>{"use strict";var fk=Or(),pk=ve(),dk=fe(),yk=wc(),mk=Rc(),hk="[object Map]",gk="[object Set]";function bk(e){if(e==null)return 0;if(dk(e))return yk(e)?mk(e):e.length;var r=pk(e);return r==hk||r==gk?e.size:fk(e).length}jc.exports=bk});var Lc=f((HP,Fc)=>{"use strict";var wk=Ir(),vk=Kt(),xk=Yt(),Ak=sr(),Sk=Nr(),Ek=j(),Ik=Te(),kk=ze(),qk=le(),_k=rr();function Ok(e,r,t){var n=Ek(e),i=n||Ik(e)||_k(e);if(r=Ak(r,4),t==null){var o=e&&e.constructor;i?t=n?new o:[]:qk(e)?t=kk(o)?vk(Sk(e)):{}:t={}}return(i?wk:xk)(e,function(a,s,u){return r(t,a,s,u)}),t}Fc.exports=Ok});var Vc=f((GP,Bc)=>{"use strict";var Dc=ge(),Ck=Qe(),Pk=j(),$c=Dc?Dc.isConcatSpreadable:void 0;function Tk(e){return Pk(e)||Ck(e)||!!($c&&e&&e[$c])}Bc.exports=Tk});var Gc=f((KP,Hc)=>{"use strict";var Nk=Tr(),Rk=Vc();function Uc(e,r,t,n,i){var o=-1,a=e.length;for(t||(t=Rk),i||(i=[]);++o<a;){var s=e[o];r>0&&t(s)?r>1?Uc(s,r-1,t,n,i):Nk(i,s):n||(i[i.length]=s)}return i}Hc.exports=Uc});var zc=f((zP,Kc)=>{"use strict";function jk(e,r,t){switch(t.length){case 0:return e.call(r);case 1:return e.call(r,t[0]);case 2:return e.call(r,t[0],t[1]);case 3:return e.call(r,t[0],t[1],t[2])}return e.apply(r,t)}Kc.exports=jk});var Wc=f((YP,Jc)=>{"use strict";var Mk=zc(),Yc=Math.max;function Fk(e,r,t){return r=Yc(r===void 0?e.length-1:r,0),function(){for(var n=arguments,i=-1,o=Yc(n.length-r,0),a=Array(o);++i<o;)a[i]=n[r+i];i=-1;for(var s=Array(r+1);++i<r;)s[i]=n[i];return s[r]=t(a),Mk(e,this,s)}}Jc.exports=Fk});var Xc=f((JP,Zc)=>{"use strict";var Lk=zt(),Qc=qt(),Dk=or(),$k=Qc?function(e,r){return Qc(e,"toString",{configurable:!0,enumerable:!1,value:Lk(r),writable:!0})}:Dk;Zc.exports=$k});var rf=f((WP,ef)=>{"use strict";var Bk=800,Vk=16,Uk=Date.now;function Hk(e){var r=0,t=0;return function(){var n=Uk(),i=Vk-(n-t);if(t=n,i>0){if(++r>=Bk)return arguments[0]}else r=0;return e.apply(void 0,arguments)}}ef.exports=Hk});var nf=f((QP,tf)=>{"use strict";var Gk=Xc(),Kk=rf(),zk=Kk(Gk);tf.exports=zk});var af=f((ZP,of)=>{"use strict";var Yk=or(),Jk=Wc(),Wk=nf();function Qk(e,r){return Wk(Jk(e,r,Yk),e+"")}of.exports=Qk});var uf=f((XP,sf)=>{"use strict";function Zk(e,r,t,n){for(var i=e.length,o=t+(n?1:-1);n?o--:++o<i;)if(r(e[o],o,e))return o;return-1}sf.exports=Zk});var cf=f((eT,lf)=>{"use strict";function Xk(e){return e!==e}lf.exports=Xk});var pf=f((rT,ff)=>{"use strict";function eq(e,r,t){for(var n=t-1,i=e.length;++n<i;)if(e[n]===r)return n;return-1}ff.exports=eq});var yf=f((tT,df)=>{"use strict";var rq=uf(),tq=cf(),nq=pf();function iq(e,r,t){return r===r?nq(e,r,t):rq(e,tq,t)}df.exports=iq});var hf=f((nT,mf)=>{"use strict";var oq=yf();function aq(e,r){var t=e==null?0:e.length;return!!t&&oq(e,r,0)>-1}mf.exports=aq});var bf=f((iT,gf)=>{"use strict";function sq(e,r,t){for(var n=-1,i=e==null?0:e.length;++n<i;)if(t(r,e[n]))return!0;return!1}gf.exports=sq});var vf=f((oT,wf)=>{"use strict";function uq(){}wf.exports=uq});var Af=f((aT,xf)=>{"use strict";var fn=Dt(),lq=vf(),cq=Fr(),fq=1/0,pq=fn&&1/cq(new fn([,-0]))[1]==fq?function(e){return new fn(e)}:lq;xf.exports=pq});var Ef=f((sT,Sf)=>{"use strict";var dq=Jt(),yq=hf(),mq=bf(),hq=Wt(),gq=Af(),bq=Fr(),wq=200;function vq(e,r,t){var n=-1,i=yq,o=e.length,a=!0,s=[],u=s;if(t)a=!1,i=mq;else if(o>=wq){var l=r?null:gq(e);if(l)return bq(l);a=!1,i=hq,u=new dq}else u=r?[]:s;e:for(;++n<o;){var p=e[n],d=r?r(p):p;if(p=t||p!==0?p:0,a&&d===d){for(var c=u.length;c--;)if(u[c]===d)continue e;r&&u.push(d),s.push(p)}else i(u,d,t)||(u!==s&&u.push(d),s.push(p))}return s}Sf.exports=vq});var kf=f((uT,If)=>{"use strict";var xq=fe(),Aq=Q();function Sq(e){return Aq(e)&&xq(e)}If.exports=Sq});var _f=f((lT,qf)=>{"use strict";var Eq=Gc(),Iq=af(),kq=Ef(),qq=kf(),_q=Iq(function(e){return kq(Eq(e,1,qq,!0))});qf.exports=_q});var Cf=f((cT,Of)=>{"use strict";var Oq=Br();function Cq(e,r){return Oq(r,function(t){return e[t]})}Of.exports=Cq});var Tf=f((fT,Pf)=>{"use strict";var Pq=Cf(),Tq=pe();function Nq(e){return e==null?[]:Pq(e,Tq(e))}Pf.exports=Nq});var U=f((pT,Nf)=>{"use strict";var Vr;if(typeof jn=="function")try{Vr={clone:pu(),constant:zt(),each:_u(),filter:Xl(),has:nc(),isArray:j(),isEmpty:oc(),isFunction:ze(),isUndefined:sc(),keys:pe(),map:fc(),reduce:gc(),size:Mc(),transform:Lc(),union:_f(),values:Tf()}}catch{}Vr||(Vr=window._);Nf.exports=Vr});var Ur=f((yT,Ff)=>{"use strict";var I=U();Ff.exports=_;var Rq="\0",xe="\0",Rf="";function _(e){this._isDirected=I.has(e,"directed")?e.directed:!0,this._isMultigraph=I.has(e,"multigraph")?e.multigraph:!1,this._isCompound=I.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=I.constant(void 0),this._defaultEdgeLabelFn=I.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[xe]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}_.prototype._nodeCount=0;_.prototype._edgeCount=0;_.prototype.isDirected=function(){return this._isDirected};_.prototype.isMultigraph=function(){return this._isMultigraph};_.prototype.isCompound=function(){return this._isCompound};_.prototype.setGraph=function(e){return this._label=e,this};_.prototype.graph=function(){return this._label};_.prototype.setDefaultNodeLabel=function(e){return I.isFunction(e)||(e=I.constant(e)),this._defaultNodeLabelFn=e,this};_.prototype.nodeCount=function(){return this._nodeCount};_.prototype.nodes=function(){return I.keys(this._nodes)};_.prototype.sources=function(){var e=this;return I.filter(this.nodes(),function(r){return I.isEmpty(e._in[r])})};_.prototype.sinks=function(){var e=this;return I.filter(this.nodes(),function(r){return I.isEmpty(e._out[r])})};_.prototype.setNodes=function(e,r){var t=arguments,n=this;return I.each(e,function(i){t.length>1?n.setNode(i,r):n.setNode(i)}),this};_.prototype.setNode=function(e,r){return I.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=xe,this._children[e]={},this._children[xe][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)};_.prototype.node=function(e){return this._nodes[e]};_.prototype.hasNode=function(e){return I.has(this._nodes,e)};_.prototype.removeNode=function(e){var r=this;if(I.has(this._nodes,e)){var t=function(n){r.removeEdge(r._edgeObjs[n])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],I.each(this.children(e),function(n){r.setParent(n)}),delete this._children[e]),I.each(I.keys(this._in[e]),t),delete this._in[e],delete this._preds[e],I.each(I.keys(this._out[e]),t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this};_.prototype.setParent=function(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(I.isUndefined(r))r=xe;else{r+="";for(var t=r;!I.isUndefined(t);t=this.parent(t))if(t===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this};_.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]};_.prototype.parent=function(e){if(this._isCompound){var r=this._parent[e];if(r!==xe)return r}};_.prototype.children=function(e){if(I.isUndefined(e)&&(e=xe),this._isCompound){var r=this._children[e];if(r)return I.keys(r)}else{if(e===xe)return this.nodes();if(this.hasNode(e))return[]}};_.prototype.predecessors=function(e){var r=this._preds[e];if(r)return I.keys(r)};_.prototype.successors=function(e){var r=this._sucs[e];if(r)return I.keys(r)};_.prototype.neighbors=function(e){var r=this.predecessors(e);if(r)return I.union(r,this.successors(e))};_.prototype.isLeaf=function(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0};_.prototype.filterNodes=function(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var t=this;I.each(this._nodes,function(o,a){e(a)&&r.setNode(a,o)}),I.each(this._edgeObjs,function(o){r.hasNode(o.v)&&r.hasNode(o.w)&&r.setEdge(o,t.edge(o))});var n={};function i(o){var a=t.parent(o);return a===void 0||r.hasNode(a)?(n[o]=a,a):a in n?n[a]:i(a)}return this._isCompound&&I.each(r.nodes(),function(o){r.setParent(o,i(o))}),r};_.prototype.setDefaultEdgeLabel=function(e){return I.isFunction(e)||(e=I.constant(e)),this._defaultEdgeLabelFn=e,this};_.prototype.edgeCount=function(){return this._edgeCount};_.prototype.edges=function(){return I.values(this._edgeObjs)};_.prototype.setPath=function(e,r){var t=this,n=arguments;return I.reduce(e,function(i,o){return n.length>1?t.setEdge(i,o,r):t.setEdge(i,o),o}),this};_.prototype.setEdge=function(){var e,r,t,n,i=!1,o=arguments[0];typeof o=="object"&&o!==null&&"v"in o?(e=o.v,r=o.w,t=o.name,arguments.length===2&&(n=arguments[1],i=!0)):(e=o,r=arguments[1],t=arguments[3],arguments.length>2&&(n=arguments[2],i=!0)),e=""+e,r=""+r,I.isUndefined(t)||(t=""+t);var a=ur(this._isDirected,e,r,t);if(I.has(this._edgeLabels,a))return i&&(this._edgeLabels[a]=n),this;if(!I.isUndefined(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[a]=i?n:this._defaultEdgeLabelFn(e,r,t);var s=jq(this._isDirected,e,r,t);return e=s.v,r=s.w,Object.freeze(s),this._edgeObjs[a]=s,jf(this._preds[r],e),jf(this._sucs[e],r),this._in[r][a]=s,this._out[e][a]=s,this._edgeCount++,this};_.prototype.edge=function(e,r,t){var n=arguments.length===1?pn(this._isDirected,arguments[0]):ur(this._isDirected,e,r,t);return this._edgeLabels[n]};_.prototype.hasEdge=function(e,r,t){var n=arguments.length===1?pn(this._isDirected,arguments[0]):ur(this._isDirected,e,r,t);return I.has(this._edgeLabels,n)};_.prototype.removeEdge=function(e,r,t){var n=arguments.length===1?pn(this._isDirected,arguments[0]):ur(this._isDirected,e,r,t),i=this._edgeObjs[n];return i&&(e=i.v,r=i.w,delete this._edgeLabels[n],delete this._edgeObjs[n],Mf(this._preds[r],e),Mf(this._sucs[e],r),delete this._in[r][n],delete this._out[e][n],this._edgeCount--),this};_.prototype.inEdges=function(e,r){var t=this._in[e];if(t){var n=I.values(t);return r?I.filter(n,function(i){return i.v===r}):n}};_.prototype.outEdges=function(e,r){var t=this._out[e];if(t){var n=I.values(t);return r?I.filter(n,function(i){return i.w===r}):n}};_.prototype.nodeEdges=function(e,r){var t=this.inEdges(e,r);if(t)return t.concat(this.outEdges(e,r))};function jf(e,r){e[r]?e[r]++:e[r]=1}function Mf(e,r){--e[r]||delete e[r]}function ur(e,r,t,n){var i=""+r,o=""+t;if(!e&&i>o){var a=i;i=o,o=a}return i+Rf+o+Rf+(I.isUndefined(n)?Rq:n)}function jq(e,r,t,n){var i=""+r,o=""+t;if(!e&&i>o){var a=i;i=o,o=a}var s={v:i,w:o};return n&&(s.name=n),s}function pn(e,r){return ur(e,r.v,r.w,r.name)}});var Df=f((mT,Lf)=>{"use strict";Lf.exports="2.1.8"});var Bf=f((hT,$f)=>{"use strict";$f.exports={Graph:Ur(),version:Df()}});var Uf=f((gT,Vf)=>{"use strict";var Z=U(),Mq=Ur();Vf.exports={write:Fq,read:$q};function Fq(e){var r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:Lq(e),edges:Dq(e)};return Z.isUndefined(e.graph())||(r.value=Z.clone(e.graph())),r}function Lq(e){return Z.map(e.nodes(),function(r){var t=e.node(r),n=e.parent(r),i={v:r};return Z.isUndefined(t)||(i.value=t),Z.isUndefined(n)||(i.parent=n),i})}function Dq(e){return Z.map(e.edges(),function(r){var t=e.edge(r),n={v:r.v,w:r.w};return Z.isUndefined(r.name)||(n.name=r.name),Z.isUndefined(t)||(n.value=t),n})}function $q(e){var r=new Mq(e.options).setGraph(e.value);return Z.each(e.nodes,function(t){r.setNode(t.v,t.value),t.parent&&r.setParent(t.v,t.parent)}),Z.each(e.edges,function(t){r.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),r}});var Gf=f((bT,Hf)=>{"use strict";var Hr=U();Hf.exports=Bq;function Bq(e){var r={},t=[],n;function i(o){Hr.has(r,o)||(r[o]=!0,n.push(o),Hr.each(e.successors(o),i),Hr.each(e.predecessors(o),i))}return Hr.each(e.nodes(),function(o){n=[],i(o),n.length&&t.push(n)}),t}});var dn=f((wT,zf)=>{"use strict";var Kf=U();zf.exports=H;function H(){this._arr=[],this._keyIndices={}}H.prototype.size=function(){return this._arr.length};H.prototype.keys=function(){return this._arr.map(function(e){return e.key})};H.prototype.has=function(e){return Kf.has(this._keyIndices,e)};H.prototype.priority=function(e){var r=this._keyIndices[e];if(r!==void 0)return this._arr[r].priority};H.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key};H.prototype.add=function(e,r){var t=this._keyIndices;if(e=String(e),!Kf.has(t,e)){var n=this._arr,i=n.length;return t[e]=i,n.push({key:e,priority:r}),this._decrease(i),!0}return!1};H.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key};H.prototype.decrease=function(e,r){var t=this._keyIndices[e];if(r>this._arr[t].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[t].priority+" New: "+r);this._arr[t].priority=r,this._decrease(t)};H.prototype._heapify=function(e){var r=this._arr,t=2*e,n=t+1,i=e;t<r.length&&(i=r[t].priority<r[i].priority?t:i,n<r.length&&(i=r[n].priority<r[i].priority?n:i),i!==e&&(this._swap(e,i),this._heapify(i)))};H.prototype._decrease=function(e){for(var r=this._arr,t=r[e].priority,n;e!==0&&(n=e>>1,!(r[n].priority<t));)this._swap(e,n),e=n};H.prototype._swap=function(e,r){var t=this._arr,n=this._keyIndices,i=t[e],o=t[r];t[e]=o,t[r]=i,n[o.key]=e,n[i.key]=r}});var yn=f((vT,Yf)=>{"use strict";var Vq=U(),Uq=dn();Yf.exports=Gq;var Hq=Vq.constant(1);function Gq(e,r,t,n){return Kq(e,String(r),t||Hq,n||function(i){return e.outEdges(i)})}function Kq(e,r,t,n){var i={},o=new Uq,a,s,u=function(l){var p=l.v!==a?l.v:l.w,d=i[p],c=t(l),m=s.distance+c;if(c<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+l+" Weight: "+c);m<d.distance&&(d.distance=m,d.predecessor=a,o.decrease(p,m))};for(e.nodes().forEach(function(l){var p=l===r?0:Number.POSITIVE_INFINITY;i[l]={distance:p},o.add(l,p)});o.size()>0&&(a=o.removeMin(),s=i[a],s.distance!==Number.POSITIVE_INFINITY);)n(a).forEach(u);return i}});var Wf=f((xT,Jf)=>{"use strict";var zq=yn(),Yq=U();Jf.exports=Jq;function Jq(e,r,t){return Yq.transform(e.nodes(),function(n,i){n[i]=zq(e,i,r,t)},{})}});var mn=f((AT,Zf)=>{"use strict";var Qf=U();Zf.exports=Wq;function Wq(e){var r=0,t=[],n={},i=[];function o(a){var s=n[a]={onStack:!0,lowlink:r,index:r++};if(t.push(a),e.successors(a).forEach(function(p){Qf.has(n,p)?n[p].onStack&&(s.lowlink=Math.min(s.lowlink,n[p].index)):(o(p),s.lowlink=Math.min(s.lowlink,n[p].lowlink))}),s.lowlink===s.index){var u=[],l;do l=t.pop(),n[l].onStack=!1,u.push(l);while(a!==l);i.push(u)}}return e.nodes().forEach(function(a){Qf.has(n,a)||o(a)}),i}});var ep=f((ST,Xf)=>{"use strict";var Qq=U(),Zq=mn();Xf.exports=Xq;function Xq(e){return Qq.filter(Zq(e),function(r){return r.length>1||r.length===1&&e.hasEdge(r[0],r[0])})}});var tp=f((ET,rp)=>{"use strict";var e_=U();rp.exports=t_;var r_=e_.constant(1);function t_(e,r,t){return n_(e,r||r_,t||function(n){return e.outEdges(n)})}function n_(e,r,t){var n={},i=e.nodes();return i.forEach(function(o){n[o]={},n[o][o]={distance:0},i.forEach(function(a){o!==a&&(n[o][a]={distance:Number.POSITIVE_INFINITY})}),t(o).forEach(function(a){var s=a.v===o?a.w:a.v,u=r(a);n[o][s]={distance:u,predecessor:o}})}),i.forEach(function(o){var a=n[o];i.forEach(function(s){var u=n[s];i.forEach(function(l){var p=u[o],d=a[l],c=u[l],m=p.distance+d.distance;m<c.distance&&(c.distance=m,c.predecessor=d.predecessor)})})}),n}});var hn=f((IT,ip)=>{"use strict";var lr=U();ip.exports=np;np.CycleException=Gr;function np(e){var r={},t={},n=[];function i(o){if(lr.has(t,o))throw new Gr;lr.has(r,o)||(t[o]=!0,r[o]=!0,lr.each(e.predecessors(o),i),delete t[o],n.push(o))}if(lr.each(e.sinks(),i),lr.size(r)!==e.nodeCount())throw new Gr;return n}function Gr(){}Gr.prototype=new Error});var sp=f((kT,ap)=>{"use strict";var op=hn();ap.exports=i_;function i_(e){try{op(e)}catch(r){if(r instanceof op.CycleException)return!1;throw r}return!0}});var gn=f((qT,lp)=>{"use strict";var Kr=U();lp.exports=o_;function o_(e,r,t){Kr.isArray(r)||(r=[r]);var n=(e.isDirected()?e.successors:e.neighbors).bind(e),i=[],o={};return Kr.each(r,function(a){if(!e.hasNode(a))throw new Error("Graph does not have node: "+a);up(e,a,t==="post",o,n,i)}),i}function up(e,r,t,n,i,o){Kr.has(n,r)||(n[r]=!0,t||o.push(r),Kr.each(i(r),function(a){up(e,a,t,n,i,o)}),t&&o.push(r))}});var fp=f((_T,cp)=>{"use strict";var a_=gn();cp.exports=s_;function s_(e,r){return a_(e,r,"post")}});var dp=f((OT,pp)=>{"use strict";var u_=gn();pp.exports=l_;function l_(e,r){return u_(e,r,"pre")}});var hp=f((CT,mp)=>{"use strict";var yp=U(),c_=Ur(),f_=dn();mp.exports=p_;function p_(e,r){var t=new c_,n={},i=new f_,o;function a(u){var l=u.v===o?u.w:u.v,p=i.priority(l);if(p!==void 0){var d=r(u);d<p&&(n[l]=o,i.decrease(l,d))}}if(e.nodeCount()===0)return t;yp.each(e.nodes(),function(u){i.add(u,Number.POSITIVE_INFINITY),t.setNode(u)}),i.decrease(e.nodes()[0],0);for(var s=!1;i.size()>0;){if(o=i.removeMin(),yp.has(n,o))t.setEdge(o,n[o]);else{if(s)throw new Error("Input graph is not connected: "+e);s=!0}e.nodeEdges(o).forEach(a)}return t}});var bp=f((PT,gp)=>{"use strict";gp.exports={components:Gf(),dijkstra:yn(),dijkstraAll:Wf(),findCycles:ep(),floydWarshall:tp(),isAcyclic:sp(),postorder:fp(),preorder:dp(),prim:hp(),tarjan:mn(),topsort:hn()}});var bn=f((TT,vp)=>{"use strict";var wp=Bf();vp.exports={Graph:wp.Graph,json:Uf(),alg:bp(),version:wp.version}});var C_={};ad(C_,{combineSpytialSpecs:()=>Wp,createCpoModule:()=>O_,createDiagramView:()=>Qp,createPyretModule:()=>Zp,loadBrowserCore:()=>ed,registerCpoOutput:()=>Xp});function Xn(e){return typeof e>"u"||e===null}function ud(e){return typeof e=="object"&&e!==null}function ld(e){return Array.isArray(e)?e:Xn(e)?[]:[e]}function cd(e,r){var t,n,i,o;if(r)for(o=Object.keys(r),t=0,n=o.length;t<n;t+=1)i=o[t],e[i]=r[i];return e}function fd(e,r){var t="",n;for(n=0;n<r;n+=1)t+=e;return t}function pd(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var dd=Xn,yd=ud,md=ld,hd=fd,gd=pd,bd=cd,R={isNothing:dd,isObject:yd,toArray:md,repeat:hd,isNegativeZero:gd,extend:bd};function ei(e,r){var t="",n=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(t+='in "'+e.mark.name+'" '),t+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!r&&e.mark.snippet&&(t+=`
|
|
1
|
+
"use strict";var SpyretBrowser=(()=>{var td=Object.create;var yr=Object.defineProperty;var nd=Object.getOwnPropertyDescriptor;var id=Object.getOwnPropertyNames;var od=Object.getPrototypeOf,ad=Object.prototype.hasOwnProperty;var jn=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var f=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),sd=(e,r)=>{for(var t in r)yr(e,t,{get:r[t],enumerable:!0})},Mn=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of id(r))!ad.call(e,i)&&i!==t&&yr(e,i,{get:()=>r[i],enumerable:!(n=nd(r,i))||n.enumerable});return e};var Fn=(e,r,t)=>(t=e!=null?td(od(e)):{},Mn(r||!e||!e.__esModule?yr(t,"default",{value:e,enumerable:!0}):t,e)),ud=e=>Mn(yr({},"__esModule",{value:!0}),e);var qi=f((L_,Ii)=>{"use strict";function Tm(){this.__data__=[],this.size=0}Ii.exports=Tm});var xr=f((D_,_i)=>{"use strict";function Cm(e,r){return e===r||e!==e&&r!==r}_i.exports=Cm});var He=f(($_,Oi)=>{"use strict";var Nm=xr();function Rm(e,r){for(var t=e.length;t--;)if(Nm(e[t][0],r))return t;return-1}Oi.exports=Rm});var Ti=f((B_,Pi)=>{"use strict";var jm=He(),Mm=Array.prototype,Fm=Mm.splice;function Lm(e){var r=this.__data__,t=jm(r,e);if(t<0)return!1;var n=r.length-1;return t==n?r.pop():Fm.call(r,t,1),--this.size,!0}Pi.exports=Lm});var Ni=f((V_,Ci)=>{"use strict";var Dm=He();function $m(e){var r=this.__data__,t=Dm(r,e);return t<0?void 0:r[t][1]}Ci.exports=$m});var ji=f((U_,Ri)=>{"use strict";var Bm=He();function Vm(e){return Bm(this.__data__,e)>-1}Ri.exports=Vm});var Fi=f((H_,Mi)=>{"use strict";var Um=He();function Hm(e,r){var t=this.__data__,n=Um(t,e);return n<0?(++this.size,t.push([e,r])):t[n][1]=r,this}Mi.exports=Hm});var Ge=f((G_,Li)=>{"use strict";var Gm=qi(),Km=Ti(),zm=Ni(),Ym=ji(),Jm=Fi();function qe(e){var r=-1,t=e==null?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}qe.prototype.clear=Gm;qe.prototype.delete=Km;qe.prototype.get=zm;qe.prototype.has=Ym;qe.prototype.set=Jm;Li.exports=qe});var $i=f((K_,Di)=>{"use strict";var Wm=Ge();function Qm(){this.__data__=new Wm,this.size=0}Di.exports=Qm});var Vi=f((z_,Bi)=>{"use strict";function Zm(e){var r=this.__data__,t=r.delete(e);return this.size=r.size,t}Bi.exports=Zm});var Hi=f((Y_,Ui)=>{"use strict";function Xm(e){return this.__data__.get(e)}Ui.exports=Xm});var Ki=f((J_,Gi)=>{"use strict";function eh(e){return this.__data__.has(e)}Gi.exports=eh});var Et=f((W_,zi)=>{"use strict";var rh=typeof global=="object"&&global&&global.Object===Object&&global;zi.exports=rh});var K=f((Q_,Yi)=>{"use strict";var th=Et(),nh=typeof self=="object"&&self&&self.Object===Object&&self,ih=th||nh||Function("return this")();Yi.exports=ih});var ge=f((Z_,Ji)=>{"use strict";var oh=K(),ah=oh.Symbol;Ji.exports=ah});var Xi=f((X_,Zi)=>{"use strict";var Wi=ge(),Qi=Object.prototype,sh=Qi.hasOwnProperty,uh=Qi.toString,Ke=Wi?Wi.toStringTag:void 0;function lh(e){var r=sh.call(e,Ke),t=e[Ke];try{e[Ke]=void 0;var n=!0}catch{}var i=uh.call(e);return n&&(r?e[Ke]=t:delete e[Ke]),i}Zi.exports=lh});var ro=f((eO,eo)=>{"use strict";var ch=Object.prototype,fh=ch.toString;function ph(e){return fh.call(e)}eo.exports=ph});var be=f((rO,io)=>{"use strict";var to=ge(),dh=Xi(),yh=ro(),mh="[object Null]",hh="[object Undefined]",no=to?to.toStringTag:void 0;function gh(e){return e==null?e===void 0?hh:mh:no&&no in Object(e)?dh(e):yh(e)}io.exports=gh});var le=f((tO,oo)=>{"use strict";function bh(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}oo.exports=bh});var ze=f((nO,ao)=>{"use strict";var wh=be(),vh=le(),xh="[object AsyncFunction]",Ah="[object Function]",Sh="[object GeneratorFunction]",Eh="[object Proxy]";function kh(e){if(!vh(e))return!1;var r=wh(e);return r==Ah||r==Sh||r==xh||r==Eh}ao.exports=kh});var uo=f((iO,so)=>{"use strict";var Ih=K(),qh=Ih["__core-js_shared__"];so.exports=qh});var fo=f((oO,co)=>{"use strict";var kt=uo(),lo=(function(){var e=/[^.]+$/.exec(kt&&kt.keys&&kt.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function _h(e){return!!lo&&lo in e}co.exports=_h});var It=f((aO,po)=>{"use strict";var Oh=Function.prototype,Ph=Oh.toString;function Th(e){if(e!=null){try{return Ph.call(e)}catch{}try{return e+""}catch{}}return""}po.exports=Th});var mo=f((sO,yo)=>{"use strict";var Ch=ze(),Nh=fo(),Rh=le(),jh=It(),Mh=/[\\^$.*+?()[\]{}|]/g,Fh=/^\[object .+?Constructor\]$/,Lh=Function.prototype,Dh=Object.prototype,$h=Lh.toString,Bh=Dh.hasOwnProperty,Vh=RegExp("^"+$h.call(Bh).replace(Mh,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Uh(e){if(!Rh(e)||Nh(e))return!1;var r=Ch(e)?Vh:Fh;return r.test(jh(e))}yo.exports=Uh});var go=f((uO,ho)=>{"use strict";function Hh(e,r){return e?.[r]}ho.exports=Hh});var ce=f((lO,bo)=>{"use strict";var Gh=mo(),Kh=go();function zh(e,r){var t=Kh(e,r);return Gh(t)?t:void 0}bo.exports=zh});var Ar=f((cO,wo)=>{"use strict";var Yh=ce(),Jh=K(),Wh=Yh(Jh,"Map");wo.exports=Wh});var Ye=f((fO,vo)=>{"use strict";var Qh=ce(),Zh=Qh(Object,"create");vo.exports=Zh});var So=f((pO,Ao)=>{"use strict";var xo=Ye();function Xh(){this.__data__=xo?xo(null):{},this.size=0}Ao.exports=Xh});var ko=f((dO,Eo)=>{"use strict";function eg(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}Eo.exports=eg});var qo=f((yO,Io)=>{"use strict";var rg=Ye(),tg="__lodash_hash_undefined__",ng=Object.prototype,ig=ng.hasOwnProperty;function og(e){var r=this.__data__;if(rg){var t=r[e];return t===tg?void 0:t}return ig.call(r,e)?r[e]:void 0}Io.exports=og});var Oo=f((mO,_o)=>{"use strict";var ag=Ye(),sg=Object.prototype,ug=sg.hasOwnProperty;function lg(e){var r=this.__data__;return ag?r[e]!==void 0:ug.call(r,e)}_o.exports=lg});var To=f((hO,Po)=>{"use strict";var cg=Ye(),fg="__lodash_hash_undefined__";function pg(e,r){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=cg&&r===void 0?fg:r,this}Po.exports=pg});var No=f((gO,Co)=>{"use strict";var dg=So(),yg=ko(),mg=qo(),hg=Oo(),gg=To();function _e(e){var r=-1,t=e==null?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}_e.prototype.clear=dg;_e.prototype.delete=yg;_e.prototype.get=mg;_e.prototype.has=hg;_e.prototype.set=gg;Co.exports=_e});var Mo=f((bO,jo)=>{"use strict";var Ro=No(),bg=Ge(),wg=Ar();function vg(){this.size=0,this.__data__={hash:new Ro,map:new(wg||bg),string:new Ro}}jo.exports=vg});var Lo=f((wO,Fo)=>{"use strict";function xg(e){var r=typeof e;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?e!=="__proto__":e===null}Fo.exports=xg});var Je=f((vO,Do)=>{"use strict";var Ag=Lo();function Sg(e,r){var t=e.__data__;return Ag(r)?t[typeof r=="string"?"string":"hash"]:t.map}Do.exports=Sg});var Bo=f((xO,$o)=>{"use strict";var Eg=Je();function kg(e){var r=Eg(this,e).delete(e);return this.size-=r?1:0,r}$o.exports=kg});var Uo=f((AO,Vo)=>{"use strict";var Ig=Je();function qg(e){return Ig(this,e).get(e)}Vo.exports=qg});var Go=f((SO,Ho)=>{"use strict";var _g=Je();function Og(e){return _g(this,e).has(e)}Ho.exports=Og});var zo=f((EO,Ko)=>{"use strict";var Pg=Je();function Tg(e,r){var t=Pg(this,e),n=t.size;return t.set(e,r),this.size+=t.size==n?0:1,this}Ko.exports=Tg});var Sr=f((kO,Yo)=>{"use strict";var Cg=Mo(),Ng=Bo(),Rg=Uo(),jg=Go(),Mg=zo();function Oe(e){var r=-1,t=e==null?0:e.length;for(this.clear();++r<t;){var n=e[r];this.set(n[0],n[1])}}Oe.prototype.clear=Cg;Oe.prototype.delete=Ng;Oe.prototype.get=Rg;Oe.prototype.has=jg;Oe.prototype.set=Mg;Yo.exports=Oe});var Wo=f((IO,Jo)=>{"use strict";var Fg=Ge(),Lg=Ar(),Dg=Sr(),$g=200;function Bg(e,r){var t=this.__data__;if(t instanceof Fg){var n=t.__data__;if(!Lg||n.length<$g-1)return n.push([e,r]),this.size=++t.size,this;t=this.__data__=new Dg(n)}return t.set(e,r),this.size=t.size,this}Jo.exports=Bg});var Er=f((qO,Qo)=>{"use strict";var Vg=Ge(),Ug=$i(),Hg=Vi(),Gg=Hi(),Kg=Ki(),zg=Wo();function Pe(e){var r=this.__data__=new Vg(e);this.size=r.size}Pe.prototype.clear=Ug;Pe.prototype.delete=Hg;Pe.prototype.get=Gg;Pe.prototype.has=Kg;Pe.prototype.set=zg;Qo.exports=Pe});var kr=f((_O,Zo)=>{"use strict";function Yg(e,r){for(var t=-1,n=e==null?0:e.length;++t<n&&r(e[t],t,e)!==!1;);return e}Zo.exports=Yg});var qt=f((OO,Xo)=>{"use strict";var Jg=ce(),Wg=(function(){try{var e=Jg(Object,"defineProperty");return e({},"",{}),e}catch{}})();Xo.exports=Wg});var _t=f((PO,ra)=>{"use strict";var ea=qt();function Qg(e,r,t){r=="__proto__"&&ea?ea(e,r,{configurable:!0,enumerable:!0,value:t,writable:!0}):e[r]=t}ra.exports=Qg});var Ot=f((TO,ta)=>{"use strict";var Zg=_t(),Xg=xr(),eb=Object.prototype,rb=eb.hasOwnProperty;function tb(e,r,t){var n=e[r];(!(rb.call(e,r)&&Xg(n,t))||t===void 0&&!(r in e))&&Zg(e,r,t)}ta.exports=tb});var We=f((CO,na)=>{"use strict";var nb=Ot(),ib=_t();function ob(e,r,t,n){var i=!t;t||(t={});for(var o=-1,a=r.length;++o<a;){var s=r[o],u=n?n(t[s],e[s],s,t,e):void 0;u===void 0&&(u=e[s]),i?ib(t,s,u):nb(t,s,u)}return t}na.exports=ob});var oa=f((NO,ia)=>{"use strict";function ab(e,r){for(var t=-1,n=Array(e);++t<e;)n[t]=r(t);return n}ia.exports=ab});var Q=f((RO,aa)=>{"use strict";function sb(e){return e!=null&&typeof e=="object"}aa.exports=sb});var ua=f((jO,sa)=>{"use strict";var ub=be(),lb=Q(),cb="[object Arguments]";function fb(e){return lb(e)&&ub(e)==cb}sa.exports=fb});var Qe=f((MO,fa)=>{"use strict";var la=ua(),pb=Q(),ca=Object.prototype,db=ca.hasOwnProperty,yb=ca.propertyIsEnumerable,mb=la((function(){return arguments})())?la:function(e){return pb(e)&&db.call(e,"callee")&&!yb.call(e,"callee")};fa.exports=mb});var M=f((FO,pa)=>{"use strict";var hb=Array.isArray;pa.exports=hb});var ya=f((LO,da)=>{"use strict";function gb(){return!1}da.exports=gb});var Ce=f((Ze,Te)=>{"use strict";var bb=K(),wb=ya(),ga=typeof Ze=="object"&&Ze&&!Ze.nodeType&&Ze,ma=ga&&typeof Te=="object"&&Te&&!Te.nodeType&&Te,vb=ma&&ma.exports===ga,ha=vb?bb.Buffer:void 0,xb=ha?ha.isBuffer:void 0,Ab=xb||wb;Te.exports=Ab});var Pt=f((DO,ba)=>{"use strict";var Sb=9007199254740991,Eb=/^(?:0|[1-9]\d*)$/;function kb(e,r){var t=typeof e;return r=r??Sb,!!r&&(t=="number"||t!="symbol"&&Eb.test(e))&&e>-1&&e%1==0&&e<r}ba.exports=kb});var Ir=f(($O,wa)=>{"use strict";var Ib=9007199254740991;function qb(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Ib}wa.exports=qb});var xa=f((BO,va)=>{"use strict";var _b=be(),Ob=Ir(),Pb=Q(),Tb="[object Arguments]",Cb="[object Array]",Nb="[object Boolean]",Rb="[object Date]",jb="[object Error]",Mb="[object Function]",Fb="[object Map]",Lb="[object Number]",Db="[object Object]",$b="[object RegExp]",Bb="[object Set]",Vb="[object String]",Ub="[object WeakMap]",Hb="[object ArrayBuffer]",Gb="[object DataView]",Kb="[object Float32Array]",zb="[object Float64Array]",Yb="[object Int8Array]",Jb="[object Int16Array]",Wb="[object Int32Array]",Qb="[object Uint8Array]",Zb="[object Uint8ClampedArray]",Xb="[object Uint16Array]",ew="[object Uint32Array]",P={};P[Kb]=P[zb]=P[Yb]=P[Jb]=P[Wb]=P[Qb]=P[Zb]=P[Xb]=P[ew]=!0;P[Tb]=P[Cb]=P[Hb]=P[Nb]=P[Gb]=P[Rb]=P[jb]=P[Mb]=P[Fb]=P[Lb]=P[Db]=P[$b]=P[Bb]=P[Vb]=P[Ub]=!1;function rw(e){return Pb(e)&&Ob(e.length)&&!!P[_b(e)]}va.exports=rw});var qr=f((VO,Aa)=>{"use strict";function tw(e){return function(r){return e(r)}}Aa.exports=tw});var _r=f((Xe,Ne)=>{"use strict";var nw=Et(),Sa=typeof Xe=="object"&&Xe&&!Xe.nodeType&&Xe,er=Sa&&typeof Ne=="object"&&Ne&&!Ne.nodeType&&Ne,iw=er&&er.exports===Sa,Tt=iw&&nw.process,ow=(function(){try{var e=er&&er.require&&er.require("util").types;return e||Tt&&Tt.binding&&Tt.binding("util")}catch{}})();Ne.exports=ow});var rr=f((UO,Ia)=>{"use strict";var aw=xa(),sw=qr(),Ea=_r(),ka=Ea&&Ea.isTypedArray,uw=ka?sw(ka):aw;Ia.exports=uw});var Ct=f((HO,qa)=>{"use strict";var lw=oa(),cw=Qe(),fw=M(),pw=Ce(),dw=Pt(),yw=rr(),mw=Object.prototype,hw=mw.hasOwnProperty;function gw(e,r){var t=fw(e),n=!t&&cw(e),i=!t&&!n&&pw(e),o=!t&&!n&&!i&&yw(e),a=t||n||i||o,s=a?lw(e.length,String):[],u=s.length;for(var l in e)(r||hw.call(e,l))&&!(a&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||dw(l,u)))&&s.push(l);return s}qa.exports=gw});var tr=f((GO,_a)=>{"use strict";var bw=Object.prototype;function ww(e){var r=e&&e.constructor,t=typeof r=="function"&&r.prototype||bw;return e===t}_a.exports=ww});var Nt=f((KO,Oa)=>{"use strict";function vw(e,r){return function(t){return e(r(t))}}Oa.exports=vw});var Ta=f((zO,Pa)=>{"use strict";var xw=Nt(),Aw=xw(Object.keys,Object);Pa.exports=Aw});var Or=f((YO,Ca)=>{"use strict";var Sw=tr(),Ew=Ta(),kw=Object.prototype,Iw=kw.hasOwnProperty;function qw(e){if(!Sw(e))return Ew(e);var r=[];for(var t in Object(e))Iw.call(e,t)&&t!="constructor"&&r.push(t);return r}Ca.exports=qw});var fe=f((JO,Na)=>{"use strict";var _w=ze(),Ow=Ir();function Pw(e){return e!=null&&Ow(e.length)&&!_w(e)}Na.exports=Pw});var pe=f((WO,Ra)=>{"use strict";var Tw=Ct(),Cw=Or(),Nw=fe();function Rw(e){return Nw(e)?Tw(e):Cw(e)}Ra.exports=Rw});var Ma=f((QO,ja)=>{"use strict";var jw=We(),Mw=pe();function Fw(e,r){return e&&jw(r,Mw(r),e)}ja.exports=Fw});var La=f((ZO,Fa)=>{"use strict";function Lw(e){var r=[];if(e!=null)for(var t in Object(e))r.push(t);return r}Fa.exports=Lw});var $a=f((XO,Da)=>{"use strict";var Dw=le(),$w=tr(),Bw=La(),Vw=Object.prototype,Uw=Vw.hasOwnProperty;function Hw(e){if(!Dw(e))return Bw(e);var r=$w(e),t=[];for(var n in e)n=="constructor"&&(r||!Uw.call(e,n))||t.push(n);return t}Da.exports=Hw});var Pr=f((eP,Ba)=>{"use strict";var Gw=Ct(),Kw=$a(),zw=fe();function Yw(e){return zw(e)?Gw(e,!0):Kw(e)}Ba.exports=Yw});var Ua=f((rP,Va)=>{"use strict";var Jw=We(),Ww=Pr();function Qw(e,r){return e&&Jw(r,Ww(r),e)}Va.exports=Qw});var Ya=f((nr,Re)=>{"use strict";var Zw=K(),za=typeof nr=="object"&&nr&&!nr.nodeType&&nr,Ha=za&&typeof Re=="object"&&Re&&!Re.nodeType&&Re,Xw=Ha&&Ha.exports===za,Ga=Xw?Zw.Buffer:void 0,Ka=Ga?Ga.allocUnsafe:void 0;function ev(e,r){if(r)return e.slice();var t=e.length,n=Ka?Ka(t):new e.constructor(t);return e.copy(n),n}Re.exports=ev});var Wa=f((tP,Ja)=>{"use strict";function rv(e,r){var t=-1,n=e.length;for(r||(r=Array(n));++t<n;)r[t]=e[t];return r}Ja.exports=rv});var Rt=f((nP,Qa)=>{"use strict";function tv(e,r){for(var t=-1,n=e==null?0:e.length,i=0,o=[];++t<n;){var a=e[t];r(a,t,e)&&(o[i++]=a)}return o}Qa.exports=tv});var jt=f((iP,Za)=>{"use strict";function nv(){return[]}Za.exports=nv});var Tr=f((oP,es)=>{"use strict";var iv=Rt(),ov=jt(),av=Object.prototype,sv=av.propertyIsEnumerable,Xa=Object.getOwnPropertySymbols,uv=Xa?function(e){return e==null?[]:(e=Object(e),iv(Xa(e),function(r){return sv.call(e,r)}))}:ov;es.exports=uv});var ts=f((aP,rs)=>{"use strict";var lv=We(),cv=Tr();function fv(e,r){return lv(e,cv(e),r)}rs.exports=fv});var Cr=f((sP,ns)=>{"use strict";function pv(e,r){for(var t=-1,n=r.length,i=e.length;++t<n;)e[i+t]=r[t];return e}ns.exports=pv});var Nr=f((uP,is)=>{"use strict";var dv=Nt(),yv=dv(Object.getPrototypeOf,Object);is.exports=yv});var Mt=f((lP,os)=>{"use strict";var mv=Cr(),hv=Nr(),gv=Tr(),bv=jt(),wv=Object.getOwnPropertySymbols,vv=wv?function(e){for(var r=[];e;)mv(r,gv(e)),e=hv(e);return r}:bv;os.exports=vv});var ss=f((cP,as)=>{"use strict";var xv=We(),Av=Mt();function Sv(e,r){return xv(e,Av(e),r)}as.exports=Sv});var Ft=f((fP,us)=>{"use strict";var Ev=Cr(),kv=M();function Iv(e,r,t){var n=r(e);return kv(e)?n:Ev(n,t(e))}us.exports=Iv});var Lt=f((pP,ls)=>{"use strict";var qv=Ft(),_v=Tr(),Ov=pe();function Pv(e){return qv(e,Ov,_v)}ls.exports=Pv});var fs=f((dP,cs)=>{"use strict";var Tv=Ft(),Cv=Mt(),Nv=Pr();function Rv(e){return Tv(e,Nv,Cv)}cs.exports=Rv});var ds=f((yP,ps)=>{"use strict";var jv=ce(),Mv=K(),Fv=jv(Mv,"DataView");ps.exports=Fv});var ms=f((mP,ys)=>{"use strict";var Lv=ce(),Dv=K(),$v=Lv(Dv,"Promise");ys.exports=$v});var Dt=f((hP,hs)=>{"use strict";var Bv=ce(),Vv=K(),Uv=Bv(Vv,"Set");hs.exports=Uv});var bs=f((gP,gs)=>{"use strict";var Hv=ce(),Gv=K(),Kv=Hv(Gv,"WeakMap");gs.exports=Kv});var ve=f((bP,ks)=>{"use strict";var $t=ds(),Bt=Ar(),Vt=ms(),Ut=Dt(),Ht=bs(),Es=be(),je=It(),ws="[object Map]",zv="[object Object]",vs="[object Promise]",xs="[object Set]",As="[object WeakMap]",Ss="[object DataView]",Yv=je($t),Jv=je(Bt),Wv=je(Vt),Qv=je(Ut),Zv=je(Ht),we=Es;($t&&we(new $t(new ArrayBuffer(1)))!=Ss||Bt&&we(new Bt)!=ws||Vt&&we(Vt.resolve())!=vs||Ut&&we(new Ut)!=xs||Ht&&we(new Ht)!=As)&&(we=function(e){var r=Es(e),t=r==zv?e.constructor:void 0,n=t?je(t):"";if(n)switch(n){case Yv:return Ss;case Jv:return ws;case Wv:return vs;case Qv:return xs;case Zv:return As}return r});ks.exports=we});var qs=f((wP,Is)=>{"use strict";var Xv=Object.prototype,ex=Xv.hasOwnProperty;function rx(e){var r=e.length,t=new e.constructor(r);return r&&typeof e[0]=="string"&&ex.call(e,"index")&&(t.index=e.index,t.input=e.input),t}Is.exports=rx});var Gt=f((vP,_s)=>{"use strict";var tx=K(),nx=tx.Uint8Array;_s.exports=nx});var Rr=f((xP,Ps)=>{"use strict";var Os=Gt();function ix(e){var r=new e.constructor(e.byteLength);return new Os(r).set(new Os(e)),r}Ps.exports=ix});var Cs=f((AP,Ts)=>{"use strict";var ox=Rr();function ax(e,r){var t=r?ox(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.byteLength)}Ts.exports=ax});var Rs=f((SP,Ns)=>{"use strict";var sx=/\w*$/;function ux(e){var r=new e.constructor(e.source,sx.exec(e));return r.lastIndex=e.lastIndex,r}Ns.exports=ux});var Ds=f((EP,Ls)=>{"use strict";var js=ge(),Ms=js?js.prototype:void 0,Fs=Ms?Ms.valueOf:void 0;function lx(e){return Fs?Object(Fs.call(e)):{}}Ls.exports=lx});var Bs=f((kP,$s)=>{"use strict";var cx=Rr();function fx(e,r){var t=r?cx(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.length)}$s.exports=fx});var Us=f((IP,Vs)=>{"use strict";var px=Rr(),dx=Cs(),yx=Rs(),mx=Ds(),hx=Bs(),gx="[object Boolean]",bx="[object Date]",wx="[object Map]",vx="[object Number]",xx="[object RegExp]",Ax="[object Set]",Sx="[object String]",Ex="[object Symbol]",kx="[object ArrayBuffer]",Ix="[object DataView]",qx="[object Float32Array]",_x="[object Float64Array]",Ox="[object Int8Array]",Px="[object Int16Array]",Tx="[object Int32Array]",Cx="[object Uint8Array]",Nx="[object Uint8ClampedArray]",Rx="[object Uint16Array]",jx="[object Uint32Array]";function Mx(e,r,t){var n=e.constructor;switch(r){case kx:return px(e);case gx:case bx:return new n(+e);case Ix:return dx(e,t);case qx:case _x:case Ox:case Px:case Tx:case Cx:case Nx:case Rx:case jx:return hx(e,t);case wx:return new n;case vx:case Sx:return new n(e);case xx:return yx(e);case Ax:return new n;case Ex:return mx(e)}}Vs.exports=Mx});var Kt=f((qP,Gs)=>{"use strict";var Fx=le(),Hs=Object.create,Lx=(function(){function e(){}return function(r){if(!Fx(r))return{};if(Hs)return Hs(r);e.prototype=r;var t=new e;return e.prototype=void 0,t}})();Gs.exports=Lx});var zs=f((_P,Ks)=>{"use strict";var Dx=Kt(),$x=Nr(),Bx=tr();function Vx(e){return typeof e.constructor=="function"&&!Bx(e)?Dx($x(e)):{}}Ks.exports=Vx});var Js=f((OP,Ys)=>{"use strict";var Ux=ve(),Hx=Q(),Gx="[object Map]";function Kx(e){return Hx(e)&&Ux(e)==Gx}Ys.exports=Kx});var Xs=f((PP,Zs)=>{"use strict";var zx=Js(),Yx=qr(),Ws=_r(),Qs=Ws&&Ws.isMap,Jx=Qs?Yx(Qs):zx;Zs.exports=Jx});var ru=f((TP,eu)=>{"use strict";var Wx=ve(),Qx=Q(),Zx="[object Set]";function Xx(e){return Qx(e)&&Wx(e)==Zx}eu.exports=Xx});var ou=f((CP,iu)=>{"use strict";var e0=ru(),r0=qr(),tu=_r(),nu=tu&&tu.isSet,t0=nu?r0(nu):e0;iu.exports=t0});var cu=f((NP,lu)=>{"use strict";var n0=Er(),i0=kr(),o0=Ot(),a0=Ma(),s0=Ua(),u0=Ya(),l0=Wa(),c0=ts(),f0=ss(),p0=Lt(),d0=fs(),y0=ve(),m0=qs(),h0=Us(),g0=zs(),b0=M(),w0=Ce(),v0=Xs(),x0=le(),A0=ou(),S0=pe(),E0=Pr(),k0=1,I0=2,q0=4,au="[object Arguments]",_0="[object Array]",O0="[object Boolean]",P0="[object Date]",T0="[object Error]",su="[object Function]",C0="[object GeneratorFunction]",N0="[object Map]",R0="[object Number]",uu="[object Object]",j0="[object RegExp]",M0="[object Set]",F0="[object String]",L0="[object Symbol]",D0="[object WeakMap]",$0="[object ArrayBuffer]",B0="[object DataView]",V0="[object Float32Array]",U0="[object Float64Array]",H0="[object Int8Array]",G0="[object Int16Array]",K0="[object Int32Array]",z0="[object Uint8Array]",Y0="[object Uint8ClampedArray]",J0="[object Uint16Array]",W0="[object Uint32Array]",O={};O[au]=O[_0]=O[$0]=O[B0]=O[O0]=O[P0]=O[V0]=O[U0]=O[H0]=O[G0]=O[K0]=O[N0]=O[R0]=O[uu]=O[j0]=O[M0]=O[F0]=O[L0]=O[z0]=O[Y0]=O[J0]=O[W0]=!0;O[T0]=O[su]=O[D0]=!1;function jr(e,r,t,n,i,o){var a,s=r&k0,u=r&I0,l=r&q0;if(t&&(a=i?t(e,n,i,o):t(e)),a!==void 0)return a;if(!x0(e))return e;var p=b0(e);if(p){if(a=m0(e),!s)return l0(e,a)}else{var d=y0(e),c=d==su||d==C0;if(w0(e))return u0(e,s);if(d==uu||d==au||c&&!i){if(a=u||c?{}:g0(e),!s)return u?f0(e,s0(a,e)):c0(e,a0(a,e))}else{if(!O[d])return i?e:{};a=h0(e,d,s)}}o||(o=new n0);var m=o.get(e);if(m)return m;o.set(e,a),A0(e)?e.forEach(function(b){a.add(jr(b,r,t,b,e,o))}):v0(e)&&e.forEach(function(b,g){a.set(g,jr(b,r,t,g,e,o))});var y=l?u?d0:p0:u?E0:S0,h=p?void 0:y(e);return i0(h||e,function(b,g){h&&(g=b,b=e[g]),o0(a,g,jr(b,r,t,g,e,o))}),a}lu.exports=jr});var pu=f((RP,fu)=>{"use strict";var Q0=cu(),Z0=4;function X0(e){return Q0(e,Z0)}fu.exports=X0});var zt=f((jP,du)=>{"use strict";function eA(e){return function(){return e}}du.exports=eA});var mu=f((MP,yu)=>{"use strict";function rA(e){return function(r,t,n){for(var i=-1,o=Object(r),a=n(r),s=a.length;s--;){var u=a[e?s:++i];if(t(o[u],u,o)===!1)break}return r}}yu.exports=rA});var gu=f((FP,hu)=>{"use strict";var tA=mu(),nA=tA();hu.exports=nA});var Yt=f((LP,bu)=>{"use strict";var iA=gu(),oA=pe();function aA(e,r){return e&&iA(e,r,oA)}bu.exports=aA});var vu=f((DP,wu)=>{"use strict";var sA=fe();function uA(e,r){return function(t,n){if(t==null)return t;if(!sA(t))return e(t,n);for(var i=t.length,o=r?i:-1,a=Object(t);(r?o--:++o<i)&&n(a[o],o,a)!==!1;);return t}}wu.exports=uA});var ir=f(($P,xu)=>{"use strict";var lA=Yt(),cA=vu(),fA=cA(lA);xu.exports=fA});var or=f((BP,Au)=>{"use strict";function pA(e){return e}Au.exports=pA});var Eu=f((VP,Su)=>{"use strict";var dA=or();function yA(e){return typeof e=="function"?e:dA}Su.exports=yA});var Iu=f((UP,ku)=>{"use strict";var mA=kr(),hA=ir(),gA=Eu(),bA=M();function wA(e,r){var t=bA(e)?mA:hA;return t(e,gA(r))}ku.exports=wA});var _u=f((HP,qu)=>{"use strict";qu.exports=Iu()});var Pu=f((GP,Ou)=>{"use strict";var vA=ir();function xA(e,r){var t=[];return vA(e,function(n,i,o){r(n,i,o)&&t.push(n)}),t}Ou.exports=xA});var Cu=f((KP,Tu)=>{"use strict";var AA="__lodash_hash_undefined__";function SA(e){return this.__data__.set(e,AA),this}Tu.exports=SA});var Ru=f((zP,Nu)=>{"use strict";function EA(e){return this.__data__.has(e)}Nu.exports=EA});var Jt=f((YP,ju)=>{"use strict";var kA=Sr(),IA=Cu(),qA=Ru();function Mr(e){var r=-1,t=e==null?0:e.length;for(this.__data__=new kA;++r<t;)this.add(e[r])}Mr.prototype.add=Mr.prototype.push=IA;Mr.prototype.has=qA;ju.exports=Mr});var Fu=f((JP,Mu)=>{"use strict";function _A(e,r){for(var t=-1,n=e==null?0:e.length;++t<n;)if(r(e[t],t,e))return!0;return!1}Mu.exports=_A});var Wt=f((WP,Lu)=>{"use strict";function OA(e,r){return e.has(r)}Lu.exports=OA});var Qt=f((QP,Du)=>{"use strict";var PA=Jt(),TA=Fu(),CA=Wt(),NA=1,RA=2;function jA(e,r,t,n,i,o){var a=t&NA,s=e.length,u=r.length;if(s!=u&&!(a&&u>s))return!1;var l=o.get(e),p=o.get(r);if(l&&p)return l==r&&p==e;var d=-1,c=!0,m=t&RA?new PA:void 0;for(o.set(e,r),o.set(r,e);++d<s;){var y=e[d],h=r[d];if(n)var b=a?n(h,y,d,r,e,o):n(y,h,d,e,r,o);if(b!==void 0){if(b)continue;c=!1;break}if(m){if(!TA(r,function(g,v){if(!CA(m,v)&&(y===g||i(y,g,t,n,o)))return m.push(v)})){c=!1;break}}else if(!(y===h||i(y,h,t,n,o))){c=!1;break}}return o.delete(e),o.delete(r),c}Du.exports=jA});var Bu=f((ZP,$u)=>{"use strict";function MA(e){var r=-1,t=Array(e.size);return e.forEach(function(n,i){t[++r]=[i,n]}),t}$u.exports=MA});var Fr=f((XP,Vu)=>{"use strict";function FA(e){var r=-1,t=Array(e.size);return e.forEach(function(n){t[++r]=n}),t}Vu.exports=FA});var zu=f((eT,Ku)=>{"use strict";var Uu=ge(),Hu=Gt(),LA=xr(),DA=Qt(),$A=Bu(),BA=Fr(),VA=1,UA=2,HA="[object Boolean]",GA="[object Date]",KA="[object Error]",zA="[object Map]",YA="[object Number]",JA="[object RegExp]",WA="[object Set]",QA="[object String]",ZA="[object Symbol]",XA="[object ArrayBuffer]",eS="[object DataView]",Gu=Uu?Uu.prototype:void 0,Zt=Gu?Gu.valueOf:void 0;function rS(e,r,t,n,i,o,a){switch(t){case eS:if(e.byteLength!=r.byteLength||e.byteOffset!=r.byteOffset)return!1;e=e.buffer,r=r.buffer;case XA:return!(e.byteLength!=r.byteLength||!o(new Hu(e),new Hu(r)));case HA:case GA:case YA:return LA(+e,+r);case KA:return e.name==r.name&&e.message==r.message;case JA:case QA:return e==r+"";case zA:var s=$A;case WA:var u=n&VA;if(s||(s=BA),e.size!=r.size&&!u)return!1;var l=a.get(e);if(l)return l==r;n|=UA,a.set(e,r);var p=DA(s(e),s(r),n,i,o,a);return a.delete(e),p;case ZA:if(Zt)return Zt.call(e)==Zt.call(r)}return!1}Ku.exports=rS});var Wu=f((rT,Ju)=>{"use strict";var Yu=Lt(),tS=1,nS=Object.prototype,iS=nS.hasOwnProperty;function oS(e,r,t,n,i,o){var a=t&tS,s=Yu(e),u=s.length,l=Yu(r),p=l.length;if(u!=p&&!a)return!1;for(var d=u;d--;){var c=s[d];if(!(a?c in r:iS.call(r,c)))return!1}var m=o.get(e),y=o.get(r);if(m&&y)return m==r&&y==e;var h=!0;o.set(e,r),o.set(r,e);for(var b=a;++d<u;){c=s[d];var g=e[c],v=r[c];if(n)var E=a?n(v,g,c,r,e,o):n(g,v,c,e,r,o);if(!(E===void 0?g===v||i(g,v,t,n,o):E)){h=!1;break}b||(b=c=="constructor")}if(h&&!b){var C=e.constructor,F=r.constructor;C!=F&&"constructor"in e&&"constructor"in r&&!(typeof C=="function"&&C instanceof C&&typeof F=="function"&&F instanceof F)&&(h=!1)}return o.delete(e),o.delete(r),h}Ju.exports=oS});var il=f((tT,nl)=>{"use strict";var Xt=Er(),aS=Qt(),sS=zu(),uS=Wu(),Qu=ve(),Zu=M(),Xu=Ce(),lS=rr(),cS=1,el="[object Arguments]",rl="[object Array]",Lr="[object Object]",fS=Object.prototype,tl=fS.hasOwnProperty;function pS(e,r,t,n,i,o){var a=Zu(e),s=Zu(r),u=a?rl:Qu(e),l=s?rl:Qu(r);u=u==el?Lr:u,l=l==el?Lr:l;var p=u==Lr,d=l==Lr,c=u==l;if(c&&Xu(e)){if(!Xu(r))return!1;a=!0,p=!1}if(c&&!p)return o||(o=new Xt),a||lS(e)?aS(e,r,t,n,i,o):sS(e,r,u,t,n,i,o);if(!(t&cS)){var m=p&&tl.call(e,"__wrapped__"),y=d&&tl.call(r,"__wrapped__");if(m||y){var h=m?e.value():e,b=y?r.value():r;return o||(o=new Xt),i(h,b,t,n,o)}}return c?(o||(o=new Xt),uS(e,r,t,n,i,o)):!1}nl.exports=pS});var en=f((nT,sl)=>{"use strict";var dS=il(),ol=Q();function al(e,r,t,n,i){return e===r?!0:e==null||r==null||!ol(e)&&!ol(r)?e!==e&&r!==r:dS(e,r,t,n,al,i)}sl.exports=al});var ll=f((iT,ul)=>{"use strict";var yS=Er(),mS=en(),hS=1,gS=2;function bS(e,r,t,n){var i=t.length,o=i,a=!n;if(e==null)return!o;for(e=Object(e);i--;){var s=t[i];if(a&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++i<o;){s=t[i];var u=s[0],l=e[u],p=s[1];if(a&&s[2]){if(l===void 0&&!(u in e))return!1}else{var d=new yS;if(n)var c=n(l,p,u,e,r,d);if(!(c===void 0?mS(p,l,hS|gS,n,d):c))return!1}}return!0}ul.exports=bS});var rn=f((oT,cl)=>{"use strict";var wS=le();function vS(e){return e===e&&!wS(e)}cl.exports=vS});var pl=f((aT,fl)=>{"use strict";var xS=rn(),AS=pe();function SS(e){for(var r=AS(e),t=r.length;t--;){var n=r[t],i=e[n];r[t]=[n,i,xS(i)]}return r}fl.exports=SS});var tn=f((sT,dl)=>{"use strict";function ES(e,r){return function(t){return t==null?!1:t[e]===r&&(r!==void 0||e in Object(t))}}dl.exports=ES});var ml=f((uT,yl)=>{"use strict";var kS=ll(),IS=pl(),qS=tn();function _S(e){var r=IS(e);return r.length==1&&r[0][2]?qS(r[0][0],r[0][1]):function(t){return t===e||kS(t,e,r)}}yl.exports=_S});var Dr=f((lT,hl)=>{"use strict";var OS=be(),PS=Q(),TS="[object Symbol]";function CS(e){return typeof e=="symbol"||PS(e)&&OS(e)==TS}hl.exports=CS});var $r=f((cT,gl)=>{"use strict";var NS=M(),RS=Dr(),jS=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,MS=/^\w*$/;function FS(e,r){if(NS(e))return!1;var t=typeof e;return t=="number"||t=="symbol"||t=="boolean"||e==null||RS(e)?!0:MS.test(e)||!jS.test(e)||r!=null&&e in Object(r)}gl.exports=FS});var vl=f((fT,wl)=>{"use strict";var bl=Sr(),LS="Expected a function";function nn(e,r){if(typeof e!="function"||r!=null&&typeof r!="function")throw new TypeError(LS);var t=function(){var n=arguments,i=r?r.apply(this,n):n[0],o=t.cache;if(o.has(i))return o.get(i);var a=e.apply(this,n);return t.cache=o.set(i,a)||o,a};return t.cache=new(nn.Cache||bl),t}nn.Cache=bl;wl.exports=nn});var Al=f((pT,xl)=>{"use strict";var DS=vl(),$S=500;function BS(e){var r=DS(e,function(n){return t.size===$S&&t.clear(),n}),t=r.cache;return r}xl.exports=BS});var El=f((dT,Sl)=>{"use strict";var VS=Al(),US=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,HS=/\\(\\)?/g,GS=VS(function(e){var r=[];return e.charCodeAt(0)===46&&r.push(""),e.replace(US,function(t,n,i,o){r.push(i?o.replace(HS,"$1"):n||t)}),r});Sl.exports=GS});var Br=f((yT,kl)=>{"use strict";function KS(e,r){for(var t=-1,n=e==null?0:e.length,i=Array(n);++t<n;)i[t]=r(e[t],t,e);return i}kl.exports=KS});var Tl=f((mT,Pl)=>{"use strict";var Il=ge(),zS=Br(),YS=M(),JS=Dr(),WS=1/0,ql=Il?Il.prototype:void 0,_l=ql?ql.toString:void 0;function Ol(e){if(typeof e=="string")return e;if(YS(e))return zS(e,Ol)+"";if(JS(e))return _l?_l.call(e):"";var r=e+"";return r=="0"&&1/e==-WS?"-0":r}Pl.exports=Ol});var Nl=f((hT,Cl)=>{"use strict";var QS=Tl();function ZS(e){return e==null?"":QS(e)}Cl.exports=ZS});var on=f((gT,Rl)=>{"use strict";var XS=M(),eE=$r(),rE=El(),tE=Nl();function nE(e,r){return XS(e)?e:eE(e,r)?[e]:rE(tE(e))}Rl.exports=nE});var ar=f((bT,jl)=>{"use strict";var iE=Dr(),oE=1/0;function aE(e){if(typeof e=="string"||iE(e))return e;var r=e+"";return r=="0"&&1/e==-oE?"-0":r}jl.exports=aE});var an=f((wT,Ml)=>{"use strict";var sE=on(),uE=ar();function lE(e,r){r=sE(r,e);for(var t=0,n=r.length;e!=null&&t<n;)e=e[uE(r[t++])];return t&&t==n?e:void 0}Ml.exports=lE});var Ll=f((vT,Fl)=>{"use strict";var cE=an();function fE(e,r,t){var n=e==null?void 0:cE(e,r);return n===void 0?t:n}Fl.exports=fE});var $l=f((xT,Dl)=>{"use strict";function pE(e,r){return e!=null&&r in Object(e)}Dl.exports=pE});var sn=f((AT,Bl)=>{"use strict";var dE=on(),yE=Qe(),mE=M(),hE=Pt(),gE=Ir(),bE=ar();function wE(e,r,t){r=dE(r,e);for(var n=-1,i=r.length,o=!1;++n<i;){var a=bE(r[n]);if(!(o=e!=null&&t(e,a)))break;e=e[a]}return o||++n!=i?o:(i=e==null?0:e.length,!!i&&gE(i)&&hE(a,i)&&(mE(e)||yE(e)))}Bl.exports=wE});var Ul=f((ST,Vl)=>{"use strict";var vE=$l(),xE=sn();function AE(e,r){return e!=null&&xE(e,r,vE)}Vl.exports=AE});var Gl=f((ET,Hl)=>{"use strict";var SE=en(),EE=Ll(),kE=Ul(),IE=$r(),qE=rn(),_E=tn(),OE=ar(),PE=1,TE=2;function CE(e,r){return IE(e)&&qE(r)?_E(OE(e),r):function(t){var n=EE(t,e);return n===void 0&&n===r?kE(t,e):SE(r,n,PE|TE)}}Hl.exports=CE});var un=f((kT,Kl)=>{"use strict";function NE(e){return function(r){return r?.[e]}}Kl.exports=NE});var Yl=f((IT,zl)=>{"use strict";var RE=an();function jE(e){return function(r){return RE(r,e)}}zl.exports=jE});var Wl=f((qT,Jl)=>{"use strict";var ME=un(),FE=Yl(),LE=$r(),DE=ar();function $E(e){return LE(e)?ME(DE(e)):FE(e)}Jl.exports=$E});var sr=f((_T,Ql)=>{"use strict";var BE=ml(),VE=Gl(),UE=or(),HE=M(),GE=Wl();function KE(e){return typeof e=="function"?e:e==null?UE:typeof e=="object"?HE(e)?VE(e[0],e[1]):BE(e):GE(e)}Ql.exports=KE});var Xl=f((OT,Zl)=>{"use strict";var zE=Rt(),YE=Pu(),JE=sr(),WE=M();function QE(e,r){var t=WE(e)?zE:YE;return t(e,JE(r,3))}Zl.exports=QE});var rc=f((PT,ec)=>{"use strict";var ZE=Object.prototype,XE=ZE.hasOwnProperty;function ek(e,r){return e!=null&&XE.call(e,r)}ec.exports=ek});var nc=f((TT,tc)=>{"use strict";var rk=rc(),tk=sn();function nk(e,r){return e!=null&&tk(e,r,rk)}tc.exports=nk});var oc=f((CT,ic)=>{"use strict";var ik=Or(),ok=ve(),ak=Qe(),sk=M(),uk=fe(),lk=Ce(),ck=tr(),fk=rr(),pk="[object Map]",dk="[object Set]",yk=Object.prototype,mk=yk.hasOwnProperty;function hk(e){if(e==null)return!0;if(uk(e)&&(sk(e)||typeof e=="string"||typeof e.splice=="function"||lk(e)||fk(e)||ak(e)))return!e.length;var r=ok(e);if(r==pk||r==dk)return!e.size;if(ck(e))return!ik(e).length;for(var t in e)if(mk.call(e,t))return!1;return!0}ic.exports=hk});var sc=f((NT,ac)=>{"use strict";function gk(e){return e===void 0}ac.exports=gk});var lc=f((RT,uc)=>{"use strict";var bk=ir(),wk=fe();function vk(e,r){var t=-1,n=wk(e)?Array(e.length):[];return bk(e,function(i,o,a){n[++t]=r(i,o,a)}),n}uc.exports=vk});var fc=f((jT,cc)=>{"use strict";var xk=Br(),Ak=sr(),Sk=lc(),Ek=M();function kk(e,r){var t=Ek(e)?xk:Sk;return t(e,Ak(r,3))}cc.exports=kk});var dc=f((MT,pc)=>{"use strict";function Ik(e,r,t,n){var i=-1,o=e==null?0:e.length;for(n&&o&&(t=e[++i]);++i<o;)t=r(t,e[i],i,e);return t}pc.exports=Ik});var mc=f((FT,yc)=>{"use strict";function qk(e,r,t,n,i){return i(e,function(o,a,s){t=n?(n=!1,o):r(t,o,a,s)}),t}yc.exports=qk});var gc=f((LT,hc)=>{"use strict";var _k=dc(),Ok=ir(),Pk=sr(),Tk=mc(),Ck=M();function Nk(e,r,t){var n=Ck(e)?_k:Tk,i=arguments.length<3;return n(e,Pk(r,4),t,i,Ok)}hc.exports=Nk});var wc=f((DT,bc)=>{"use strict";var Rk=be(),jk=M(),Mk=Q(),Fk="[object String]";function Lk(e){return typeof e=="string"||!jk(e)&&Mk(e)&&Rk(e)==Fk}bc.exports=Lk});var xc=f(($T,vc)=>{"use strict";var Dk=un(),$k=Dk("length");vc.exports=$k});var Sc=f((BT,Ac)=>{"use strict";var Bk="\\ud800-\\udfff",Vk="\\u0300-\\u036f",Uk="\\ufe20-\\ufe2f",Hk="\\u20d0-\\u20ff",Gk=Vk+Uk+Hk,Kk="\\ufe0e\\ufe0f",zk="\\u200d",Yk=RegExp("["+zk+Bk+Gk+Kk+"]");function Jk(e){return Yk.test(e)}Ac.exports=Jk});var Cc=f((VT,Tc)=>{"use strict";var kc="\\ud800-\\udfff",Wk="\\u0300-\\u036f",Qk="\\ufe20-\\ufe2f",Zk="\\u20d0-\\u20ff",Xk=Wk+Qk+Zk,eI="\\ufe0e\\ufe0f",rI="["+kc+"]",ln="["+Xk+"]",cn="\\ud83c[\\udffb-\\udfff]",tI="(?:"+ln+"|"+cn+")",Ic="[^"+kc+"]",qc="(?:\\ud83c[\\udde6-\\uddff]){2}",_c="[\\ud800-\\udbff][\\udc00-\\udfff]",nI="\\u200d",Oc=tI+"?",Pc="["+eI+"]?",iI="(?:"+nI+"(?:"+[Ic,qc,_c].join("|")+")"+Pc+Oc+")*",oI=Pc+Oc+iI,aI="(?:"+[Ic+ln+"?",ln,qc,_c,rI].join("|")+")",Ec=RegExp(cn+"(?="+cn+")|"+aI+oI,"g");function sI(e){for(var r=Ec.lastIndex=0;Ec.test(e);)++r;return r}Tc.exports=sI});var Rc=f((UT,Nc)=>{"use strict";var uI=xc(),lI=Sc(),cI=Cc();function fI(e){return lI(e)?cI(e):uI(e)}Nc.exports=fI});var Mc=f((HT,jc)=>{"use strict";var pI=Or(),dI=ve(),yI=fe(),mI=wc(),hI=Rc(),gI="[object Map]",bI="[object Set]";function wI(e){if(e==null)return 0;if(yI(e))return mI(e)?hI(e):e.length;var r=dI(e);return r==gI||r==bI?e.size:pI(e).length}jc.exports=wI});var Lc=f((GT,Fc)=>{"use strict";var vI=kr(),xI=Kt(),AI=Yt(),SI=sr(),EI=Nr(),kI=M(),II=Ce(),qI=ze(),_I=le(),OI=rr();function PI(e,r,t){var n=kI(e),i=n||II(e)||OI(e);if(r=SI(r,4),t==null){var o=e&&e.constructor;i?t=n?new o:[]:_I(e)?t=qI(o)?xI(EI(e)):{}:t={}}return(i?vI:AI)(e,function(a,s,u){return r(t,a,s,u)}),t}Fc.exports=PI});var Vc=f((KT,Bc)=>{"use strict";var Dc=ge(),TI=Qe(),CI=M(),$c=Dc?Dc.isConcatSpreadable:void 0;function NI(e){return CI(e)||TI(e)||!!($c&&e&&e[$c])}Bc.exports=NI});var Gc=f((zT,Hc)=>{"use strict";var RI=Cr(),jI=Vc();function Uc(e,r,t,n,i){var o=-1,a=e.length;for(t||(t=jI),i||(i=[]);++o<a;){var s=e[o];r>0&&t(s)?r>1?Uc(s,r-1,t,n,i):RI(i,s):n||(i[i.length]=s)}return i}Hc.exports=Uc});var zc=f((YT,Kc)=>{"use strict";function MI(e,r,t){switch(t.length){case 0:return e.call(r);case 1:return e.call(r,t[0]);case 2:return e.call(r,t[0],t[1]);case 3:return e.call(r,t[0],t[1],t[2])}return e.apply(r,t)}Kc.exports=MI});var Wc=f((JT,Jc)=>{"use strict";var FI=zc(),Yc=Math.max;function LI(e,r,t){return r=Yc(r===void 0?e.length-1:r,0),function(){for(var n=arguments,i=-1,o=Yc(n.length-r,0),a=Array(o);++i<o;)a[i]=n[r+i];i=-1;for(var s=Array(r+1);++i<r;)s[i]=n[i];return s[r]=t(a),FI(e,this,s)}}Jc.exports=LI});var Xc=f((WT,Zc)=>{"use strict";var DI=zt(),Qc=qt(),$I=or(),BI=Qc?function(e,r){return Qc(e,"toString",{configurable:!0,enumerable:!1,value:DI(r),writable:!0})}:$I;Zc.exports=BI});var rf=f((QT,ef)=>{"use strict";var VI=800,UI=16,HI=Date.now;function GI(e){var r=0,t=0;return function(){var n=HI(),i=UI-(n-t);if(t=n,i>0){if(++r>=VI)return arguments[0]}else r=0;return e.apply(void 0,arguments)}}ef.exports=GI});var nf=f((ZT,tf)=>{"use strict";var KI=Xc(),zI=rf(),YI=zI(KI);tf.exports=YI});var af=f((XT,of)=>{"use strict";var JI=or(),WI=Wc(),QI=nf();function ZI(e,r){return QI(WI(e,r,JI),e+"")}of.exports=ZI});var uf=f((eC,sf)=>{"use strict";function XI(e,r,t,n){for(var i=e.length,o=t+(n?1:-1);n?o--:++o<i;)if(r(e[o],o,e))return o;return-1}sf.exports=XI});var cf=f((rC,lf)=>{"use strict";function eq(e){return e!==e}lf.exports=eq});var pf=f((tC,ff)=>{"use strict";function rq(e,r,t){for(var n=t-1,i=e.length;++n<i;)if(e[n]===r)return n;return-1}ff.exports=rq});var yf=f((nC,df)=>{"use strict";var tq=uf(),nq=cf(),iq=pf();function oq(e,r,t){return r===r?iq(e,r,t):tq(e,nq,t)}df.exports=oq});var hf=f((iC,mf)=>{"use strict";var aq=yf();function sq(e,r){var t=e==null?0:e.length;return!!t&&aq(e,r,0)>-1}mf.exports=sq});var bf=f((oC,gf)=>{"use strict";function uq(e,r,t){for(var n=-1,i=e==null?0:e.length;++n<i;)if(t(r,e[n]))return!0;return!1}gf.exports=uq});var vf=f((aC,wf)=>{"use strict";function lq(){}wf.exports=lq});var Af=f((sC,xf)=>{"use strict";var fn=Dt(),cq=vf(),fq=Fr(),pq=1/0,dq=fn&&1/fq(new fn([,-0]))[1]==pq?function(e){return new fn(e)}:cq;xf.exports=dq});var Ef=f((uC,Sf)=>{"use strict";var yq=Jt(),mq=hf(),hq=bf(),gq=Wt(),bq=Af(),wq=Fr(),vq=200;function xq(e,r,t){var n=-1,i=mq,o=e.length,a=!0,s=[],u=s;if(t)a=!1,i=hq;else if(o>=vq){var l=r?null:bq(e);if(l)return wq(l);a=!1,i=gq,u=new yq}else u=r?[]:s;e:for(;++n<o;){var p=e[n],d=r?r(p):p;if(p=t||p!==0?p:0,a&&d===d){for(var c=u.length;c--;)if(u[c]===d)continue e;r&&u.push(d),s.push(p)}else i(u,d,t)||(u!==s&&u.push(d),s.push(p))}return s}Sf.exports=xq});var If=f((lC,kf)=>{"use strict";var Aq=fe(),Sq=Q();function Eq(e){return Sq(e)&&Aq(e)}kf.exports=Eq});var _f=f((cC,qf)=>{"use strict";var kq=Gc(),Iq=af(),qq=Ef(),_q=If(),Oq=Iq(function(e){return qq(kq(e,1,_q,!0))});qf.exports=Oq});var Pf=f((fC,Of)=>{"use strict";var Pq=Br();function Tq(e,r){return Pq(r,function(t){return e[t]})}Of.exports=Tq});var Cf=f((pC,Tf)=>{"use strict";var Cq=Pf(),Nq=pe();function Rq(e){return e==null?[]:Cq(e,Nq(e))}Tf.exports=Rq});var U=f((dC,Nf)=>{"use strict";var Vr;if(typeof jn=="function")try{Vr={clone:pu(),constant:zt(),each:_u(),filter:Xl(),has:nc(),isArray:M(),isEmpty:oc(),isFunction:ze(),isUndefined:sc(),keys:pe(),map:fc(),reduce:gc(),size:Mc(),transform:Lc(),union:_f(),values:Cf()}}catch{}Vr||(Vr=window._);Nf.exports=Vr});var Ur=f((mC,Ff)=>{"use strict";var k=U();Ff.exports=_;var jq="\0",xe="\0",Rf="";function _(e){this._isDirected=k.has(e,"directed")?e.directed:!0,this._isMultigraph=k.has(e,"multigraph")?e.multigraph:!1,this._isCompound=k.has(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=k.constant(void 0),this._defaultEdgeLabelFn=k.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[xe]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}_.prototype._nodeCount=0;_.prototype._edgeCount=0;_.prototype.isDirected=function(){return this._isDirected};_.prototype.isMultigraph=function(){return this._isMultigraph};_.prototype.isCompound=function(){return this._isCompound};_.prototype.setGraph=function(e){return this._label=e,this};_.prototype.graph=function(){return this._label};_.prototype.setDefaultNodeLabel=function(e){return k.isFunction(e)||(e=k.constant(e)),this._defaultNodeLabelFn=e,this};_.prototype.nodeCount=function(){return this._nodeCount};_.prototype.nodes=function(){return k.keys(this._nodes)};_.prototype.sources=function(){var e=this;return k.filter(this.nodes(),function(r){return k.isEmpty(e._in[r])})};_.prototype.sinks=function(){var e=this;return k.filter(this.nodes(),function(r){return k.isEmpty(e._out[r])})};_.prototype.setNodes=function(e,r){var t=arguments,n=this;return k.each(e,function(i){t.length>1?n.setNode(i,r):n.setNode(i)}),this};_.prototype.setNode=function(e,r){return k.has(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=xe,this._children[e]={},this._children[xe][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)};_.prototype.node=function(e){return this._nodes[e]};_.prototype.hasNode=function(e){return k.has(this._nodes,e)};_.prototype.removeNode=function(e){var r=this;if(k.has(this._nodes,e)){var t=function(n){r.removeEdge(r._edgeObjs[n])};delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],k.each(this.children(e),function(n){r.setParent(n)}),delete this._children[e]),k.each(k.keys(this._in[e]),t),delete this._in[e],delete this._preds[e],k.each(k.keys(this._out[e]),t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this};_.prototype.setParent=function(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(k.isUndefined(r))r=xe;else{r+="";for(var t=r;!k.isUndefined(t);t=this.parent(t))if(t===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this};_.prototype._removeFromParentsChildList=function(e){delete this._children[this._parent[e]][e]};_.prototype.parent=function(e){if(this._isCompound){var r=this._parent[e];if(r!==xe)return r}};_.prototype.children=function(e){if(k.isUndefined(e)&&(e=xe),this._isCompound){var r=this._children[e];if(r)return k.keys(r)}else{if(e===xe)return this.nodes();if(this.hasNode(e))return[]}};_.prototype.predecessors=function(e){var r=this._preds[e];if(r)return k.keys(r)};_.prototype.successors=function(e){var r=this._sucs[e];if(r)return k.keys(r)};_.prototype.neighbors=function(e){var r=this.predecessors(e);if(r)return k.union(r,this.successors(e))};_.prototype.isLeaf=function(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0};_.prototype.filterNodes=function(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var t=this;k.each(this._nodes,function(o,a){e(a)&&r.setNode(a,o)}),k.each(this._edgeObjs,function(o){r.hasNode(o.v)&&r.hasNode(o.w)&&r.setEdge(o,t.edge(o))});var n={};function i(o){var a=t.parent(o);return a===void 0||r.hasNode(a)?(n[o]=a,a):a in n?n[a]:i(a)}return this._isCompound&&k.each(r.nodes(),function(o){r.setParent(o,i(o))}),r};_.prototype.setDefaultEdgeLabel=function(e){return k.isFunction(e)||(e=k.constant(e)),this._defaultEdgeLabelFn=e,this};_.prototype.edgeCount=function(){return this._edgeCount};_.prototype.edges=function(){return k.values(this._edgeObjs)};_.prototype.setPath=function(e,r){var t=this,n=arguments;return k.reduce(e,function(i,o){return n.length>1?t.setEdge(i,o,r):t.setEdge(i,o),o}),this};_.prototype.setEdge=function(){var e,r,t,n,i=!1,o=arguments[0];typeof o=="object"&&o!==null&&"v"in o?(e=o.v,r=o.w,t=o.name,arguments.length===2&&(n=arguments[1],i=!0)):(e=o,r=arguments[1],t=arguments[3],arguments.length>2&&(n=arguments[2],i=!0)),e=""+e,r=""+r,k.isUndefined(t)||(t=""+t);var a=ur(this._isDirected,e,r,t);if(k.has(this._edgeLabels,a))return i&&(this._edgeLabels[a]=n),this;if(!k.isUndefined(t)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[a]=i?n:this._defaultEdgeLabelFn(e,r,t);var s=Mq(this._isDirected,e,r,t);return e=s.v,r=s.w,Object.freeze(s),this._edgeObjs[a]=s,jf(this._preds[r],e),jf(this._sucs[e],r),this._in[r][a]=s,this._out[e][a]=s,this._edgeCount++,this};_.prototype.edge=function(e,r,t){var n=arguments.length===1?pn(this._isDirected,arguments[0]):ur(this._isDirected,e,r,t);return this._edgeLabels[n]};_.prototype.hasEdge=function(e,r,t){var n=arguments.length===1?pn(this._isDirected,arguments[0]):ur(this._isDirected,e,r,t);return k.has(this._edgeLabels,n)};_.prototype.removeEdge=function(e,r,t){var n=arguments.length===1?pn(this._isDirected,arguments[0]):ur(this._isDirected,e,r,t),i=this._edgeObjs[n];return i&&(e=i.v,r=i.w,delete this._edgeLabels[n],delete this._edgeObjs[n],Mf(this._preds[r],e),Mf(this._sucs[e],r),delete this._in[r][n],delete this._out[e][n],this._edgeCount--),this};_.prototype.inEdges=function(e,r){var t=this._in[e];if(t){var n=k.values(t);return r?k.filter(n,function(i){return i.v===r}):n}};_.prototype.outEdges=function(e,r){var t=this._out[e];if(t){var n=k.values(t);return r?k.filter(n,function(i){return i.w===r}):n}};_.prototype.nodeEdges=function(e,r){var t=this.inEdges(e,r);if(t)return t.concat(this.outEdges(e,r))};function jf(e,r){e[r]?e[r]++:e[r]=1}function Mf(e,r){--e[r]||delete e[r]}function ur(e,r,t,n){var i=""+r,o=""+t;if(!e&&i>o){var a=i;i=o,o=a}return i+Rf+o+Rf+(k.isUndefined(n)?jq:n)}function Mq(e,r,t,n){var i=""+r,o=""+t;if(!e&&i>o){var a=i;i=o,o=a}var s={v:i,w:o};return n&&(s.name=n),s}function pn(e,r){return ur(e,r.v,r.w,r.name)}});var Df=f((hC,Lf)=>{"use strict";Lf.exports="2.1.8"});var Bf=f((gC,$f)=>{"use strict";$f.exports={Graph:Ur(),version:Df()}});var Uf=f((bC,Vf)=>{"use strict";var Z=U(),Fq=Ur();Vf.exports={write:Lq,read:Bq};function Lq(e){var r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:Dq(e),edges:$q(e)};return Z.isUndefined(e.graph())||(r.value=Z.clone(e.graph())),r}function Dq(e){return Z.map(e.nodes(),function(r){var t=e.node(r),n=e.parent(r),i={v:r};return Z.isUndefined(t)||(i.value=t),Z.isUndefined(n)||(i.parent=n),i})}function $q(e){return Z.map(e.edges(),function(r){var t=e.edge(r),n={v:r.v,w:r.w};return Z.isUndefined(r.name)||(n.name=r.name),Z.isUndefined(t)||(n.value=t),n})}function Bq(e){var r=new Fq(e.options).setGraph(e.value);return Z.each(e.nodes,function(t){r.setNode(t.v,t.value),t.parent&&r.setParent(t.v,t.parent)}),Z.each(e.edges,function(t){r.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),r}});var Gf=f((wC,Hf)=>{"use strict";var Hr=U();Hf.exports=Vq;function Vq(e){var r={},t=[],n;function i(o){Hr.has(r,o)||(r[o]=!0,n.push(o),Hr.each(e.successors(o),i),Hr.each(e.predecessors(o),i))}return Hr.each(e.nodes(),function(o){n=[],i(o),n.length&&t.push(n)}),t}});var dn=f((vC,zf)=>{"use strict";var Kf=U();zf.exports=H;function H(){this._arr=[],this._keyIndices={}}H.prototype.size=function(){return this._arr.length};H.prototype.keys=function(){return this._arr.map(function(e){return e.key})};H.prototype.has=function(e){return Kf.has(this._keyIndices,e)};H.prototype.priority=function(e){var r=this._keyIndices[e];if(r!==void 0)return this._arr[r].priority};H.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key};H.prototype.add=function(e,r){var t=this._keyIndices;if(e=String(e),!Kf.has(t,e)){var n=this._arr,i=n.length;return t[e]=i,n.push({key:e,priority:r}),this._decrease(i),!0}return!1};H.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key};H.prototype.decrease=function(e,r){var t=this._keyIndices[e];if(r>this._arr[t].priority)throw new Error("New priority is greater than current priority. Key: "+e+" Old: "+this._arr[t].priority+" New: "+r);this._arr[t].priority=r,this._decrease(t)};H.prototype._heapify=function(e){var r=this._arr,t=2*e,n=t+1,i=e;t<r.length&&(i=r[t].priority<r[i].priority?t:i,n<r.length&&(i=r[n].priority<r[i].priority?n:i),i!==e&&(this._swap(e,i),this._heapify(i)))};H.prototype._decrease=function(e){for(var r=this._arr,t=r[e].priority,n;e!==0&&(n=e>>1,!(r[n].priority<t));)this._swap(e,n),e=n};H.prototype._swap=function(e,r){var t=this._arr,n=this._keyIndices,i=t[e],o=t[r];t[e]=o,t[r]=i,n[o.key]=e,n[i.key]=r}});var yn=f((xC,Yf)=>{"use strict";var Uq=U(),Hq=dn();Yf.exports=Kq;var Gq=Uq.constant(1);function Kq(e,r,t,n){return zq(e,String(r),t||Gq,n||function(i){return e.outEdges(i)})}function zq(e,r,t,n){var i={},o=new Hq,a,s,u=function(l){var p=l.v!==a?l.v:l.w,d=i[p],c=t(l),m=s.distance+c;if(c<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+l+" Weight: "+c);m<d.distance&&(d.distance=m,d.predecessor=a,o.decrease(p,m))};for(e.nodes().forEach(function(l){var p=l===r?0:Number.POSITIVE_INFINITY;i[l]={distance:p},o.add(l,p)});o.size()>0&&(a=o.removeMin(),s=i[a],s.distance!==Number.POSITIVE_INFINITY);)n(a).forEach(u);return i}});var Wf=f((AC,Jf)=>{"use strict";var Yq=yn(),Jq=U();Jf.exports=Wq;function Wq(e,r,t){return Jq.transform(e.nodes(),function(n,i){n[i]=Yq(e,i,r,t)},{})}});var mn=f((SC,Zf)=>{"use strict";var Qf=U();Zf.exports=Qq;function Qq(e){var r=0,t=[],n={},i=[];function o(a){var s=n[a]={onStack:!0,lowlink:r,index:r++};if(t.push(a),e.successors(a).forEach(function(p){Qf.has(n,p)?n[p].onStack&&(s.lowlink=Math.min(s.lowlink,n[p].index)):(o(p),s.lowlink=Math.min(s.lowlink,n[p].lowlink))}),s.lowlink===s.index){var u=[],l;do l=t.pop(),n[l].onStack=!1,u.push(l);while(a!==l);i.push(u)}}return e.nodes().forEach(function(a){Qf.has(n,a)||o(a)}),i}});var ep=f((EC,Xf)=>{"use strict";var Zq=U(),Xq=mn();Xf.exports=e_;function e_(e){return Zq.filter(Xq(e),function(r){return r.length>1||r.length===1&&e.hasEdge(r[0],r[0])})}});var tp=f((kC,rp)=>{"use strict";var r_=U();rp.exports=n_;var t_=r_.constant(1);function n_(e,r,t){return i_(e,r||t_,t||function(n){return e.outEdges(n)})}function i_(e,r,t){var n={},i=e.nodes();return i.forEach(function(o){n[o]={},n[o][o]={distance:0},i.forEach(function(a){o!==a&&(n[o][a]={distance:Number.POSITIVE_INFINITY})}),t(o).forEach(function(a){var s=a.v===o?a.w:a.v,u=r(a);n[o][s]={distance:u,predecessor:o}})}),i.forEach(function(o){var a=n[o];i.forEach(function(s){var u=n[s];i.forEach(function(l){var p=u[o],d=a[l],c=u[l],m=p.distance+d.distance;m<c.distance&&(c.distance=m,c.predecessor=d.predecessor)})})}),n}});var hn=f((IC,ip)=>{"use strict";var lr=U();ip.exports=np;np.CycleException=Gr;function np(e){var r={},t={},n=[];function i(o){if(lr.has(t,o))throw new Gr;lr.has(r,o)||(t[o]=!0,r[o]=!0,lr.each(e.predecessors(o),i),delete t[o],n.push(o))}if(lr.each(e.sinks(),i),lr.size(r)!==e.nodeCount())throw new Gr;return n}function Gr(){}Gr.prototype=new Error});var sp=f((qC,ap)=>{"use strict";var op=hn();ap.exports=o_;function o_(e){try{op(e)}catch(r){if(r instanceof op.CycleException)return!1;throw r}return!0}});var gn=f((_C,lp)=>{"use strict";var Kr=U();lp.exports=a_;function a_(e,r,t){Kr.isArray(r)||(r=[r]);var n=(e.isDirected()?e.successors:e.neighbors).bind(e),i=[],o={};return Kr.each(r,function(a){if(!e.hasNode(a))throw new Error("Graph does not have node: "+a);up(e,a,t==="post",o,n,i)}),i}function up(e,r,t,n,i,o){Kr.has(n,r)||(n[r]=!0,t||o.push(r),Kr.each(i(r),function(a){up(e,a,t,n,i,o)}),t&&o.push(r))}});var fp=f((OC,cp)=>{"use strict";var s_=gn();cp.exports=u_;function u_(e,r){return s_(e,r,"post")}});var dp=f((PC,pp)=>{"use strict";var l_=gn();pp.exports=c_;function c_(e,r){return l_(e,r,"pre")}});var hp=f((TC,mp)=>{"use strict";var yp=U(),f_=Ur(),p_=dn();mp.exports=d_;function d_(e,r){var t=new f_,n={},i=new p_,o;function a(u){var l=u.v===o?u.w:u.v,p=i.priority(l);if(p!==void 0){var d=r(u);d<p&&(n[l]=o,i.decrease(l,d))}}if(e.nodeCount()===0)return t;yp.each(e.nodes(),function(u){i.add(u,Number.POSITIVE_INFINITY),t.setNode(u)}),i.decrease(e.nodes()[0],0);for(var s=!1;i.size()>0;){if(o=i.removeMin(),yp.has(n,o))t.setEdge(o,n[o]);else{if(s)throw new Error("Input graph is not connected: "+e);s=!0}e.nodeEdges(o).forEach(a)}return t}});var bp=f((CC,gp)=>{"use strict";gp.exports={components:Gf(),dijkstra:yn(),dijkstraAll:Wf(),findCycles:ep(),floydWarshall:tp(),isAcyclic:sp(),postorder:fp(),preorder:dp(),prim:hp(),tarjan:mn(),topsort:hn()}});var bn=f((NC,vp)=>{"use strict";var wp=Bf();vp.exports={Graph:wp.Graph,json:Uf(),alg:bp(),version:wp.version}});var T_={};sd(T_,{combineSpytialSpecs:()=>Qp,createCpoModule:()=>P_,createDiagramView:()=>Zp,createPyretModule:()=>Xp,loadBrowserCore:()=>rd,registerCpoOutput:()=>ed});function Xn(e){return typeof e>"u"||e===null}function ld(e){return typeof e=="object"&&e!==null}function cd(e){return Array.isArray(e)?e:Xn(e)?[]:[e]}function fd(e,r){var t,n,i,o;if(r)for(o=Object.keys(r),t=0,n=o.length;t<n;t+=1)i=o[t],e[i]=r[i];return e}function pd(e,r){var t="",n;for(n=0;n<r;n+=1)t+=e;return t}function dd(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var yd=Xn,md=ld,hd=cd,gd=pd,bd=dd,wd=fd,j={isNothing:yd,isObject:md,toArray:hd,repeat:gd,isNegativeZero:bd,extend:wd};function ei(e,r){var t="",n=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(t+='in "'+e.mark.name+'" '),t+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!r&&e.mark.snippet&&(t+=`
|
|
2
2
|
|
|
3
|
-
`+e.mark.snippet),n+" "+t):n}function $e(e,r){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=r,this.message=ei(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}$e.prototype=Object.create(Error.prototype);$e.prototype.constructor=$e;$e.prototype.toString=function(r){return this.name+": "+ei(this,r)};var B=$e;function ft(e,r,t,n,i){var o="",a="",s=Math.floor(i/2)-1;return n-r>s&&(o=" ... ",r=n-s+o.length),t-n>s&&(a=" ...",t=n+s-a.length),{str:o+e.slice(r,t).replace(/\t/g,"\u2192")+a,pos:n-r+o.length}}function pt(e,r){return
|
|
4
|
-
`+s;for(l=ft(e.buffer,n[a],i[a],e.position,d),s+=
|
|
5
|
-
`,s+=
|
|
6
|
-
`,u=1;u<=r.linesAfter&&!(a+u>=i.length);u++)l=ft(e.buffer,n[a+u],i[a+u],e.position-(n[a]-n[a+u]),d),s+=
|
|
7
|
-
`;return s.replace(/\n$/,"")}var vd
|
|
8
|
-
\r`;function
|
|
9
|
-
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function
|
|
10
|
-
`,r-1))}function
|
|
3
|
+
`+e.mark.snippet),n+" "+t):n}function $e(e,r){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=r,this.message=ei(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}$e.prototype=Object.create(Error.prototype);$e.prototype.constructor=$e;$e.prototype.toString=function(r){return this.name+": "+ei(this,r)};var B=$e;function ft(e,r,t,n,i){var o="",a="",s=Math.floor(i/2)-1;return n-r>s&&(o=" ... ",r=n-s+o.length),t-n>s&&(a=" ...",t=n+s-a.length),{str:o+e.slice(r,t).replace(/\t/g,"\u2192")+a,pos:n-r+o.length}}function pt(e,r){return j.repeat(" ",r-e.length)+e}function vd(e,r){if(r=Object.create(r||null),!e.buffer)return null;r.maxLength||(r.maxLength=79),typeof r.indent!="number"&&(r.indent=1),typeof r.linesBefore!="number"&&(r.linesBefore=3),typeof r.linesAfter!="number"&&(r.linesAfter=2);for(var t=/\r?\n|\r|\0/g,n=[0],i=[],o,a=-1;o=t.exec(e.buffer);)i.push(o.index),n.push(o.index+o[0].length),e.position<=o.index&&a<0&&(a=n.length-2);a<0&&(a=n.length-1);var s="",u,l,p=Math.min(e.line+r.linesAfter,i.length).toString().length,d=r.maxLength-(r.indent+p+3);for(u=1;u<=r.linesBefore&&!(a-u<0);u++)l=ft(e.buffer,n[a-u],i[a-u],e.position-(n[a]-n[a-u]),d),s=j.repeat(" ",r.indent)+pt((e.line-u+1).toString(),p)+" | "+l.str+`
|
|
4
|
+
`+s;for(l=ft(e.buffer,n[a],i[a],e.position,d),s+=j.repeat(" ",r.indent)+pt((e.line+1).toString(),p)+" | "+l.str+`
|
|
5
|
+
`,s+=j.repeat("-",r.indent+p+3+l.pos)+`^
|
|
6
|
+
`,u=1;u<=r.linesAfter&&!(a+u>=i.length);u++)l=ft(e.buffer,n[a+u],i[a+u],e.position-(n[a]-n[a+u]),d),s+=j.repeat(" ",r.indent)+pt((e.line+u+1).toString(),p)+" | "+l.str+`
|
|
7
|
+
`;return s.replace(/\n$/,"")}var xd=vd,Ad=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Sd=["scalar","sequence","mapping"];function Ed(e){var r={};return e!==null&&Object.keys(e).forEach(function(t){e[t].forEach(function(n){r[String(n)]=t})}),r}function kd(e,r){if(r=r||{},Object.keys(r).forEach(function(t){if(Ad.indexOf(t)===-1)throw new B('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.options=r,this.tag=e,this.kind=r.kind||null,this.resolve=r.resolve||function(){return!0},this.construct=r.construct||function(t){return t},this.instanceOf=r.instanceOf||null,this.predicate=r.predicate||null,this.represent=r.represent||null,this.representName=r.representName||null,this.defaultStyle=r.defaultStyle||null,this.multi=r.multi||!1,this.styleAliases=Ed(r.styleAliases||null),Sd.indexOf(this.kind)===-1)throw new B('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var L=kd;function Ln(e,r){var t=[];return e[r].forEach(function(n){var i=t.length;t.forEach(function(o,a){o.tag===n.tag&&o.kind===n.kind&&o.multi===n.multi&&(i=a)}),t[i]=n}),t}function Id(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},r,t;function n(i){i.multi?(e.multi[i.kind].push(i),e.multi.fallback.push(i)):e[i.kind][i.tag]=e.fallback[i.tag]=i}for(r=0,t=arguments.length;r<t;r+=1)arguments[r].forEach(n);return e}function yt(e){return this.extend(e)}yt.prototype.extend=function(r){var t=[],n=[];if(r instanceof L)n.push(r);else if(Array.isArray(r))n=n.concat(r);else if(r&&(Array.isArray(r.implicit)||Array.isArray(r.explicit)))r.implicit&&(t=t.concat(r.implicit)),r.explicit&&(n=n.concat(r.explicit));else throw new B("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.forEach(function(o){if(!(o instanceof L))throw new B("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(o.loadKind&&o.loadKind!=="scalar")throw new B("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(o.multi)throw new B("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),n.forEach(function(o){if(!(o instanceof L))throw new B("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(yt.prototype);return i.implicit=(this.implicit||[]).concat(t),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=Ln(i,"implicit"),i.compiledExplicit=Ln(i,"explicit"),i.compiledTypeMap=Id(i.compiledImplicit,i.compiledExplicit),i};var qd=yt,_d=new L("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),Od=new L("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),Pd=new L("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),Td=new qd({explicit:[_d,Od,Pd]});function Cd(e){if(e===null)return!0;var r=e.length;return r===1&&e==="~"||r===4&&(e==="null"||e==="Null"||e==="NULL")}function Nd(){return null}function Rd(e){return e===null}var jd=new L("tag:yaml.org,2002:null",{kind:"scalar",resolve:Cd,construct:Nd,predicate:Rd,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function Md(e){if(e===null)return!1;var r=e.length;return r===4&&(e==="true"||e==="True"||e==="TRUE")||r===5&&(e==="false"||e==="False"||e==="FALSE")}function Fd(e){return e==="true"||e==="True"||e==="TRUE"}function Ld(e){return Object.prototype.toString.call(e)==="[object Boolean]"}var Dd=new L("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Md,construct:Fd,predicate:Ld,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"});function $d(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function Bd(e){return 48<=e&&e<=55}function Vd(e){return 48<=e&&e<=57}function Ud(e){if(e===null)return!1;var r=e.length,t=0,n=!1,i;if(!r)return!1;if(i=e[t],(i==="-"||i==="+")&&(i=e[++t]),i==="0"){if(t+1===r)return!0;if(i=e[++t],i==="b"){for(t++;t<r;t++)if(i=e[t],i!=="_"){if(i!=="0"&&i!=="1")return!1;n=!0}return n&&i!=="_"}if(i==="x"){for(t++;t<r;t++)if(i=e[t],i!=="_"){if(!$d(e.charCodeAt(t)))return!1;n=!0}return n&&i!=="_"}if(i==="o"){for(t++;t<r;t++)if(i=e[t],i!=="_"){if(!Bd(e.charCodeAt(t)))return!1;n=!0}return n&&i!=="_"}}if(i==="_")return!1;for(;t<r;t++)if(i=e[t],i!=="_"){if(!Vd(e.charCodeAt(t)))return!1;n=!0}return!(!n||i==="_")}function Hd(e){var r=e,t=1,n;if(r.indexOf("_")!==-1&&(r=r.replace(/_/g,"")),n=r[0],(n==="-"||n==="+")&&(n==="-"&&(t=-1),r=r.slice(1),n=r[0]),r==="0")return 0;if(n==="0"){if(r[1]==="b")return t*parseInt(r.slice(2),2);if(r[1]==="x")return t*parseInt(r.slice(2),16);if(r[1]==="o")return t*parseInt(r.slice(2),8)}return t*parseInt(r,10)}function Gd(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!j.isNegativeZero(e)}var Kd=new L("tag:yaml.org,2002:int",{kind:"scalar",resolve:Ud,construct:Hd,predicate:Gd,represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),zd=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Yd(e){return!(e===null||!zd.test(e)||e[e.length-1]==="_")}function Jd(e){var r,t;return r=e.replace(/_/g,"").toLowerCase(),t=r[0]==="-"?-1:1,"+-".indexOf(r[0])>=0&&(r=r.slice(1)),r===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:r===".nan"?NaN:t*parseFloat(r,10)}var Wd=/^[-+]?[0-9]+e/;function Qd(e,r){var t;if(isNaN(e))switch(r){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(r){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(r){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(j.isNegativeZero(e))return"-0.0";return t=e.toString(10),Wd.test(t)?t.replace("e",".e"):t}function Zd(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||j.isNegativeZero(e))}var Xd=new L("tag:yaml.org,2002:float",{kind:"scalar",resolve:Yd,construct:Jd,predicate:Zd,represent:Qd,defaultStyle:"lowercase"}),ey=Td.extend({implicit:[jd,Dd,Kd,Xd]}),ry=ey,ri=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),ti=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function ty(e){return e===null?!1:ri.exec(e)!==null||ti.exec(e)!==null}function ny(e){var r,t,n,i,o,a,s,u=0,l=null,p,d,c;if(r=ri.exec(e),r===null&&(r=ti.exec(e)),r===null)throw new Error("Date resolve error");if(t=+r[1],n=+r[2]-1,i=+r[3],!r[4])return new Date(Date.UTC(t,n,i));if(o=+r[4],a=+r[5],s=+r[6],r[7]){for(u=r[7].slice(0,3);u.length<3;)u+="0";u=+u}return r[9]&&(p=+r[10],d=+(r[11]||0),l=(p*60+d)*6e4,r[9]==="-"&&(l=-l)),c=new Date(Date.UTC(t,n,i,o,a,s,u)),l&&c.setTime(c.getTime()-l),c}function iy(e){return e.toISOString()}var oy=new L("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:ty,construct:ny,instanceOf:Date,represent:iy});function ay(e){return e==="<<"||e===null}var sy=new L("tag:yaml.org,2002:merge",{kind:"scalar",resolve:ay}),wt=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
8
|
+
\r`;function uy(e){if(e===null)return!1;var r,t,n=0,i=e.length,o=wt;for(t=0;t<i;t++)if(r=o.indexOf(e.charAt(t)),!(r>64)){if(r<0)return!1;n+=6}return n%8===0}function ly(e){var r,t,n=e.replace(/[\r\n=]/g,""),i=n.length,o=wt,a=0,s=[];for(r=0;r<i;r++)r%4===0&&r&&(s.push(a>>16&255),s.push(a>>8&255),s.push(a&255)),a=a<<6|o.indexOf(n.charAt(r));return t=i%4*6,t===0?(s.push(a>>16&255),s.push(a>>8&255),s.push(a&255)):t===18?(s.push(a>>10&255),s.push(a>>2&255)):t===12&&s.push(a>>4&255),new Uint8Array(s)}function cy(e){var r="",t=0,n,i,o=e.length,a=wt;for(n=0;n<o;n++)n%3===0&&n&&(r+=a[t>>18&63],r+=a[t>>12&63],r+=a[t>>6&63],r+=a[t&63]),t=(t<<8)+e[n];return i=o%3,i===0?(r+=a[t>>18&63],r+=a[t>>12&63],r+=a[t>>6&63],r+=a[t&63]):i===2?(r+=a[t>>10&63],r+=a[t>>4&63],r+=a[t<<2&63],r+=a[64]):i===1&&(r+=a[t>>2&63],r+=a[t<<4&63],r+=a[64],r+=a[64]),r}function fy(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var py=new L("tag:yaml.org,2002:binary",{kind:"scalar",resolve:uy,construct:ly,predicate:fy,represent:cy}),dy=Object.prototype.hasOwnProperty,yy=Object.prototype.toString;function my(e){if(e===null)return!0;var r=[],t,n,i,o,a,s=e;for(t=0,n=s.length;t<n;t+=1){if(i=s[t],a=!1,yy.call(i)!=="[object Object]")return!1;for(o in i)if(dy.call(i,o))if(!a)a=!0;else return!1;if(!a)return!1;if(r.indexOf(o)===-1)r.push(o);else return!1}return!0}function hy(e){return e!==null?e:[]}var gy=new L("tag:yaml.org,2002:omap",{kind:"sequence",resolve:my,construct:hy}),by=Object.prototype.toString;function wy(e){if(e===null)return!0;var r,t,n,i,o,a=e;for(o=new Array(a.length),r=0,t=a.length;r<t;r+=1){if(n=a[r],by.call(n)!=="[object Object]"||(i=Object.keys(n),i.length!==1))return!1;o[r]=[i[0],n[i[0]]]}return!0}function vy(e){if(e===null)return[];var r,t,n,i,o,a=e;for(o=new Array(a.length),r=0,t=a.length;r<t;r+=1)n=a[r],i=Object.keys(n),o[r]=[i[0],n[i[0]]];return o}var xy=new L("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:wy,construct:vy}),Ay=Object.prototype.hasOwnProperty;function Sy(e){if(e===null)return!0;var r,t=e;for(r in t)if(Ay.call(t,r)&&t[r]!==null)return!1;return!0}function Ey(e){return e!==null?e:{}}var ky=new L("tag:yaml.org,2002:set",{kind:"mapping",resolve:Sy,construct:Ey}),ni=ry.extend({implicit:[oy,sy],explicit:[py,gy,xy,ky]}),ue=Object.prototype.hasOwnProperty,mr=1,ii=2,oi=3,hr=4,dt=1,Iy=2,Dn=3,qy=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,_y=/[\x85\u2028\u2029]/,Oy=/[,\[\]\{\}]/,ai=/^(?:!|!!|![a-z\-]+!)$/i,si=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function $n(e){return Object.prototype.toString.call(e)}function W(e){return e===10||e===13}function he(e){return e===9||e===32}function V(e){return e===9||e===32||e===10||e===13}function Ee(e){return e===44||e===91||e===93||e===123||e===125}function Py(e){var r;return 48<=e&&e<=57?e-48:(r=e|32,97<=r&&r<=102?r-97+10:-1)}function Ty(e){return e===120?2:e===117?4:e===85?8:0}function Cy(e){return 48<=e&&e<=57?e-48:-1}function Bn(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?`
|
|
9
|
+
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}function Ny(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}var ui=new Array(256),li=new Array(256);for(me=0;me<256;me++)ui[me]=Bn(me)?1:0,li[me]=Bn(me);var me;function Ry(e,r){this.input=e,this.filename=r.filename||null,this.schema=r.schema||ni,this.onWarning=r.onWarning||null,this.legacy=r.legacy||!1,this.json=r.json||!1,this.listener=r.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function ci(e,r){var t={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return t.snippet=xd(t),new B(r,t)}function x(e,r){throw ci(e,r)}function gr(e,r){e.onWarning&&e.onWarning.call(null,ci(e,r))}var Vn={YAML:function(r,t,n){var i,o,a;r.version!==null&&x(r,"duplication of %YAML directive"),n.length!==1&&x(r,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&x(r,"ill-formed argument of the YAML directive"),o=parseInt(i[1],10),a=parseInt(i[2],10),o!==1&&x(r,"unacceptable YAML version of the document"),r.version=n[0],r.checkLineBreaks=a<2,a!==1&&a!==2&&gr(r,"unsupported YAML version of the document")},TAG:function(r,t,n){var i,o;n.length!==2&&x(r,"TAG directive accepts exactly two arguments"),i=n[0],o=n[1],ai.test(i)||x(r,"ill-formed tag handle (first argument) of the TAG directive"),ue.call(r.tagMap,i)&&x(r,'there is a previously declared suffix for "'+i+'" tag handle'),si.test(o)||x(r,"ill-formed tag prefix (second argument) of the TAG directive");try{o=decodeURIComponent(o)}catch{x(r,"tag prefix is malformed: "+o)}r.tagMap[i]=o}};function se(e,r,t,n){var i,o,a,s;if(r<t){if(s=e.input.slice(r,t),n)for(i=0,o=s.length;i<o;i+=1)a=s.charCodeAt(i),a===9||32<=a&&a<=1114111||x(e,"expected valid JSON character");else qy.test(s)&&x(e,"the stream contains non-printable characters");e.result+=s}}function Un(e,r,t,n){var i,o,a,s;for(j.isObject(t)||x(e,"cannot merge mappings; the provided source object is unacceptable"),i=Object.keys(t),a=0,s=i.length;a<s;a+=1)o=i[a],ue.call(r,o)||(r[o]=t[o],n[o]=!0)}function ke(e,r,t,n,i,o,a,s,u){var l,p;if(Array.isArray(i))for(i=Array.prototype.slice.call(i),l=0,p=i.length;l<p;l+=1)Array.isArray(i[l])&&x(e,"nested arrays are not supported inside keys"),typeof i=="object"&&$n(i[l])==="[object Object]"&&(i[l]="[object Object]");if(typeof i=="object"&&$n(i)==="[object Object]"&&(i="[object Object]"),i=String(i),r===null&&(r={}),n==="tag:yaml.org,2002:merge")if(Array.isArray(o))for(l=0,p=o.length;l<p;l+=1)Un(e,r,o[l],t);else Un(e,r,o,t);else!e.json&&!ue.call(t,i)&&ue.call(r,i)&&(e.line=a||e.line,e.lineStart=s||e.lineStart,e.position=u||e.position,x(e,"duplicated mapping key")),i==="__proto__"?Object.defineProperty(r,i,{configurable:!0,enumerable:!0,writable:!0,value:o}):r[i]=o,delete t[i];return r}function vt(e){var r;r=e.input.charCodeAt(e.position),r===10?e.position++:r===13?(e.position++,e.input.charCodeAt(e.position)===10&&e.position++):x(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}function N(e,r,t){for(var n=0,i=e.input.charCodeAt(e.position);i!==0;){for(;he(i);)i===9&&e.firstTabInLine===-1&&(e.firstTabInLine=e.position),i=e.input.charCodeAt(++e.position);if(r&&i===35)do i=e.input.charCodeAt(++e.position);while(i!==10&&i!==13&&i!==0);if(W(i))for(vt(e),i=e.input.charCodeAt(e.position),n++,e.lineIndent=0;i===32;)e.lineIndent++,i=e.input.charCodeAt(++e.position);else break}return t!==-1&&n!==0&&e.lineIndent<t&&gr(e,"deficient indentation"),n}function vr(e){var r=e.position,t;return t=e.input.charCodeAt(r),!!((t===45||t===46)&&t===e.input.charCodeAt(r+1)&&t===e.input.charCodeAt(r+2)&&(r+=3,t=e.input.charCodeAt(r),t===0||V(t)))}function xt(e,r){r===1?e.result+=" ":r>1&&(e.result+=j.repeat(`
|
|
10
|
+
`,r-1))}function jy(e,r,t){var n,i,o,a,s,u,l,p,d=e.kind,c=e.result,m;if(m=e.input.charCodeAt(e.position),V(m)||Ee(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(i=e.input.charCodeAt(e.position+1),V(i)||t&&Ee(i)))return!1;for(e.kind="scalar",e.result="",o=a=e.position,s=!1;m!==0;){if(m===58){if(i=e.input.charCodeAt(e.position+1),V(i)||t&&Ee(i))break}else if(m===35){if(n=e.input.charCodeAt(e.position-1),V(n))break}else{if(e.position===e.lineStart&&vr(e)||t&&Ee(m))break;if(W(m))if(u=e.line,l=e.lineStart,p=e.lineIndent,N(e,!1,-1),e.lineIndent>=r){s=!0,m=e.input.charCodeAt(e.position);continue}else{e.position=a,e.line=u,e.lineStart=l,e.lineIndent=p;break}}s&&(se(e,o,a,!1),xt(e,e.line-u),o=a=e.position,s=!1),he(m)||(a=e.position+1),m=e.input.charCodeAt(++e.position)}return se(e,o,a,!1),e.result?!0:(e.kind=d,e.result=c,!1)}function My(e,r){var t,n,i;if(t=e.input.charCodeAt(e.position),t!==39)return!1;for(e.kind="scalar",e.result="",e.position++,n=i=e.position;(t=e.input.charCodeAt(e.position))!==0;)if(t===39)if(se(e,n,e.position,!0),t=e.input.charCodeAt(++e.position),t===39)n=e.position,e.position++,i=e.position;else return!0;else W(t)?(se(e,n,i,!0),xt(e,N(e,!1,r)),n=i=e.position):e.position===e.lineStart&&vr(e)?x(e,"unexpected end of the document within a single quoted scalar"):(e.position++,i=e.position);x(e,"unexpected end of the stream within a single quoted scalar")}function Fy(e,r){var t,n,i,o,a,s;if(s=e.input.charCodeAt(e.position),s!==34)return!1;for(e.kind="scalar",e.result="",e.position++,t=n=e.position;(s=e.input.charCodeAt(e.position))!==0;){if(s===34)return se(e,t,e.position,!0),e.position++,!0;if(s===92){if(se(e,t,e.position,!0),s=e.input.charCodeAt(++e.position),W(s))N(e,!1,r);else if(s<256&&ui[s])e.result+=li[s],e.position++;else if((a=Ty(s))>0){for(i=a,o=0;i>0;i--)s=e.input.charCodeAt(++e.position),(a=Py(s))>=0?o=(o<<4)+a:x(e,"expected hexadecimal character");e.result+=Ny(o),e.position++}else x(e,"unknown escape sequence");t=n=e.position}else W(s)?(se(e,t,n,!0),xt(e,N(e,!1,r)),t=n=e.position):e.position===e.lineStart&&vr(e)?x(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}x(e,"unexpected end of the stream within a double quoted scalar")}function Ly(e,r){var t=!0,n,i,o,a=e.tag,s,u=e.anchor,l,p,d,c,m,y=Object.create(null),h,b,g,v;if(v=e.input.charCodeAt(e.position),v===91)p=93,m=!1,s=[];else if(v===123)p=125,m=!0,s={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=s),v=e.input.charCodeAt(++e.position);v!==0;){if(N(e,!0,r),v=e.input.charCodeAt(e.position),v===p)return e.position++,e.tag=a,e.anchor=u,e.kind=m?"mapping":"sequence",e.result=s,!0;t?v===44&&x(e,"expected the node content, but found ','"):x(e,"missed comma between flow collection entries"),b=h=g=null,d=c=!1,v===63&&(l=e.input.charCodeAt(e.position+1),V(l)&&(d=c=!0,e.position++,N(e,!0,r))),n=e.line,i=e.lineStart,o=e.position,Ie(e,r,mr,!1,!0),b=e.tag,h=e.result,N(e,!0,r),v=e.input.charCodeAt(e.position),(c||e.line===n)&&v===58&&(d=!0,v=e.input.charCodeAt(++e.position),N(e,!0,r),Ie(e,r,mr,!1,!0),g=e.result),m?ke(e,s,y,b,h,g,n,i,o):d?s.push(ke(e,null,y,b,h,g,n,i,o)):s.push(h),N(e,!0,r),v=e.input.charCodeAt(e.position),v===44?(t=!0,v=e.input.charCodeAt(++e.position)):t=!1}x(e,"unexpected end of the stream within a flow collection")}function Dy(e,r){var t,n,i=dt,o=!1,a=!1,s=r,u=0,l=!1,p,d;if(d=e.input.charCodeAt(e.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(e.kind="scalar",e.result="";d!==0;)if(d=e.input.charCodeAt(++e.position),d===43||d===45)dt===i?i=d===43?Dn:Iy:x(e,"repeat of a chomping mode identifier");else if((p=Cy(d))>=0)p===0?x(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):a?x(e,"repeat of an indentation width identifier"):(s=r+p-1,a=!0);else break;if(he(d)){do d=e.input.charCodeAt(++e.position);while(he(d));if(d===35)do d=e.input.charCodeAt(++e.position);while(!W(d)&&d!==0)}for(;d!==0;){for(vt(e),e.lineIndent=0,d=e.input.charCodeAt(e.position);(!a||e.lineIndent<s)&&d===32;)e.lineIndent++,d=e.input.charCodeAt(++e.position);if(!a&&e.lineIndent>s&&(s=e.lineIndent),W(d)){u++;continue}if(e.lineIndent<s){i===Dn?e.result+=j.repeat(`
|
|
11
11
|
`,o?1+u:u):i===dt&&o&&(e.result+=`
|
|
12
|
-
`);break}for(n?he(d)?(l=!0,e.result+=
|
|
13
|
-
`,o?1+u:u)):l?(l=!1,e.result+=
|
|
14
|
-
`,u+1)):u===0?o&&(e.result+=" "):e.result+=
|
|
15
|
-
`,u):e.result+=
|
|
16
|
-
`,o?1+u:u),o=!0,a=!0,u=0,t=e.position;!W(d)&&d!==0;)d=e.input.charCodeAt(++e.position);se(e,t,e.position,!1)}return!0}function Hn(e,r){var t,n=e.tag,i=e.anchor,o=[],a,s=!1,u;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=o),u=e.input.charCodeAt(e.position);u!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,x(e,"tab characters must not be used in indentation")),!(u!==45||(a=e.input.charCodeAt(e.position+1),!V(a))));){if(s=!0,e.position++,N(e,!0,-1)&&e.lineIndent<=r){o.push(null),u=e.input.charCodeAt(e.position);continue}if(t=e.line,
|
|
17
|
-
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var t=new
|
|
12
|
+
`);break}for(n?he(d)?(l=!0,e.result+=j.repeat(`
|
|
13
|
+
`,o?1+u:u)):l?(l=!1,e.result+=j.repeat(`
|
|
14
|
+
`,u+1)):u===0?o&&(e.result+=" "):e.result+=j.repeat(`
|
|
15
|
+
`,u):e.result+=j.repeat(`
|
|
16
|
+
`,o?1+u:u),o=!0,a=!0,u=0,t=e.position;!W(d)&&d!==0;)d=e.input.charCodeAt(++e.position);se(e,t,e.position,!1)}return!0}function Hn(e,r){var t,n=e.tag,i=e.anchor,o=[],a,s=!1,u;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=o),u=e.input.charCodeAt(e.position);u!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,x(e,"tab characters must not be used in indentation")),!(u!==45||(a=e.input.charCodeAt(e.position+1),!V(a))));){if(s=!0,e.position++,N(e,!0,-1)&&e.lineIndent<=r){o.push(null),u=e.input.charCodeAt(e.position);continue}if(t=e.line,Ie(e,r,oi,!1,!0),o.push(e.result),N(e,!0,-1),u=e.input.charCodeAt(e.position),(e.line===t||e.lineIndent>r)&&u!==0)x(e,"bad indentation of a sequence entry");else if(e.lineIndent<r)break}return s?(e.tag=n,e.anchor=i,e.kind="sequence",e.result=o,!0):!1}function $y(e,r,t){var n,i,o,a,s,u,l=e.tag,p=e.anchor,d={},c=Object.create(null),m=null,y=null,h=null,b=!1,g=!1,v;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=d),v=e.input.charCodeAt(e.position);v!==0;){if(!b&&e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,x(e,"tab characters must not be used in indentation")),n=e.input.charCodeAt(e.position+1),o=e.line,(v===63||v===58)&&V(n))v===63?(b&&(ke(e,d,c,m,y,null,a,s,u),m=y=h=null),g=!0,b=!0,i=!0):b?(b=!1,i=!0):x(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,v=n;else{if(a=e.line,s=e.lineStart,u=e.position,!Ie(e,t,ii,!1,!0))break;if(e.line===o){for(v=e.input.charCodeAt(e.position);he(v);)v=e.input.charCodeAt(++e.position);if(v===58)v=e.input.charCodeAt(++e.position),V(v)||x(e,"a whitespace character is expected after the key-value separator within a block mapping"),b&&(ke(e,d,c,m,y,null,a,s,u),m=y=h=null),g=!0,b=!1,i=!1,m=e.tag,y=e.result;else if(g)x(e,"can not read an implicit mapping pair; a colon is missed");else return e.tag=l,e.anchor=p,!0}else if(g)x(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else return e.tag=l,e.anchor=p,!0}if((e.line===o||e.lineIndent>r)&&(b&&(a=e.line,s=e.lineStart,u=e.position),Ie(e,r,hr,!0,i)&&(b?y=e.result:h=e.result),b||(ke(e,d,c,m,y,h,a,s,u),m=y=h=null),N(e,!0,-1),v=e.input.charCodeAt(e.position)),(e.line===o||e.lineIndent>r)&&v!==0)x(e,"bad indentation of a mapping entry");else if(e.lineIndent<r)break}return b&&ke(e,d,c,m,y,null,a,s,u),g&&(e.tag=l,e.anchor=p,e.kind="mapping",e.result=d),g}function By(e){var r,t=!1,n=!1,i,o,a;if(a=e.input.charCodeAt(e.position),a!==33)return!1;if(e.tag!==null&&x(e,"duplication of a tag property"),a=e.input.charCodeAt(++e.position),a===60?(t=!0,a=e.input.charCodeAt(++e.position)):a===33?(n=!0,i="!!",a=e.input.charCodeAt(++e.position)):i="!",r=e.position,t){do a=e.input.charCodeAt(++e.position);while(a!==0&&a!==62);e.position<e.length?(o=e.input.slice(r,e.position),a=e.input.charCodeAt(++e.position)):x(e,"unexpected end of the stream within a verbatim tag")}else{for(;a!==0&&!V(a);)a===33&&(n?x(e,"tag suffix cannot contain exclamation marks"):(i=e.input.slice(r-1,e.position+1),ai.test(i)||x(e,"named tag handle cannot contain such characters"),n=!0,r=e.position+1)),a=e.input.charCodeAt(++e.position);o=e.input.slice(r,e.position),Oy.test(o)&&x(e,"tag suffix cannot contain flow indicator characters")}o&&!si.test(o)&&x(e,"tag name cannot contain such characters: "+o);try{o=decodeURIComponent(o)}catch{x(e,"tag name is malformed: "+o)}return t?e.tag=o:ue.call(e.tagMap,i)?e.tag=e.tagMap[i]+o:i==="!"?e.tag="!"+o:i==="!!"?e.tag="tag:yaml.org,2002:"+o:x(e,'undeclared tag handle "'+i+'"'),!0}function Vy(e){var r,t;if(t=e.input.charCodeAt(e.position),t!==38)return!1;for(e.anchor!==null&&x(e,"duplication of an anchor property"),t=e.input.charCodeAt(++e.position),r=e.position;t!==0&&!V(t)&&!Ee(t);)t=e.input.charCodeAt(++e.position);return e.position===r&&x(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(r,e.position),!0}function Uy(e){var r,t,n;if(n=e.input.charCodeAt(e.position),n!==42)return!1;for(n=e.input.charCodeAt(++e.position),r=e.position;n!==0&&!V(n)&&!Ee(n);)n=e.input.charCodeAt(++e.position);return e.position===r&&x(e,"name of an alias node must contain at least one character"),t=e.input.slice(r,e.position),ue.call(e.anchorMap,t)||x(e,'unidentified alias "'+t+'"'),e.result=e.anchorMap[t],N(e,!0,-1),!0}function Ie(e,r,t,n,i){var o,a,s,u=1,l=!1,p=!1,d,c,m,y,h,b;if(e.listener!==null&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,o=a=s=hr===t||oi===t,n&&N(e,!0,-1)&&(l=!0,e.lineIndent>r?u=1:e.lineIndent===r?u=0:e.lineIndent<r&&(u=-1)),u===1)for(;By(e)||Vy(e);)N(e,!0,-1)?(l=!0,s=o,e.lineIndent>r?u=1:e.lineIndent===r?u=0:e.lineIndent<r&&(u=-1)):s=!1;if(s&&(s=l||i),(u===1||hr===t)&&(mr===t||ii===t?h=r:h=r+1,b=e.position-e.lineStart,u===1?s&&(Hn(e,b)||$y(e,b,h))||Ly(e,h)?p=!0:(a&&Dy(e,h)||My(e,h)||Fy(e,h)?p=!0:Uy(e)?(p=!0,(e.tag!==null||e.anchor!==null)&&x(e,"alias node should not have any properties")):jy(e,h,mr===t)&&(p=!0,e.tag===null&&(e.tag="?")),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):u===0&&(p=s&&Hn(e,b))),e.tag===null)e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);else if(e.tag==="?"){for(e.result!==null&&e.kind!=="scalar"&&x(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),d=0,c=e.implicitTypes.length;d<c;d+=1)if(y=e.implicitTypes[d],y.resolve(e.result)){e.result=y.construct(e.result),e.tag=y.tag,e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);break}}else if(e.tag!=="!"){if(ue.call(e.typeMap[e.kind||"fallback"],e.tag))y=e.typeMap[e.kind||"fallback"][e.tag];else for(y=null,m=e.typeMap.multi[e.kind||"fallback"],d=0,c=m.length;d<c;d+=1)if(e.tag.slice(0,m[d].tag.length)===m[d].tag){y=m[d];break}y||x(e,"unknown tag !<"+e.tag+">"),e.result!==null&&y.kind!==e.kind&&x(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+y.kind+'", not "'+e.kind+'"'),y.resolve(e.result,e.tag)?(e.result=y.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):x(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||p}function Hy(e){var r=e.position,t,n,i,o=!1,a;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(a=e.input.charCodeAt(e.position))!==0&&(N(e,!0,-1),a=e.input.charCodeAt(e.position),!(e.lineIndent>0||a!==37));){for(o=!0,a=e.input.charCodeAt(++e.position),t=e.position;a!==0&&!V(a);)a=e.input.charCodeAt(++e.position);for(n=e.input.slice(t,e.position),i=[],n.length<1&&x(e,"directive name must not be less than one character in length");a!==0;){for(;he(a);)a=e.input.charCodeAt(++e.position);if(a===35){do a=e.input.charCodeAt(++e.position);while(a!==0&&!W(a));break}if(W(a))break;for(t=e.position;a!==0&&!V(a);)a=e.input.charCodeAt(++e.position);i.push(e.input.slice(t,e.position))}a!==0&&vt(e),ue.call(Vn,n)?Vn[n](e,n,i):gr(e,'unknown document directive "'+n+'"')}if(N(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,N(e,!0,-1)):o&&x(e,"directives end mark is expected"),Ie(e,e.lineIndent-1,hr,!1,!0),N(e,!0,-1),e.checkLineBreaks&&_y.test(e.input.slice(r,e.position))&&gr(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&vr(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,N(e,!0,-1));return}if(e.position<e.length-1)x(e,"end of the stream or a document separator is expected");else return}function fi(e,r){e=String(e),r=r||{},e.length!==0&&(e.charCodeAt(e.length-1)!==10&&e.charCodeAt(e.length-1)!==13&&(e+=`
|
|
17
|
+
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var t=new Ry(e,r),n=e.indexOf("\0");for(n!==-1&&(t.position=n,x(t,"null byte is not allowed in input")),t.input+="\0";t.input.charCodeAt(t.position)===32;)t.lineIndent+=1,t.position+=1;for(;t.position<t.length-1;)Hy(t);return t.documents}function Gy(e,r,t){r!==null&&typeof r=="object"&&typeof t>"u"&&(t=r,r=null);var n=fi(e,t);if(typeof r!="function")return n;for(var i=0,o=n.length;i<o;i+=1)r(n[i])}function Ky(e,r){var t=fi(e,r);if(t.length!==0){if(t.length===1)return t[0];throw new B("expected a single document in the stream, but found more")}}var zy=Gy,Yy=Ky,pi={loadAll:zy,load:Yy},di=Object.prototype.toString,yi=Object.prototype.hasOwnProperty,At=65279,Jy=9,Be=10,Wy=13,Qy=32,Zy=33,Xy=34,mt=35,em=37,rm=38,tm=39,nm=42,mi=44,im=45,br=58,om=61,am=62,sm=63,um=64,hi=91,gi=93,lm=96,bi=123,cm=124,wi=125,D={};D[0]="\\0";D[7]="\\a";D[8]="\\b";D[9]="\\t";D[10]="\\n";D[11]="\\v";D[12]="\\f";D[13]="\\r";D[27]="\\e";D[34]='\\"';D[92]="\\\\";D[133]="\\N";D[160]="\\_";D[8232]="\\L";D[8233]="\\P";var fm=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],pm=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function dm(e,r){var t,n,i,o,a,s,u;if(r===null)return{};for(t={},n=Object.keys(r),i=0,o=n.length;i<o;i+=1)a=n[i],s=String(r[a]),a.slice(0,2)==="!!"&&(a="tag:yaml.org,2002:"+a.slice(2)),u=e.compiledTypeMap.fallback[a],u&&yi.call(u.styleAliases,s)&&(s=u.styleAliases[s]),t[a]=s;return t}function ym(e){var r,t,n;if(r=e.toString(16).toUpperCase(),e<=255)t="x",n=2;else if(e<=65535)t="u",n=4;else if(e<=4294967295)t="U",n=8;else throw new B("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+t+j.repeat("0",n-r.length)+r}var mm=1,Ve=2;function hm(e){this.schema=e.schema||ni,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=j.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=dm(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType=e.quotingType==='"'?Ve:mm,this.forceQuotes=e.forceQuotes||!1,this.replacer=typeof e.replacer=="function"?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function Gn(e,r){for(var t=j.repeat(" ",r),n=0,i=-1,o="",a,s=e.length;n<s;)i=e.indexOf(`
|
|
18
18
|
`,n),i===-1?(a=e.slice(n),n=s):(a=e.slice(n,i+1),n=i+1),a.length&&a!==`
|
|
19
19
|
`&&(o+=t),o+=a;return o}function ht(e,r){return`
|
|
20
|
-
`+
|
|
20
|
+
`+j.repeat(" ",e.indent*r)}function gm(e,r){var t,n,i;for(t=0,n=e.implicitTypes.length;t<n;t+=1)if(i=e.implicitTypes[t],i.resolve(r))return!0;return!1}function wr(e){return e===Qy||e===Jy}function Ue(e){return 32<=e&&e<=126||161<=e&&e<=55295&&e!==8232&&e!==8233||57344<=e&&e<=65533&&e!==At||65536<=e&&e<=1114111}function Kn(e){return Ue(e)&&e!==At&&e!==Wy&&e!==Be}function zn(e,r,t){var n=Kn(e),i=n&&!wr(e);return(t?n:n&&e!==mi&&e!==hi&&e!==gi&&e!==bi&&e!==wi)&&e!==mt&&!(r===br&&!i)||Kn(r)&&!wr(r)&&e===mt||r===br&&i}function bm(e){return Ue(e)&&e!==At&&!wr(e)&&e!==im&&e!==sm&&e!==br&&e!==mi&&e!==hi&&e!==gi&&e!==bi&&e!==wi&&e!==mt&&e!==rm&&e!==nm&&e!==Zy&&e!==cm&&e!==om&&e!==am&&e!==tm&&e!==Xy&&e!==em&&e!==um&&e!==lm}function wm(e){return!wr(e)&&e!==br}function De(e,r){var t=e.charCodeAt(r),n;return t>=55296&&t<=56319&&r+1<e.length&&(n=e.charCodeAt(r+1),n>=56320&&n<=57343)?(t-55296)*1024+n-56320+65536:t}function vi(e){var r=/^\n* /;return r.test(e)}var xi=1,gt=2,Ai=3,Si=4,Se=5;function vm(e,r,t,n,i,o,a,s){var u,l=0,p=null,d=!1,c=!1,m=n!==-1,y=-1,h=bm(De(e,0))&&wm(De(e,e.length-1));if(r||a)for(u=0;u<e.length;l>=65536?u+=2:u++){if(l=De(e,u),!Ue(l))return Se;h=h&&zn(l,p,s),p=l}else{for(u=0;u<e.length;l>=65536?u+=2:u++){if(l=De(e,u),l===Be)d=!0,m&&(c=c||u-y-1>n&&e[y+1]!==" ",y=u);else if(!Ue(l))return Se;h=h&&zn(l,p,s),p=l}c=c||m&&u-y-1>n&&e[y+1]!==" "}return!d&&!c?h&&!a&&!i(e)?xi:o===Ve?Se:gt:t>9&&vi(e)?Se:a?o===Ve?Se:gt:c?Si:Ai}function xm(e,r,t,n,i){e.dump=(function(){if(r.length===0)return e.quotingType===Ve?'""':"''";if(!e.noCompatMode&&(fm.indexOf(r)!==-1||pm.test(r)))return e.quotingType===Ve?'"'+r+'"':"'"+r+"'";var o=e.indent*Math.max(1,t),a=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-o),s=n||e.flowLevel>-1&&t>=e.flowLevel;function u(l){return gm(e,l)}switch(vm(r,s,e.indent,a,u,e.quotingType,e.forceQuotes&&!n,i)){case xi:return r;case gt:return"'"+r.replace(/'/g,"''")+"'";case Ai:return"|"+Yn(r,e.indent)+Jn(Gn(r,o));case Si:return">"+Yn(r,e.indent)+Jn(Gn(Am(r,a),o));case Se:return'"'+Sm(r)+'"';default:throw new B("impossible error: invalid scalar style")}})()}function Yn(e,r){var t=vi(e)?String(r):"",n=e[e.length-1]===`
|
|
21
21
|
`,i=n&&(e[e.length-2]===`
|
|
22
22
|
`||e===`
|
|
23
23
|
`),o=i?"+":n?"":"-";return t+o+`
|
|
24
24
|
`}function Jn(e){return e[e.length-1]===`
|
|
25
|
-
`?e.slice(0,-1):e}function
|
|
25
|
+
`?e.slice(0,-1):e}function Am(e,r){for(var t=/(\n+)([^\n]*)/g,n=(function(){var l=e.indexOf(`
|
|
26
26
|
`);return l=l!==-1?l:e.length,t.lastIndex=l,Wn(e.slice(0,l),r)})(),i=e[0]===`
|
|
27
27
|
`||e[0]===" ",o,a;a=t.exec(e);){var s=a[1],u=a[2];o=u[0]===" ",n+=s+(!i&&!o&&u!==""?`
|
|
28
28
|
`:"")+Wn(u,r),i=o}return n}function Wn(e,r){if(e===""||e[0]===" ")return e;for(var t=/ [^ ]/g,n,i=0,o,a=0,s=0,u="";n=t.exec(e);)s=n.index,s-i>r&&(o=a>i?a:s,u+=`
|
|
29
29
|
`+e.slice(i,o),i=o+1),a=s;return u+=`
|
|
30
30
|
`,e.length-i>r&&a>i?u+=e.slice(i,a)+`
|
|
31
|
-
`+e.slice(a+1):u+=e.slice(i),u.slice(1)}function
|
|
32
|
-
`:""}var _m=qm,Om={dump:_m};function St(e,r){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+r+" instead, which is now safe by default.")}}var Ei=pi.load,T_=pi.loadAll,Ii=Om.dump;var N_=St("safeLoad","load"),R_=St("safeLoadAll","loadAll"),j_=St("safeDump","dump");var Dp=Fn(bn());var zr=class{constructor(){this.eventListeners=new Map}addEventListener(r,t){this.eventListeners.has(r)||this.eventListeners.set(r,new Set),this.eventListeners.get(r).add(t)}removeEventListener(r,t){this.eventListeners.get(r)?.delete(t)}emitEvent(r){let t=this.eventListeners.get(r.type);if(t)for(let n of t)try{n(r)}catch(i){console.error("Error in data instance event listener:",i)}}};function xp(e,r,t){let n=e.atoms.length,i=Array.isArray(r?.types)?r.types:[],a=(r?.tuples?.length??0)>0&&i.length!==n;if(!a&&i.length===n)return{tuple:{...e,types:[...i]},relationTypes:[...i]};let s=Array.isArray(e.types)?e.types:[],u=e.atoms.map((l,p)=>t(l)??s[p]??"untyped");return{tuple:{...e,types:u},relationTypes:a?[]:u}}function de(e){if(!Object.prototype.hasOwnProperty.call(e,"$pyretValue"))return;let r=e.$pyretValue;if(r?.kind==="nothing"||r?.kind==="object"||r?.kind==="tuple"||r?.kind==="raw-array"||r?.kind==="table")return{kind:r.kind};if(r?.kind==="reference"&&typeof r.unrestricted=="boolean")return{kind:r.kind,unrestricted:r.unrestricted};if(r?.kind==="string-dict"&&typeof r.mutable=="boolean"&&typeof r.sealed=="boolean"&&(r.mutable||!r.sealed))return{kind:r.kind,mutable:r.mutable,sealed:r.sealed};throw new Error("Malformed reconstructed Pyret value")}function wn(e){if(!e||typeof e!="object"||"dict"in e)return!1;let r=e;return Number.isInteger(r.state)&&"value"in r&&!!r.anns&&Array.isArray(r.anns.anns)&&typeof r.anns.check=="function"&&typeof r.anns.addAnn=="function"&&Object.keys(r).every(t=>t==="state"||t==="value"||t==="anns")}function Ap(e){if(wn(e)){if(e.state!==2)throw new Error("Only initialized mutable Pyret references are supported");return{kind:"reference",unrestricted:e.anns.anns.every(r=>r.ann?.name==="Any")}}}function Sp(e){return!!e.dict&&typeof e.dict=="object"&&Object.keys(e.dict).length===0&&typeof e.brand=="function"&&typeof e.extendWith=="function"&&!("updateDict"in e)&&Object.keys(e).every(r=>r==="dict"||r==="brands")}function Yr(e){return typeof e=="function"||e!==null&&typeof e=="object"&&("app"in e||"meth"in e&&"full_meth"in e)}function Ep(e,r){let t=[];for(let n in e)(r||!Yr(e[n]))&&t.push(n);return t}var Jr=e=>typeof e=="string"&&/^-?(0|[1-9][0-9]*)$/.test(e);function ne(e,r=1n){if(r===0n)throw new Error("Invalid Pyret rational denominator");r<0n&&(e=-e,r=-r);let t=e<0n?-e:e,n=r;for(;n!==0n;){let i=t%n;t=n,n=i}return e/=t,r/=t,r===1n?{version:1,kind:"integer",value:e.toString()}:{version:1,kind:"rational",numerator:e.toString(),denominator:r.toString()}}function Ip(e){let r=e;if(r?.version===1){if(r.kind==="integer"&&Jr(r.value))return ne(BigInt(r.value));if(r.kind==="rational"&&Jr(r.numerator)&&Jr(r.denominator))return ne(BigInt(r.numerator),BigInt(r.denominator));if(r.kind==="roughnum"&&typeof r.value=="string"&&/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:e[+-]?[0-9]+)?$/i.test(r.value)&&Number.isFinite(Number(r.value)))return{version:1,kind:"roughnum",value:r.value}}throw new Error("Malformed Pyret number")}function kp(e){if(e.startsWith("~"))return Ip({version:1,kind:"roughnum",value:e.slice(1)});let r=/^(-?(?:0|[1-9][0-9]*))\/(-?(?:0|[1-9][0-9]*))$/.exec(e);if(r)return ne(BigInt(r[1]),BigInt(r[2]));let t=/^(-?(?:0|[1-9][0-9]*))(?:\.([0-9]+))?(?:e([+-]?[0-9]+))?$/i.exec(e);if(!t)throw new Error("Malformed Pyret number label");let n=BigInt(t[3]??"0")-BigInt(t[2]?.length??0),i=BigInt(t[1]+(t[2]??""));return n>=0n?ne(i*10n**n):ne(i,10n**-n)}function vn(e){if(typeof e=="number"&&Number.isInteger(e))return BigInt(e).toString();if(typeof e=="bigint")return e.toString();if(!e||typeof e!="object")return;let r=e;if(typeof r.isInteger=="function"&&r.isInteger()&&typeof r.isExact=="function"&&r.isExact()){let t=r.toString();if(Jr(t))return t}}function ie(e){if(e&&typeof e=="object"){if("$pyretNumber"in e)return Ip(e.$pyretNumber);if("n"in e&&"d"in e){let n=vn(e.n),i=vn(e.d);if(n!==void 0&&i!==void 0)return ne(BigInt(n),BigInt(i))}let t=e;if(typeof t.isRoughnum=="function"&&t.isRoughnum()){if(typeof t.n!="number"||!Number.isFinite(t.n))throw new Error("Invalid Pyret roughnum");return{version:1,kind:"roughnum",value:Object.is(t.n,-0)?"-0":String(t.n)}}}let r=vn(e);if(r!==void 0)return ne(BigInt(r));if(typeof e=="number"){if(!Number.isFinite(e))throw new Error("Invalid Pyret number");let[t,n="0"]=String(e).split("e"),i=t.split(".")[1]?.length??0,o=Number(n)-i,a=BigInt(t.replace(".",""));return o>=0?ne(a*10n**BigInt(o)):ne(a,10n**BigInt(-o))}}function Wr(e){switch(e.kind){case"integer":return e.value;case"rational":return`${e.numerator}/${e.denominator}`;case"roughnum":return`~${e.value}`}}function qp(e){if(e.kind==="integer"){let r=BigInt(e.value);if(r>=BigInt(Number.MIN_SAFE_INTEGER)&&r<=BigInt(Number.MAX_SAFE_INTEGER))return Number(r)}return{$pyretNumber:e}}var xn="pyret:field:v1:",An="pyret:constructor:v1:";function _p(e,r,t){return An+JSON.stringify([e,r,t])}function X(e){if(!e.startsWith(An))return;let r=JSON.parse(e.slice(An.length));if(!Array.isArray(r)||r.length!==3||typeof r[0]!="string"||!r[0]||!Number.isSafeInteger(r[1])||r[1]<0||typeof r[2]!="string"||!r[2])throw new Error("Malformed Pyret constructor identity");return{scope:r[0],index:r[1],name:r[2]}}function ee(e){return X(e)?.name??e}function z(e){let{$name:r,$arity:t}=e;if(typeof r!="string"||!Number.isInteger(t)||t<-1)return;let n=e.$constructor?.$fieldNames;if(t===-1)return{name:r,arity:t,fields:[]};if(!Array.isArray(n)||n.length!==t||n.some(a=>typeof a!="string")||new Set(n).size!==n.length)throw new Error(`Invalid Pyret constructor metadata for ${r}`);let i=e.$mut_fields_mask;if(i!==void 0&&(!Array.isArray(i)||i.length!==t||i.some(a=>typeof a!="boolean")))throw new Error(`Invalid Pyret mutable field mask for ${r}`);let o=i?.flatMap((a,s)=>a?[s]:[])??[];return{name:r,arity:t,fields:n,...o.length?{mutableFields:o}:{}}}function Op(e,r){return xn+JSON.stringify([e.name,r,e.fields[r]])}function Qr(e){if(!e.startsWith(xn))return;let r=JSON.parse(e.slice(xn.length));if(!Array.isArray(r)||r.length!==3||typeof r[0]!="string"||!Number.isInteger(r[1])||r[1]<0||typeof r[2]!="string")throw new Error("Malformed Pyret field ID");return{name:r[0],position:r[1],field:r[2]}}var Pp=new Set(["Number","String","Boolean"]),Sn=new Set([...Pp,"Index","Nothing","Object","Tuple","RawArray","Reference","StringDict","MutableStringDict","Table"]);function cr(e){if(e?.type!=="Index"||!/^(0|[1-9][0-9]*)$/.test(e.label)||!Number.isSafeInteger(Number(e.label)))throw new Error("Malformed Pyret position label");return Number(e.label)}function Cp(e,r,t){if(e.has(r)&&e.get(r)!==t||[...e].some(([n,i])=>n!==r&&i===t))throw new Error("Conflicting Pyret field positions");e.set(r,t)}function fr(e,r){let t=[];for(let n=0;n<e.size;n++){if(!e.has(n))throw new Error(`Incomplete Pyret ${r}: positions must be contiguous from zero`);t.push(e.get(n))}return t}function d_(e){let r={fields:new Map,targets:new Set,constructors:new Map,objectPositions:new Map,elements:new Map,columns:new Map,rows:new Map,references:new Map,entries:new Map,mutableFields:new Map,sealed:new Set,unrestricted:new Set,nullary:new Set},t=new Map(e.getAtoms().map(n=>[n.id,n]));for(let n of e.getRelations()){let i=Qr(n.id);if(i){if(n.name!==i.field)throw new Error("Pyret field ID disagrees with its name");let o=r.constructors.get(i.name)??new Map;Cp(o,i.field,i.position),r.constructors.set(i.name,o)}for(let o of n.tuples){if(!o.atoms.length||o.atoms.some(h=>!t.has(h)))throw new Error("Malformed Pyret relation tuple");let[a,s,u,l]=o.atoms,p=t.get(a).type,d=o.atoms.length;for(let h of o.atoms.slice(1))r.targets.add(h);if(!i&&p!=="Object"){if(n.name==="sealed"&&p==="MutableStringDict"){if(d!==1)throw new Error("Malformed Pyret sealed fact");r.sealed.add(a);continue}if(n.name==="unrestricted"&&p==="Reference"){if(d!==1)throw new Error("Malformed Pyret unrestricted fact");r.unrestricted.add(a);continue}if(n.name==="nullary-constructor"&&!Sn.has(p)){if(d!==1)throw new Error("Malformed Pyret nullary constructor fact");r.nullary.add(a);continue}if(n.name==="mutable-field"&&!Sn.has(p)){if(d!==2)throw new Error("Malformed Pyret mutable field positions");let h=r.mutableFields.get(a)??new Set;h.add(cr(t.get(s))),r.mutableFields.set(a,h);continue}}if(d<2)throw new Error("Malformed Pyret unary relation");if(p==="Table"){if(i)throw new Error("Pyret table relations must have opaque IDs");let h=cr(t.get(s));if(n.name==="column"&&d===3&&t.get(u)?.type==="String"){let b=r.columns.get(a)??new Map;if(b.has(h)&&b.get(h)!==u)throw new Error("Conflicting Pyret table column positions");b.set(h,u),r.columns.set(a,b)}else if(n.name==="row"){let b=r.rows.get(a)??new Map,g=o.atoms.slice(2);if(b.has(h)&&JSON.stringify(b.get(h))!==JSON.stringify(g))throw new Error("Conflicting Pyret table row positions");if(g.some(v=>t.get(v)?.type==="Index"))throw new Error("Pyret table cells cannot be positions");b.set(h,g),r.rows.set(a,b)}else throw new Error("Malformed Pyret table relation");continue}if(p==="StringDict"||p==="MutableStringDict"){if(n.name!=="entry"||d!==4||t.get(u)?.type!=="String")throw new Error("Malformed Pyret dictionary entry");let h=cr(t.get(s)),b=r.entries.get(a)??new Map,g=b.get(h);if(g&&(g.key!==u||g.value!==l))throw new Error("Conflicting Pyret dictionary entry positions");b.set(h,{key:u,value:l}),r.entries.set(a,b);continue}if(p==="Reference"){if(n.name!=="target"||d!==2)throw new Error("Malformed Pyret reference target");if(r.references.has(a)&&r.references.get(a)!==s)throw new Error("Conflicting Pyret reference targets");r.references.set(a,s);continue}if(p==="Tuple"||p==="RawArray"){if(n.name!=="element"||d!==3)throw new Error("Malformed Pyret indexed element");let h=cr(t.get(s)),b=r.elements.get(a)??new Map;if(b.has(h)&&b.get(h)!==u)throw new Error("Conflicting Pyret element positions");b.set(h,u),r.elements.set(a,b);continue}if(Sn.has(p)&&p!=="Object")throw new Error("Pyret primitive cannot have fields");if(i&&(p!==i.name||d!==2))throw new Error("Pyret field ID disagrees with its source constructor");if(p==="Object"){if(d!==3||i)throw new Error("Pyret object field must have a position and one value");let h=r.objectPositions.get(a)??new Map;Cp(h,n.name,cr(t.get(s))),r.objectPositions.set(a,h)}let c=r.fields.get(a)??new Map,m=i?.field??n.name,y=c.get(m)??[];for(let h of p==="Object"?[u]:o.atoms.slice(1))y.includes(h)||y.push(h);c.set(m,y),r.fields.set(a,c)}}return r}function y_(e,r){switch(e.type){case"Nothing":return{kind:"nothing"};case"Object":return{kind:"object"};case"Tuple":return{kind:"tuple"};case"RawArray":return{kind:"raw-array"};case"Table":return{kind:"table"};case"Reference":return{kind:"reference",unrestricted:r.unrestricted.has(e.id)};case"StringDict":case"MutableStringDict":return{kind:"string-dict",mutable:e.type==="MutableStringDict",sealed:r.sealed.has(e.id)};default:return}}function m_(e){switch(e.type){case"Number":return qp(kp(e.label));case"Boolean":if(e.label!=="true"&&e.label!=="false")throw new Error("Malformed Pyret boolean label");return e.label==="true";default:return e.label}}function En(e,r){let t=/^\d+$/.test(e),n=/^\d+$/.test(r);return t&&n?parseInt(e,10)-parseInt(r,10):e.localeCompare(r)}function h_(e,r){let n=Me.getGlobalConstructorCache().get(e);if(n&&n.length){let i=n.filter(a=>r.includes(a)),o=r.filter(a=>!n.includes(a));return[...i,...o.sort(En)]}return[...r].sort(En)}function g_(e){return e.length>0&&e.every(r=>/^\d+$/.test(r))}function Tp(e,r,t={}){let n=In(e,r===void 0?void 0:[r],t);return n.length?n[0]:null}function In(e,r,t={}){let n=new Map(e.getAtoms().map(g=>[g.id,g])),i=d_(e),{fields:o,targets:a,elements:s,references:u,entries:l}=i,p=new Map,d=0,c=new Set,m=new Map,y=g=>{if(m.has(g)){if(!t.allowContainerCycles&&p.get(g)===d&&c.size)throw new Error("Cyclic Pyret containers are not supported");return m.get(g)}let v=n.get(g);if(!v)throw new Error("Unknown Pyret atom ID: "+g);if(Pp.has(v.type)){let k=m_(v);return m.set(g,k),k}let E=y_(v,i);if(E?.kind==="nothing"){let k={$pyretValue:E};return m.set(g,k),k}if(p.set(g,d),E?.kind==="table"){let k=fr(i.columns.get(g)??new Map,"table columns").map(q=>n.get(q).label);if(new Set(k).size!==k.length)throw new Error("Duplicate Pyret table column name");let w=fr(i.rows.get(g)??new Map,"table rows");if(w.some(q=>q.length!==k.length))throw new Error("Pyret table row width must match its columns");let A=[],S={$pyretValue:E,dict:{"_header-raw-array":k,"_rows-raw-array":A}};m.set(g,S),c.add(g);for(let q of w)A.push(q.map(y));return c.delete(g),p.delete(g),S}if(E?.kind==="string-dict"){let k=l.get(g)??new Map,w=fr(k,"dictionary entries"),A={$pyretValue:E,entries:[]};m.set(g,A);let S=new Set;E.mutable&&d++;for(let q of w){let $=n.get(q.key).label;if(S.has($))throw new Error("Duplicate Pyret dictionary key");S.add($),A.entries.push([$,y(q.value)])}return E.mutable&&d--,p.delete(g),A}if(E?.kind==="reference"){let k=u.get(g);if(k===void 0)throw new Error("Incomplete Pyret reference target");let w={$pyretValue:E};return m.set(g,w),d++,w.value=y(k),d--,p.delete(g),w}if(E?.kind==="raw-array"||E?.kind==="tuple"){let k=s.get(g)??new Map,w=fr(k,"container elements"),A=[],S=E.kind==="raw-array"?A:{vals:A};m.set(g,S),c.add(g);for(let q of w)A.push(y(q));return c.delete(g),p.delete(g),S}let T=o.get(g)??new Map,M=Array.from(T.keys()),Y=i.constructors.get(v.type),J=E?void 0:i.nullary.has(g)?0:Y?.size??(M.length?void 0:-1),oe=[...i.mutableFields.get(g)??[]];if(oe.some(k=>J===void 0||k>=J))throw new Error("Malformed Pyret mutable field positions");if(!E&&J===void 0&&g_(M)){let k=[];m.set(g,k);let w=M.slice().sort(En);for(let A of w){let S=T.get(A)??[];k.push(S.length===1?y(S[0]):S.map(q=>y(q)))}return p.delete(g),k}let G={dict:Object.create(null),...E?.kind==="object"?{$pyretValue:E}:{$name:v.type}};m.set(g,G);let re;if(E?.kind==="object"){let k=i.objectPositions.get(g)??new Map;re=fr(new Map([...k].map(([w,A])=>[A,w])),"object fields")}else if(J!==void 0){let k=Y??new Map,w=Math.max(0,J);if(M.length!==w||k.size!==w||[...k].some(([A,S])=>S>=w||!T.has(A)))throw new Error("Incomplete Pyret constructor fields");re=[...k].sort((A,S)=>A[1]-S[1]).map(([A])=>A),G.$arity=J,G.$constructor={$fieldNames:re},oe.length&&(G.$mut_fields_mask=re.map((A,S)=>oe.includes(S)))}else re=h_(v.type,M);for(let k of re){let w=T.get(k)??[];if((E?.kind==="object"||J!==void 0)&&w.length!==1)throw new Error("Pyret constructor field must have one value");w.length===1?G.dict[k]=y(w[0]):G.dict[k]=w.map(A=>y(A))}for(let k of oe){let w=G.dict[re[k]];if(!w||typeof w!="object"||de(w)?.kind!=="reference")throw new Error("Pyret mutable field must contain a reference")}return p.delete(g),G};if(r!==void 0)return r.map(g=>{if(!n.has(g))throw new Error("Unknown Pyret root ID: "+g);return y(g)});let h=e.getAtoms().map(g=>g.id);if(!h.length)return[];let b=h.filter(g=>!a.has(g));if(b.length!==1)throw new Error("Pyret graph has no unique root; supply an explicit root ID");return[y(b[0])]}function Fe(e,r,t){if(!e||typeof e!="object"||Array.isArray(e)||!("$name"in e)||ee(String(e.$name))!==r)return!1;let n=z(e);return!!n&&!n.mutableFields?.length&&n.arity===(t.length||-1)&&n.fields.length===t.length&&n.fields.every((i,o)=>i===t[o])&&!!e.dict&&t.every(i=>Object.prototype.hasOwnProperty.call(e.dict,i))}function pr(e){let r=Fe(e,"list-set",["elems"])?"list-set":Fe(e,"tree-set",["elems"])?"tree-set":void 0;if(!r)return;let t=e.dict.elems,n=[],i=new Set,o=()=>new Error(`Malformed Pyret ${r} backing structure`);if(r==="list-set"){let a=t;for(;!Fe(a,"empty",[]);){if(!Fe(a,"link",["first","rest"])||i.has(a))throw o();i.add(a),n.push(a.dict.first),a=a.dict.rest}}else{let a=[{node:t,phase:"enter"}];for(;a.length;){let{node:s,phase:u}=a.pop();if(!Fe(s,"leaf",[])){if(!Fe(s,"branch",["value","h","left","right"]))throw o();if(u==="exit")i.delete(s);else if(u==="emit")n.push(s.dict.value);else{if(i.has(s))throw o();i.add(s),a.push({node:s,phase:"exit"},{node:s.dict.right,phase:"enter"},{node:s,phase:"emit"},{node:s.dict.left,phase:"enter"})}}}}return{kind:r,elements:n}}function Np(e,r){return e.kind==="tree-set"?`[tree-set: ${e.elements.map(r).join(", ")}]`:"[list-set: ]"+[...e.elements].reverse().map(t=>`.add(${r(t)})`).join("")}function Zr(e){return!!e.dict&&typeof e.dict=="object"&&"_header-raw-array"in e.dict&&"_rows-raw-array"in e.dict&&(!e.brands||Object.keys(e.brands).some(r=>r.includes("brandtable")))}function Xr(e){return Array.isArray(e.$rowData)&&!!e.$underlyingTable}function Ae(e){let r=e.dict?.["_header-raw-array"],t=e.dict?.["_rows-raw-array"];if(!Array.isArray(r)||!Array.isArray(t)||Array.from(r).some(n=>typeof n!="string")||new Set(r).size!==r.length||Array.from(t).some(n=>!Array.isArray(n)||n.length!==r.length))throw new Error("Malformed Pyret table: unique string headers and rectangular rows required");return{headers:r,rows:t}}function Rp(e,r,t){let{headers:n,rows:i}=Ae(e);if(!n.length)return i.length?`for fold(spytial-table from empty-table([list: ]), spytial-row from range(0, ${i.length})):
|
|
31
|
+
`+e.slice(a+1):u+=e.slice(i),u.slice(1)}function Sm(e){for(var r="",t=0,n,i=0;i<e.length;t>=65536?i+=2:i++)t=De(e,i),n=D[t],!n&&Ue(t)?(r+=e[i],t>=65536&&(r+=e[i+1])):r+=n||ym(t);return r}function Em(e,r,t){var n="",i=e.tag,o,a,s;for(o=0,a=t.length;o<a;o+=1)s=t[o],e.replacer&&(s=e.replacer.call(t,String(o),s)),(te(e,r,s,!1,!1)||typeof s>"u"&&te(e,r,null,!1,!1))&&(n!==""&&(n+=","+(e.condenseFlow?"":" ")),n+=e.dump);e.tag=i,e.dump="["+n+"]"}function Qn(e,r,t,n){var i="",o=e.tag,a,s,u;for(a=0,s=t.length;a<s;a+=1)u=t[a],e.replacer&&(u=e.replacer.call(t,String(a),u)),(te(e,r+1,u,!0,!0,!1,!0)||typeof u>"u"&&te(e,r+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=ht(e,r)),e.dump&&Be===e.dump.charCodeAt(0)?i+="-":i+="- ",i+=e.dump);e.tag=o,e.dump=i||"[]"}function km(e,r,t){var n="",i=e.tag,o=Object.keys(t),a,s,u,l,p;for(a=0,s=o.length;a<s;a+=1)p="",n!==""&&(p+=", "),e.condenseFlow&&(p+='"'),u=o[a],l=t[u],e.replacer&&(l=e.replacer.call(t,u,l)),te(e,r,u,!1,!1)&&(e.dump.length>1024&&(p+="? "),p+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),te(e,r,l,!1,!1)&&(p+=e.dump,n+=p));e.tag=i,e.dump="{"+n+"}"}function Im(e,r,t,n){var i="",o=e.tag,a=Object.keys(t),s,u,l,p,d,c;if(e.sortKeys===!0)a.sort();else if(typeof e.sortKeys=="function")a.sort(e.sortKeys);else if(e.sortKeys)throw new B("sortKeys must be a boolean or a function");for(s=0,u=a.length;s<u;s+=1)c="",(!n||i!=="")&&(c+=ht(e,r)),l=a[s],p=t[l],e.replacer&&(p=e.replacer.call(t,l,p)),te(e,r+1,l,!0,!0,!0)&&(d=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024,d&&(e.dump&&Be===e.dump.charCodeAt(0)?c+="?":c+="? "),c+=e.dump,d&&(c+=ht(e,r)),te(e,r+1,p,!0,d)&&(e.dump&&Be===e.dump.charCodeAt(0)?c+=":":c+=": ",c+=e.dump,i+=c));e.tag=o,e.dump=i||"{}"}function Zn(e,r,t){var n,i,o,a,s,u;for(i=t?e.explicitTypes:e.implicitTypes,o=0,a=i.length;o<a;o+=1)if(s=i[o],(s.instanceOf||s.predicate)&&(!s.instanceOf||typeof r=="object"&&r instanceof s.instanceOf)&&(!s.predicate||s.predicate(r))){if(t?s.multi&&s.representName?e.tag=s.representName(r):e.tag=s.tag:e.tag="?",s.represent){if(u=e.styleMap[s.tag]||s.defaultStyle,di.call(s.represent)==="[object Function]")n=s.represent(r,u);else if(yi.call(s.represent,u))n=s.represent[u](r,u);else throw new B("!<"+s.tag+'> tag resolver accepts not "'+u+'" style');e.dump=n}return!0}return!1}function te(e,r,t,n,i,o,a){e.tag=null,e.dump=t,Zn(e,t,!1)||Zn(e,t,!0);var s=di.call(e.dump),u=n,l;n&&(n=e.flowLevel<0||e.flowLevel>r);var p=s==="[object Object]"||s==="[object Array]",d,c;if(p&&(d=e.duplicates.indexOf(t),c=d!==-1),(e.tag!==null&&e.tag!=="?"||c||e.indent!==2&&r>0)&&(i=!1),c&&e.usedDuplicates[d])e.dump="*ref_"+d;else{if(p&&c&&!e.usedDuplicates[d]&&(e.usedDuplicates[d]=!0),s==="[object Object]")n&&Object.keys(e.dump).length!==0?(Im(e,r,e.dump,i),c&&(e.dump="&ref_"+d+e.dump)):(km(e,r,e.dump),c&&(e.dump="&ref_"+d+" "+e.dump));else if(s==="[object Array]")n&&e.dump.length!==0?(e.noArrayIndent&&!a&&r>0?Qn(e,r-1,e.dump,i):Qn(e,r,e.dump,i),c&&(e.dump="&ref_"+d+e.dump)):(Em(e,r,e.dump),c&&(e.dump="&ref_"+d+" "+e.dump));else if(s==="[object String]")e.tag!=="?"&&xm(e,e.dump,r,o,u);else{if(s==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new B("unacceptable kind of an object to dump "+s)}e.tag!==null&&e.tag!=="?"&&(l=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?l="!"+l:l.slice(0,18)==="tag:yaml.org,2002:"?l="!!"+l.slice(18):l="!<"+l+">",e.dump=l+" "+e.dump)}return!0}function qm(e,r){var t=[],n=[],i,o;for(bt(e,t,n),i=0,o=n.length;i<o;i+=1)r.duplicates.push(t[n[i]]);r.usedDuplicates=new Array(o)}function bt(e,r,t){var n,i,o;if(e!==null&&typeof e=="object")if(i=r.indexOf(e),i!==-1)t.indexOf(i)===-1&&t.push(i);else if(r.push(e),Array.isArray(e))for(i=0,o=e.length;i<o;i+=1)bt(e[i],r,t);else for(n=Object.keys(e),i=0,o=n.length;i<o;i+=1)bt(e[n[i]],r,t)}function _m(e,r){r=r||{};var t=new hm(r);t.noRefs||qm(e,t);var n=e;return t.replacer&&(n=t.replacer.call({"":n},"",n)),te(t,0,n,!0,!0)?t.dump+`
|
|
32
|
+
`:""}var Om=_m,Pm={dump:Om};function St(e,r){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+r+" instead, which is now safe by default.")}}var Ei=pi.load,N_=pi.loadAll,ki=Pm.dump;var R_=St("safeLoad","load"),j_=St("safeLoadAll","loadAll"),M_=St("safeDump","dump");var Dp=Fn(bn());var zr=class{constructor(){this.eventListeners=new Map}addEventListener(r,t){this.eventListeners.has(r)||this.eventListeners.set(r,new Set),this.eventListeners.get(r).add(t)}removeEventListener(r,t){this.eventListeners.get(r)?.delete(t)}emitEvent(r){let t=this.eventListeners.get(r.type);if(t)for(let n of t)try{n(r)}catch(i){console.error("Error in data instance event listener:",i)}}};function xp(e,r,t){let n=e.atoms.length,i=Array.isArray(r?.types)?r.types:[],a=(r?.tuples?.length??0)>0&&i.length!==n;if(!a&&i.length===n)return{tuple:{...e,types:[...i]},relationTypes:[...i]};let s=Array.isArray(e.types)?e.types:[],u=e.atoms.map((l,p)=>t(l)??s[p]??"untyped");return{tuple:{...e,types:u},relationTypes:a?[]:u}}function de(e){if(!Object.prototype.hasOwnProperty.call(e,"$pyretValue"))return;let r=e.$pyretValue;if(r?.kind==="nothing"||r?.kind==="object"||r?.kind==="tuple"||r?.kind==="raw-array"||r?.kind==="table")return{kind:r.kind};if(r?.kind==="reference"&&typeof r.unrestricted=="boolean")return{kind:r.kind,unrestricted:r.unrestricted};if(r?.kind==="string-dict"&&typeof r.mutable=="boolean"&&typeof r.sealed=="boolean"&&(r.mutable||!r.sealed))return{kind:r.kind,mutable:r.mutable,sealed:r.sealed};throw new Error("Malformed reconstructed Pyret value")}function wn(e){if(!e||typeof e!="object"||"dict"in e)return!1;let r=e;return Number.isInteger(r.state)&&"value"in r&&!!r.anns&&Array.isArray(r.anns.anns)&&typeof r.anns.check=="function"&&typeof r.anns.addAnn=="function"&&Object.keys(r).every(t=>t==="state"||t==="value"||t==="anns")}function Ap(e){if(wn(e)){if(e.state!==2)throw new Error("Only initialized mutable Pyret references are supported");return{kind:"reference",unrestricted:e.anns.anns.every(r=>r.ann?.name==="Any")}}}function Sp(e){return!!e.dict&&typeof e.dict=="object"&&Object.keys(e.dict).length===0&&typeof e.brand=="function"&&typeof e.extendWith=="function"&&!("updateDict"in e)&&Object.keys(e).every(r=>r==="dict"||r==="brands")}function Yr(e){return typeof e=="function"||e!==null&&typeof e=="object"&&("app"in e||"meth"in e&&"full_meth"in e)}function Ep(e,r){let t=[];for(let n in e)(r||!Yr(e[n]))&&t.push(n);return t}var Jr=e=>typeof e=="string"&&/^-?(0|[1-9][0-9]*)$/.test(e);function ne(e,r=1n){if(r===0n)throw new Error("Invalid Pyret rational denominator");r<0n&&(e=-e,r=-r);let t=e<0n?-e:e,n=r;for(;n!==0n;){let i=t%n;t=n,n=i}return e/=t,r/=t,r===1n?{version:1,kind:"integer",value:e.toString()}:{version:1,kind:"rational",numerator:e.toString(),denominator:r.toString()}}function kp(e){let r=e;if(r?.version===1){if(r.kind==="integer"&&Jr(r.value))return ne(BigInt(r.value));if(r.kind==="rational"&&Jr(r.numerator)&&Jr(r.denominator))return ne(BigInt(r.numerator),BigInt(r.denominator));if(r.kind==="roughnum"&&typeof r.value=="string"&&/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]+)?(?:e[+-]?[0-9]+)?$/i.test(r.value)&&Number.isFinite(Number(r.value)))return{version:1,kind:"roughnum",value:r.value}}throw new Error("Malformed Pyret number")}function Ip(e){if(e.startsWith("~"))return kp({version:1,kind:"roughnum",value:e.slice(1)});let r=/^(-?(?:0|[1-9][0-9]*))\/(-?(?:0|[1-9][0-9]*))$/.exec(e);if(r)return ne(BigInt(r[1]),BigInt(r[2]));let t=/^(-?(?:0|[1-9][0-9]*))(?:\.([0-9]+))?(?:e([+-]?[0-9]+))?$/i.exec(e);if(!t)throw new Error("Malformed Pyret number label");let n=BigInt(t[3]??"0")-BigInt(t[2]?.length??0),i=BigInt(t[1]+(t[2]??""));return n>=0n?ne(i*10n**n):ne(i,10n**-n)}function vn(e){if(typeof e=="number"&&Number.isInteger(e))return BigInt(e).toString();if(typeof e=="bigint")return e.toString();if(!e||typeof e!="object")return;let r=e;if(typeof r.isInteger=="function"&&r.isInteger()&&typeof r.isExact=="function"&&r.isExact()){let t=r.toString();if(Jr(t))return t}}function ie(e){if(e&&typeof e=="object"){if("$pyretNumber"in e)return kp(e.$pyretNumber);if("n"in e&&"d"in e){let n=vn(e.n),i=vn(e.d);if(n!==void 0&&i!==void 0)return ne(BigInt(n),BigInt(i))}let t=e;if(typeof t.isRoughnum=="function"&&t.isRoughnum()){if(typeof t.n!="number"||!Number.isFinite(t.n))throw new Error("Invalid Pyret roughnum");return{version:1,kind:"roughnum",value:Object.is(t.n,-0)?"-0":String(t.n)}}}let r=vn(e);if(r!==void 0)return ne(BigInt(r));if(typeof e=="number"){if(!Number.isFinite(e))throw new Error("Invalid Pyret number");let[t,n="0"]=String(e).split("e"),i=t.split(".")[1]?.length??0,o=Number(n)-i,a=BigInt(t.replace(".",""));return o>=0?ne(a*10n**BigInt(o)):ne(a,10n**BigInt(-o))}}function Wr(e){switch(e.kind){case"integer":return e.value;case"rational":return`${e.numerator}/${e.denominator}`;case"roughnum":return`~${e.value}`}}function qp(e){if(e.kind==="integer"){let r=BigInt(e.value);if(r>=BigInt(Number.MIN_SAFE_INTEGER)&&r<=BigInt(Number.MAX_SAFE_INTEGER))return Number(r)}return{$pyretNumber:e}}var xn="pyret:field:v1:",An="pyret:constructor:v1:";function _p(e,r,t){return An+JSON.stringify([e,r,t])}function X(e){if(!e.startsWith(An))return;let r=JSON.parse(e.slice(An.length));if(!Array.isArray(r)||r.length!==3||typeof r[0]!="string"||!r[0]||!Number.isSafeInteger(r[1])||r[1]<0||typeof r[2]!="string"||!r[2])throw new Error("Malformed Pyret constructor identity");return{scope:r[0],index:r[1],name:r[2]}}function ee(e){return X(e)?.name??e}function z(e){let{$name:r,$arity:t}=e;if(typeof r!="string"||!Number.isInteger(t)||t<-1)return;let n=e.$constructor?.$fieldNames;if(t===-1)return{name:r,arity:t,fields:[]};if(!Array.isArray(n)||n.length!==t||n.some(a=>typeof a!="string")||new Set(n).size!==n.length)throw new Error(`Invalid Pyret constructor metadata for ${r}`);let i=e.$mut_fields_mask;if(i!==void 0&&(!Array.isArray(i)||i.length!==t||i.some(a=>typeof a!="boolean")))throw new Error(`Invalid Pyret mutable field mask for ${r}`);let o=i?.flatMap((a,s)=>a?[s]:[])??[];return{name:r,arity:t,fields:n,...o.length?{mutableFields:o}:{}}}function Op(e,r){return xn+JSON.stringify([e.name,r,e.fields[r]])}function Qr(e){if(!e.startsWith(xn))return;let r=JSON.parse(e.slice(xn.length));if(!Array.isArray(r)||r.length!==3||typeof r[0]!="string"||!Number.isInteger(r[1])||r[1]<0||typeof r[2]!="string")throw new Error("Malformed Pyret field ID");return{name:r[0],position:r[1],field:r[2]}}var Tp=new Set(["Number","String","Boolean"]),Sn=new Set([...Tp,"Index","Nothing","Object","Tuple","RawArray","Reference","StringDict","MutableStringDict","Table"]);function cr(e){if(e?.type!=="Index"||!/^(0|[1-9][0-9]*)$/.test(e.label)||!Number.isSafeInteger(Number(e.label)))throw new Error("Malformed Pyret position label");return Number(e.label)}function Pp(e,r,t){if(e.has(r)&&e.get(r)!==t||[...e].some(([n,i])=>n!==r&&i===t))throw new Error("Conflicting Pyret field positions");e.set(r,t)}function fr(e,r){let t=[];for(let n=0;n<e.size;n++){if(!e.has(n))throw new Error(`Incomplete Pyret ${r}: positions must be contiguous from zero`);t.push(e.get(n))}return t}function y_(e){let r={fields:new Map,targets:new Set,constructors:new Map,objectPositions:new Map,elements:new Map,columns:new Map,rows:new Map,references:new Map,entries:new Map,mutableFields:new Map,sealed:new Set,unrestricted:new Set,nullary:new Set},t=new Map(e.getAtoms().map(n=>[n.id,n]));for(let n of e.getRelations()){let i=Qr(n.id);if(i){if(n.name!==i.field)throw new Error("Pyret field ID disagrees with its name");let o=r.constructors.get(i.name)??new Map;Pp(o,i.field,i.position),r.constructors.set(i.name,o)}for(let o of n.tuples){if(!o.atoms.length||o.atoms.some(h=>!t.has(h)))throw new Error("Malformed Pyret relation tuple");let[a,s,u,l]=o.atoms,p=t.get(a).type,d=o.atoms.length;for(let h of o.atoms.slice(1))r.targets.add(h);if(!i&&p!=="Object"){if(n.name==="sealed"&&p==="MutableStringDict"){if(d!==1)throw new Error("Malformed Pyret sealed fact");r.sealed.add(a);continue}if(n.name==="unrestricted"&&p==="Reference"){if(d!==1)throw new Error("Malformed Pyret unrestricted fact");r.unrestricted.add(a);continue}if(n.name==="nullary-constructor"&&!Sn.has(p)){if(d!==1)throw new Error("Malformed Pyret nullary constructor fact");r.nullary.add(a);continue}if(n.name==="mutable-field"&&!Sn.has(p)){if(d!==2)throw new Error("Malformed Pyret mutable field positions");let h=r.mutableFields.get(a)??new Set;h.add(cr(t.get(s))),r.mutableFields.set(a,h);continue}}if(d<2)throw new Error("Malformed Pyret unary relation");if(p==="Table"){if(i)throw new Error("Pyret table relations must have opaque IDs");let h=cr(t.get(s));if(n.name==="column"&&d===3&&t.get(u)?.type==="String"){let b=r.columns.get(a)??new Map;if(b.has(h)&&b.get(h)!==u)throw new Error("Conflicting Pyret table column positions");b.set(h,u),r.columns.set(a,b)}else if(n.name==="row"){let b=r.rows.get(a)??new Map,g=o.atoms.slice(2);if(b.has(h)&&JSON.stringify(b.get(h))!==JSON.stringify(g))throw new Error("Conflicting Pyret table row positions");if(g.some(v=>t.get(v)?.type==="Index"))throw new Error("Pyret table cells cannot be positions");b.set(h,g),r.rows.set(a,b)}else throw new Error("Malformed Pyret table relation");continue}if(p==="StringDict"||p==="MutableStringDict"){if(n.name!=="entry"||d!==4||t.get(u)?.type!=="String")throw new Error("Malformed Pyret dictionary entry");let h=cr(t.get(s)),b=r.entries.get(a)??new Map,g=b.get(h);if(g&&(g.key!==u||g.value!==l))throw new Error("Conflicting Pyret dictionary entry positions");b.set(h,{key:u,value:l}),r.entries.set(a,b);continue}if(p==="Reference"){if(n.name!=="target"||d!==2)throw new Error("Malformed Pyret reference target");if(r.references.has(a)&&r.references.get(a)!==s)throw new Error("Conflicting Pyret reference targets");r.references.set(a,s);continue}if(p==="Tuple"||p==="RawArray"){if(n.name!=="element"||d!==3)throw new Error("Malformed Pyret indexed element");let h=cr(t.get(s)),b=r.elements.get(a)??new Map;if(b.has(h)&&b.get(h)!==u)throw new Error("Conflicting Pyret element positions");b.set(h,u),r.elements.set(a,b);continue}if(Sn.has(p)&&p!=="Object")throw new Error("Pyret primitive cannot have fields");if(i&&(p!==i.name||d!==2))throw new Error("Pyret field ID disagrees with its source constructor");if(p==="Object"){if(d!==3||i)throw new Error("Pyret object field must have a position and one value");let h=r.objectPositions.get(a)??new Map;Pp(h,n.name,cr(t.get(s))),r.objectPositions.set(a,h)}let c=r.fields.get(a)??new Map,m=i?.field??n.name,y=c.get(m)??[];for(let h of p==="Object"?[u]:o.atoms.slice(1))y.includes(h)||y.push(h);c.set(m,y),r.fields.set(a,c)}}return r}function m_(e,r){switch(e.type){case"Nothing":return{kind:"nothing"};case"Object":return{kind:"object"};case"Tuple":return{kind:"tuple"};case"RawArray":return{kind:"raw-array"};case"Table":return{kind:"table"};case"Reference":return{kind:"reference",unrestricted:r.unrestricted.has(e.id)};case"StringDict":case"MutableStringDict":return{kind:"string-dict",mutable:e.type==="MutableStringDict",sealed:r.sealed.has(e.id)};default:return}}function h_(e){switch(e.type){case"Number":return qp(Ip(e.label));case"Boolean":if(e.label!=="true"&&e.label!=="false")throw new Error("Malformed Pyret boolean label");return e.label==="true";default:return e.label}}function En(e,r){let t=/^\d+$/.test(e),n=/^\d+$/.test(r);return t&&n?parseInt(e,10)-parseInt(r,10):e.localeCompare(r)}function g_(e,r){let n=Me.getGlobalConstructorCache().get(e);if(n&&n.length){let i=n.filter(a=>r.includes(a)),o=r.filter(a=>!n.includes(a));return[...i,...o.sort(En)]}return[...r].sort(En)}function b_(e){return e.length>0&&e.every(r=>/^\d+$/.test(r))}function Cp(e,r,t={}){let n=kn(e,r===void 0?void 0:[r],t);return n.length?n[0]:null}function kn(e,r,t={}){let n=new Map(e.getAtoms().map(g=>[g.id,g])),i=y_(e),{fields:o,targets:a,elements:s,references:u,entries:l}=i,p=new Map,d=0,c=new Set,m=new Map,y=g=>{if(m.has(g)){if(!t.allowContainerCycles&&p.get(g)===d&&c.size)throw new Error("Cyclic Pyret containers are not supported");return m.get(g)}let v=n.get(g);if(!v)throw new Error("Unknown Pyret atom ID: "+g);if(Tp.has(v.type)){let I=h_(v);return m.set(g,I),I}let E=m_(v,i);if(E?.kind==="nothing"){let I={$pyretValue:E};return m.set(g,I),I}if(p.set(g,d),E?.kind==="table"){let I=fr(i.columns.get(g)??new Map,"table columns").map(q=>n.get(q).label);if(new Set(I).size!==I.length)throw new Error("Duplicate Pyret table column name");let w=fr(i.rows.get(g)??new Map,"table rows");if(w.some(q=>q.length!==I.length))throw new Error("Pyret table row width must match its columns");let A=[],S={$pyretValue:E,dict:{"_header-raw-array":I,"_rows-raw-array":A}};m.set(g,S),c.add(g);for(let q of w)A.push(q.map(y));return c.delete(g),p.delete(g),S}if(E?.kind==="string-dict"){let I=l.get(g)??new Map,w=fr(I,"dictionary entries"),A={$pyretValue:E,entries:[]};m.set(g,A);let S=new Set;E.mutable&&d++;for(let q of w){let $=n.get(q.key).label;if(S.has($))throw new Error("Duplicate Pyret dictionary key");S.add($),A.entries.push([$,y(q.value)])}return E.mutable&&d--,p.delete(g),A}if(E?.kind==="reference"){let I=u.get(g);if(I===void 0)throw new Error("Incomplete Pyret reference target");let w={$pyretValue:E};return m.set(g,w),d++,w.value=y(I),d--,p.delete(g),w}if(E?.kind==="raw-array"||E?.kind==="tuple"){let I=s.get(g)??new Map,w=fr(I,"container elements"),A=[],S=E.kind==="raw-array"?A:{vals:A};m.set(g,S),c.add(g);for(let q of w)A.push(y(q));return c.delete(g),p.delete(g),S}let C=o.get(g)??new Map,F=Array.from(C.keys()),Y=i.constructors.get(v.type),J=E?void 0:i.nullary.has(g)?0:Y?.size??(F.length?void 0:-1),oe=[...i.mutableFields.get(g)??[]];if(oe.some(I=>J===void 0||I>=J))throw new Error("Malformed Pyret mutable field positions");if(!E&&J===void 0&&b_(F)){let I=[];m.set(g,I);let w=F.slice().sort(En);for(let A of w){let S=C.get(A)??[];I.push(S.length===1?y(S[0]):S.map(q=>y(q)))}return p.delete(g),I}let G={dict:Object.create(null),...E?.kind==="object"?{$pyretValue:E}:{$name:v.type}};m.set(g,G);let re;if(E?.kind==="object"){let I=i.objectPositions.get(g)??new Map;re=fr(new Map([...I].map(([w,A])=>[A,w])),"object fields")}else if(J!==void 0){let I=Y??new Map,w=Math.max(0,J);if(F.length!==w||I.size!==w||[...I].some(([A,S])=>S>=w||!C.has(A)))throw new Error("Incomplete Pyret constructor fields");re=[...I].sort((A,S)=>A[1]-S[1]).map(([A])=>A),G.$arity=J,G.$constructor={$fieldNames:re},oe.length&&(G.$mut_fields_mask=re.map((A,S)=>oe.includes(S)))}else re=g_(v.type,F);for(let I of re){let w=C.get(I)??[];if((E?.kind==="object"||J!==void 0)&&w.length!==1)throw new Error("Pyret constructor field must have one value");w.length===1?G.dict[I]=y(w[0]):G.dict[I]=w.map(A=>y(A))}for(let I of oe){let w=G.dict[re[I]];if(!w||typeof w!="object"||de(w)?.kind!=="reference")throw new Error("Pyret mutable field must contain a reference")}return p.delete(g),G};if(r!==void 0)return r.map(g=>{if(!n.has(g))throw new Error("Unknown Pyret root ID: "+g);return y(g)});let h=e.getAtoms().map(g=>g.id);if(!h.length)return[];let b=h.filter(g=>!a.has(g));if(b.length!==1)throw new Error("Pyret graph has no unique root; supply an explicit root ID");return[y(b[0])]}function Fe(e,r,t){if(!e||typeof e!="object"||Array.isArray(e)||!("$name"in e)||ee(String(e.$name))!==r)return!1;let n=z(e);return!!n&&!n.mutableFields?.length&&n.arity===(t.length||-1)&&n.fields.length===t.length&&n.fields.every((i,o)=>i===t[o])&&!!e.dict&&t.every(i=>Object.prototype.hasOwnProperty.call(e.dict,i))}function pr(e){let r=Fe(e,"list-set",["elems"])?"list-set":Fe(e,"tree-set",["elems"])?"tree-set":void 0;if(!r)return;let t=e.dict.elems,n=[],i=new Set,o=()=>new Error(`Malformed Pyret ${r} backing structure`);if(r==="list-set"){let a=t;for(;!Fe(a,"empty",[]);){if(!Fe(a,"link",["first","rest"])||i.has(a))throw o();i.add(a),n.push(a.dict.first),a=a.dict.rest}}else{let a=[{node:t,phase:"enter"}];for(;a.length;){let{node:s,phase:u}=a.pop();if(!Fe(s,"leaf",[])){if(!Fe(s,"branch",["value","h","left","right"]))throw o();if(u==="exit")i.delete(s);else if(u==="emit")n.push(s.dict.value);else{if(i.has(s))throw o();i.add(s),a.push({node:s,phase:"exit"},{node:s.dict.right,phase:"enter"},{node:s,phase:"emit"},{node:s.dict.left,phase:"enter"})}}}}return{kind:r,elements:n}}function Np(e,r){return e.kind==="tree-set"?`[tree-set: ${e.elements.map(r).join(", ")}]`:"[list-set: ]"+[...e.elements].reverse().map(t=>`.add(${r(t)})`).join("")}function Zr(e){return!!e.dict&&typeof e.dict=="object"&&"_header-raw-array"in e.dict&&"_rows-raw-array"in e.dict&&(!e.brands||Object.keys(e.brands).some(r=>r.includes("brandtable")))}function Xr(e){return Array.isArray(e.$rowData)&&!!e.$underlyingTable}function Ae(e){let r=e.dict?.["_header-raw-array"],t=e.dict?.["_rows-raw-array"];if(!Array.isArray(r)||!Array.isArray(t)||Array.from(r).some(n=>typeof n!="string")||new Set(r).size!==r.length||Array.from(t).some(n=>!Array.isArray(n)||n.length!==r.length))throw new Error("Malformed Pyret table: unique string headers and rectangular rows required");return{headers:r,rows:t}}function Rp(e,r,t){let{headers:n,rows:i}=Ae(e);if(!n.length)return i.length?`for fold(spytial-table from empty-table([list: ]), spytial-row from range(0, ${i.length})):
|
|
33
33
|
spytial-table.add-row([raw-row: ])
|
|
34
34
|
end`:"empty-table([list: ])";let o;try{o=n.map(t)}catch{}return o?`table: ${o.join(", ")}${i.map(a=>`
|
|
35
35
|
row: `+a.map(r).join(", ")).join("")}
|
|
36
|
-
end`:`[table-from-columns: ${n.map((a,s)=>`{${r(a)}; [list: ${i.map(u=>r(u[s])).join(", ")}]}`).join(", ")}]`}function jp(e,r,t){let n=de,i=w=>!!w&&typeof w=="object"&&!ie(w)&&n(w)?.kind!=="nothing",o=w=>{if(Array.isArray(w))return w;let A=n(w);if(A?.kind==="reference")return[w.value];if(A?.kind==="string-dict")return w.entries.map(q=>q[1]);if(A?.kind==="table")return Ae(w).rows.flat();if(Array.isArray(w.vals))return w.vals;let S=pr(w);return S?S.elements:Object.keys(w.dict??{}).map(q=>w.dict[q])},a=new Set,s=new Set,u=new Map,l=!1,p=!1,d=[e];for(;d.length;){let w=d.pop();if(!i(w))continue;if(a.has(w)){l=!0;continue}if(a.add(w),!Array.isArray(w)&&n(w)?.kind==="reference"&&s.add(w),!Array.isArray(w)){let S=n(w);S?.kind==="string-dict"&&S.mutable&&u.set(w,S),S?.kind==="table"&&(p=!0)}let A=o(w);for(let S=A.length-1;S>=0;S--)d.push(A[S])}if(!s.size&&!((u.size||p)&&l))return;let c=new Map,m=new Map,y=new Set(["nothing"]);for(let w of a){if(Array.isArray(w))continue;typeof w.$name=="string"&&y.add(ee(w.$name));let A=z(w),S=A?.mutableFields?.map(q=>A.fields[q])??[];m.set(w,S);for(let q of S){let $=w.dict[q];if(!s.has($))throw new Error("Pyret mutable field must contain a reference");if(c.has($))throw new Error("A Pyret reference shared by multiple mutable constructor fields cannot be reconstructed");c.set($,{value:w,field:q})}}let h=0,b=w=>{let A;do A=w+h++;while(y.has(A));return y.add(A),A},g=new Map,v=new Set,E=[],
|
|
36
|
+
end`:`[table-from-columns: ${n.map((a,s)=>`{${r(a)}; [list: ${i.map(u=>r(u[s])).join(", ")}]}`).join(", ")}]`}function jp(e,r,t){let n=de,i=w=>!!w&&typeof w=="object"&&!ie(w)&&n(w)?.kind!=="nothing",o=w=>{if(Array.isArray(w))return w;let A=n(w);if(A?.kind==="reference")return[w.value];if(A?.kind==="string-dict")return w.entries.map(q=>q[1]);if(A?.kind==="table")return Ae(w).rows.flat();if(Array.isArray(w.vals))return w.vals;let S=pr(w);return S?S.elements:Object.keys(w.dict??{}).map(q=>w.dict[q])},a=new Set,s=new Set,u=new Map,l=!1,p=!1,d=[e];for(;d.length;){let w=d.pop();if(!i(w))continue;if(a.has(w)){l=!0;continue}if(a.add(w),!Array.isArray(w)&&n(w)?.kind==="reference"&&s.add(w),!Array.isArray(w)){let S=n(w);S?.kind==="string-dict"&&S.mutable&&u.set(w,S),S?.kind==="table"&&(p=!0)}let A=o(w);for(let S=A.length-1;S>=0;S--)d.push(A[S])}if(!s.size&&!((u.size||p)&&l))return;let c=new Map,m=new Map,y=new Set(["nothing"]);for(let w of a){if(Array.isArray(w))continue;typeof w.$name=="string"&&y.add(ee(w.$name));let A=z(w),S=A?.mutableFields?.map(q=>A.fields[q])??[];m.set(w,S);for(let q of S){let $=w.dict[q];if(!s.has($))throw new Error("Pyret mutable field must contain a reference");if(c.has($))throw new Error("A Pyret reference shared by multiple mutable constructor fields cannot be reconstructed");c.set($,{value:w,field:q})}}let h=0,b=w=>{let A;do A=w+h++;while(y.has(A));return y.add(A),A},g=new Map,v=new Set,E=[],C=new Map,F=w=>!i(w)||v.has(w),Y=w=>{if(!i(w))return r(w,Y);if(!v.has(w))throw new Error("Unresolved Pyret construction dependency");return g.get(w)};for(let w of a)s.has(w)||g.set(w,b("spytial-value"));if([...s].some(w=>!c.has(w)))throw new Error("Pyret reference source requires a reachable mutable constructor field for each reference");let J=new Map;for(let[w,A]of u){let S=g.get(w),q=A.sealed?b("spytial-dict"):S;E.push(`shadow ${q} = ${r({$pyretValue:{...A,sealed:!1},entries:[]},Y)}`),A.sealed&&E.push(`shadow ${S} = ${q}.seal()`),v.add(w),J.set(w,q)}let oe=new Map(J),G=()=>{for(let[w,A]of oe)if(o(w).every(F)){for(let[S,q]of w.entries)E.push(`${A}.set-now(${Y(S)}, ${Y(q)})`);oe.delete(w)}for(let[w,{owner:A,field:S}]of C)F(w.value)&&(E.push(`${A}!{${t(S)}: ${Y(w.value)}}`),C.delete(w))},re=w=>{let A=new Set,S=[w];for(;S.length;){let q=S.pop();if(!(!i(q)||A.has(q))){if(!v.has(q)||oe.has(q)||C.has(q))return!1;A.add(q),S.push(...o(q))}}return!0},I=[...a].filter(w=>!s.has(w)&&!u.has(w));for(;I.length;){G();let w=!1;for(let A=0;A<I.length;){let S=I[A],q=Array.isArray(S)?[]:m.get(S)??[],$=S;if(q.length){let ae=S,ye={...ae.dict};for(let Nn of q){let dr=ae.dict[Nn],Rn=n(dr);ye[Nn]=F(dr.value)?dr.value:Rn?.kind==="reference"&&Rn.unrestricted?null:dr.value}$={...ae,dict:ye}}if(!o($).every(F)){A++;continue}if(pr($)&&!o($).every(re)){A++;continue}let ct=g.get(S);E.push(`shadow ${ct} = ${r($,Y)}`),v.add(S);for(let ae of q){let ye=S.dict[ae];g.set(ye,`${ct}.${t(ae).trim()}`),v.add(ye),(!F(ye.value)||$.dict[ae]===null)&&C.set(ye,{owner:ct,field:ae})}I.splice(A,1),w=!0}if(!w)throw new Error("Pyret graph cannot be constructed: cycles need allocatable mutable fields and set elements need complete contents")}return G(),E.push(Y(e)),`block:
|
|
37
37
|
${E.map(w=>" "+w).join(`
|
|
38
38
|
`)}
|
|
39
|
-
end`}function et(e){let r=n=>{let i=e.dict?.[n];return i&&typeof i.meth=="function"&&typeof i.full_meth=="function"},t=e.$underlyingMap;if(t&&r("keys-list")&&r("get-value")&&r("unfreeze")){if(!Number.isSafeInteger(t.size)||t.size<0||typeof t.keys!="function"||typeof t.get!="function")throw new Error("Malformed Pyret string dictionary backing map");return{kind:"string-dict",mutable:!1,sealed:!1}}if(e.$underlyingDict&&r("keys-list-now")&&r("get-value-now")&&r("freeze")){if(typeof e.$underlyingDict!="object"||e.$sealed!==void 0&&typeof e.$sealed!="boolean")throw new Error("Malformed Pyret mutable string dictionary backing map");return{kind:"string-dict",mutable:!0,sealed:e.$sealed===!0}}}function rt(e,r){let t;if("$pyretValue"in e)t=e.entries;else if(r.mutable)t=Object.entries(e.$underlyingDict);else{let n=e.$underlyingMap,i=n.keys();if(!Array.isArray(i)||i.some(o=>typeof o!="string"))throw new Error("Malformed Pyret dictionary keys");t=i.map(o=>[o,n.get(o)])}if(!Array.isArray(t)||t.some(n=>!Array.isArray(n)||n.length!==2||typeof n[0]!="string")||new Set(t.map(n=>n[0])).size!==t.length)throw new Error("Malformed Pyret dictionary entries");return t}function Mp(e,r,t){let n=e.mutable?"mutable-string-dict":"string-dict",i=[...r];if(!e.mutable&&i.length>8){let o=u=>{let l=0;for(let p=0;p<u.length;p++)l=31*l+u.charCodeAt(p)|0;return l>>>1&1073741824|l&3221225471},a=o(i[8][0]),s=i.findIndex(([u])=>o(u)===a);i.splice(8,0,i.splice(s,1)[0])}return`[${n}: ${i.flatMap(([o,a])=>[t(o),t(a)]).join(", ")}]`+(e.sealed?".seal()":"")}function
|
|
39
|
+
end`}function et(e){let r=n=>{let i=e.dict?.[n];return i&&typeof i.meth=="function"&&typeof i.full_meth=="function"},t=e.$underlyingMap;if(t&&r("keys-list")&&r("get-value")&&r("unfreeze")){if(!Number.isSafeInteger(t.size)||t.size<0||typeof t.keys!="function"||typeof t.get!="function")throw new Error("Malformed Pyret string dictionary backing map");return{kind:"string-dict",mutable:!1,sealed:!1}}if(e.$underlyingDict&&r("keys-list-now")&&r("get-value-now")&&r("freeze")){if(typeof e.$underlyingDict!="object"||e.$sealed!==void 0&&typeof e.$sealed!="boolean")throw new Error("Malformed Pyret mutable string dictionary backing map");return{kind:"string-dict",mutable:!0,sealed:e.$sealed===!0}}}function rt(e,r){let t;if("$pyretValue"in e)t=e.entries;else if(r.mutable)t=Object.entries(e.$underlyingDict);else{let n=e.$underlyingMap,i=n.keys();if(!Array.isArray(i)||i.some(o=>typeof o!="string"))throw new Error("Malformed Pyret dictionary keys");t=i.map(o=>[o,n.get(o)])}if(!Array.isArray(t)||t.some(n=>!Array.isArray(n)||n.length!==2||typeof n[0]!="string")||new Set(t.map(n=>n[0])).size!==t.length)throw new Error("Malformed Pyret dictionary entries");return t}function Mp(e,r,t){let n=e.mutable?"mutable-string-dict":"string-dict",i=[...r];if(!e.mutable&&i.length>8){let o=u=>{let l=0;for(let p=0;p<u.length;p++)l=31*l+u.charCodeAt(p)|0;return l>>>1&1073741824|l&3221225471},a=o(i[8][0]),s=i.findIndex(([u])=>o(u)===a);i.splice(8,0,i.splice(s,1)[0])}return`[${n}: ${i.flatMap(([o,a])=>[t(o),t(a)]).join(", ")}]`+(e.sealed?".seal()":"")}function w_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&"dict"in e}function v_(e){return'"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/[^\x20-\x7E]/g,r=>"\\u"+r.charCodeAt(0).toString(16).toUpperCase().padStart(4,"0"))+'"'}var x_=new Set(`and as ascending ask by cases check data descending do does-not-raise
|
|
40
40
|
else end examples extend extract false for from fun hiding if import include is is-not is-roughly
|
|
41
41
|
is-not-roughly because lam lazy let letrec load-table method module newtype of or provide provide-types
|
|
42
42
|
raises raises-other-than raises-satisfies raises-violates reactor rec ref sanitize satisfies select
|
|
43
|
-
shadow sieve spy order transform true type type-let using use var violates when`.split(/\s+/)),
|
|
43
|
+
shadow sieve spy order transform true type type-let using use var violates when`.split(/\s+/)),A_=new Set(`function break return do yield throw continue while class interface
|
|
44
44
|
type generator alias extends implements module package namespace public private protected static const
|
|
45
|
-
enum super export new try finally debug spy switch this match case with __proto__`.split(/\s+/)),A_=new Set(["block","doc","otherwise","row","sharing","source","table","then","where","with"]);function kn(e){if(v_.has(e)||x_.has(e)||!/^[A-Za-z_][A-Za-z0-9_]*(?:-+[A-Za-z0-9_]+)*$/.test(e))throw new Error(`Pyret object field has no literal spelling: ${JSON.stringify(e)}`);return A_.has(e)?e+" ":e}function qn(e,r,t=n=>qn(n,r)){if(e==null)return"nothing";if(typeof e=="number")return String(e);if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string")return w_(e);let n=ie(e);if(n)return Wr(n);let i=de(e);if(i?.kind==="nothing")return"nothing";if(i?.kind==="table"){if(r.has(e))throw new Error("Cyclic Pyret table construction is not supported");r.add(e);let o=Rp(e,t,kn);return r.delete(e),o}if(i?.kind==="string-dict"){if(r.has(e))throw new Error("Cyclic immutable Pyret dictionary construction is not supported");r.add(e);let o=Mp(i,e.entries,t);return r.delete(e),o}if("vals"in e&&Array.isArray(e.vals)){if(r.has(e))throw new Error("Cyclic Pyret containers are not supported");if(!e.vals.length)throw new Error("Pyret has no empty tuple literal");r.add(e);let o=`{${e.vals.map(a=>t(a)).join("; ")}${e.vals.length===1?";":""}}`;return r.delete(e),o}if(Array.isArray(e)){if(r.has(e))return"<cyclic>";r.add(e);let o=`[raw-array: ${e.map(t).join(", ")}]`;return r.delete(e),o}if(b_(e)){if(r.has(e))return"<cyclic>";r.add(e);let o=pr(e);if(o){let p=Np(o,t);return r.delete(e),p}let a=ee(e.$name||"object"),s=e.dict||{},u=Object.keys(s),l=i?.kind==="object"?`{${u.map(p=>`${kn(p)}: ${t(s[p])}`).join(", ")}}`:u.length||e.$arity===0?`${a}(${u.map(p=>t(s[p])).join(", ")})`:a;return r.delete(e),l}return String(e)}function tt(e,r){let t=new Map;for(let i of e.getAtoms()){let o=X(i.type);if(o){if(t.has(o.name)&&t.get(o.name)!==i.type)throw new Error(`Source reconstruction needs explicit bindings for same-named constructor ${o.name}`);t.set(o.name,i.type)}}let n=Tp(e,r);return jp(n,(i,o)=>qn(i,new Set,o),kn)??qn(n,new Set)}function nt(e){return JSON.stringify(e.atoms)}function Fp(e){let r=new Set;return e.filter(t=>{let n=nt(t);return r.has(n)?!1:(r.add(n),!0)}).map(t=>({...t,atoms:[...t.atoms],types:[...t.types]}))}function Lp(e,r=[]){if(!e.length)return[...r];let t=e[0].atoms.length;return e.some(n=>n.atoms.length!==t)?[]:Array.from({length:t},(n,i)=>{let o=new Set(e.map(a=>a.types[i]??"univ"));return o.size===1?[...o][0]:"univ"})}function _n(e,r){if(e.name!==r.name)throw new Error(`Conflicting names for relation ID ${JSON.stringify(e.id)}: ${JSON.stringify(e.name)} and ${JSON.stringify(r.name)}`)}function S_(e,r){let t=e.id,n=r.atoms;return`${t}:${n.join("->")}`}var P=class P extends zr{constructor(t,n={},i){super();this.atoms=new Map;this.relations=new Map;this.types=new Map;this.objectToAtomId=new WeakMap;this.atomCounter=0;this.valueRelations=new Map;this.indexAtoms=new Map;this.typeLabelCounters=new Map;this.originalObjects=new Map;this.externalEvaluator=null;this.options={stringsIdempotent:n.stringsIdempotent??!0,numbersIdempotent:n.numbersIdempotent??!0,booleansIdempotent:n.booleansIdempotent??!0,showFunctions:n.showFunctions??!1},this.externalEvaluator=i||null,this.initializeBuiltinTypes(),this.isAtomicValue(t)?this.createAtomFromPrimitive(t):t!=null&&this.parseObjectIteratively(t)}static fromValues(t){let n=new P,i=new WeakSet,o=t.map(a=>{if(n.isAtomicValue(a))return n.createAtomFromPrimitive(a);if(!Array.isArray(a)&&!n.isPyretObject(a))throw new Error("Unsupported normalized Pyret root");return n.parseObjectIteratively(a,i),n.objectToAtomId.get(a)});return{instance:n,rootIds:o}}setExternalEvaluator(t){this.externalEvaluator=t}getExternalEvaluator(){return this.externalEvaluator}getOptions(){return{...this.options}}cacheConstructorPattern(t,n){if(n.length===0)return;let i=P.globalConstructorCache.get(t),o=++P.instantiationCounter;(!i||o>i.instantiation)&&P.globalConstructorCache.set(t,{pattern:[...n],instantiation:o})}static getGlobalConstructorCache(){let t=new Map;for(let[n,i]of P.globalConstructorCache)t.set(n,[...i.pattern]);return t}static getGlobalConstructorCacheWithPriority(){return new Map(P.globalConstructorCache)}static clearGlobalConstructorCache(){P.globalConstructorCache.clear()}static async fromExpression(t,n={},i){let o=await P.evaluateExpression(t,i);if(!o.success)throw new Error(`Failed to evaluate Pyret expression: ${P.formatError(o.exn)}`);if(P.isPrimitive(o.result)){let a=new P(null,n,i),s=typeof o.result=="string"?"String":typeof o.result=="number"?"Number":"Boolean",u={id:`result_${o.result}`,label:String(o.result),type:s};return a.addAtom(u),a}return new P(o.result,n,i)}static async evaluateExpression(t,n){try{let i=await n.run(t),o=P.findKeyAtAnyLevel(i,"exn");if(o!==void 0)return{success:!1,exn:o};let a=P.findKeyAtAnyLevel(i,"answer");return a!==void 0?{success:!0,result:a}:P.isPrimitive(i)?{success:!0,result:i}:{success:!1,exn:"Unable to find answer or exn in evaluation result"}}catch(i){return{success:!1,exn:i instanceof Error?i.message:"Unknown evaluation error"}}}static findKeyAtAnyLevel(t,n){if(!(!t||typeof t!="object")){if(n in t)return t[n];for(let i of Object.values(t))if(i&&typeof i=="object"){let o=P.findKeyAtAnyLevel(i,n);if(o!==void 0)return o}}}static isPrimitive(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"}static formatError(t){if(!t)return"Unknown error";if(typeof t=="string")return t;if(typeof t=="object"&&t!==null){let n=t;if(n.message)return n.message;if(n.toString&&typeof n.toString=="function")return n.toString()}return String(t)}hasExternalEvaluator(){return this.externalEvaluator!==null}addAtom(t){this.atoms.set(t.id,t),this.ensureTypeExists(t.type);let n=this.types.get(t.type);n&&!n.atoms.some(i=>i.id===t.id)&&n.atoms.push(t),this.emitEvent({type:"atomAdded",data:{atom:t}})}removeAtom(t){let n=this.atoms.get(t);this.atoms.delete(t),this.types.forEach(i=>{i.atoms=i.atoms.filter(o=>o.id!==t)}),this.relations.forEach(i=>{i.tuples=i.tuples.filter(o=>!o.atoms.includes(t))}),n&&this.emitEvent({type:"atomRemoved",data:{atomId:t}})}removeRelationTuple(t,n){let i=this.relations.get(t);if(i){let o=i.tuples.length;i.tuples=i.tuples.filter(a=>!a.atoms.every((s,u)=>s===n.atoms[u])),i.tuples.length<o&&this.emitEvent({type:"relationTupleRemoved",data:{relationId:t,tuple:n}})}}reify(t){return tt(this,t)}parseObjectIteratively(t,n=new WeakSet){let i=[{obj:t}],o=(a,s,u,l)=>{if(this.isAtomicValue(a)){let p=this.createAtomFromPrimitive(a);this.addRelationTuple(u,{atoms:[...s,p],types:[]},l)}else(Array.isArray(a)||this.isPyretObject(a))&&i.push({obj:a,parentInfo:{atoms:s,relationId:u,relationName:l}})};for(let a=0;a<i.length;a++){let{obj:s,parentInfo:u}=i[a],l=this.objectToAtomId.get(s);if(l||(l=this.createAtomFromObject(s)),u&&this.addRelationTuple(u.relationId,{atoms:[...u.atoms,l],types:[]},u.relationName),n.has(s))continue;n.add(s);let p=this.valueInfo(s);if(p?.kind==="nothing")continue;if(p?.kind==="table"){this.processTableSemantics(l,s,y=>{if(this.isAtomicValue(y))return this.createAtomFromPrimitive(y);if(Yr(y)||!Array.isArray(y)&&!this.isPyretObject(y))throw new Error("Unsupported Pyret table cell");let h=y,b=this.objectToAtomId.get(h)??this.createAtomFromObject(h);return i.push({obj:h}),b});continue}if(p?.kind==="string-dict"){p.sealed&&this.addValueFact("sealed",l,"MutableStringDict"),rt(s,p).forEach(([h,b],g)=>{if(!this.isAtomicValue(b)&&!Array.isArray(b)&&!this.isPyretObject(b))throw new Error("Unsupported Pyret dictionary value");let v=this.valueRelationId("dictionary-entries","entry",["PyretObject","Index","String","PyretObject"]);o(b,[l,this.createIndexAtom(g),this.createAtomFromPrimitive(h)],v,"entry")});continue}if(p?.kind==="reference"){p.unrestricted&&this.addValueFact("unrestricted",l,"Reference");let y=s.value;if(!this.isAtomicValue(y)&&!Array.isArray(y)&&!this.isPyretObject(y))throw new Error("Unsupported Pyret reference target");let h=this.valueRelationId("reference-target","target",["Reference","PyretObject"]);o(y,[l],h,"target");continue}if(p?.kind==="tuple"||p?.kind==="raw-array"){let y=Array.isArray(s)?s:s.vals;for(let h=0;h<y.length;h++){let b=this.valueRelationId("sequence-elements","element",["PyretObject","Index","PyretObject"]);o(y[h],[l,this.createIndexAtom(h)],b,"element")}continue}let d=s;this.originalObjects.set(l,d);let c=z(d);c?.arity===0&&this.addValueFact("nullary-constructor",l,"PyretObject");for(let y of c?.mutableFields??[]){let h=this.valueRelationId("mutable-field","mutable-field",["PyretObject","Index"]);this.addRelationTuple(h,{atoms:[l,this.createIndexAtom(y)],types:[]},"mutable-field")}if(!d.dict||typeof d.dict!="object")continue;let m=c?.fields??(p?.kind==="object"?Ep(d.dict,this.options.showFunctions):Object.keys(d.dict));!p&&!X(this.extractType(d))&&this.cacheConstructorPattern(this.extractType(d),m),m.forEach((y,h)=>{let b=d.dict[y],g=c?Op(c,h):p?.kind==="object"?this.valueRelationId("object-field:"+y,y,["Object","Index","PyretObject"]):y;if(c&&!this.relations.has(g)&&this.relations.set(g,{id:g,name:y,types:[c.name,"PyretObject"],tuples:[]}),!this.options.showFunctions&&Yr(b))return;let v=p?.kind==="object"?[l,this.createIndexAtom(h)]:[l];o(b,v,g,p?.kind==="object"?y:void 0)})}}addValueFact(t,n,i){let o=this.valueRelationId(t,t,[i]);this.addRelationTuple(o,{atoms:[n],types:[]},t)}valueRelationId(t,n,i){let o=this.valueRelations.get(t);return o||(o=globalThis.crypto?.randomUUID?.()??`relation-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${this.valueRelations.size}`,this.valueRelations.set(t,o),this.relations.set(o,{id:o,name:n,types:i,tuples:[]})),o}createIndexAtom(t){let n=this.indexAtoms.get(t);if(n)return n;let i=this.generateAtomId("Index");return this.atoms.set(i,{id:i,type:"Index",label:String(t)}),this.ensureTypeExists("Index"),this.indexAtoms.set(t,i),i}valueInfo(t){if(Array.isArray(t))return{kind:"raw-array"};if("$pyretValue"in t)return de(t);if(Xr(t))throw new Error("Standalone Pyret Row values are not supported");if(Zr(t))return{kind:"table"};let n=Ap(t);if(n)return n;let i=et(t);if(i)return i;if(Sp(t))return{kind:"nothing"};if(Array.isArray(t.vals))return{kind:"tuple"};if(!z(t)&&t.dict&&(typeof t.updateDict=="function"||this.extractType(t)==="PyretObject"))return{kind:"object"}}processTableSemantics(t,n,i){let{headers:o,rows:a}=Ae(n),s=this.valueRelationId("table-columns","column",["Table","Index","String"]);o.forEach((l,p)=>this.addRelationTuple(s,{atoms:[t,this.createIndexAtom(p),this.createAtomFromPrimitive(l)],types:[]},"column"));let u=this.valueRelationId("table-rows:"+o.length,"row",["Table","Index",...o.map(()=>"PyretObject")]);a.forEach((l,p)=>this.addRelationTuple(u,{atoms:[t,this.createIndexAtom(p),...Array.from(l,i)],types:[]},"row"))}createAtomFromObject(t){let n=this.valueInfo(t),i=n?{nothing:"Nothing",reference:"Reference",object:"Object",tuple:"Tuple","raw-array":"RawArray",table:"Table","string-dict":n.kind==="string-dict"&&n.mutable?"MutableStringDict":"StringDict"}[n.kind]:this.extractType(t),o=this.generateAtomId(i),a={id:o,type:i,label:n?i:this.extractLabel(t)};return this.atoms.set(o,a),this.objectToAtomId.set(t,o),this.ensureTypeExists(i),o}createAtomFromPrimitive(t){let n=ie(t),i=n?"Number":this.mapPrimitiveType(t),o=n?Wr(n):String(t);if(i==="String"&&this.options.stringsIdempotent||i==="Number"&&this.options.numbersIdempotent||i==="Boolean"&&this.options.booleansIdempotent){let l=Array.from(this.atoms.values()).find(p=>p.type===i&&p.label===o);if(l)return l.id}let s=this.generateAtomId(i),u={id:s,type:i,label:o};return this.atoms.set(s,u),this.ensureTypeExists(i),s}mapPrimitiveType(t){switch(typeof t){case"number":return"Number";case"string":return"String";case"boolean":return"Boolean";default:return"Value"}}extractMostSpecificBrand(t){let n=-1,i,o;for(let a of Object.keys(t)){let s=/^\$brand([a-zA-Z_]+)(\d+)$/.exec(a);if(s){let[,u,l]=s,p=parseInt(l,10);p>n&&(n=p,i=u)}else{let u=/^\$brand_?([a-zA-Z_]+)$/.exec(a);if(u){let[,l]=u;(!o||l>o)&&(o=l)}}}return i||o}extractType(t){if(t.$name&&typeof t.$name=="string")return t.$name;if(t.brands&&typeof t.brands=="object"){let n=this.extractMostSpecificBrand(t.brands);if(n)return n}return"PyretObject"}extractLabel(t){if(t.$name&&typeof t.$name=="string")return ee(t.$name);let n=this.extractType(t),o=(this.typeLabelCounters.get(n)??0)+1;return this.typeLabelCounters.set(n,o),`${n}$${o}`}addRelationTuple(t,n,i){let o=n.atoms[0],a=n.atoms[n.atoms.length-1],s=this.atoms.get(o),u=this.atoms.get(a);if(!s||!u){console.warn(`Cannot create relation ${t}: missing atoms ${o} or ${a}`);return}let l=this.relations.get(t),p=i??l?.name??Qr(t)?.field??t;l&&_n(l,{...l,name:p});let d=xp(n,l,m=>this.atoms.get(m)?.type);l?l.types=d.relationTypes:(l={id:t,name:p,types:d.relationTypes,tuples:[]},this.relations.set(t,l)),l.tuples.some(m=>nt(m)===nt(n))||(l.tuples.push(d.tuple),this.emitEvent({type:"relationTupleAdded",data:{relationId:t,tuple:d.tuple}}))}ensureTypeExists(t){if(!this.types.has(t)){let n=X(t),i=n&&!["Number","String","Boolean","PyretObject","Index","Nothing","Object","Tuple","RawArray","Reference","StringDict","MutableStringDict","Table"].includes(n.name)?n.name:void 0;i&&this.ensureTypeExists(i);let o={id:t,types:i?[t,i,"PyretObject"]:[t,"PyretObject"],atoms:[],isBuiltin:this.isBuiltinType(t)};this.types.set(t,o)}}initializeBuiltinTypes(){["Number","String","Boolean","PyretObject"].forEach(n=>{let i={id:n,types:n==="PyretObject"?["PyretObject"]:[n,"PyretObject"],atoms:[],isBuiltin:!0};this.types.set(n,i)})}isBuiltinType(t){return["Number","String","Boolean","PyretObject"].includes(t)}isAtomicValue(t){return typeof t=="string"||typeof t=="boolean"||ie(t)!==void 0}isPyretObject(t){return typeof t=="object"&&t!==null&&("dict"in t||"brands"in t||"$name"in t||"vals"in t||"$pyretValue"in t||wn(t))}generateAtomId(t){return`${t?t.toLowerCase().substring(0,3):"atom"}_${++this.atomCounter}`}getAtoms(){return Array.from(this.atoms.values())}getRelations(){let t=this.relations.values();return Array.from(t)}getTypes(){return this.types.forEach(t=>{t.atoms=this.getAtoms().filter(n=>n.type===t.id||!!X(n.type)&&this.types.get(n.type)?.types.includes(t.id))}),Array.from(this.types.values())}getAtomType(t){let n=this.atoms.get(t);if(!n)throw new Error(`Atom with id '${t}' not found`);let i=this.types.get(n.type);return i||(this.ensureTypeExists(n.type),this.types.get(n.type))}generateGraph(t=!1,n=!1){let i=new Dp.Graph({directed:!0,multigraph:!0});if(this.getAtoms().forEach(o=>{i.setNode(o.id,{label:o.label})}),this.getRelations().forEach(o=>{o.tuples.forEach(a=>{if(a.atoms.length>=2){let s=a.atoms[0],u=a.atoms[a.atoms.length-1],l=a.atoms.slice(1,-1),p=o.name;if(l.length>0){let c=l.map(m=>{let y=this.atoms.get(m);return y?y.label:m});p=`${o.name}[${c.join(", ")}]`}let d=S_(o,a);i.setEdge(s,u,p,d)}})}),t||n){let o=[];i.nodes().forEach(a=>{let s=i.inEdges(a)||[],u=i.outEdges(a)||[];if(s.length===0&&u.length===0&&this.atoms.get(a)){let c=this.getAtomType(a).isBuiltin;(t||c&&n)&&o.push(a)}}),o.forEach(a=>i.removeNode(a))}return i}addFromDataInstance(t,n){if(!(t instanceof P))return!1;let i=t;for(let a of i.getRelations()){let s=this.relations.get(a.id);s&&_n(s,a)}let o=new Map;return i.getAtoms().forEach(a=>{let s=this.isBuiltinType(a.type);if(n&&s&&(a.type==="String"&&this.options.stringsIdempotent||a.type==="Number"&&this.options.numbersIdempotent||a.type==="Boolean"&&this.options.booleansIdempotent)){let c=Array.from(this.atoms.values()).find(m=>m.type===a.type&&m.label===a.label);if(c){o.set(a.id,c.id);return}}let u=this.generateAtomId(a.type);o.set(a.id,u);let l={...a,id:u};this.addAtom(l);let p=i.originalObjects.get(a.id);p&&this.originalObjects.set(u,p)}),i.getTypes().forEach(a=>{if(!this.types.has(a.id))this.types.set(a.id,{...a,atoms:a.atoms.map(s=>({...s,id:o.get(s.id)||s.id}))});else{let s=this.types.get(a.id),u=a.atoms.map(l=>({...l,id:o.get(l.id)||l.id}));s.atoms.push(...u)}}),i.getRelations().forEach(a=>{let s=a.tuples.map(l=>({atoms:l.atoms.map(p=>o.get(p)||p),types:l.types})),u=this.relations.get(a.id);u?(u.tuples=Fp([...u.tuples,...s]),u.types=Lp(u.tuples,u.types)):this.relations.set(a.id,{...a,tuples:s})}),!0}};P.globalConstructorCache=new Map,P.instantiationCounter=0;var Me=P;var $p=Fn(bn()),it=class{constructor(r){this.datum=r;this.atoms=new Map(r.atoms.map(t=>[t.id,t])),this.types=new Map(r.types.map(t=>[t.id,t]))}getAtoms(){return this.datum.atoms}getRelations(){return this.datum.relations}getTypes(){return this.datum.types}getAtomType(r){let t=this.atoms.get(r);if(!t)throw new Error(`Unknown captured atom ${r}`);let n=this.types.get(t.type);if(!n)throw new Error(`Unknown captured type ${t.type}`);return n}generateGraph(r=!1,t=!1){let n=new $p.Graph({directed:!0,multigraph:!0});for(let i of this.datum.atoms)n.setNode(i.id,{label:i.label});for(let i of this.datum.relations)for(let o of i.tuples){if(o.atoms.length<2)continue;let a=o.atoms[0],s=o.atoms[o.atoms.length-1],u=o.atoms.slice(1,-1).map(p=>this.atoms.get(p).label),l=i.name+(u.length?`[${u.join(", ")}]`:"");n.setEdge(a,s,l,JSON.stringify([i.id,o.atoms]))}if(r||t)for(let i of n.nodes())!(n.nodeEdges(i)||[]).length&&(r||this.getAtomType(i).isBuiltin)&&n.removeNode(i);return n}};var ot=class extends Error{constructor(t,n,i){super(`Cannot capture ${JSON.stringify(t)}${n.map(o=>`[${JSON.stringify(o)}]`).join("")}: ${i}`);this.root=t;this.path=n;this.reason=i;this.name="PyretCaptureError"}};function Bp(e){let r=new Set;function t(n){if(n===null||typeof n=="string"||typeof n=="boolean"||typeof n=="number"&&Number.isFinite(n))return;let i=n&&typeof n=="object"?Object.getPrototypeOf(n):void 0;if(!n||typeof n!="object"||!Array.isArray(n)&&i!==null&&Object.getPrototypeOf(i)!==null)throw new Error("Capture metadata must contain only JSON values");if(r.has(n))throw new Error("Capture metadata must not contain cycles");r.add(n);for(let o of Reflect.ownKeys(n)){let a=Object.getOwnPropertyDescriptor(n,o);if(typeof o!="string"||a.get||a.set)throw new Error("Capture metadata must not contain symbols or accessors")}for(let o of Array.isArray(n)?Array.from(n):Object.values(n))t(o);r.delete(n)}return t(e),JSON.parse(JSON.stringify(e))}function Vp(e,r,t){if(!Array.isArray(e)||!e.length)throw new Error("Capture requires at least one named root");let n=new Set;for(let c of e){if(!c||typeof c.name!="string"||!c.name||n.has(c.name))throw new Error("Capture root names must be nonempty and unique");n.add(c.name)}let i=globalThis.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,o=new Map,a=new Map,s=[],u=(c,m,y)=>{if(o.has(c))return o.get(c);try{let h=r.observe(c);if(h.kind==="primitive")return h.value;let b;switch(h.kind){case"nothing":b={$pyretValue:{kind:"nothing"}};break;case"raw-array":b=[];break;case"tuple":b={vals:[]};break;case"object":b={$pyretValue:{kind:"object"},dict:Object.create(null)};break;case"reference":b={$pyretValue:{kind:"reference",unrestricted:!0}};break;case"string-dict":b={$pyretValue:{kind:"string-dict",mutable:h.mutable,sealed:h.sealed},entries:[]};break;case"table":b={$pyretValue:{kind:"table"},dict:Object.create(null)};break;case"constructor":{let g=JSON.stringify(h.info),v=a.get(h.identity);if(v&&v.schema!==g)throw new Error("Constructor schema changed during capture");v||(v={id:_p(i,a.size,h.info.name),schema:g},a.set(h.identity,v)),b={$name:v.id,$arity:h.info.arity,$constructor:{$fieldNames:h.info.fields.slice()},$mut_fields_mask:h.info.fields.map((E,T)=>(h.info.mutableFields??[]).includes(T)),dict:Object.create(null)};break}default:throw new Error("Unsupported adapter observation")}return o.set(c,b),s.push({carrier:b,observed:h,root:m,path:y}),b}catch(h){throw h instanceof ot?h:new ot(m,y,h instanceof Error?h.message:String(h))}},l=e.map(c=>u(c.value,c.name,[]));for(let c=0;c<s.length;c++){let{carrier:m,observed:y,root:h,path:b}=s[c],g=(v,...E)=>u(v,h,[...b,...E]);switch(y.kind){case"constructor":y.info.fields.forEach((v,E)=>{m.dict[v]=g(y.values[E],v)});break;case"object":y.fields.forEach(([v,E])=>{m.dict[v]=g(E,v)});break;case"raw-array":y.values.forEach((v,E)=>m.push(g(v,E)));break;case"tuple":y.values.forEach((v,E)=>m.vals.push(g(v,E)));break;case"reference":m.value=g(y.value,"target");break;case"string-dict":y.entries.forEach(([v,E])=>m.entries.push([v,g(E,v)]));break;case"table":m.dict["_header-raw-array"]=y.headers.slice(),m.dict["_rows-raw-array"]=y.rows.map((v,E)=>v.map((T,M)=>g(T,"rows",E,y.headers[M])));break}}let{instance:p,rootIds:d}=Me.fromValues(l);return Bp({format:"spytial-pyret-capture",version:1,datum:{atoms:[...p.getAtoms()],relations:[...p.getRelations()],types:[...p.getTypes()]},roots:e.map((c,m)=>({name:c.name,atomId:d[m],...c.observation===void 0?{}:{observation:c.observation}})),...t===void 0?{}:{provenance:t}})}function Up(e){let r=Bp(e);if(!r||r.format!=="spytial-pyret-capture"||r.version!==1)throw new Error("Unsupported Pyret capture format/version");if(!Array.isArray(r.roots)||!r.roots.length||!r.datum||!Array.isArray(r.datum.atoms)||!Array.isArray(r.datum.relations)||!Array.isArray(r.datum.types))throw new Error("Malformed Pyret capture");let t=new Map,n=new Set(["Number","String","Boolean","Nothing","Object","Index","Tuple","RawArray","Reference","StringDict","MutableStringDict","Table"]);for(let c of r.datum.atoms){if(!c||typeof c.id!="string"||!c.id||t.has(c.id)||typeof c.label!="string"||typeof c.type!="string"||!n.has(c.type)&&!X(c.type))throw new Error("Malformed or duplicate Pyret capture atom");if(c.type==="Index"&&(!/^(0|[1-9][0-9]*)$/.test(c.label)||!Number.isSafeInteger(Number(c.label))))throw new Error("Malformed Pyret capture index");t.set(c.id,c)}let i=new Set,o=(c,m)=>c===m.type||c==="PyretObject"||!n.has(c)&&c===X(m.type)?.name,a=new Set;for(let c of r.datum.types){if(!c||typeof c.id!="string"||a.has(c.id)||!Array.isArray(c.types)||c.types[0]!==c.id||c.types.some(y=>typeof y!="string")||!Array.isArray(c.atoms)||typeof c.isBuiltin!="boolean")throw new Error("Malformed Pyret capture type");a.add(c.id);let m=new Set;for(let y of c.atoms){let h=y&&t.get(y.id);if(!h||m.has(y.id)||y.type!==h.type||y.label!==h.label||!o(c.id,h))throw new Error("Invalid Pyret capture type membership");m.add(y.id)}}if([...t.values()].some(c=>!a.has(c.type))||r.datum.types.some(c=>c.types.some(m=>!a.has(m))))throw new Error("Unknown Pyret capture type");for(let c of r.datum.relations){if(!c||typeof c.id!="string"||i.has(c.id)||typeof c.name!="string"||!Array.isArray(c.tuples)||!Array.isArray(c.types)||c.types.some(y=>typeof y!="string"))throw new Error("Malformed or duplicate Pyret capture relation");i.add(c.id);let m=new Set;for(let y of c.tuples){if(!y||!Array.isArray(y.atoms)||!y.atoms.length||y.atoms.some(b=>!t.has(b))||!Array.isArray(y.types)||y.types.length!==y.atoms.length||y.types.some((b,g)=>!o(b,t.get(y.atoms[g]))))throw new Error("Malformed Pyret capture tuple");let h=JSON.stringify(y.atoms);if(m.has(h))throw new Error("Duplicate Pyret capture tuple");m.add(h)}}let s=new Set;for(let c of r.roots){if(!c||typeof c.name!="string"||!c.name||s.has(c.name)||!t.has(c.atomId)||t.get(c.atomId).type==="Index")throw new Error("Invalid Pyret capture root");s.add(c.name)}let u=new it(r.datum),l=[...t.values()].filter(c=>c.type!=="Index").map(c=>c.id),p=In(u,l,{allowContainerCycles:!0}),d=new Map(l.map((c,m)=>[c,p[m]]));return{snapshot:r,instance:u,values:new Map(r.roots.map(c=>[c.name,d.get(c.atomId)]))}}function at(e){for(let r of["isNumber","isNothing","isDataValue","isTuple","isRef","isFunction","isMethod","isOpaque","isObject"])if(typeof e?.[r]!="function")throw new Error(`Pyret runtime lacks ${r}`);return{observe(r){if(typeof r=="string"||typeof r=="boolean")return{kind:"primitive",value:r};if(e.isNumber(r)){let n=ie(r);if(!n)throw new Error("Unsupported Pyret numeric representation");return{kind:"primitive",value:{$pyretNumber:n}}}if(e.isFunction(r))throw new Error("Unsupported Pyret function");if(e.isMethod(r))throw new Error("Unsupported Pyret method");if(e.isOpaque(r))throw new Error("Unsupported Pyret opaque value");if(e.isNothing(r))return{kind:"nothing"};if(Array.isArray(r)){if(Array.from({length:r.length},(n,i)=>i).some(n=>!(n in r)))throw new Error("Unsupported sparse raw array");return{kind:"raw-array",values:r.slice()}}let t=r;if(e.isRef(r)){if(t.state!==2)throw new Error("Unsupported Pyret reference state: only initialized mutable references are supported");if(!Array.isArray(t.anns?.anns)||!t.anns.anns.every(n=>n.ann===e.Any))throw new Error("Unsupported Pyret reference annotation: only the runtime Any annotation is supported");return{kind:"reference",value:t.value}}if(e.isTuple(r))return{kind:"tuple",values:t.vals.slice()};if(e.isDataValue(r)){let n=z(t);if(!n||!t.$constructor||typeof t.$constructor!="object")throw new Error("Invalid Pyret constructor metadata");for(let i in t.dict)if(!n.fields.includes(i)&&i!=="$fieldNames"&&!e.isMethod(t.dict[i])&&!(i==="_spytial"&&e.isFunction(t.dict[i])))throw new Error(`Unsupported extra constructor field ${JSON.stringify(i)}`);return{kind:"constructor",identity:t.$constructor,info:n,values:n.fields.map(i=>t.dict[i])}}if(e.isObject(r)){if(Xr(t))throw new Error("Unsupported standalone Pyret Row");if(Zr(t))return{kind:"table",...Ae(t)};let n=et(t);if(n)return{...n,entries:rt(t,n)};if(t.brands&&Object.keys(t.brands).some(o=>o!=="brandCount"&&t.brands[o]===!0))throw new Error("Unsupported branded Pyret object");let i=[];for(let o in t.dict)o==="_spytial"&&(e.isFunction(t.dict[o])||e.isMethod(t.dict[o]))||i.push([o,t.dict[o]]);return{kind:"object",fields:i}}throw new Error("Unsupported value from this Pyret runtime")}}}function Hp(e,r){let t=Vp([{name:"value",value:e}],at(r)),{instance:n}=Up(t),i;try{i=tt(n,t.roots[0].atomId)}catch(o){i="Source preview unavailable: "+(o instanceof Error?o.message:String(o))}return{snapshot:t,instance:n,sourcePreview:i}}function Gp(e){return{...e,nodes:e.nodes.map(r=>({...r,mostSpecificType:ee(r.mostSpecificType)}))}}var st={languageVersion:"2026-09-18",coreVersion:"6.3.2",enums:{TextSize:{"text-size-small":"small","text-size-normal":"normal","text-size-large":"large"},LinePattern:{"line-pattern-solid":"solid","line-pattern-dashed":"dashed","line-pattern-dotted":"dotted"},IconPlacement:{"icon-placement-full":"full","icon-placement-badge":"badge"},Direction:{"direction-above":"above","direction-below":"below","direction-left":"left","direction-right":"right","direction-directly-above":"directlyAbove","direction-directly-below":"directlyBelow","direction-directly-left":"directlyLeft","direction-directly-right":"directlyRight"},Hold:{"hold-always":"always","hold-never":"never"},Rotation:{"rotation-clockwise":"clockwise","rotation-counterclockwise":"counterclockwise"},Alignment:{"alignment-horizontal":"horizontal","alignment-vertical":"vertical"},GroupEdgeDirection:{"group-edge-direction-none":"none","group-edge-direction-togroup":"togroup","group-edge-direction-fromgroup":"fromgroup"},LayoutFlag:{"layout-flag-hide-disconnected":"hideDisconnected","layout-flag-hide-disconnected-built-ins":"hideDisconnectedBuiltIns"}},blocks:{textStyle:{name:"textStyle",typeName:"TextStyle",constructor:"text-style",fields:[{name:"size",pyretName:"size",type:"enum",required:!1,enum:"TextSize"},{name:"color",pyretName:"color",type:"color",required:!1}]},lineStyle:{name:"lineStyle",typeName:"LineStyle",constructor:"line-style",fields:[{name:"color",pyretName:"color",type:"color",required:!1},{name:"pattern",pyretName:"pattern",type:"enum",required:!1,enum:"LinePattern"},{name:"weight",pyretName:"weight",type:"number",required:!1,exclusiveMinimum:0},{name:"highlight",pyretName:"highlight",type:"color",required:!1}]},fillStyle:{name:"fillStyle",typeName:"FillStyle",constructor:"fill-style",fields:[{name:"color",pyretName:"color",type:"color",required:!1}]},borderStyle:{name:"borderStyle",typeName:"BorderStyle",constructor:"border-style",fields:[{name:"color",pyretName:"color",type:"color",required:!1},{name:"width",pyretName:"width",type:"number",required:!1,exclusiveMinimum:0}]},iconStyle:{name:"iconStyle",typeName:"IconStyle",constructor:"icon-style",fields:[{name:"path",pyretName:"path",type:"icon-path",required:!1},{name:"placement",pyretName:"placement",type:"enum",required:!1,enum:"IconPlacement"},{name:"opacity",pyretName:"opacity",type:"number",required:!1,minimum:0,maximum:1}]},ruleSource:{name:"ruleSource",typeName:"RuleSource",constructor:"rule-source",fields:[{name:"text",pyretName:"text",type:"string",required:!0},{name:"location",pyretName:"location",type:"string",required:!1}]},groupAddEdge:{name:"groupAddEdge",typeName:"GroupAddEdge",constructor:"group-add-edge",fields:[{name:"points",pyretName:"points",type:"enum",required:!1,enum:"GroupEdgeDirection"},{name:"lineStyle",pyretName:"line-style",type:"block",required:!1,block:"lineStyle"},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"}]}},rules:{orientation:{name:"orientation",yamlKey:"orientation",section:"constraints",shape:"mapping",constructor:"spytial-orientation",optionsConstructor:"orientation-options",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"directions",pyretName:"directions",type:"enum-list",required:!0,listRules:{atMostOneOf:[["above","below"],["left","right"]],narrowsListTo:{directlyAbove:["above","directlyAbove"],directlyBelow:["below","directlyBelow"],directlyLeft:["left","directlyLeft"],directlyRight:["right","directlyRight"]}},enum:"Direction"},{name:"hold",pyretName:"hold",type:"enum",required:!1,enum:"Hold"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},cyclic:{name:"cyclic",yamlKey:"cyclic",section:"constraints",shape:"mapping",constructor:"spytial-cyclic",optionsConstructor:"cyclic-options",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"direction",pyretName:"direction",type:"enum",required:!1,enum:"Rotation"},{name:"hold",pyretName:"hold",type:"enum",required:!1,enum:"Hold"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},align:{name:"align",yamlKey:"align",section:"constraints",shape:"mapping",constructor:"spytial-align",optionsConstructor:"align-options",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"direction",pyretName:"direction",type:"enum",required:!0,enum:"Alignment"},{name:"hold",pyretName:"hold",type:"enum",required:!1,enum:"Hold"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},group:{name:"group",yamlKey:"group",section:"constraints",shape:"mapping",constructor:"spytial-group",optionsConstructor:"group-options",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"name",pyretName:"name",type:"string",required:!0},{name:"addEdge",pyretName:"add-edge",type:"block",required:!1,block:"groupAddEdge"},{name:"showLabel",pyretName:"show-label",type:"boolean",required:!1},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"hold",pyretName:"hold",type:"enum",required:!1,enum:"Hold"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},size:{name:"size",yamlKey:"size",section:"constraints",shape:"mapping",constructor:"spytial-size",optionsConstructor:"size-options",fields:[{name:"width",pyretName:"width",type:"number",required:!0,exclusiveMinimum:0},{name:"height",pyretName:"height",type:"number",required:!0,exclusiveMinimum:0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},hideAtom:{name:"hideAtom",yamlKey:"hideAtom",section:"constraints",shape:"mapping",constructor:"spytial-hide-atom",optionsConstructor:"hide-atom-options",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},flag:{name:"flag",yamlKey:"flag",section:"directives",shape:"scalar",constructor:"spytial-flag",optionsConstructor:"flag-options",fields:[{name:"flag",pyretName:"name",type:"enum",required:!0,enum:"LayoutFlag"}]},atomStyle:{name:"atomStyle",yamlKey:"atomStyle",section:"directives",shape:"mapping",constructor:"spytial-atom-style",optionsConstructor:"atom-style-options",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"fillStyle",pyretName:"fill-style",type:"block",required:!1,block:"fillStyle"},{name:"borderStyle",pyretName:"border-style",type:"block",required:!1,block:"borderStyle"},{name:"iconStyle",pyretName:"icon-style",type:"block",required:!1,block:"iconStyle"},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"showLabel",pyretName:"show-label",type:"boolean",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},edgeStyle:{name:"edgeStyle",yamlKey:"edgeStyle",section:"directives",shape:"mapping",constructor:"spytial-edge-style",optionsConstructor:"edge-style-options",fields:[{name:"field",pyretName:"field",type:"relation",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"filter",pyretName:"filter",type:"selector",required:!1},{name:"lineStyle",pyretName:"line-style",type:"block",required:!1,block:"lineStyle"},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"showLabel",pyretName:"show-label",type:"boolean",required:!1},{name:"hidden",pyretName:"hidden",type:"boolean",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},attribute:{name:"attribute",yamlKey:"attribute",section:"directives",shape:"mapping",constructor:"spytial-attribute",optionsConstructor:"attribute-options",fields:[{name:"field",pyretName:"field",type:"relation",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"filter",pyretName:"filter",type:"selector",required:!1},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},tag:{name:"tag",yamlKey:"tag",section:"directives",shape:"mapping",constructor:"spytial-tag",optionsConstructor:"tag-options",fields:[{name:"toTag",pyretName:"to-tag",type:"selector",required:!0},{name:"name",pyretName:"name",type:"string",required:!0},{name:"value",pyretName:"value",type:"selector",required:!0},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},hideField:{name:"hideField",yamlKey:"hideField",section:"directives",shape:"mapping",constructor:"spytial-hide-field",optionsConstructor:"hide-field-options",fields:[{name:"field",pyretName:"field",type:"relation",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"filter",pyretName:"filter",type:"selector",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},inferredEdge:{name:"inferredEdge",yamlKey:"inferredEdge",section:"directives",shape:"mapping",constructor:"spytial-inferred-edge",optionsConstructor:"inferred-edge-options",fields:[{name:"name",pyretName:"name",type:"string",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"draw",pyretName:"draw",type:"string",required:!1,pattern:"^\\s*[^\\s](?:(?!->)[\\s\\S])*->(?:(?!->)[\\s\\S])*[^\\s]\\s*$"},{name:"lineStyle",pyretName:"line-style",type:"block",required:!1,block:"lineStyle"},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"color",pyretName:"color",type:"color",required:!1},{name:"style",pyretName:"style",type:"enum",required:!1,enum:"LinePattern"},{name:"weight",pyretName:"weight",type:"number",required:!1,exclusiveMinimum:0},{name:"highlight",pyretName:"highlight",type:"color",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},icon:{name:"icon",yamlKey:"icon",section:"directives",shape:"mapping",constructor:"spytial-icon",optionsConstructor:"icon-options",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"path",pyretName:"path",type:"icon-path",required:!0},{name:"showLabels",pyretName:"show-labels",type:"boolean",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},atomColor:{name:"atomColor",yamlKey:"atomColor",section:"directives",shape:"mapping",constructor:"spytial-atom-color",optionsConstructor:"atom-color-options",fields:[{name:"value",pyretName:"value",type:"color",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},edgeColor:{name:"edgeColor",yamlKey:"edgeColor",section:"directives",shape:"mapping",constructor:"spytial-edge-color",optionsConstructor:"edge-color-options",fields:[{name:"field",pyretName:"field",type:"relation",required:!0},{name:"value",pyretName:"value",type:"color",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"filter",pyretName:"filter",type:"selector",required:!1},{name:"style",pyretName:"style",type:"enum",required:!1,enum:"LinePattern"},{name:"weight",pyretName:"weight",type:"number",required:!1,exclusiveMinimum:0},{name:"highlight",pyretName:"highlight",type:"color",required:!1},{name:"showLabel",pyretName:"show-label",type:"boolean",required:!1},{name:"hidden",pyretName:"hidden",type:"boolean",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]}}};var Le=class extends Error{constructor(t,n){super(`${t}: ${n}`);this.path=t;this.name="SpytialSpecError"}},E_=Object.values(st.rules),I_=st.blocks,k_=st.enums;function F(e,r){throw new Le(e,r)}function ut(e,r,t,n,i){if(!r.isDataValue(e))return F(t,`expected ${n}`);let o=e,a=z(o);return o.$name!==n||!a||a.fields.length!==i.length||a.fields.some((s,u)=>s!==i[u])?F(t,`expected ${n}`):o.dict}function Kp(e,r,t){let n=new Set,i=[];for(;!r.ffi.isEmpty(e);){if(!r.ffi.isLink(e))return F(t,"expected a Pyret List");if(n.has(e))return F(t,"cyclic rule list");n.add(e);let o=e.dict;i.push(o.first),e=o.rest}return i}function q_(e,r,t,n){if(r.type==="enum"||r.type==="enum-list"){let i=k_[r.enum],o=(s,u)=>{let l=s?.$name;return!l||!Object.prototype.hasOwnProperty.call(i,l)?F(u,`expected ${r.enum}`):(ut(s,t,u,l,[]),i[l])};if(r.type==="enum")return o(e,n);let a=Kp(e,t,n).map((s,u)=>o(s,`${n}[${u}]`));for(let s of r.listRules?.atMostOneOf??[])s.filter(u=>a.includes(u)).length>1&&F(n,"incompatible directions");for(let[s,u]of Object.entries(r.listRules?.narrowsListTo??{}))a.includes(s)&&a.some(l=>!u.includes(l))&&F(n,"incompatible directions");return a}if(r.type==="block")return Yp(e,I_[r.block],t,n);if(r.type==="boolean")return typeof e!="boolean"?F(n,"expected Boolean"):e;if(r.type==="number"||r.type==="integer"){if(!t.isNumber(e))return F(n,"expected Number");let i=t.num_to_fixnum(e);return!Number.isFinite(i)||r.type==="integer"&&!Number.isSafeInteger(i)||r.minimum!==void 0&&i<r.minimum||r.maximum!==void 0&&i>r.maximum||r.exclusiveMinimum!==void 0&&i<=r.exclusiveMinimum?F(n,"number is outside the manifest bounds"):i}return typeof e!="string"?F(n,"expected String"):r.required&&!e.trim()?F(n,"required string must not be empty"):r.pattern&&!new RegExp(r.pattern).test(e)?F(n,"string does not match the manifest pattern"):e}function zp(e,r,t,n){let i={};for(let o of r){let a=e[o.pyretName],s=`${n}.${o.pyretName}`;if(!o.required){if(t.ffi.isNone(a))continue;t.ffi.isSome(a)||F(s,"expected Option"),a=a.dict.value}i[o.name]=q_(a,o,t,s)}return i}function Yp(e,r,t,n){return zp(ut(e,t,n,r.constructor,r.fields.map(i=>i.pyretName)),r.fields,t,n)}function Cn(e,r=0){let t=" ".repeat(r);if(Array.isArray(e))return e.length?`
|
|
46
|
-
`+e.map(i=>`${t}- ${
|
|
45
|
+
enum super export new try finally debug spy switch this match case with __proto__`.split(/\s+/)),S_=new Set(["block","doc","otherwise","row","sharing","source","table","then","where","with"]);function In(e){if(x_.has(e)||A_.has(e)||!/^[A-Za-z_][A-Za-z0-9_]*(?:-+[A-Za-z0-9_]+)*$/.test(e))throw new Error(`Pyret object field has no literal spelling: ${JSON.stringify(e)}`);return S_.has(e)?e+" ":e}function qn(e,r,t=n=>qn(n,r)){if(e==null)return"nothing";if(typeof e=="number")return String(e);if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string")return v_(e);let n=ie(e);if(n)return Wr(n);let i=de(e);if(i?.kind==="nothing")return"nothing";if(i?.kind==="table"){if(r.has(e))throw new Error("Cyclic Pyret table construction is not supported");r.add(e);let o=Rp(e,t,In);return r.delete(e),o}if(i?.kind==="string-dict"){if(r.has(e))throw new Error("Cyclic immutable Pyret dictionary construction is not supported");r.add(e);let o=Mp(i,e.entries,t);return r.delete(e),o}if("vals"in e&&Array.isArray(e.vals)){if(r.has(e))throw new Error("Cyclic Pyret containers are not supported");if(!e.vals.length)throw new Error("Pyret has no empty tuple literal");r.add(e);let o=`{${e.vals.map(a=>t(a)).join("; ")}${e.vals.length===1?";":""}}`;return r.delete(e),o}if(Array.isArray(e)){if(r.has(e))return"<cyclic>";r.add(e);let o=`[raw-array: ${e.map(t).join(", ")}]`;return r.delete(e),o}if(w_(e)){if(r.has(e))return"<cyclic>";r.add(e);let o=pr(e);if(o){let p=Np(o,t);return r.delete(e),p}let a=ee(e.$name||"object"),s=e.dict||{},u=Object.keys(s),l=i?.kind==="object"?`{${u.map(p=>`${In(p)}: ${t(s[p])}`).join(", ")}}`:u.length||e.$arity===0?`${a}(${u.map(p=>t(s[p])).join(", ")})`:a;return r.delete(e),l}return String(e)}function tt(e,r){let t=new Map;for(let i of e.getAtoms()){let o=X(i.type);if(o){if(t.has(o.name)&&t.get(o.name)!==i.type)throw new Error(`Source reconstruction needs explicit bindings for same-named constructor ${o.name}`);t.set(o.name,i.type)}}let n=Cp(e,r);return jp(n,(i,o)=>qn(i,new Set,o),In)??qn(n,new Set)}function nt(e){return JSON.stringify(e.atoms)}function Fp(e){let r=new Set;return e.filter(t=>{let n=nt(t);return r.has(n)?!1:(r.add(n),!0)}).map(t=>({...t,atoms:[...t.atoms],types:[...t.types]}))}function Lp(e,r=[]){if(!e.length)return[...r];let t=e[0].atoms.length;return e.some(n=>n.atoms.length!==t)?[]:Array.from({length:t},(n,i)=>{let o=new Set(e.map(a=>a.types[i]??"univ"));return o.size===1?[...o][0]:"univ"})}function _n(e,r){if(e.name!==r.name)throw new Error(`Conflicting names for relation ID ${JSON.stringify(e.id)}: ${JSON.stringify(e.name)} and ${JSON.stringify(r.name)}`)}function E_(e,r){let t=e.id,n=r.atoms;return`${t}:${n.join("->")}`}var T=class T extends zr{constructor(t,n={},i){super();this.atoms=new Map;this.relations=new Map;this.types=new Map;this.objectToAtomId=new WeakMap;this.atomCounter=0;this.valueRelations=new Map;this.indexAtoms=new Map;this.typeLabelCounters=new Map;this.originalObjects=new Map;this.externalEvaluator=null;this.options={stringsIdempotent:n.stringsIdempotent??!0,numbersIdempotent:n.numbersIdempotent??!0,booleansIdempotent:n.booleansIdempotent??!0,showFunctions:n.showFunctions??!1},this.externalEvaluator=i||null,this.initializeBuiltinTypes(),this.isAtomicValue(t)?this.createAtomFromPrimitive(t):t!=null&&this.parseObjectIteratively(t)}static fromValues(t){let n=new T,i=new WeakSet,o=t.map(a=>{if(n.isAtomicValue(a))return n.createAtomFromPrimitive(a);if(!Array.isArray(a)&&!n.isPyretObject(a))throw new Error("Unsupported normalized Pyret root");return n.parseObjectIteratively(a,i),n.objectToAtomId.get(a)});return{instance:n,rootIds:o}}setExternalEvaluator(t){this.externalEvaluator=t}getExternalEvaluator(){return this.externalEvaluator}getOptions(){return{...this.options}}cacheConstructorPattern(t,n){if(n.length===0)return;let i=T.globalConstructorCache.get(t),o=++T.instantiationCounter;(!i||o>i.instantiation)&&T.globalConstructorCache.set(t,{pattern:[...n],instantiation:o})}static getGlobalConstructorCache(){let t=new Map;for(let[n,i]of T.globalConstructorCache)t.set(n,[...i.pattern]);return t}static getGlobalConstructorCacheWithPriority(){return new Map(T.globalConstructorCache)}static clearGlobalConstructorCache(){T.globalConstructorCache.clear()}static async fromExpression(t,n={},i){let o=await T.evaluateExpression(t,i);if(!o.success)throw new Error(`Failed to evaluate Pyret expression: ${T.formatError(o.exn)}`);if(T.isPrimitive(o.result)){let a=new T(null,n,i),s=typeof o.result=="string"?"String":typeof o.result=="number"?"Number":"Boolean",u={id:`result_${o.result}`,label:String(o.result),type:s};return a.addAtom(u),a}return new T(o.result,n,i)}static async evaluateExpression(t,n){try{let i=await n.run(t),o=T.findKeyAtAnyLevel(i,"exn");if(o!==void 0)return{success:!1,exn:o};let a=T.findKeyAtAnyLevel(i,"answer");return a!==void 0?{success:!0,result:a}:T.isPrimitive(i)?{success:!0,result:i}:{success:!1,exn:"Unable to find answer or exn in evaluation result"}}catch(i){return{success:!1,exn:i instanceof Error?i.message:"Unknown evaluation error"}}}static findKeyAtAnyLevel(t,n){if(!(!t||typeof t!="object")){if(n in t)return t[n];for(let i of Object.values(t))if(i&&typeof i=="object"){let o=T.findKeyAtAnyLevel(i,n);if(o!==void 0)return o}}}static isPrimitive(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"}static formatError(t){if(!t)return"Unknown error";if(typeof t=="string")return t;if(typeof t=="object"&&t!==null){let n=t;if(n.message)return n.message;if(n.toString&&typeof n.toString=="function")return n.toString()}return String(t)}hasExternalEvaluator(){return this.externalEvaluator!==null}addAtom(t){this.atoms.set(t.id,t),this.ensureTypeExists(t.type);let n=this.types.get(t.type);n&&!n.atoms.some(i=>i.id===t.id)&&n.atoms.push(t),this.emitEvent({type:"atomAdded",data:{atom:t}})}removeAtom(t){let n=this.atoms.get(t);this.atoms.delete(t),this.types.forEach(i=>{i.atoms=i.atoms.filter(o=>o.id!==t)}),this.relations.forEach(i=>{i.tuples=i.tuples.filter(o=>!o.atoms.includes(t))}),n&&this.emitEvent({type:"atomRemoved",data:{atomId:t}})}removeRelationTuple(t,n){let i=this.relations.get(t);if(i){let o=i.tuples.length;i.tuples=i.tuples.filter(a=>!a.atoms.every((s,u)=>s===n.atoms[u])),i.tuples.length<o&&this.emitEvent({type:"relationTupleRemoved",data:{relationId:t,tuple:n}})}}reify(t){return tt(this,t)}parseObjectIteratively(t,n=new WeakSet){let i=[{obj:t}],o=(a,s,u,l)=>{if(this.isAtomicValue(a)){let p=this.createAtomFromPrimitive(a);this.addRelationTuple(u,{atoms:[...s,p],types:[]},l)}else(Array.isArray(a)||this.isPyretObject(a))&&i.push({obj:a,parentInfo:{atoms:s,relationId:u,relationName:l}})};for(let a=0;a<i.length;a++){let{obj:s,parentInfo:u}=i[a],l=this.objectToAtomId.get(s);if(l||(l=this.createAtomFromObject(s)),u&&this.addRelationTuple(u.relationId,{atoms:[...u.atoms,l],types:[]},u.relationName),n.has(s))continue;n.add(s);let p=this.valueInfo(s);if(p?.kind==="nothing")continue;if(p?.kind==="table"){this.processTableSemantics(l,s,y=>{if(this.isAtomicValue(y))return this.createAtomFromPrimitive(y);if(Yr(y)||!Array.isArray(y)&&!this.isPyretObject(y))throw new Error("Unsupported Pyret table cell");let h=y,b=this.objectToAtomId.get(h)??this.createAtomFromObject(h);return i.push({obj:h}),b});continue}if(p?.kind==="string-dict"){p.sealed&&this.addValueFact("sealed",l,"MutableStringDict"),rt(s,p).forEach(([h,b],g)=>{if(!this.isAtomicValue(b)&&!Array.isArray(b)&&!this.isPyretObject(b))throw new Error("Unsupported Pyret dictionary value");let v=this.valueRelationId("dictionary-entries","entry",["PyretObject","Index","String","PyretObject"]);o(b,[l,this.createIndexAtom(g),this.createAtomFromPrimitive(h)],v,"entry")});continue}if(p?.kind==="reference"){p.unrestricted&&this.addValueFact("unrestricted",l,"Reference");let y=s.value;if(!this.isAtomicValue(y)&&!Array.isArray(y)&&!this.isPyretObject(y))throw new Error("Unsupported Pyret reference target");let h=this.valueRelationId("reference-target","target",["Reference","PyretObject"]);o(y,[l],h,"target");continue}if(p?.kind==="tuple"||p?.kind==="raw-array"){let y=Array.isArray(s)?s:s.vals;for(let h=0;h<y.length;h++){let b=this.valueRelationId("sequence-elements","element",["PyretObject","Index","PyretObject"]);o(y[h],[l,this.createIndexAtom(h)],b,"element")}continue}let d=s;this.originalObjects.set(l,d);let c=z(d);c?.arity===0&&this.addValueFact("nullary-constructor",l,"PyretObject");for(let y of c?.mutableFields??[]){let h=this.valueRelationId("mutable-field","mutable-field",["PyretObject","Index"]);this.addRelationTuple(h,{atoms:[l,this.createIndexAtom(y)],types:[]},"mutable-field")}if(!d.dict||typeof d.dict!="object")continue;let m=c?.fields??(p?.kind==="object"?Ep(d.dict,this.options.showFunctions):Object.keys(d.dict));!p&&!X(this.extractType(d))&&this.cacheConstructorPattern(this.extractType(d),m),m.forEach((y,h)=>{let b=d.dict[y],g=c?Op(c,h):p?.kind==="object"?this.valueRelationId("object-field:"+y,y,["Object","Index","PyretObject"]):y;if(c&&!this.relations.has(g)&&this.relations.set(g,{id:g,name:y,types:[c.name,"PyretObject"],tuples:[]}),!this.options.showFunctions&&Yr(b))return;let v=p?.kind==="object"?[l,this.createIndexAtom(h)]:[l];o(b,v,g,p?.kind==="object"?y:void 0)})}}addValueFact(t,n,i){let o=this.valueRelationId(t,t,[i]);this.addRelationTuple(o,{atoms:[n],types:[]},t)}valueRelationId(t,n,i){let o=this.valueRelations.get(t);return o||(o=globalThis.crypto?.randomUUID?.()??`relation-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}-${this.valueRelations.size}`,this.valueRelations.set(t,o),this.relations.set(o,{id:o,name:n,types:i,tuples:[]})),o}createIndexAtom(t){let n=this.indexAtoms.get(t);if(n)return n;let i=this.generateAtomId("Index");return this.atoms.set(i,{id:i,type:"Index",label:String(t)}),this.ensureTypeExists("Index"),this.indexAtoms.set(t,i),i}valueInfo(t){if(Array.isArray(t))return{kind:"raw-array"};if("$pyretValue"in t)return de(t);if(Xr(t))throw new Error("Standalone Pyret Row values are not supported");if(Zr(t))return{kind:"table"};let n=Ap(t);if(n)return n;let i=et(t);if(i)return i;if(Sp(t))return{kind:"nothing"};if(Array.isArray(t.vals))return{kind:"tuple"};if(!z(t)&&t.dict&&(typeof t.updateDict=="function"||this.extractType(t)==="PyretObject"))return{kind:"object"}}processTableSemantics(t,n,i){let{headers:o,rows:a}=Ae(n),s=this.valueRelationId("table-columns","column",["Table","Index","String"]);o.forEach((l,p)=>this.addRelationTuple(s,{atoms:[t,this.createIndexAtom(p),this.createAtomFromPrimitive(l)],types:[]},"column"));let u=this.valueRelationId("table-rows:"+o.length,"row",["Table","Index",...o.map(()=>"PyretObject")]);a.forEach((l,p)=>this.addRelationTuple(u,{atoms:[t,this.createIndexAtom(p),...Array.from(l,i)],types:[]},"row"))}createAtomFromObject(t){let n=this.valueInfo(t),i=n?{nothing:"Nothing",reference:"Reference",object:"Object",tuple:"Tuple","raw-array":"RawArray",table:"Table","string-dict":n.kind==="string-dict"&&n.mutable?"MutableStringDict":"StringDict"}[n.kind]:this.extractType(t),o=this.generateAtomId(i),a={id:o,type:i,label:n?i:this.extractLabel(t)};return this.atoms.set(o,a),this.objectToAtomId.set(t,o),this.ensureTypeExists(i),o}createAtomFromPrimitive(t){let n=ie(t),i=n?"Number":this.mapPrimitiveType(t),o=n?Wr(n):String(t);if(i==="String"&&this.options.stringsIdempotent||i==="Number"&&this.options.numbersIdempotent||i==="Boolean"&&this.options.booleansIdempotent){let l=Array.from(this.atoms.values()).find(p=>p.type===i&&p.label===o);if(l)return l.id}let s=this.generateAtomId(i),u={id:s,type:i,label:o};return this.atoms.set(s,u),this.ensureTypeExists(i),s}mapPrimitiveType(t){switch(typeof t){case"number":return"Number";case"string":return"String";case"boolean":return"Boolean";default:return"Value"}}extractMostSpecificBrand(t){let n=-1,i,o;for(let a of Object.keys(t)){let s=/^\$brand([a-zA-Z_]+)(\d+)$/.exec(a);if(s){let[,u,l]=s,p=parseInt(l,10);p>n&&(n=p,i=u)}else{let u=/^\$brand_?([a-zA-Z_]+)$/.exec(a);if(u){let[,l]=u;(!o||l>o)&&(o=l)}}}return i||o}extractType(t){if(t.$name&&typeof t.$name=="string")return t.$name;if(t.brands&&typeof t.brands=="object"){let n=this.extractMostSpecificBrand(t.brands);if(n)return n}return"PyretObject"}extractLabel(t){if(t.$name&&typeof t.$name=="string")return ee(t.$name);let n=this.extractType(t),o=(this.typeLabelCounters.get(n)??0)+1;return this.typeLabelCounters.set(n,o),`${n}$${o}`}addRelationTuple(t,n,i){let o=n.atoms[0],a=n.atoms[n.atoms.length-1],s=this.atoms.get(o),u=this.atoms.get(a);if(!s||!u){console.warn(`Cannot create relation ${t}: missing atoms ${o} or ${a}`);return}let l=this.relations.get(t),p=i??l?.name??Qr(t)?.field??t;l&&_n(l,{...l,name:p});let d=xp(n,l,m=>this.atoms.get(m)?.type);l?l.types=d.relationTypes:(l={id:t,name:p,types:d.relationTypes,tuples:[]},this.relations.set(t,l)),l.tuples.some(m=>nt(m)===nt(n))||(l.tuples.push(d.tuple),this.emitEvent({type:"relationTupleAdded",data:{relationId:t,tuple:d.tuple}}))}ensureTypeExists(t){if(!this.types.has(t)){let n=X(t),i=n&&!["Number","String","Boolean","PyretObject","Index","Nothing","Object","Tuple","RawArray","Reference","StringDict","MutableStringDict","Table"].includes(n.name)?n.name:void 0;i&&this.ensureTypeExists(i);let o={id:t,types:i?[t,i,"PyretObject"]:[t,"PyretObject"],atoms:[],isBuiltin:this.isBuiltinType(t)};this.types.set(t,o)}}initializeBuiltinTypes(){["Number","String","Boolean","PyretObject"].forEach(n=>{let i={id:n,types:n==="PyretObject"?["PyretObject"]:[n,"PyretObject"],atoms:[],isBuiltin:!0};this.types.set(n,i)})}isBuiltinType(t){return["Number","String","Boolean","PyretObject"].includes(t)}isAtomicValue(t){return typeof t=="string"||typeof t=="boolean"||ie(t)!==void 0}isPyretObject(t){return typeof t=="object"&&t!==null&&("dict"in t||"brands"in t||"$name"in t||"vals"in t||"$pyretValue"in t||wn(t))}generateAtomId(t){return`${t?t.toLowerCase().substring(0,3):"atom"}_${++this.atomCounter}`}getAtoms(){return Array.from(this.atoms.values())}getRelations(){let t=this.relations.values();return Array.from(t)}getTypes(){return this.types.forEach(t=>{t.atoms=this.getAtoms().filter(n=>n.type===t.id||!!X(n.type)&&this.types.get(n.type)?.types.includes(t.id))}),Array.from(this.types.values())}getAtomType(t){let n=this.atoms.get(t);if(!n)throw new Error(`Atom with id '${t}' not found`);let i=this.types.get(n.type);return i||(this.ensureTypeExists(n.type),this.types.get(n.type))}generateGraph(t=!1,n=!1){let i=new Dp.Graph({directed:!0,multigraph:!0});if(this.getAtoms().forEach(o=>{i.setNode(o.id,{label:o.label})}),this.getRelations().forEach(o=>{o.tuples.forEach(a=>{if(a.atoms.length>=2){let s=a.atoms[0],u=a.atoms[a.atoms.length-1],l=a.atoms.slice(1,-1),p=o.name;if(l.length>0){let c=l.map(m=>{let y=this.atoms.get(m);return y?y.label:m});p=`${o.name}[${c.join(", ")}]`}let d=E_(o,a);i.setEdge(s,u,p,d)}})}),t||n){let o=[];i.nodes().forEach(a=>{let s=i.inEdges(a)||[],u=i.outEdges(a)||[];if(s.length===0&&u.length===0&&this.atoms.get(a)){let c=this.getAtomType(a).isBuiltin;(t||c&&n)&&o.push(a)}}),o.forEach(a=>i.removeNode(a))}return i}addFromDataInstance(t,n){if(!(t instanceof T))return!1;let i=t;for(let a of i.getRelations()){let s=this.relations.get(a.id);s&&_n(s,a)}let o=new Map;return i.getAtoms().forEach(a=>{let s=this.isBuiltinType(a.type);if(n&&s&&(a.type==="String"&&this.options.stringsIdempotent||a.type==="Number"&&this.options.numbersIdempotent||a.type==="Boolean"&&this.options.booleansIdempotent)){let c=Array.from(this.atoms.values()).find(m=>m.type===a.type&&m.label===a.label);if(c){o.set(a.id,c.id);return}}let u=this.generateAtomId(a.type);o.set(a.id,u);let l={...a,id:u};this.addAtom(l);let p=i.originalObjects.get(a.id);p&&this.originalObjects.set(u,p)}),i.getTypes().forEach(a=>{if(!this.types.has(a.id))this.types.set(a.id,{...a,atoms:a.atoms.map(s=>({...s,id:o.get(s.id)||s.id}))});else{let s=this.types.get(a.id),u=a.atoms.map(l=>({...l,id:o.get(l.id)||l.id}));s.atoms.push(...u)}}),i.getRelations().forEach(a=>{let s=a.tuples.map(l=>({atoms:l.atoms.map(p=>o.get(p)||p),types:l.types})),u=this.relations.get(a.id);u?(u.tuples=Fp([...u.tuples,...s]),u.types=Lp(u.tuples,u.types)):this.relations.set(a.id,{...a,tuples:s})}),!0}};T.globalConstructorCache=new Map,T.instantiationCounter=0;var Me=T;var $p=Fn(bn()),it=class{constructor(r){this.datum=r;this.atoms=new Map(r.atoms.map(t=>[t.id,t])),this.types=new Map(r.types.map(t=>[t.id,t]))}getAtoms(){return this.datum.atoms}getRelations(){return this.datum.relations}getTypes(){return this.datum.types}getAtomType(r){let t=this.atoms.get(r);if(!t)throw new Error(`Unknown captured atom ${r}`);let n=this.types.get(t.type);if(!n)throw new Error(`Unknown captured type ${t.type}`);return n}generateGraph(r=!1,t=!1){let n=new $p.Graph({directed:!0,multigraph:!0});for(let i of this.datum.atoms)n.setNode(i.id,{label:i.label});for(let i of this.datum.relations)for(let o of i.tuples){if(o.atoms.length<2)continue;let a=o.atoms[0],s=o.atoms[o.atoms.length-1],u=o.atoms.slice(1,-1).map(p=>this.atoms.get(p).label),l=i.name+(u.length?`[${u.join(", ")}]`:"");n.setEdge(a,s,l,JSON.stringify([i.id,o.atoms]))}if(r||t)for(let i of n.nodes())!(n.nodeEdges(i)||[]).length&&(r||this.getAtomType(i).isBuiltin)&&n.removeNode(i);return n}};var ot=class extends Error{constructor(t,n,i){super(`Cannot capture ${JSON.stringify(t)}${n.map(o=>`[${JSON.stringify(o)}]`).join("")}: ${i}`);this.root=t;this.path=n;this.reason=i;this.name="PyretCaptureError"}};function Bp(e){let r=new Set;function t(n){if(n===null||typeof n=="string"||typeof n=="boolean"||typeof n=="number"&&Number.isFinite(n))return;let i=n&&typeof n=="object"?Object.getPrototypeOf(n):void 0;if(!n||typeof n!="object"||!Array.isArray(n)&&i!==null&&Object.getPrototypeOf(i)!==null)throw new Error("Capture metadata must contain only JSON values");if(r.has(n))throw new Error("Capture metadata must not contain cycles");r.add(n);for(let o of Reflect.ownKeys(n)){let a=Object.getOwnPropertyDescriptor(n,o);if(typeof o!="string"||a.get||a.set)throw new Error("Capture metadata must not contain symbols or accessors")}for(let o of Array.isArray(n)?Array.from(n):Object.values(n))t(o);r.delete(n)}return t(e),JSON.parse(JSON.stringify(e))}function Vp(e,r,t){if(!Array.isArray(e)||!e.length)throw new Error("Capture requires at least one named root");let n=new Set;for(let c of e){if(!c||typeof c.name!="string"||!c.name||n.has(c.name))throw new Error("Capture root names must be nonempty and unique");n.add(c.name)}let i=globalThis.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,o=new Map,a=new Map,s=[],u=(c,m,y)=>{if(o.has(c))return o.get(c);try{let h=r.observe(c);if(h.kind==="primitive")return h.value;let b;switch(h.kind){case"nothing":b={$pyretValue:{kind:"nothing"}};break;case"raw-array":b=[];break;case"tuple":b={vals:[]};break;case"object":b={$pyretValue:{kind:"object"},dict:Object.create(null)};break;case"reference":b={$pyretValue:{kind:"reference",unrestricted:!0}};break;case"string-dict":b={$pyretValue:{kind:"string-dict",mutable:h.mutable,sealed:h.sealed},entries:[]};break;case"table":b={$pyretValue:{kind:"table"},dict:Object.create(null)};break;case"constructor":{let g=JSON.stringify(h.info),v=a.get(h.identity);if(v&&v.schema!==g)throw new Error("Constructor schema changed during capture");v||(v={id:_p(i,a.size,h.info.name),schema:g},a.set(h.identity,v)),b={$name:v.id,$arity:h.info.arity,$constructor:{$fieldNames:h.info.fields.slice()},$mut_fields_mask:h.info.fields.map((E,C)=>(h.info.mutableFields??[]).includes(C)),dict:Object.create(null)};break}default:throw new Error("Unsupported adapter observation")}return o.set(c,b),s.push({carrier:b,observed:h,root:m,path:y}),b}catch(h){throw h instanceof ot?h:new ot(m,y,h instanceof Error?h.message:String(h))}},l=e.map(c=>u(c.value,c.name,[]));for(let c=0;c<s.length;c++){let{carrier:m,observed:y,root:h,path:b}=s[c],g=(v,...E)=>u(v,h,[...b,...E]);switch(y.kind){case"constructor":y.info.fields.forEach((v,E)=>{m.dict[v]=g(y.values[E],v)});break;case"object":y.fields.forEach(([v,E])=>{m.dict[v]=g(E,v)});break;case"raw-array":y.values.forEach((v,E)=>m.push(g(v,E)));break;case"tuple":y.values.forEach((v,E)=>m.vals.push(g(v,E)));break;case"reference":m.value=g(y.value,"target");break;case"string-dict":y.entries.forEach(([v,E])=>m.entries.push([v,g(E,v)]));break;case"table":m.dict["_header-raw-array"]=y.headers.slice(),m.dict["_rows-raw-array"]=y.rows.map((v,E)=>v.map((C,F)=>g(C,"rows",E,y.headers[F])));break}}let{instance:p,rootIds:d}=Me.fromValues(l);return Bp({format:"spytial-pyret-capture",version:1,datum:{atoms:[...p.getAtoms()],relations:[...p.getRelations()],types:[...p.getTypes()]},roots:e.map((c,m)=>({name:c.name,atomId:d[m],...c.observation===void 0?{}:{observation:c.observation}})),...t===void 0?{}:{provenance:t}})}function Up(e){let r=Bp(e);if(!r||r.format!=="spytial-pyret-capture"||r.version!==1)throw new Error("Unsupported Pyret capture format/version");if(!Array.isArray(r.roots)||!r.roots.length||!r.datum||!Array.isArray(r.datum.atoms)||!Array.isArray(r.datum.relations)||!Array.isArray(r.datum.types))throw new Error("Malformed Pyret capture");let t=new Map,n=new Set(["Number","String","Boolean","Nothing","Object","Index","Tuple","RawArray","Reference","StringDict","MutableStringDict","Table"]);for(let c of r.datum.atoms){if(!c||typeof c.id!="string"||!c.id||t.has(c.id)||typeof c.label!="string"||typeof c.type!="string"||!n.has(c.type)&&!X(c.type))throw new Error("Malformed or duplicate Pyret capture atom");if(c.type==="Index"&&(!/^(0|[1-9][0-9]*)$/.test(c.label)||!Number.isSafeInteger(Number(c.label))))throw new Error("Malformed Pyret capture index");t.set(c.id,c)}let i=new Set,o=(c,m)=>c===m.type||c==="PyretObject"||!n.has(c)&&c===X(m.type)?.name,a=new Set;for(let c of r.datum.types){if(!c||typeof c.id!="string"||a.has(c.id)||!Array.isArray(c.types)||c.types[0]!==c.id||c.types.some(y=>typeof y!="string")||!Array.isArray(c.atoms)||typeof c.isBuiltin!="boolean")throw new Error("Malformed Pyret capture type");a.add(c.id);let m=new Set;for(let y of c.atoms){let h=y&&t.get(y.id);if(!h||m.has(y.id)||y.type!==h.type||y.label!==h.label||!o(c.id,h))throw new Error("Invalid Pyret capture type membership");m.add(y.id)}}if([...t.values()].some(c=>!a.has(c.type))||r.datum.types.some(c=>c.types.some(m=>!a.has(m))))throw new Error("Unknown Pyret capture type");for(let c of r.datum.relations){if(!c||typeof c.id!="string"||i.has(c.id)||typeof c.name!="string"||!Array.isArray(c.tuples)||!Array.isArray(c.types)||c.types.some(y=>typeof y!="string"))throw new Error("Malformed or duplicate Pyret capture relation");i.add(c.id);let m=new Set;for(let y of c.tuples){if(!y||!Array.isArray(y.atoms)||!y.atoms.length||y.atoms.some(b=>!t.has(b))||!Array.isArray(y.types)||y.types.length!==y.atoms.length||y.types.some((b,g)=>!o(b,t.get(y.atoms[g]))))throw new Error("Malformed Pyret capture tuple");let h=JSON.stringify(y.atoms);if(m.has(h))throw new Error("Duplicate Pyret capture tuple");m.add(h)}}let s=new Set;for(let c of r.roots){if(!c||typeof c.name!="string"||!c.name||s.has(c.name)||!t.has(c.atomId)||t.get(c.atomId).type==="Index")throw new Error("Invalid Pyret capture root");s.add(c.name)}let u=new it(r.datum),l=[...t.values()].filter(c=>c.type!=="Index").map(c=>c.id),p=kn(u,l,{allowContainerCycles:!0}),d=new Map(l.map((c,m)=>[c,p[m]]));return{snapshot:r,instance:u,values:new Map(r.roots.map(c=>[c.name,d.get(c.atomId)]))}}function at(e){for(let r of["isNumber","isNothing","isDataValue","isTuple","isRef","isFunction","isMethod","isOpaque","isObject"])if(typeof e?.[r]!="function")throw new Error(`Pyret runtime lacks ${r}`);return{observe(r){if(typeof r=="string"||typeof r=="boolean")return{kind:"primitive",value:r};if(e.isNumber(r)){let n=ie(r);if(!n)throw new Error("Unsupported Pyret numeric representation");return{kind:"primitive",value:{$pyretNumber:n}}}if(e.isFunction(r))throw new Error("Unsupported Pyret function");if(e.isMethod(r))throw new Error("Unsupported Pyret method");if(e.isOpaque(r))throw new Error("Unsupported Pyret opaque value");if(e.isNothing(r))return{kind:"nothing"};if(Array.isArray(r)){if(Array.from({length:r.length},(n,i)=>i).some(n=>!(n in r)))throw new Error("Unsupported sparse raw array");return{kind:"raw-array",values:r.slice()}}let t=r;if(e.isRef(r)){if(t.state!==2)throw new Error("Unsupported Pyret reference state: only initialized mutable references are supported");if(!Array.isArray(t.anns?.anns)||!t.anns.anns.every(n=>n.ann===e.Any))throw new Error("Unsupported Pyret reference annotation: only the runtime Any annotation is supported");return{kind:"reference",value:t.value}}if(e.isTuple(r))return{kind:"tuple",values:t.vals.slice()};if(e.isDataValue(r)){let n=z(t);if(!n||!t.$constructor||typeof t.$constructor!="object")throw new Error("Invalid Pyret constructor metadata");for(let i in t.dict)if(!n.fields.includes(i)&&i!=="$fieldNames"&&!e.isMethod(t.dict[i])&&!(i==="_spytial"&&e.isFunction(t.dict[i])))throw new Error(`Unsupported extra constructor field ${JSON.stringify(i)}`);return{kind:"constructor",identity:t.$constructor,info:n,values:n.fields.map(i=>t.dict[i])}}if(e.isObject(r)){if(Xr(t))throw new Error("Unsupported standalone Pyret Row");if(Zr(t))return{kind:"table",...Ae(t)};let n=et(t);if(n)return{...n,entries:rt(t,n)};if(t.brands&&Object.keys(t.brands).some(o=>o!=="brandCount"&&t.brands[o]===!0))throw new Error("Unsupported branded Pyret object");let i=[];for(let o in t.dict)o==="_spytial"&&(e.isFunction(t.dict[o])||e.isMethod(t.dict[o]))||i.push([o,t.dict[o]]);return{kind:"object",fields:i}}throw new Error("Unsupported value from this Pyret runtime")}}}function Hp(e,r){let t=Vp([{name:"value",value:e}],at(r)),{instance:n}=Up(t),i;try{i=tt(n,t.roots[0].atomId)}catch(o){i="Source preview unavailable: "+(o instanceof Error?o.message:String(o))}return{snapshot:t,instance:n,sourcePreview:i}}function Gp(e){return{...e,nodes:e.nodes.map(r=>({...r,mostSpecificType:ee(r.mostSpecificType)}))}}var st={languageVersion:"2026-09-18",coreVersion:"6.3.2",enums:{TextSize:{small:"small",normal:"normal",large:"large"},LinePattern:{solid:"solid",dashed:"dashed",dotted:"dotted"},IconPlacement:{full:"full",badge:"badge"},Direction:{above:"above",below:"below",left:"left",right:"right","directly-above":"directlyAbove","directly-below":"directlyBelow","directly-left":"directlyLeft","directly-right":"directlyRight"},Hold:{always:"always",never:"never"},Rotation:{clockwise:"clockwise",counterclockwise:"counterclockwise"},Alignment:{horizontal:"horizontal",vertical:"vertical"},GroupEdgeDirection:{"no-group-edge":"none",togroup:"togroup",fromgroup:"fromgroup"},LayoutFlag:{"hide-disconnected":"hideDisconnected","hide-disconnected-built-ins":"hideDisconnectedBuiltIns"}},blocks:{textStyle:{name:"textStyle",typeName:"TextStyle",constructor:"text-style",fields:[{name:"size",pyretName:"size",type:"enum",required:!1,enum:"TextSize"},{name:"color",pyretName:"color",type:"color",required:!1}]},lineStyle:{name:"lineStyle",typeName:"LineStyle",constructor:"line-style",fields:[{name:"color",pyretName:"color",type:"color",required:!1},{name:"pattern",pyretName:"pattern",type:"enum",required:!1,enum:"LinePattern"},{name:"weight",pyretName:"weight",type:"number",required:!1,exclusiveMinimum:0},{name:"highlight",pyretName:"highlight",type:"color",required:!1}]},fillStyle:{name:"fillStyle",typeName:"FillStyle",constructor:"fill-style",fields:[{name:"color",pyretName:"color",type:"color",required:!1}]},borderStyle:{name:"borderStyle",typeName:"BorderStyle",constructor:"border-style",fields:[{name:"color",pyretName:"color",type:"color",required:!1},{name:"width",pyretName:"width",type:"number",required:!1,exclusiveMinimum:0}]},iconStyle:{name:"iconStyle",typeName:"IconStyle",constructor:"icon-style",fields:[{name:"path",pyretName:"path",type:"icon-path",required:!1},{name:"placement",pyretName:"placement",type:"enum",required:!1,enum:"IconPlacement"},{name:"opacity",pyretName:"opacity",type:"number",required:!1,minimum:0,maximum:1}]},ruleSource:{name:"ruleSource",typeName:"RuleSource",constructor:"rule-source",fields:[{name:"text",pyretName:"text",type:"string",required:!0},{name:"location",pyretName:"location",type:"string",required:!1}]},groupAddEdge:{name:"groupAddEdge",typeName:"GroupAddEdge",constructor:"group-add-edge",fields:[{name:"points",pyretName:"points",type:"enum",required:!1,enum:"GroupEdgeDirection"},{name:"lineStyle",pyretName:"line-style",type:"block",required:!1,block:"lineStyle"},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"}]}},rules:{orientation:{name:"orientation",yamlKey:"orientation",section:"constraints",shape:"mapping",constructor:"spytial-orientation",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"directions",pyretName:"directions",type:"enum-list",required:!0,listRules:{atMostOneOf:[["above","below"],["left","right"]],narrowsListTo:{directlyAbove:["above","directlyAbove"],directlyBelow:["below","directlyBelow"],directlyLeft:["left","directlyLeft"],directlyRight:["right","directlyRight"]}},enum:"Direction"},{name:"hold",pyretName:"hold",type:"enum",required:!1,enum:"Hold"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},cyclic:{name:"cyclic",yamlKey:"cyclic",section:"constraints",shape:"mapping",constructor:"spytial-cyclic",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"direction",pyretName:"direction",type:"enum",required:!1,enum:"Rotation"},{name:"hold",pyretName:"hold",type:"enum",required:!1,enum:"Hold"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},align:{name:"align",yamlKey:"align",section:"constraints",shape:"mapping",constructor:"spytial-align",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"direction",pyretName:"direction",type:"enum",required:!0,enum:"Alignment"},{name:"hold",pyretName:"hold",type:"enum",required:!1,enum:"Hold"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},group:{name:"group",yamlKey:"group",section:"constraints",shape:"mapping",constructor:"spytial-group",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"name",pyretName:"name",type:"string",required:!0},{name:"addEdge",pyretName:"add-edge",type:"block",required:!1,block:"groupAddEdge"},{name:"showLabel",pyretName:"show-label",type:"boolean",required:!1},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"hold",pyretName:"hold",type:"enum",required:!1,enum:"Hold"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},size:{name:"size",yamlKey:"size",section:"constraints",shape:"mapping",constructor:"spytial-size",fields:[{name:"width",pyretName:"width",type:"number",required:!0,exclusiveMinimum:0},{name:"height",pyretName:"height",type:"number",required:!0,exclusiveMinimum:0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},hideAtom:{name:"hideAtom",yamlKey:"hideAtom",section:"constraints",shape:"mapping",constructor:"spytial-hide-atom",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},flag:{name:"flag",yamlKey:"flag",section:"directives",shape:"scalar",constructor:"spytial-flag",fields:[{name:"flag",pyretName:"name",type:"enum",required:!0,enum:"LayoutFlag"}]},atomStyle:{name:"atomStyle",yamlKey:"atomStyle",section:"directives",shape:"mapping",constructor:"spytial-atom-style",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"fillStyle",pyretName:"fill-style",type:"block",required:!1,block:"fillStyle"},{name:"borderStyle",pyretName:"border-style",type:"block",required:!1,block:"borderStyle"},{name:"iconStyle",pyretName:"icon-style",type:"block",required:!1,block:"iconStyle"},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"showLabel",pyretName:"show-label",type:"boolean",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},edgeStyle:{name:"edgeStyle",yamlKey:"edgeStyle",section:"directives",shape:"mapping",constructor:"spytial-edge-style",fields:[{name:"field",pyretName:"field",type:"relation",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"filter",pyretName:"filter",type:"selector",required:!1},{name:"lineStyle",pyretName:"line-style",type:"block",required:!1,block:"lineStyle"},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"showLabel",pyretName:"show-label",type:"boolean",required:!1},{name:"hidden",pyretName:"hidden",type:"boolean",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},attribute:{name:"attribute",yamlKey:"attribute",section:"directives",shape:"mapping",constructor:"spytial-attribute",fields:[{name:"field",pyretName:"field",type:"relation",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"filter",pyretName:"filter",type:"selector",required:!1},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},tag:{name:"tag",yamlKey:"tag",section:"directives",shape:"mapping",constructor:"spytial-tag",fields:[{name:"toTag",pyretName:"to-tag",type:"selector",required:!0},{name:"name",pyretName:"name",type:"string",required:!0},{name:"value",pyretName:"value",type:"selector",required:!0},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},hideField:{name:"hideField",yamlKey:"hideField",section:"directives",shape:"mapping",constructor:"spytial-hide-field",fields:[{name:"field",pyretName:"field",type:"relation",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"filter",pyretName:"filter",type:"selector",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},inferredEdge:{name:"inferredEdge",yamlKey:"inferredEdge",section:"directives",shape:"mapping",constructor:"spytial-inferred-edge",fields:[{name:"name",pyretName:"name",type:"string",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"draw",pyretName:"draw",type:"string",required:!1,pattern:"^\\s*[^\\s](?:(?!->)[\\s\\S])*->(?:(?!->)[\\s\\S])*[^\\s]\\s*$"},{name:"lineStyle",pyretName:"line-style",type:"block",required:!1,block:"lineStyle"},{name:"textStyle",pyretName:"text-style",type:"block",required:!1,block:"textStyle"},{name:"color",pyretName:"color",type:"color",required:!1},{name:"style",pyretName:"style",type:"enum",required:!1,enum:"LinePattern"},{name:"weight",pyretName:"weight",type:"number",required:!1,exclusiveMinimum:0},{name:"highlight",pyretName:"highlight",type:"color",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},icon:{name:"icon",yamlKey:"icon",section:"directives",shape:"mapping",constructor:"spytial-icon",fields:[{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"path",pyretName:"path",type:"icon-path",required:!0},{name:"showLabels",pyretName:"show-labels",type:"boolean",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},atomColor:{name:"atomColor",yamlKey:"atomColor",section:"directives",shape:"mapping",constructor:"spytial-atom-color",fields:[{name:"value",pyretName:"value",type:"color",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!0},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]},edgeColor:{name:"edgeColor",yamlKey:"edgeColor",section:"directives",shape:"mapping",constructor:"spytial-edge-color",fields:[{name:"field",pyretName:"field",type:"relation",required:!0},{name:"value",pyretName:"value",type:"color",required:!0},{name:"selector",pyretName:"selector",type:"selector",required:!1},{name:"filter",pyretName:"filter",type:"selector",required:!1},{name:"style",pyretName:"style",type:"enum",required:!1,enum:"LinePattern"},{name:"weight",pyretName:"weight",type:"number",required:!1,exclusiveMinimum:0},{name:"highlight",pyretName:"highlight",type:"color",required:!1},{name:"showLabel",pyretName:"show-label",type:"boolean",required:!1},{name:"hidden",pyretName:"hidden",type:"boolean",required:!1},{name:"source",pyretName:"source",type:"block",required:!1,block:"ruleSource"}]}}};var Le=class extends Error{constructor(t,n){super(`${t}: ${n}`);this.path=t;this.name="SpytialSpecError"}},k_=Object.values(st.rules),I_=st.blocks,q_=st.enums;function R(e,r){throw new Le(e,r)}function ut(e,r,t,n,i){if(!r.isDataValue(e))return R(t,`expected ${n}`);let o=e,a=z(o);return o.$name!==n||!a||a.fields.length!==i.length||a.fields.some((s,u)=>s!==i[u])?R(t,`expected ${n}`):o.dict}function Kp(e,r,t){let n=new Set,i=[];for(;!r.ffi.isEmpty(e);){if(!r.ffi.isLink(e))return R(t,"expected a Pyret List");if(n.has(e))return R(t,"cyclic rule list");n.add(e);let o=e.dict;i.push(o.first),e=o.rest}return i}function zp(e,r,t,n){if(r.type==="enum"||r.type==="enum-list"){let i=q_[r.enum],o=(s,u)=>{let l=s?.$name;return!l||!Object.prototype.hasOwnProperty.call(i,l)?R(u,`expected ${r.enum}`):(ut(s,t,u,l,[]),i[l])};if(r.type==="enum")return o(e,n);let a=Kp(e,t,n).map((s,u)=>o(s,`${n}[${u}]`));for(let s of r.listRules?.atMostOneOf??[])s.filter(u=>a.includes(u)).length>1&&R(n,"incompatible directions");for(let[s,u]of Object.entries(r.listRules?.narrowsListTo??{}))a.includes(s)&&a.some(l=>!u.includes(l))&&R(n,"incompatible directions");return a}if(r.type==="block")return __(e,I_[r.block],t,n);if(r.type==="boolean")return typeof e!="boolean"?R(n,"expected Boolean"):e;if(r.type==="number"||r.type==="integer"){if(!t.isNumber(e))return R(n,"expected Number");let i=t.num_to_fixnum(e);return!Number.isFinite(i)||r.type==="integer"&&!Number.isSafeInteger(i)||r.minimum!==void 0&&i<r.minimum||r.maximum!==void 0&&i>r.maximum||r.exclusiveMinimum!==void 0&&i<=r.exclusiveMinimum?R(n,"number is outside the manifest bounds"):i}return typeof e!="string"?R(n,"expected String"):r.required&&!e.trim()?R(n,"required string must not be empty"):r.pattern&&!new RegExp(r.pattern).test(e)?R(n,"string does not match the manifest pattern"):e}function Yp(e,r,t,n){let i={};for(let o of r){let a=`${n}.${o.pyretName}`;if(!Object.prototype.hasOwnProperty.call(e,o.pyretName)){o.required&&R(a,"missing required field");continue}i[o.name]=zp(e[o.pyretName],o,t,a)}return i}function Jp(e,r,t,n){(!t.isObject(e)||t.isDataValue(e))&&R(n,"expected a Pyret record");let i=e.dict,o=new Set(r.map(a=>a.pyretName));for(let a of Object.keys(i))o.has(a)||R(`${n}.${a}`,"unknown field");return Yp(i,r,t,n)}function __(e,r,t,n){let i=ut(e,t,n,r.constructor,["fields"]);return Jp(i.fields,r.fields,t,n)}function Pn(e,r=0){let t=" ".repeat(r);if(Array.isArray(e))return e.length?`
|
|
46
|
+
`+e.map(i=>`${t}- ${Pn(i,r+2).trimStart()}`).join(`
|
|
47
47
|
`):"[]";if(typeof e!="object")return JSON.stringify(e);let n=Object.entries(e);return n.length?`
|
|
48
|
-
`+n.map(([i,o])=>{let a=Array.isArray(o)&&o.every(s=>typeof s!="object")?JSON.stringify(o):
|
|
48
|
+
`+n.map(([i,o])=>{let a=Array.isArray(o)&&o.every(s=>typeof s!="object")?JSON.stringify(o):Pn(o,r+2);return`${t}${JSON.stringify(i)}:${a.startsWith(`
|
|
49
49
|
`)?"":" "}${a}`}).join(`
|
|
50
|
-
`):"{}"}function
|
|
51
|
-
`}function On(e){let r=[];for(;e;e=e.parent)r.push(e.key);return"value"+r.reverse().map(t=>`[${JSON.stringify(t)}]`).join("")}function
|
|
52
|
-
directives: []`,d=Hp(n,e),c=new s.Evaluators.SGraphQueryEvaluator;c.initialize({sourceData:d.instance});let m=new s.LayoutInstance(s.parseLayoutSpec(p),c,0,!0).generateLayout(d.instance),y=Gp(m.layout),h=()=>{let g=
|
|
50
|
+
`):"{}"}function Tn(e,r){let t={constraints:[],directives:[]};for(let[n,i]of Kp(e,r,"rules").entries()){let o=`rules[${n}]`,a=i?.$name;a!=="constraint"&&a!=="directive"&&R(o,"expected SpytialRule");let s=ut(i,r,o,a,["value"]).value,u=s?.$name,l=k_.find(y=>y.constructor===u);(!l||l.section!==`${a}s`)&&R(o,`invalid ${a} variant`);let p=l.fields.filter(y=>y.required),d=l.fields.filter(y=>!y.required),c=ut(s,r,o,l.constructor,[...p.map(y=>y.pyretName),...l.name==="atomStyle"?["selector"]:[],...d.length?["options"]:[]]),m=Yp(c,p,r,o);if(l.name==="atomStyle"){let y=d.find(h=>h.name==="selector");y||R(o,"missing atomStyle selector schema"),m.selector=zp(c.selector,{...y,required:!0},r,`${o}.selector`)}d.length&&Object.assign(m,Jp(c.options,d.filter(y=>l.name!=="atomStyle"||y.name!=="selector"),r,`${o}.options`)),t[l.section].push({[l.yamlKey]:l.shape==="scalar"?m[l.fields[0].name]:m})}return Pn(t).trimStart()+`
|
|
51
|
+
`}function On(e){let r=[];for(;e;e=e.parent)r.push(e.key);return"value"+r.reverse().map(t=>`[${JSON.stringify(t)}]`).join("")}function O_(e,r,t){let n=at(r),i=new Set,o=new Set,a=[],s=[{value:e}];for(let c=0;c<s.length;c++){let{value:m,path:y}=s[c];if(i.has(m)||(i.add(m),r.isFunction(m)||r.isMethod(m)))continue;let h=(b,g)=>s.push({value:b,path:{parent:y,key:g}});try{if(r.isObject(m)&&r.hasField(m,"_spytial")){let g=r.getColonField(m,"_spytial");!r.isFunction(g)&&!r.isMethod(g)&&R(On(y),"_spytial must be a function or method"),o.has(g)||(o.add(g),a.push({fn:r.getField(m,"_spytial"),path:y}))}let b=n.observe(m);switch(b.kind){case"constructor":b.values.forEach((g,v)=>h(g,b.info.fields[v]));break;case"object":b.fields.forEach(([g,v])=>h(v,g));break;case"raw-array":case"tuple":b.values.forEach(h);break;case"reference":h(b.value,"target");break;case"string-dict":b.entries.forEach(([g,v])=>h(v,g));break;case"table":b.rows.forEach((g,v)=>g.forEach((E,C)=>s.push({value:E,path:{parent:{parent:{parent:y,key:"rows"},key:v},key:b.headers[C]}})));break}}catch(b){throw b instanceof Le?b:new Le(On(y),b instanceof Error?b.message:String(b))}}let u=[],l=0,p="value",d=()=>{if(l===a.length)return u;let c=a[l++];return p=`${On(c.path)}._spytial`,r.safeCall(()=>c.fn.app(),m=>{try{u.push(typeof m=="string"?m:Tn(m,r))}catch(y){let h=new Le(p,y instanceof Error?y.message:String(y));throw t&&t(h),h}return d()},p)};return{next:d,documents:u,hasHooks:a.length>0,activePath:()=>p}}function Wp(e,r,t,n){let i=O_(e,r,n);return r.safeCall(i.next,()=>t(i.documents),"Spyret.collectSpytialSpec")}function Qp(e){let r={constraints:[],directives:[]};return e.forEach((t,n)=>{if(!t.trim())return;let i=Ei(t);if(!i||typeof i!="object"||Array.isArray(i))throw new Error(`Spytial spec ${n+1}: expected a YAML mapping`);for(let[o,a]of Object.entries(i)){if(o!=="constraints"&&o!=="directives")throw new Error(`Spytial spec ${n+1}: unknown section ${o}`);if(!Array.isArray(a))throw new Error(`Spytial spec ${n+1}: ${o} must be a list`);r[o].push(...a)}}),ki(r)}function Zp(e,r,t){let n=t.defaultView,i="spyret-diagram-view";n.customElements.get(i)||n.customElements.define(i,class extends n.HTMLElement{connectedCallback(){this.spyretConnect?.()}});let o=t.createElement(i);o.className="spyret-diagram",o.style.display="block",o.spytialCapture=e.snapshot;let a=t.createElement("pre");a.textContent=e.sourcePreview;let s=t.createElement("div");s.setAttribute("role","alert");let u=t.createElement("div"),l=t.createElement("button");l.type="button",l.textContent="Hide diagram",l.setAttribute("aria-expanded","true"),o.append(a,s,l,u);let p=0;return l.onclick=()=>{u.hidden=!u.hidden,l.textContent=u.hidden?"Show diagram":"Hide diagram",l.setAttribute("aria-expanded",String(!u.hidden)),u.hidden?(p++,u.replaceChildren()):o.spyretConnect()},o.spyretConnect=()=>{if(u.hidden)return;let d=++p,c=t.createElement("webcola-cnd-graph");c.style.cssText="display:block;width:100%;height:400px",delete o.dataset.rendered,delete o.dataset.settled,delete o.dataset.error,s.textContent="",c.addEventListener("layout-complete",()=>{d===p&&c.isConnected&&(o.dataset.settled="true")}),u.replaceChildren(c),n.requestAnimationFrame(()=>{!o.isConnected||d!==p||Promise.resolve().then(()=>c.renderLayout(r)).then(()=>{d===p&&o.isConnected&&(o.dataset.rendered="true")},m=>{d!==p||!o.isConnected||(s.textContent="Spytial: "+String(m),o.dataset.error=String(m))})})},o}function Xp(e,r){function t(n,i,o){return(i==="yaml"||i==="dom")&&e.checkString(o),e.safeCall(()=>e.pauseStack(a=>{let s=a.handlers,u=s?.break,l=!1,p=()=>{l=!0,d(),u.call(s)},d=()=>{s?.break===p&&(s.break=u)};s&&(s.break=p),Promise.resolve().then(()=>r.core()).then(c=>{d(),l||a.resume(c)},c=>{d(),l||a.error(c instanceof Error?e.ffi.makeMessageException("Spyret: "+c.message):c)})}),a=>{let s=a,u=l=>{try{let p=l?Qp(l):i==="rules"?Tn(o,e):String(o).trim()||`constraints: []
|
|
52
|
+
directives: []`,d=Hp(n,e),c=new s.Evaluators.SGraphQueryEvaluator;c.initialize({sourceData:d.instance});let m=new s.LayoutInstance(s.parseLayoutSpec(p),c,0,!0).generateLayout(d.instance),y=Gp(m.layout),h=()=>{let g=Zp(d,y,r.document);return g.dataset.specCount=String(l?.length??1),g};if(i==="dom")return h();let b=Object.freeze({});return r.registerOutput(e,b,h),e.makeOpaque(b)}catch(p){throw p instanceof Error&&e.ffi.throwMessageException("Spyret: "+p.message),p}};if(i!=="hooks")return u();try{return Wp(n,e,u,l=>e.ffi.throwMessageException("Spyret: "+l.message))}catch(l){throw l instanceof Error&&e.ffi.throwMessageException("Spyret: "+l.message),l}},"Spyret.diagram")}return e.makeModuleReturn({diagram:e.makeFunction((...n)=>n.length===1?t(n[0],"hooks"):n.length===2?t(n[0],"yaml",n[1]):e.ffi.throwMessageException("Spyret.diagram expects a value and optionally a YAML string"),"diagram"),"diagram-with-rules":e.makeFunction((n,i)=>t(n,"rules",i),"diagram-with-rules"),genlayout:e.makeFunction((n,i)=>t(n,"dom",i),"genlayout")},{})}var Cn=Symbol.for("spyret.cpo-renderer.v1");function ed(e,r,t,n){let i=e.ReprMethods?.$cpo;if(!i||typeof i.opaque!="function")throw new Error("Spyret requires the CPO output renderer or an explicit browser host");if(!i[Cn]){let o=new WeakMap,a=i.opaque;i.opaque=function(s){let u=s.val&&typeof s.val=="object"?o.get(s.val):void 0;return u?n(u()):a.call(this,s)},i[Cn]=o}i[Cn].set(r,t)}var lt=new WeakMap;function rd(e,r){let t=e.defaultView;if(t.spytialcore)return Promise.resolve(t.spytialcore);let n=lt.get(e);return n||(n=new Promise((i,o)=>{let a=e.createElement("script");a.src=r,a.onload=()=>{t.spytialcore?i(t.spytialcore):(lt.delete(e),a.remove(),o(new Error("Spytial Core did not initialize")))},a.onerror=()=>{lt.delete(e),a.remove(),o(new Error("Cannot load Spytial Core: "+r))},e.head.appendChild(a)}),lt.set(e,n)),n}function P_(e,r,t){return Xp(e,{document:r,core:()=>rd(r,t),registerOutput:(n,i,o)=>ed(n,i,o,r.defaultView.jQuery)})}return ud(T_);})();
|
|
53
53
|
/*! Bundled license information:
|
|
54
54
|
|
|
55
55
|
js-yaml/dist/js-yaml.mjs:
|